.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global fclose fclose: /* 801C9BD0 001C5830 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801C9BD4 001C5834 7C 08 02 A6 */ mflr r0 /* 801C9BD8 001C5838 2C 03 00 00 */ cmpwi r3, 0 /* 801C9BDC 001C583C 90 01 00 24 */ stw r0, 0x24(r1) /* 801C9BE0 001C5840 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801C9BE4 001C5844 93 C1 00 18 */ stw r30, 0x18(r1) /* 801C9BE8 001C5848 93 A1 00 14 */ stw r29, 0x14(r1) /* 801C9BEC 001C584C 7C 7D 1B 78 */ mr r29, r3 /* 801C9BF0 001C5850 40 82 00 0C */ bne lbl_801C9BFC /* 801C9BF4 001C5854 38 60 FF FF */ li r3, -1 /* 801C9BF8 001C5858 48 00 00 78 */ b lbl_801C9C70 lbl_801C9BFC: /* 801C9BFC 001C585C 80 03 00 04 */ lwz r0, 4(r3) /* 801C9C00 001C5860 54 00 57 7F */ rlwinm. r0, r0, 0xa, 0x1d, 0x1f /* 801C9C04 001C5864 40 82 00 0C */ bne lbl_801C9C10 /* 801C9C08 001C5868 38 60 00 00 */ li r3, 0 /* 801C9C0C 001C586C 48 00 00 64 */ b lbl_801C9C70 lbl_801C9C10: /* 801C9C10 001C5870 48 00 00 7D */ bl fflush /* 801C9C14 001C5874 81 9D 00 44 */ lwz r12, 0x44(r29) /* 801C9C18 001C5878 7C 7E 1B 78 */ mr r30, r3 /* 801C9C1C 001C587C 80 7D 00 00 */ lwz r3, 0(r29) /* 801C9C20 001C5880 7D 89 03 A6 */ mtctr r12 /* 801C9C24 001C5884 4E 80 04 21 */ bctrl /* 801C9C28 001C5888 80 1D 00 08 */ lwz r0, 8(r29) /* 801C9C2C 001C588C 38 A0 00 00 */ li r5, 0 /* 801C9C30 001C5890 80 9D 00 04 */ lwz r4, 4(r29) /* 801C9C34 001C5894 7C 7F 1B 78 */ mr r31, r3 /* 801C9C38 001C5898 54 00 27 FF */ rlwinm. r0, r0, 4, 0x1f, 0x1f /* 801C9C3C 001C589C 90 BD 00 00 */ stw r5, 0(r29) /* 801C9C40 001C58A0 54 84 02 8C */ rlwinm r4, r4, 0, 0xa, 6 /* 801C9C44 001C58A4 90 9D 00 04 */ stw r4, 4(r29) /* 801C9C48 001C58A8 41 82 00 0C */ beq lbl_801C9C54 /* 801C9C4C 001C58AC 80 7D 00 1C */ lwz r3, 0x1c(r29) /* 801C9C50 001C58B0 4B E4 0B 75 */ bl free lbl_801C9C54: /* 801C9C54 001C58B4 2C 1E 00 00 */ cmpwi r30, 0 /* 801C9C58 001C58B8 38 00 00 00 */ li r0, 0 /* 801C9C5C 001C58BC 40 82 00 0C */ bne lbl_801C9C68 /* 801C9C60 001C58C0 2C 1F 00 00 */ cmpwi r31, 0 /* 801C9C64 001C58C4 41 82 00 08 */ beq lbl_801C9C6C lbl_801C9C68: /* 801C9C68 001C58C8 38 00 00 01 */ li r0, 1 lbl_801C9C6C: /* 801C9C6C 001C58CC 7C 60 00 D0 */ neg r3, r0 lbl_801C9C70: /* 801C9C70 001C58D0 80 01 00 24 */ lwz r0, 0x24(r1) /* 801C9C74 001C58D4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801C9C78 001C58D8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801C9C7C 001C58DC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 801C9C80 001C58E0 7C 08 03 A6 */ mtlr r0 /* 801C9C84 001C58E4 38 21 00 20 */ addi r1, r1, 0x20 /* 801C9C88 001C58E8 4E 80 00 20 */ blr .global fflush fflush: /* 801C9C8C 001C58EC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 801C9C90 001C58F0 7C 08 02 A6 */ mflr r0 /* 801C9C94 001C58F4 2C 03 00 00 */ cmpwi r3, 0 /* 801C9C98 001C58F8 90 01 00 14 */ stw r0, 0x14(r1) /* 801C9C9C 001C58FC 93 E1 00 0C */ stw r31, 0xc(r1) /* 801C9CA0 001C5900 7C 7F 1B 78 */ mr r31, r3 /* 801C9CA4 001C5904 93 C1 00 08 */ stw r30, 8(r1) /* 801C9CA8 001C5908 40 82 00 0C */ bne lbl_801C9CB4 /* 801C9CAC 001C590C 4B FF DD 11 */ bl __flush_all /* 801C9CB0 001C5910 48 00 00 F8 */ b lbl_801C9DA8 lbl_801C9CB4: /* 801C9CB4 001C5914 88 03 00 0A */ lbz r0, 0xa(r3) /* 801C9CB8 001C5918 2C 00 00 00 */ cmpwi r0, 0 /* 801C9CBC 001C591C 40 82 00 10 */ bne lbl_801C9CCC /* 801C9CC0 001C5920 80 83 00 04 */ lwz r4, 4(r3) /* 801C9CC4 001C5924 54 80 57 7F */ rlwinm. r0, r4, 0xa, 0x1d, 0x1f /* 801C9CC8 001C5928 40 82 00 0C */ bne lbl_801C9CD4 lbl_801C9CCC: /* 801C9CCC 001C592C 38 60 FF FF */ li r3, -1 /* 801C9CD0 001C5930 48 00 00 D8 */ b lbl_801C9DA8 lbl_801C9CD4: /* 801C9CD4 001C5934 54 80 2F 7E */ rlwinm r0, r4, 5, 0x1d, 0x1f /* 801C9CD8 001C5938 28 00 00 01 */ cmplwi r0, 1 /* 801C9CDC 001C593C 40 82 00 0C */ bne lbl_801C9CE8 /* 801C9CE0 001C5940 38 60 00 00 */ li r3, 0 /* 801C9CE4 001C5944 48 00 00 C4 */ b lbl_801C9DA8 lbl_801C9CE8: /* 801C9CE8 001C5948 80 83 00 08 */ lwz r4, 8(r3) /* 801C9CEC 001C594C 54 80 1F 7E */ srwi r0, r4, 0x1d /* 801C9CF0 001C5950 28 00 00 03 */ cmplwi r0, 3 /* 801C9CF4 001C5954 41 80 00 10 */ blt lbl_801C9D04 /* 801C9CF8 001C5958 38 00 00 02 */ li r0, 2 /* 801C9CFC 001C595C 50 04 E8 04 */ rlwimi r4, r0, 0x1d, 0, 2 /* 801C9D00 001C5960 90 83 00 08 */ stw r4, 8(r3) lbl_801C9D04: /* 801C9D04 001C5964 80 03 00 08 */ lwz r0, 8(r3) /* 801C9D08 001C5968 54 00 1F 7E */ srwi r0, r0, 0x1d /* 801C9D0C 001C596C 28 00 00 02 */ cmplwi r0, 2 /* 801C9D10 001C5970 40 82 00 0C */ bne lbl_801C9D1C /* 801C9D14 001C5974 38 00 00 00 */ li r0, 0 /* 801C9D18 001C5978 90 03 00 28 */ stw r0, 0x28(r3) lbl_801C9D1C: /* 801C9D1C 001C597C 80 83 00 08 */ lwz r4, 8(r3) /* 801C9D20 001C5980 54 80 1F 7E */ srwi r0, r4, 0x1d /* 801C9D24 001C5984 28 00 00 01 */ cmplwi r0, 1 /* 801C9D28 001C5988 41 82 00 14 */ beq lbl_801C9D3C /* 801C9D2C 001C598C 54 80 00 FE */ clrlwi r0, r4, 3 /* 801C9D30 001C5990 90 03 00 08 */ stw r0, 8(r3) /* 801C9D34 001C5994 38 60 00 00 */ li r3, 0 /* 801C9D38 001C5998 48 00 00 70 */ b lbl_801C9DA8 lbl_801C9D3C: /* 801C9D3C 001C599C 80 03 00 04 */ lwz r0, 4(r3) /* 801C9D40 001C59A0 54 00 57 7E */ rlwinm r0, r0, 0xa, 0x1d, 0x1f /* 801C9D44 001C59A4 28 00 00 01 */ cmplwi r0, 1 /* 801C9D48 001C59A8 41 82 00 0C */ beq lbl_801C9D54 /* 801C9D4C 001C59AC 3B C0 00 00 */ li r30, 0 /* 801C9D50 001C59B0 48 00 00 10 */ b lbl_801C9D60 lbl_801C9D54: /* 801C9D54 001C59B4 7F E3 FB 78 */ mr r3, r31 /* 801C9D58 001C59B8 48 00 01 D1 */ bl ftell /* 801C9D5C 001C59BC 7C 7E 1B 78 */ mr r30, r3 lbl_801C9D60: /* 801C9D60 001C59C0 7F E3 FB 78 */ mr r3, r31 /* 801C9D64 001C59C4 38 80 00 00 */ li r4, 0 /* 801C9D68 001C59C8 4B FF F7 65 */ bl __flush_buffer /* 801C9D6C 001C59CC 2C 03 00 00 */ cmpwi r3, 0 /* 801C9D70 001C59D0 41 82 00 1C */ beq lbl_801C9D8C /* 801C9D74 001C59D4 38 60 00 01 */ li r3, 1 /* 801C9D78 001C59D8 38 00 00 00 */ li r0, 0 /* 801C9D7C 001C59DC 98 7F 00 0A */ stb r3, 0xa(r31) /* 801C9D80 001C59E0 38 60 FF FF */ li r3, -1 /* 801C9D84 001C59E4 90 1F 00 28 */ stw r0, 0x28(r31) /* 801C9D88 001C59E8 48 00 00 20 */ b lbl_801C9DA8 lbl_801C9D8C: /* 801C9D8C 001C59EC 80 1F 00 08 */ lwz r0, 8(r31) /* 801C9D90 001C59F0 38 80 00 00 */ li r4, 0 /* 801C9D94 001C59F4 93 DF 00 18 */ stw r30, 0x18(r31) /* 801C9D98 001C59F8 38 60 00 00 */ li r3, 0 /* 801C9D9C 001C59FC 54 00 00 FE */ clrlwi r0, r0, 3 /* 801C9DA0 001C5A00 90 1F 00 08 */ stw r0, 8(r31) /* 801C9DA4 001C5A04 90 9F 00 28 */ stw r4, 0x28(r31) lbl_801C9DA8: /* 801C9DA8 001C5A08 80 01 00 14 */ lwz r0, 0x14(r1) /* 801C9DAC 001C5A0C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 801C9DB0 001C5A10 83 C1 00 08 */ lwz r30, 8(r1) /* 801C9DB4 001C5A14 7C 08 03 A6 */ mtlr r0 /* 801C9DB8 001C5A18 38 21 00 10 */ addi r1, r1, 0x10 /* 801C9DBC 001C5A1C 4E 80 00 20 */ blr .global __msl_strnicmp __msl_strnicmp: /* 801C9DC0 001C5A20 3C C0 80 42 */ lis r6, lbl_80422D48@ha /* 801C9DC4 001C5A24 38 C6 2D 48 */ addi r6, r6, lbl_80422D48@l /* 801C9DC8 001C5A28 80 C6 00 38 */ lwz r6, 0x38(r6) /* 801C9DCC 001C5A2C 7C A9 03 A6 */ mtctr r5 /* 801C9DD0 001C5A30 2C 05 00 00 */ cmpwi r5, 0 /* 801C9DD4 001C5A34 40 81 00 A4 */ ble lbl_801C9E78 lbl_801C9DD8: /* 801C9DD8 001C5A38 88 A3 00 00 */ lbz r5, 0(r3) /* 801C9DDC 001C5A3C 38 00 00 00 */ li r0, 0 /* 801C9DE0 001C5A40 38 63 00 01 */ addi r3, r3, 1 /* 801C9DE4 001C5A44 7C A7 07 75 */ extsb. r7, r5 /* 801C9DE8 001C5A48 41 80 00 0C */ blt lbl_801C9DF4 /* 801C9DEC 001C5A4C 2C 07 01 00 */ cmpwi r7, 0x100 /* 801C9DF0 001C5A50 41 80 00 08 */ blt lbl_801C9DF8 lbl_801C9DF4: /* 801C9DF4 001C5A54 38 00 00 01 */ li r0, 1 lbl_801C9DF8: /* 801C9DF8 001C5A58 2C 00 00 00 */ cmpwi r0, 0 /* 801C9DFC 001C5A5C 41 82 00 08 */ beq lbl_801C9E04 /* 801C9E00 001C5A60 48 00 00 0C */ b lbl_801C9E0C lbl_801C9E04: /* 801C9E04 001C5A64 80 A6 00 10 */ lwz r5, 0x10(r6) /* 801C9E08 001C5A68 7C E5 38 AE */ lbzx r7, r5, r7 lbl_801C9E0C: /* 801C9E0C 001C5A6C 88 A4 00 00 */ lbz r5, 0(r4) /* 801C9E10 001C5A70 7C E8 07 74 */ extsb r8, r7 /* 801C9E14 001C5A74 38 00 00 00 */ li r0, 0 /* 801C9E18 001C5A78 38 84 00 01 */ addi r4, r4, 1 /* 801C9E1C 001C5A7C 7C A7 07 75 */ extsb. r7, r5 /* 801C9E20 001C5A80 41 80 00 0C */ blt lbl_801C9E2C /* 801C9E24 001C5A84 2C 07 01 00 */ cmpwi r7, 0x100 /* 801C9E28 001C5A88 41 80 00 08 */ blt lbl_801C9E30 lbl_801C9E2C: /* 801C9E2C 001C5A8C 38 00 00 01 */ li r0, 1 lbl_801C9E30: /* 801C9E30 001C5A90 2C 00 00 00 */ cmpwi r0, 0 /* 801C9E34 001C5A94 41 82 00 08 */ beq lbl_801C9E3C /* 801C9E38 001C5A98 48 00 00 0C */ b lbl_801C9E44 lbl_801C9E3C: /* 801C9E3C 001C5A9C 80 A6 00 10 */ lwz r5, 0x10(r6) /* 801C9E40 001C5AA0 7C E5 38 AE */ lbzx r7, r5, r7 lbl_801C9E44: /* 801C9E44 001C5AA4 7C E0 07 74 */ extsb r0, r7 /* 801C9E48 001C5AA8 7C 08 00 00 */ cmpw r8, r0 /* 801C9E4C 001C5AAC 40 80 00 0C */ bge lbl_801C9E58 /* 801C9E50 001C5AB0 38 60 FF FF */ li r3, -1 /* 801C9E54 001C5AB4 4E 80 00 20 */ blr lbl_801C9E58: /* 801C9E58 001C5AB8 40 81 00 0C */ ble lbl_801C9E64 /* 801C9E5C 001C5ABC 38 60 00 01 */ li r3, 1 /* 801C9E60 001C5AC0 4E 80 00 20 */ blr lbl_801C9E64: /* 801C9E64 001C5AC4 2C 08 00 00 */ cmpwi r8, 0 /* 801C9E68 001C5AC8 40 82 00 0C */ bne lbl_801C9E74 /* 801C9E6C 001C5ACC 38 60 00 00 */ li r3, 0 /* 801C9E70 001C5AD0 4E 80 00 20 */ blr lbl_801C9E74: /* 801C9E74 001C5AD4 42 00 FF 64 */ bdnz lbl_801C9DD8 lbl_801C9E78: /* 801C9E78 001C5AD8 38 60 00 00 */ li r3, 0 /* 801C9E7C 001C5ADC 4E 80 00 20 */ blr