tp/asm/JGadget/binary.s

138 lines
6.2 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 802dc864
.global JGadget_NS_binary_NS_parseVariableUInt_16_32_following
JGadget_NS_binary_NS_parseVariableUInt_16_32_following:
/* 802DC864 002D97A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DC868 002D97A8 28 06 00 00 */ cmplwi r6, 0
/* 802DC86C 002D97AC 40 82 00 08 */ bne lbl_802DC874
/* 802DC870 002D97B0 38 C1 00 08 */ addi r6, r1, 8
lbl_802DC874:
/* 802DC874 002D97B4 A0 E3 00 00 */ lhz r7, 0(r3)
/* 802DC878 002D97B8 54 E0 04 21 */ rlwinm. r0, r7, 0, 0x10, 0x10
/* 802DC87C 002D97BC 40 82 00 20 */ bne lbl_802DC89C
/* 802DC880 002D97C0 38 00 00 10 */ li r0, 0x10
/* 802DC884 002D97C4 90 06 00 00 */ stw r0, 0(r6)
/* 802DC888 002D97C8 90 E4 00 00 */ stw r7, 0(r4)
/* 802DC88C 002D97CC A0 03 00 02 */ lhz r0, 2(r3)
/* 802DC890 002D97D0 90 05 00 00 */ stw r0, 0(r5)
/* 802DC894 002D97D4 38 63 00 04 */ addi r3, r3, 4
/* 802DC898 002D97D8 48 00 00 28 */ b lbl_802DC8C0
lbl_802DC89C:
/* 802DC89C 002D97DC 38 00 00 20 */ li r0, 0x20
/* 802DC8A0 002D97E0 90 06 00 00 */ stw r0, 0(r6)
/* 802DC8A4 002D97E4 54 E7 80 5E */ rlwinm r7, r7, 0x10, 1, 0xf
/* 802DC8A8 002D97E8 A0 03 00 02 */ lhz r0, 2(r3)
/* 802DC8AC 002D97EC 7C E7 03 78 */ or r7, r7, r0
/* 802DC8B0 002D97F0 90 E4 00 00 */ stw r7, 0(r4)
/* 802DC8B4 002D97F4 80 03 00 04 */ lwz r0, 4(r3)
/* 802DC8B8 002D97F8 90 05 00 00 */ stw r0, 0(r5)
/* 802DC8BC 002D97FC 38 63 00 08 */ addi r3, r3, 8
lbl_802DC8C0:
/* 802DC8C0 002D9800 38 21 00 10 */ addi r1, r1, 0x10
/* 802DC8C4 002D9804 4E 80 00 20 */ blr
.global JGadget_NS_binary_NS_TParse_header_block_NS_dtor
JGadget_NS_binary_NS_TParse_header_block_NS_dtor:
/* 802DC8C8 002D9808 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802DC8CC 002D980C 7C 08 02 A6 */ mflr r0
/* 802DC8D0 002D9810 90 01 00 14 */ stw r0, 0x14(r1)
/* 802DC8D4 002D9814 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802DC8D8 002D9818 7C 7F 1B 79 */ or. r31, r3, r3
/* 802DC8DC 002D981C 41 82 00 1C */ beq lbl_802DC8F8
/* 802DC8E0 002D9820 3C A0 80 3C */ lis r5, lbl_803C488C@ha
/* 802DC8E4 002D9824 38 05 48 8C */ addi r0, r5, lbl_803C488C@l
/* 802DC8E8 002D9828 90 1F 00 00 */ stw r0, 0(r31)
/* 802DC8EC 002D982C 7C 80 07 35 */ extsh. r0, r4
/* 802DC8F0 002D9830 40 81 00 08 */ ble lbl_802DC8F8
/* 802DC8F4 002D9834 4B FF 24 49 */ bl __dl__FPv
lbl_802DC8F8:
/* 802DC8F8 002D9838 7F E3 FB 78 */ mr r3, r31
/* 802DC8FC 002D983C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802DC900 002D9840 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802DC904 002D9844 7C 08 03 A6 */ mtlr r0
/* 802DC908 002D9848 38 21 00 10 */ addi r1, r1, 0x10
/* 802DC90C 002D984C 4E 80 00 20 */ blr
.global JGadget_NS_binary_NS_TParse_header_block_NS_parse_next
JGadget_NS_binary_NS_TParse_header_block_NS_parse_next:
/* 802DC910 002D9850 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802DC914 002D9854 7C 08 02 A6 */ mflr r0
/* 802DC918 002D9858 90 01 00 34 */ stw r0, 0x34(r1)
/* 802DC91C 002D985C 39 61 00 30 */ addi r11, r1, 0x30
/* 802DC920 002D9860 48 08 58 B1 */ bl _savegpr_26
/* 802DC924 002D9864 7C 7A 1B 78 */ mr r26, r3
/* 802DC928 002D9868 7C 9B 23 79 */ or. r27, r4, r4
/* 802DC92C 002D986C 7C BC 2B 78 */ mr r28, r5
/* 802DC930 002D9870 41 82 00 10 */ beq lbl_802DC940
/* 802DC934 002D9874 80 1B 00 00 */ lwz r0, 0(r27)
/* 802DC938 002D9878 28 00 00 00 */ cmplwi r0, 0
/* 802DC93C 002D987C 40 82 00 0C */ bne lbl_802DC948
lbl_802DC940:
/* 802DC940 002D9880 38 60 00 00 */ li r3, 0
/* 802DC944 002D9884 48 00 00 C0 */ b lbl_802DCA04
lbl_802DC948:
/* 802DC948 002D9888 3B E0 00 00 */ li r31, 0
/* 802DC94C 002D988C 38 A1 00 0C */ addi r5, r1, 0xc
/* 802DC950 002D9890 7F 86 E3 78 */ mr r6, r28
/* 802DC954 002D9894 81 83 00 00 */ lwz r12, 0(r3)
/* 802DC958 002D9898 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802DC95C 002D989C 7D 89 03 A6 */ mtctr r12
/* 802DC960 002D98A0 4E 80 04 21 */ bctrl
/* 802DC964 002D98A4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802DC968 002D98A8 41 82 00 08 */ beq lbl_802DC970
/* 802DC96C 002D98AC 3B E0 00 01 */ li r31, 1
lbl_802DC970:
/* 802DC970 002D98B0 7F FD FB 78 */ mr r29, r31
/* 802DC974 002D98B4 57 80 07 FF */ clrlwi. r0, r28, 0x1f
/* 802DC978 002D98B8 40 82 00 14 */ bne lbl_802DC98C
/* 802DC97C 002D98BC 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 802DC980 002D98C0 40 82 00 0C */ bne lbl_802DC98C
/* 802DC984 002D98C4 7F E3 FB 78 */ mr r3, r31
/* 802DC988 002D98C8 48 00 00 7C */ b lbl_802DCA04
lbl_802DC98C:
/* 802DC98C 002D98CC 57 9E 07 BC */ rlwinm r30, r28, 0, 0x1e, 0x1e
/* 802DC990 002D98D0 48 00 00 64 */ b lbl_802DC9F4
lbl_802DC994:
/* 802DC994 002D98D4 3B E0 00 00 */ li r31, 0
/* 802DC998 002D98D8 7F 43 D3 78 */ mr r3, r26
/* 802DC99C 002D98DC 7F 64 DB 78 */ mr r4, r27
/* 802DC9A0 002D98E0 38 A1 00 08 */ addi r5, r1, 8
/* 802DC9A4 002D98E4 7F 86 E3 78 */ mr r6, r28
/* 802DC9A8 002D98E8 81 9A 00 00 */ lwz r12, 0(r26)
/* 802DC9AC 002D98EC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802DC9B0 002D98F0 7D 89 03 A6 */ mtctr r12
/* 802DC9B4 002D98F4 4E 80 04 21 */ bctrl
/* 802DC9B8 002D98F8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802DC9BC 002D98FC 41 82 00 10 */ beq lbl_802DC9CC
/* 802DC9C0 002D9900 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 802DC9C4 002D9904 41 82 00 08 */ beq lbl_802DC9CC
/* 802DC9C8 002D9908 3B E0 00 01 */ li r31, 1
lbl_802DC9CC:
/* 802DC9CC 002D990C 7F FD FB 78 */ mr r29, r31
/* 802DC9D0 002D9910 28 1E 00 00 */ cmplwi r30, 0
/* 802DC9D4 002D9914 40 82 00 14 */ bne lbl_802DC9E8
/* 802DC9D8 002D9918 57 E0 06 3F */ clrlwi. r0, r31, 0x18
/* 802DC9DC 002D991C 40 82 00 0C */ bne lbl_802DC9E8
/* 802DC9E0 002D9920 7F E3 FB 78 */ mr r3, r31
/* 802DC9E4 002D9924 48 00 00 20 */ b lbl_802DCA04
lbl_802DC9E8:
/* 802DC9E8 002D9928 80 61 00 0C */ lwz r3, 0xc(r1)
/* 802DC9EC 002D992C 38 03 FF FF */ addi r0, r3, -1
/* 802DC9F0 002D9930 90 01 00 0C */ stw r0, 0xc(r1)
lbl_802DC9F4:
/* 802DC9F4 002D9934 80 01 00 0C */ lwz r0, 0xc(r1)
/* 802DC9F8 002D9938 28 00 00 00 */ cmplwi r0, 0
/* 802DC9FC 002D993C 40 82 FF 98 */ bne lbl_802DC994
/* 802DCA00 002D9940 7F A3 EB 78 */ mr r3, r29
lbl_802DCA04:
/* 802DCA04 002D9944 39 61 00 30 */ addi r11, r1, 0x30
/* 802DCA08 002D9948 48 08 58 15 */ bl _restgpr_26
/* 802DCA0C 002D994C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802DCA10 002D9950 7C 08 03 A6 */ mtlr r0
/* 802DCA14 002D9954 38 21 00 30 */ addi r1, r1, 0x30
/* 802DCA18 002D9958 4E 80 00 20 */ blr