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

Disassembly:
sub esp, 0x16c
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x34], edi
mov eax, dword [edi + 0x9bc]
lea ecx, [edi + 0x9bc]
call dword [eax + 0x6c]
mov ebp, dword [esp + 0x180]
mov cl, byte [0x475e44]
xor ebx, ebx
mov dword [esp + 0x14], eax
cmp ebp, ebx
mov byte [edi + 0x9a0], cl
jne 0x43cb1b
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x16c
ret 4
mov ecx, dword [0x48f13c]
mov eax, dword [0x48f138]
mov dword [esp + 0x28], ecx
push ecx
push eax
mov ecx, 0x48f280
mov dword [esp + 0x20], eax
call fcn.00420990
mov esi, eax
cmp esi, ebx
jne 0x43cb4f
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x16c
ret 4
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x44]
mov dword [esp + 0x20], eax
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x48]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
cmp ecx, ebx
jge 0x43cb7e
mov eax, ecx
cdq
mov ecx, eax
mov eax, dword [esp + 0x2c]
xor ecx, edx
sub ecx, edx
jmp 0x43cb80
xor ecx, ecx
cmp eax, ebx
jge 0x43cb8b
cdq
xor eax, edx
sub eax, edx
jmp 0x43cb8d
xor eax, eax
mov edx, dword [esi]
push ebx
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x24]
push eax
push ecx
push ebx
push ebx
push ebp
mov ecx, esi
call dword [edx + 0x10]
mov edx, dword [esi]
push str.CSelect::Start_BK
mov ecx, esi
call dword [edx + 0x74]
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x3c]
mov dword [edi + 0x9ac], esi
mov dword [edi + 0x904], esi
mov ecx, dword [str.SE003.ogg]
push ecx
push 1
mov ecx, edi
call fcn.00424be0
mov edx, dword [str.SE001.ogg]
mov ecx, edi
push edx
push 2
call fcn.00424be0
mov eax, dword [edi + 0x98c]
mov ecx, edi
push eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
call fcn.004249f0
mov ecx, dword [esp + 0x14]
push ebx
push ecx
mov ecx, 0x48f280
call fcn.004209f0
mov esi, eax
mov eax, dword [edi + 0x98c]
xor ebp, ebp
cmp eax, ebx
mov dword [esp + 0x20], esi
jle 0x43cc3a
push ebx
push ebx
push ebp
mov ecx, edi
call fcn.00424c20
mov eax, dword [edi + 0x98c]
inc ebp
cmp ebp, eax
jl 0x43cc25
mov eax, dword [edi + 0x9a4]
mov ecx, dword [edi + 0x98c]
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x43cc52
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ecx, ebx
mov dword [esp + 0x24], eax
jle 0x43d242
lea edx, [edi + 0xd]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
cmp esi, ebx
je 0x43d251
mov ecx, dword [edi + 0x988]
mov ecx, dword [ecx + eax*4]
cmp ecx, ebx
mov dword [esp + 0x30], ecx
je 0x43d218
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x50]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x4c]
push eax
mov ecx, 0x48f280
call fcn.00420990
mov ebp, eax
cmp ebp, ebx
je 0x43d242
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x4c]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp]
push 0x48f180
mov ecx, ebp
call dword [eax + 0x1c]
mov edx, dword [ebp]
push str.CSelect_btn
mov ecx, ebp
call dword [edx + 0x74]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x84], 0x489438
mov dword [esp + 0x88], 0x4896ec
mov dword [esp + 0x8c], 0x48943c
mov dword [esp + 0x90], str.NML2
lea ebx, [eax + 0x10]
jmp 0x43cd2b
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
mov edx, dword [esi]
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esp + ecx*4 + 0x88]
push eax
mov ecx, esi
call dword [edx + 0x7c]
mov eax, dword [esp + 0x30]
push 0
mov edx, dword [ebp]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
push ecx
mov ecx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [edi + 0x9ac]
push eax
push ecx
mov ecx, ebp
call dword [edx + 0x10]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push 3
push eax
push ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [ebp]
push ecx
mov ecx, dword [esp + 0x54]
push ecx
push eax
mov eax, dword [esp + 0x54]
mov ecx, ebp
push eax
push esi
call dword [edx + 0x10]
cmp dword [esp + 0x38], 3
jne 0x43cdf9
mov ecx, 0x12
mov esi, 0x48f180
lea edi, [esp + 0x124]
rep movsd dword es:[edi], dword [esi]
mov al, byte [esp + 0x15d]
mov dl, byte [esp + 0x15c]
mov cl, byte [esp + 0x15e]
shr al, 1
shr dl, 1
shr cl, 1
mov byte [esp + 0x15d], al
mov byte [esp + 0x15c], dl
mov edx, dword [ebp]
lea eax, [esp + 0x124]
mov byte [esp + 0x15e], cl
push eax
mov ecx, ebp
call dword [edx + 0x1c]
mov edi, dword [esp + 0x34]
jmp 0x43ce06
mov edx, dword [ebp]
push 0x48f180
mov ecx, ebp
call dword [edx + 0x1c]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x14]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0xc]
push eax
call fcn.0041af30
mov ecx, dword [0x48f180]
mov esi, dword [esp + 0x4c]
sar ecx, 1
imul ecx, eax
mov eax, esi
add esp, 8
sar eax, 1
sub eax, ecx
mov ecx, dword [esp + 0x3c]
mov edx, 0
sets dl
dec edx
add esi, ecx
and eax, edx
mov dword [esp + 0x9c], esi
add eax, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x40]
lea edx, [eax + 0xa]
add eax, ecx
mov dword [esp + 0xa0], eax
mov eax, dword [0x48f1c4]
test al, 8
mov dword [esp + 0x98], edx
je 0x43ce82
mov dword [esp + 0x28], 0x10
jmp 0x43ce8c
and eax, 0x10
shl eax, 2
mov dword [esp + 0x28], eax
push ebp
mov ecx, 0x48f280
call fcn.00420b30
mov esi, eax
test esi, esi
je 0x43cf23
mov edx, dword [esi]
push 0
push 0
push 0
push 0
mov ecx, esi
call dword [edx + 0x84]
mov eax, dword [ebp]
mov edi, dword [esi]
mov ecx, ebp
call dword [eax + 0x20]
push eax
mov ecx, esi
call dword [edi + 0x1c]
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx]
mov edi, dword [esi]
lea edx, [esp + 0x94]
push ecx
push edx
mov ecx, ebx
call dword [eax + 0x14]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0xf4]
push eax
lea eax, [esp + 0x17c]
push eax
mov ecx, esi
call dword [edi + 0x30]
mov edi, dword [ebp]
push 3
push 0
push 0
mov ecx, ebp
call dword [edi + 0x50]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x4c]
push eax
push 0
push 0
push esi
mov ecx, ebp
call dword [edi + 0x10]
push esi
mov ecx, 0x48f280
call fcn.00420c60
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
inc eax
cmp eax, 4
mov dword [esp + 0x38], eax
jl 0x43cd27
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
push 0x2c
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
push esi
push eax
push ecx
push edx
mov ecx, edi
call fcn.004249a0
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
mov edi, 0x38
sub esp, 0x18
mov dword [esp + 0xe0], ecx
xor edx, edx
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x104], esi
mov dword [esp + 0x108], edi
mov dword [esp + 0x128], ecx
mov dword [esp + 0x130], edi
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], edi
mov dword [esp + 0x110], ecx
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], edi
mov ecx, 6
lea esi, [esp + 0xdc]
mov edi, esp
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], 0xa8
rep movsd dword es:[edi], dword [esi]
sub esp, 0x18
mov ecx, 6
lea esi, [esp + 0x10c]
mov edi, esp
mov dword [esp + 0x10c], eax
mov dword [esp + 0x114], edx
mov dword [esp + 0x118], 0x70
sub esp, 0x18
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
lea esi, [esp + 0x154]
mov edi, esp
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x154], eax
mov dword [esp + 0x15c], edx
rep movsd dword es:[edi], dword [esi]
sub esp, 0x18
mov ecx, 6
lea esi, [esp + 0x154]
mov edi, esp
mov dword [esp + 0x154], eax
mov dword [esp + 0x15c], edx
mov dword [esp + 0x160], edx
push ebp
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x98]
push ebx
mov ecx, edi
call fcn.00424e40
mov esi, dword [esp + 0x30]
mov al, byte [esi + 0xc]
test al, al
jne 0x43d0cd
xor eax, eax
xor ecx, ecx
xor edx, edx
cmp ebx, dword [edi + 0x924]
jl 0x43d0a2
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
jmp 0x43d124
mov edx, dword [edi + 0x904]
test edx, edx
jne 0x43d0c3
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
jmp 0x43d124
push 3
lea eax, [esp + 0x78]
push edx
push eax
jmp 0x43d113
xor eax, eax
xor ecx, ecx
xor edx, edx
cmp ebx, dword [edi + 0x924]
jl 0x43d0ed
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
jmp 0x43d124
mov edx, dword [edi + 0x904]
test edx, edx
jne 0x43d10b
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
jmp 0x43d124
push 0
lea ecx, [esp + 0x58]
push edx
push ecx
mov ecx, dword [edi + 0x920]
mov eax, dword [esp + 0x20]
add ecx, eax
call fcn.0040e9b0
mov al, bl
mov cl, bl
dec al
inc cl
mov byte [esp + 0x13], cl
lea ecx, [ebx + 1]
lea edx, [ecx - 2]
test edx, edx
jge 0x43d140
mov al, byte [esp + 0x1c]
dec al
cmp ecx, dword [esp + 0x1c]
jl 0x43d14a
xor dl, dl
jmp 0x43d14e
mov dl, byte [esp + 0x13]
test ebx, ebx
jl 0x43d179
cmp ebx, 0xff
jge 0x43d179
mov ecx, dword [esp + 0x18]
mov byte [ecx - 1], al
mov byte [ecx], dl
mov byte [ecx + 1], al
mov byte [ecx + 2], dl
mov byte [ecx + 3], al
mov byte [ecx + 4], dl
mov byte [ecx + 5], al
mov byte [ecx + 6], dl
mov byte [ecx + 7], 1
mov al, byte [esi + 0xc]
push 0
push eax
push ebx
mov ecx, edi
call fcn.00424c20
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
mov edx, dword [esi + 4]
mov dword [esp + 0xa4], edx
mov eax, dword [esi + 8]
mov dword [esp + 0xa8], eax
mov ecx, dword [esi + 4]
add ecx, ebx
lea eax, [esp + 0xa4]
mov dword [esp + 0xac], ecx
mov edx, dword [esi + 8]
add edx, 0x2c
lea ecx, [esp + 0xb4]
mov dword [esp + 0xb0], edx
push eax
lea edx, [esp + 0x68]
push ecx
push edx
call dword [0x47348c]
push ebp
mov ecx, 0x48f280
call fcn.00420c60
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
xor ebx, ebx
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc eax
add ebp, 0xa4
add edx, 9
cmp eax, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edx
jl 0x43cc6f
cmp esi, ebx
je 0x43d251
push esi
mov ecx, 0x48f280
call fcn.00420c60
mov eax, dword [edi + 0x9b0]
cmp eax, ebx
je 0x43d26c
push eax
mov ecx, 0x48f280
call fcn.00420c60
mov dword [edi + 0x9b0], ebx
mov eax, dword [esp + 0x180]
mov ecx, 0x48f280
push eax
call fcn.00420b30
mov dword [edi + 0x9b0], eax
mov eax, dword [edi + 0x9b8]
cmp eax, ebx
je 0x43d2e4
mov ecx, dword [edi + 0x9ac]
mov esi, ecx
mov dword [esp + 0x20], ecx
mov edx, dword [esi]
call dword [edx + 0x50]
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x4c]
mov ecx, dword [edi + 0x9b8]
push eax
call fcn.004366e0
mov ecx, dword [edi + 0x9ac]
push ecx
mov ecx, dword [edi + 0x9b8]
push ebx
call fcn.00436b90
mov ecx, dword [edi + 0x9b8]
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
call fcn.00436cb0
mov ecx, dword [edi + 0x9b8]
push 1
push ebx
call fcn.00436da0
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x16c
ret 4