Function at 0x43d010
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x208
or ecx, 0xffffffff
xor eax, eax
push ebx
push ebp
push esi
push edi
mov edi, str._snes96
mov ebp, dword [esp + 0x21c]
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x10]
mov esi, ecx
add esi, 6
push esi
push eax
push ebp
call fcn.004031a0
add esp, 0xc
cmp eax, esi
je 0x43d056
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x208
ret
mov edi, str._snes96
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x14]
push str._snes96
push ecx
call fcn.004975c0
add esp, 0xc
test eax, eax
je 0x43d08a
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x208
ret
mov edi, str._snes9x
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [esp + ecx + 0x11]
push edx
call fcn.00497812
mov ebx, eax
add esp, 4
cmp ebx, 4
jle 0x43d0bd
pop edi
pop esi
pop ebp
mov eax, 0xfffffffe
pop ebx
add esp, 0x208
ret
push ebp
lea eax, [esp + 0x118]
push 0x104
push eax
push str.NAM:
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
push ebp
lea ecx, [esp + 0x14]
push 0x41
push ecx
push str.HiR:
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
lea edx, [esp + 0x114]
push 0x734ab4
push edx
call fcn.004a06d0
add esp, 8
test eax, eax
je 0x43d154
push 0x734ab4
call fcn.0040b630
add esp, 4
push eax
lea eax, [esp + 0x118]
push eax
call fcn.0040b630
add esp, 4
push eax
call fcn.004a06d0
add esp, 8
test eax, eax
je 0x43d154
push str.Current_loaded_ROM_image_doesnt_match_that_required_by_freeze_game_file.
push 0x13
push 2
call fcn.0040aac0
add esp, 0xc
call fcn.00418980
push 1
call fcn.004421d0
push ebp
push 0x48
push 0x7c82c8
push str.CPU:
call fcn.0043dda0
add esp, 0x14
cmp eax, 1
jne 0x43dd5e
mov ecx, dword [0x7c82e8]
and ecx, 0xffff
mov dword [0x7c830c], ecx
mov ecx, 0x727a40
call fcn.0042faf0
cmp ebx, 3
jne 0x43d1fa
movsx eax, word [0x7c82ce]
mov ecx, dword [0x7c82e4]
mov edi, dword [0x7c82e8]
movsx edx, word [0x7c82cc]
mov dword [0x7c82fc], eax
xor esi, esi
mov si, word [0x7c82d2]
xor eax, eax
mov ax, word [0x7c82e6]
and ecx, 0xffff
and edi, 0xffff
mov dword [0x7c82f8], edx
mov dword [0x7c8300], esi
mov dword [0x7c8304], ecx
mov dword [0x7c8308], eax
mov dword [0x7c830c], edi
jmp 0x43d211
mov eax, dword [0x7c8308]
mov ecx, dword [0x7c8304]
mov esi, dword [0x7c8300]
mov edi, dword [0x7c830c]
mov edx, dword [0x7c82c8]
push ebp
mov dword [0x737ad8], edx
mov dl, byte [0x7c82d4]
mov byte [0x737adc], dl
mov dl, byte [0x7c82d5]
mov byte [0x737add], dl
mov dl, byte [0x7c82d6]
mov byte [0x737ade], dl
mov dl, byte [0x7c82d7]
mov byte [0x737adf], dl
mov dl, byte [0x7c82d9]
mov byte [0x737ae1], dl
mov edx, dword [0x7c82f8]
mov dword [0x737af8], edx
mov edx, dword [0x7c82fc]
push 0x10
push 0x7d9888
push str.REG:
mov dword [0x737afc], edx
mov dword [0x737b00], esi
mov dword [0x737b04], ecx
mov dword [0x737b08], eax
mov dword [0x737b0c], edi
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
mov eax, dword [0x7d9888]
mov ecx, dword [0x7d988c]
mov edx, dword [0x7d9890]
push ebp
mov dword [0x738210], eax
mov eax, dword [0x7d9894]
push 0xc34
push 0x7c8310
push str.PPU:
mov dword [0x738214], ecx
mov dword [0x738218], edx
mov dword [0x73821c], eax
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
cmp ebx, 2
jne 0x43d317
movzx dx, byte [0x7c8cbd]
shl word [0x7c8cbe], 1
shl edx, 0xd
shl dx, 0xd
mov word [0x7c8f3c], dx
jmp 0x43d31e
mov dx, word [0x7c8f3c]
mov cl, byte [0x7c8310]
mov al, byte [0x7c8311]
mov byte [0x768ba0], cl
mov cl, byte [0x7c8312]
mov byte [0x768ba1], al
mov al, byte [0x7c8314]
mov byte [0x768ba2], cl
mov cl, byte [0x7c8315]
mov byte [0x768ba4], al
mov ax, word [0x7c8316]
mov byte [0x768ba5], cl
mov cx, word [0x7c8318]
mov word [0x768ba6], ax
mov ax, word [0x7c831a]
mov word [0x768ba8], cx
mov cx, word [0x7c831c]
mov word [0x768baa], ax
mov word [0x768bac], cx
mov ecx, 0x768bb0
mov eax, 0x7c8326
mov si, word [eax - 2]
mov bl, byte [eax + 6]
mov word [ecx - 2], si
mov si, word [eax]
mov word [ecx], si
mov si, word [eax + 2]
mov word [ecx + 2], si
mov si, word [eax + 8]
mov byte [ecx + 4], bl
mov word [ecx + 6], si
mov si, word [eax + 0xa]
add eax, 0x16
mov word [ecx + 8], si
add ecx, 0xc
cmp eax, 0x7c837e
jl 0x43d394
mov al, byte [0x7c8376]
mov ecx, 0x80
mov esi, 0x7c8378
mov edi, 0x768be0
mov byte [0x768bde], al
mov eax, 0x7c857c
rep movsd dword es:[edi], dword [esi]
mov cl, byte [0x7c8578]
mov byte [0x768de0], cl
mov ecx, 0x768de4
mov si, word [eax - 2]
mov bl, byte [eax + 4]
mov word [ecx - 2], si
mov si, word [eax]
mov word [ecx], si
mov si, word [eax + 2]
mov word [ecx + 2], si
mov byte [ecx + 4], bl
mov bl, byte [eax + 5]
add eax, 0xe
mov byte [ecx + 5], bl
mov bl, byte [eax - 8]
mov byte [ecx + 6], bl
mov bl, byte [eax - 7]
mov byte [ecx + 7], bl
mov bl, byte [eax - 6]
mov byte [ecx + 8], bl
add ecx, 0xc
cmp eax, 0x7c8c7c
jl 0x43d3fe
mov al, byte [0x7c8c88]
mov cx, word [0x7c8c8a]
mov byte [0x7693e2], al
mov al, byte [0x7c8c8c]
mov word [0x7693e4], cx
mov cx, word [0x7c8c8e]
mov byte [0x7693e6], al
mov ax, word [0x7c8c90]
mov word [0x7693e8], cx
mov cx, word [0x7c8c92]
mov word [0x7693ea], ax
mov ax, word [0x7c8c94]
mov word [0x7693ec], cx
mov cx, word [0x7c8c96]
mov word [0x7693ee], ax
mov al, byte [0x7c8c98]
mov word [0x7693f0], cx
mov cl, byte [0x7c8c99]
mov byte [0x7693f2], al
mov al, byte [0x7c8c9a]
mov byte [0x7693f3], cl
mov cx, word [0x7c8c9c]
mov byte [0x7693f4], al
mov ax, word [0x7c8c9e]
mov word [0x7693f6], cx
mov cx, word [0x7c8ca0]
mov word [0x7693f8], ax
mov ax, word [0x7c8ca2]
mov word [0x7693fa], cx
mov cx, word [0x7c8ca4]
mov word [0x7693fc], ax
mov ax, word [0x7c8ca6]
mov word [0x7693fe], cx
mov cl, byte [0x7c8ca8]
mov word [0x769400], ax
mov al, byte [0x7c8ca9]
mov byte [0x769402], cl
mov cl, byte [0x7c8f3f]
mov byte [0x769403], al
mov al, byte [0x7c8caa]
mov byte [0x769673], cl
mov cl, byte [0x7c8cab]
mov byte [0x769404], al
mov al, byte [0x7c8cac]
mov byte [0x769405], cl
mov cl, byte [0x7c8cad]
mov byte [0x769406], al
mov ax, word [0x7c8cae]
mov byte [0x769407], cl
mov cx, word [0x7c8cb0]
mov word [0x769408], ax
mov eax, dword [0x7c8cb4]
mov word [0x76940a], cx
mov cl, byte [0x7c8cb9]
mov dword [0x76940c], eax
mov ax, word [0x7c8cbe]
mov byte [0x769411], cl
mov cl, byte [0x7c8cc1]
mov word [0x769670], dx
mov dl, byte [0x7c8cbc]
push 0x220
push 0x7c8cc2
push 0x76941a
mov byte [0x769414], dl
mov word [0x769416], ax
mov byte [0x769419], cl
call fcn.00496da0
mov dl, byte [0x7c8ee2]
mov al, byte [0x7c8ee3]
mov cx, word [0x7c8ee4]
mov byte [0x76963a], dl
mov dl, byte [0x7c8ee6]
push 4
push 0x7c8ee7
push 0x76963f
mov byte [0x76963b], al
mov word [0x76963c], cx
mov byte [0x76963e], dl
call fcn.00496da0
mov al, byte [0x7c8eeb]
add esp, 0x18
mov cl, byte [0x7c8eec]
mov dl, byte [0x7c8eed]
mov byte [0x769643], al
mov al, byte [0x7c8eee]
mov byte [0x769646], al
mov al, byte [0x7c8ef1]
mov byte [0x769644], cl
mov cl, byte [0x7c8eef]
mov byte [0x769645], dl
mov dl, byte [0x7c8ef0]
mov byte [0x769649], al
mov byte [0x769647], cl
mov byte [0x769648], dl
xor eax, eax
mov cl, byte [eax + 0x7c8f1c]
mov dl, byte [eax + 0x7c8f22]
mov byte [eax + 0x769650], cl
mov cl, byte [eax + 0x7c8f28]
mov byte [eax + 0x769656], dl
mov dl, byte [eax + 0x7c8f2e]
mov byte [eax + 0x76965c], cl
mov cl, byte [eax + 0x7c8f34]
mov byte [eax + 0x769662], dl
mov byte [eax + 0x769668], cl
inc eax
cmp eax, 6
jl 0x43d662
mov dl, byte [0x7c8f3b]
mov al, byte [0x7c8f3e]
mov byte [0x76966f], dl
mov byte [0x769672], al
mov byte [0x736938], 1
mov byte [0x73693d], 1
call fcn.004360b0
push ebp
push 0xc0
push 0x7c8208
push str.DMA:
mov byte [0x73693e], 0
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
mov ecx, 0x737a29
mov eax, 0x7c8209
mov dl, byte [eax - 1]
add eax, 0x18
mov byte [ecx - 1], dl
mov dl, byte [eax - 0x18]
mov byte [ecx], dl
mov dl, byte [eax - 0x17]
mov byte [ecx + 1], dl
mov dl, byte [eax - 0x16]
mov byte [ecx + 2], dl
mov dl, byte [eax - 0x15]
mov byte [ecx + 3], dl
mov dx, word [eax - 0x13]
mov word [ecx + 5], dx
mov dx, word [eax - 0x11]
mov word [ecx + 7], dx
mov dl, byte [eax - 0xf]
mov byte [ecx + 9], dl
mov dx, word [eax - 0xd]
mov word [ecx + 0xb], dx
mov dl, byte [eax - 0xb]
mov byte [ecx + 0xd], dl
mov dx, word [eax - 9]
mov word [ecx + 0xf], dx
mov dl, byte [eax - 7]
mov byte [ecx + 0x11], dl
mov dl, byte [eax - 6]
mov byte [ecx + 0x12], dl
mov dl, byte [eax - 5]
mov byte [ecx + 0x13], dl
mov dl, byte [eax - 4]
mov byte [ecx + 0x14], dl
add ecx, 0x16
cmp eax, 0x7c82c9
jl 0x43d6ff
mov eax, dword [0x727a48]
push ebp
push 0x10000
push eax
push str.VRA:
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
mov ecx, dword [0x727a40]
push ebp
push 0x20000
push ecx
push str.RAM:
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
mov edx, dword [0x7c5ee8]
push ebp
push 0x10000
push edx
push str.SRA:
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
mov eax, dword [0x727a54]
push ebp
push 0x8000
push eax
push str.FIL:
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
push ebp
push 0xe0
push 0x7c8128
push str.APU:
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
mov ebx, 8
jne 0x43dae7
push ebp
mov ecx, 0x38
mov esi, 0x7c8128
mov edi, 0x736858
push ebx
push 0x7d9478
rep movsd dword es:[edi], dword [esi]
push str.ARE:
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
mov eax, dword [0x7273b4]
mov ecx, dword [0x7d9478]
mov edx, dword [0x7d947c]
push ebp
push 0x10000
push eax
push str.ARA:
mov dword [0x7c5ed0], ecx
mov dword [0x7c5ed4], edx
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
push ebp
push 0x10530
push 0x7c8f48
push str.SOU:
call fcn.0043dda0
add esp, 0x10
cmp eax, 1
jne 0x43dd5e
mov dx, word [0x7c8f4a]
mov cx, word [0x7c8f48]
mov ax, word [0x7c8f4c]
mov word [0x7273f2], dx
mov edx, dword [0x7c8f50]
mov word [0x7273f0], cx
mov cx, word [0x7c8f4e]
mov word [0x7273f4], ax
mov eax, dword [0x7c8f54]
mov dword [0x7273f8], edx
mov edx, dword [0x7c8f5c]
mov word [0x7273f6], cx
mov ecx, dword [0x7c8f58]
mov dword [0x7273fc], eax
mov eax, dword [0x7c8f60]
mov dword [0x727404], edx
mov edx, dword [0x7c8f68]
mov dword [0x727400], ecx
mov ecx, dword [0x7c8f64]
mov dword [0x727408], eax
mov eax, dword [0x7c8f6c]
mov dword [0x727410], edx
mov edx, dword [0x7c8f74]
mov dword [0x72740c], ecx
mov ecx, dword [0x7c8f70]
mov dword [0x727414], eax
mov dword [0x72741c], edx
mov dword [0x727418], ecx
mov edx, 0x727424
mov eax, 0x7c8f7c
mov ecx, dword [eax - 4]
lea esi, [eax + 0x2042]
mov dword [edx - 4], ecx
mov ecx, dword [eax]
mov dword [edx], ecx
mov cx, word [eax + 4]
mov word [edx + 4], cx
mov cx, word [eax + 6]
mov word [edx + 6], cx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0xc]
mov dword [edx + 0x10], ecx
mov cl, byte [eax + 0x2010]
mov byte [edx + 0x14], cl
mov ecx, dword [eax + 0x2014]
mov dword [edx + 0x18], ecx
mov cx, word [eax + 0x2018]
mov word [edx + 0x1c], cx
mov cx, word [eax + 0x201a]
mov word [edx + 0x1e], cx
mov cx, word [eax + 0x201c]
mov word [edx + 0x20], cx
mov ecx, dword [eax + 0x2020]
mov dword [edx + 0x24], ecx
mov ecx, dword [eax + 0x2024]
mov dword [edx + 0x28], ecx
mov ecx, dword [eax + 0x2028]
mov dword [edx + 0x2c], ecx
mov ecx, dword [eax + 0x202c]
mov dword [edx + 0x30], ecx
mov ecx, dword [eax + 0x2030]
mov dword [edx + 0x34], ecx
mov ecx, dword [eax + 0x2034]
mov dword [edx + 0x38], ecx
mov ecx, dword [eax + 0x2038]
mov dword [edx + 0x3c], ecx
mov ecx, dword [eax + 0x203c]
mov dword [edx + 0x40], ecx
mov cx, word [eax + 0x2040]
mov word [edx + 0x44], cx
mov ecx, ebx
lea edi, [edx + 0x46]
rep movsd dword es:[edi], dword [esi]
lea esi, [edx + 0x90]
lea ecx, [eax + 0x2062]
mov edi, 2
movsx ebp, word [ecx]
mov dword [esi], ebp
add ecx, 2
add esi, 4
dec edi
jne 0x43da22
mov cx, word [eax + 0x2066]
add eax, 0x20a0
mov word [edx + 0x70], cx
mov cl, byte [eax - 0x38]
mov byte [edx + 0x72], cl
mov cl, byte [eax - 0x37]
mov byte [edx + 0x73], cl
mov ecx, dword [eax - 0x34]
mov dword [edx + 0x74], ecx
mov ecx, dword [eax - 0x30]
mov dword [edx + 0x78], ecx
mov ecx, dword [eax - 0x28]
mov dword [edx + 0x80], ecx
add edx, 0xbc
cmp eax, 0x7d947c
jl 0x43d958
push 0
call fcn.004421d0
mov al, byte [0x7c5ed0]
mov esi, dword [0x7273b4]
xor edx, edx
mov cl, al
mov dx, word [0x7c5ed6]
add esp, 4
add edx, esi
not cl
mov dword [0x7273b0], edx
mov dl, al
shr cl, 1
and cl, 1
and dl, 0x80
or cl, dl
mov dl, al
mov byte [0x7273d9], cl
mov cl, al
shr dl, 6
and cl, 1
and dl, 1
test al, 0x20
mov byte [0x7273d8], cl
mov byte [0x7273da], dl
je 0x43dad1
add esi, 0x100
mov dword [0x7273b8], esi
mov byte [0x738220], 1
mov byte [0x7273bc], 1
jmp 0x43daff
push 1
mov byte [0x738220], 0
mov byte [0x7273bc], 0
call fcn.004421d0
add esp, 4
call fcn.00441b40
mov eax, dword [0x738210]
xor edx, edx
mov ecx, eax
mov dl, ah
and ecx, 0xff
xor eax, eax
mov ax, word [0x73821e]
shl ecx, 0x10
add eax, ecx
mov dword [0x727a28], ecx
mov ecx, eax
shr ecx, 0xc
shl edx, 0x10
and ecx, 0xfff
mov dword [0x727a2c], edx
mov edx, 0xc
mov esi, dword [ecx*4 + 0x727a64]
cmp esi, edx
jb 0x43db76
xor edx, edx
and eax, 0xffff
mov dl, byte [ecx + 0x72fa64]
mov dword [0x737ae8], esi
mov ecx, edx
mov dword [0x737b04], ecx
add ecx, ecx
mov dword [0x737b08], ecx
add eax, esi
jmp 0x43dc63
cmp esi, 0xb
ja case.0x43db7f.3
jmp dword [esi*4 + 0x43dd6c]
mov dword [0x737b08], edx
mov edx, dword [0x727a54]
mov dword [0x737b04], 6
lea ecx, [edx - 0x2000]
jmp 0x43dc56
mov ecx, dword [0x727a54]
mov dword [0x737b04], 6
mov dword [0x737b08], edx
add ecx, 0xffffc000
jmp 0x43dc56
mov edx, dword [0x727a54]
mov dword [0x737b04], ebx
mov dword [0x737b08], 0x10
lea ecx, [edx - 0x6000]
jmp 0x43dc56
mov ecx, dword [0x727a50]
mov dword [0x737b04], ebx
mov dword [0x737b08], 0x10
add ecx, 0xffffa000
jmp 0x43dc56
mov edx, dword [0x727a4c]
mov dword [0x737b04], ebx
mov dword [0x737b08], 0x10
lea ecx, [edx - 0x6000]
jmp 0x43dc56
mov ecx, dword [0x727a58]
mov dword [0x737b04], ebx
mov dword [0x737b08], 0x10
add ecx, 0xffffa000
jmp 0x43dc56
mov ecx, dword [0x727a4c]
mov dword [0x737b04], ebx
mov dword [0x737b08], 0x10
and eax, 0xffff
mov dword [0x737ae8], ecx
add eax, ecx
mov dword [0x737ae4], eax
mov eax, dword [0x738212]
mov dl, al
mov cl, al
not dl
shr dl, 1
and cl, 0x80
and dl, 1
mov byte [0x727a22], cl
mov cl, al
mov byte [0x727a21], dl
mov dl, al
shr cl, 6
and dl, 1
and cl, 1
test ah, 1
mov byte [0x727a20], dl
mov byte [0x727a23], cl
je 0x43dcb1
mov dword [0x727a1c], 0x4b42f4
jmp 0x43dce9
test al, 0x20
je 0x43dcd1
test al, 0x10
je 0x43dcc5
mov dword [0x727a1c], 0x4b42f4
jmp 0x43dce9
mov dword [0x727a1c], 0x4b46f4
jmp 0x43dce9
test al, 0x10
mov dword [0x727a1c], 0x4b4ef4
jne 0x43dce9
mov dword [0x727a1c], 0x4b4af4
mov al, byte [0x737ae1]
mov esi, dword [0x738228]
test al, al
je 0x43dd02
cmp al, 3
je 0x43dd02
xor al, al
mov ecx, esi
jmp 0x43dd0a
mov ecx, dword [0x738224]
mov al, 1
mov dl, byte [0x76963b]
test dl, dl
je 0x43dd4e
movsx edx, word [0x76963c]
cmp edx, ecx
jge 0x43dd4e
cmp edx, dword [0x737afc]
jle 0x43dd4e
mov bl, byte [0x76963a]
test bl, bl
je 0x43dd44
mov ebx, dword [0x737b00]
xor edi, edi
mov di, word [0x7693ea]
cmp ebx, edi
jne 0x43dd4e
cmp edx, esi
mov ecx, edx
setge al
add eax, 2
mov byte [0x737ae1], al
mov dword [0x737afc], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret