Function at 0x41c0e0
Capabilities:
Link many functions at runtime

Disassembly:
mov ecx, dword [0x4af15c]
lea eax, [esp - 0x19c]
sub esp, 0x33c
lea ecx, [ecx + 0x20]
push ebx
push ebp
push esi
push edi
push eax
call fcn.004288e0
mov ecx, 0x64
lea edi, [esp + 0x1c]
mov esi, eax
add esp, 4
cmp dword [0x4af44c], 0
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [0x24b1808]
mov ecx, esi
jne 0x41c206
lea edx, [esp + 0x19]
call fcn.0041adf0
mov ebp, eax
test ebp, ebp
jne 0x41c145
mov edx, 0x4b0bc8
mov ecx, esi
call fcn.0041adf0
mov ebp, eax
jmp 0x41c15d
lea eax, [esp + 0x19]
push eax
push 0x4b0bc8
call fcn.0040e260
mov esi, dword [0x24b1808]
add esp, 8
lea edx, [esp + 0x7d]
mov ecx, esi
call fcn.0041adf0
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
jne 0x41c184
mov edx, 0x4b0cc8
mov ecx, esi
call fcn.0041adf0
mov dword [esp + 0x14], eax
jmp 0x41c19c
lea eax, [esp + 0x7d]
push eax
push 0x4b0cc8
call fcn.0040e260
mov esi, dword [0x24b1808]
add esp, 8
lea edx, [esp + 0xe1]
mov ecx, esi
call fcn.0041adf0
mov ebx, eax
test ebx, ebx
jne 0x41c1c0
mov edx, 0x4b09c8
mov ecx, esi
call fcn.0041adf0
mov ebx, eax
jmp 0x41c1db
lea eax, [esp + 0xe1]
push eax
push 0x4b09c8
call fcn.0040e260
mov esi, dword [0x24b1808]
add esp, 8
lea edx, [esp + 0x145]
mov ecx, esi
call fcn.0041adf0
mov edi, eax
test edi, edi
je 0x41c230
lea eax, [esp + 0x145]
push eax
push 0x4b0ac8
call fcn.0040e260
add esp, 8
jmp 0x41c23e
mov edx, 0x4b0bc8
call fcn.0041adf0
mov edx, 0x4b0cc8
mov ecx, esi
mov ebp, eax
call fcn.0041adf0
mov edx, 0x4b09c8
mov dword [esp + 0x14], eax
mov ecx, esi
call fcn.0041adf0
mov ebx, eax
mov edx, 0x4b0ac8
mov ecx, esi
call fcn.0041adf0
mov edi, eax
push 0x4b0bc8
push str.Loading_gfx_____s
mov dword [0x4addf8], 2
call fcn.00419590
mov ecx, ebp
call fcn.0041ba80
push 0x4b0cc8
push str.Loading_input_____s
mov dword [0x4addf8], 3
call fcn.00419590
mov ecx, dword [esp + 0x24]
call fcn.0041be40
push 0x4b09c8
push str.Loading_sound____s
mov dword [0x4addf8], 4
call fcn.00419590
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 0x18
mov ebp, fcn.0040c6a0
test ebx, ebx
je 0x41c483
push 0x4a0da0
push ebx
call esi
push str.AiDacrateChanged
push ebx
mov dword [fcn.0040c6a0], eax
call esi
push str.AiLenChanged
push ebx
mov dword [fcn.0040c6a0], eax
call esi
push str.AiReadLength
push ebx
mov dword [fcn.0040c6a0], eax
call esi
push str.InitiateAudio
push ebx
mov dword [fcn.0040e1b0], eax
call esi
push 0x4a0df0
push ebx
mov dword [0x4ab9fc], eax
call esi
push str.RomOpen
push ebx
mov dword [fcn.0040c6a0], eax
call esi
push str.ProcessAList
push ebx
mov dword [fcn.0040c6a0], eax
call esi
push str.AiUpdate
push ebx
mov dword [fcn.0040c6a0], eax
call esi
mov dword [0x4b1214], eax
mov ecx, fcn.0040c6a0
mov eax, dword [fcn.0040c6a0]
test eax, eax
mov dword [0x24b17cc], 1
cmove eax, ecx
mov dword [0x24b17d4], 0x4bb7b0
mov dword [fcn.0040c6a0], eax
mov ecx, fcn.0040e1b0
mov eax, dword [fcn.0040c6a0]
test eax, eax
mov dword [0x24b17d8], 0x4b96e0
cmove eax, ebp
mov dword [fcn.0040c6a0], eax
mov eax, dword [fcn.0040e1b0]
test eax, eax
cmove eax, ecx
mov ecx, dword [0x4ab9fc]
mov dword [fcn.0040e1b0], eax
mov eax, dword [fcn.0040c6a0]
test eax, eax
cmove eax, ebp
test ecx, ecx
mov dword [fcn.0040c6a0], eax
mov eax, 0x40e1a0
cmove ecx, eax
mov eax, dword [fcn.0040c6a0]
test eax, eax
mov dword [0x4ab9fc], ecx
cmove eax, ebp
mov dword [fcn.0040c6a0], eax
mov eax, dword [fcn.0040c6a0]
test eax, eax
cmove eax, ebp
mov dword [fcn.0040c6a0], eax
mov eax, dword [fcn.0040c6a0]
test eax, eax
cmove eax, ebp
mov dword [fcn.0040c6a0], eax
mov eax, dword [0x4b09c4]
mov dword [0x24b17c4], eax
mov eax, dword [0x4b0dd8]
mov dword [0x24b17c8], eax
mov eax, dword [0x4af158]
mov dword [0x24b17d0], eax
mov eax, dword [0x4abafc]
movups xmm0, xmmword [0x24b17c4]
mov dword [0x24b17dc], eax
sub esp, 0x3c
mov eax, esp
mov dword [0x24b17e0], 0x24b1804
mov dword [0x24b17e4], 0x4bb764
mov dword [0x24b17e8], 0x4bb768
mov dword [0x24b17ec], 0x4bb76c
movups xmmword [eax], xmm0
mov dword [0x24b17f0], 0x24b1804
movups xmm0, xmmword [0x24b17d4]
mov dword [0x24b17f4], 0x4bb774
mov dword [0x24b17f8], 0x4bb778
movups xmmword [eax + 0x10], xmm0
mov dword [0x24b17fc], 0x40c6a0
movups xmm0, xmmword [0x24b17e4]
movups xmmword [eax + 0x20], xmm0
movq xmm0, qword [0x24b17f4]
movq qword [eax + 0x30], xmm0
mov dword [eax + 0x38], fcn.0040c6a0
call ecx
add esp, 0x3c
jmp 0x41c4d3
mov dword [fcn.0040c6a0], 0x40c6a0
mov dword [fcn.0040c6a0], 0x40c6a0
mov dword [fcn.0040e1b0], 0x40e1b0
mov dword [fcn.0040c6a0], 0x40c6a0
mov dword [0x4ab9fc], 0x40e1a0
mov dword [fcn.0040c6a0], 0x40c6a0
mov dword [fcn.0040c6a0], 0x40c6a0
mov dword [fcn.0040c6a0], 0x40c6a0
push 0x4b0ac8
push str.Loading_RSP____s
mov dword [0x4addf8], 5
call fcn.00419590
add esp, 8
mov dword [esp + 0x14], 4
test edi, edi
je 0x41c6ae
push str.CloseDLL
push edi
call esi
push str.DoRspCycles
push edi
mov dword [fcn.0040c6a0], eax
call esi
push str.InitiateRSP
push edi
mov dword [0x4aba34], eax
call esi
push str.RomClosed
push edi
mov dword [fcn.0040c6a0], eax
call esi
mov ecx, dword [fcn.0040c6a0]
mov edx, 0x40e1c0
test ecx, ecx
mov dword [0x24b1894], 1
mov dword [0x24b1898], 0x4bb7b0
mov esi, 0x24b1890
cmove ecx, ebp
mov dword [0x24b189c], 0x4b96e0
mov dword [fcn.0040c6a0], ecx
mov ecx, dword [0x4aba34]
test ecx, ecx
mov dword [0x24b18a4], 0x4b9684
cmove ecx, edx
mov dword [0x24b18a8], 0xcbb7e4
mov edx, dword [fcn.0040c6a0]
test edx, edx
mov dword [0x4aba34], ecx
mov ecx, fcn.0040c6a0
cmove edx, ecx
mov dword [0x24b18ac], 0xcbb7e8
test eax, eax
mov dword [0x24b18b0], 0xcbb7ec
mov dword [0x24b18b4], 0xcbb7f0
mov ecx, 0x1c
cmove eax, ebp
mov dword [0x24b18b8], 0xcbb7f8
mov dword [fcn.0040c6a0], eax
mov eax, dword [0x4abafc]
mov dword [0x24b18a0], eax
mov eax, dword [fcn.0040c6a0]
mov dword [0x24b18f0], eax
mov eax, dword [fcn.0040c6a0]
mov dword [0x24b18f4], eax
mov eax, dword [fcn.0040c6a0]
mov dword [0x24b18f8], eax
mov eax, dword [fcn.0040c6a0]
mov dword [0x24b18fc], eax
lea eax, [esp + 0x14]
push eax
sub esp, 0x70
mov dword [0x24b18bc], 0xcbb80c
mov dword [0x24b18c0], 0xcbb810
mov edi, esp
mov dword [0x24b18c4], 0x4b9698
mov dword [0x24b18c8], 0xcbb814
mov dword [0x24b18cc], 0xcbb818
mov dword [0x24b18d0], 0xcbb81c
mov dword [0x24b18d4], 0xcbb820
mov dword [0x24b18d8], 0xcbb828
mov dword [0x24b18dc], 0xcbb838
mov dword [0x24b18e0], 0xcbb83c
mov dword [0x24b18e4], 0xcbb840
mov dword [0x24b18e8], 0xcbb844
mov dword [0x24b18ec], 0x40c6a0
rep movsd dword es:[edi], dword [esi]
mov dword [fcn.0040c6a0], edx
call edx
add esp, 0x74
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x33c
ret
pop edi
pop esi
pop ebp
mov dword [fcn.0040c6a0], 0x40c6a0
mov eax, 1
mov dword [0x4aba34], 0x40e1c0
mov dword [fcn.0040c6a0], 0x40c6a0
mov dword [fcn.0040c6a0], 0x40c6a0
pop ebx
add esp, 0x33c
ret