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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x4adf1b
mov eax, dword fs:[0]
push eax
sub esp, 0x2e8
mov eax, dword [0x4c8bb0]
xor eax, esp
mov dword [esp + 0x2b0], eax
push ebx
push esi
push edi
mov eax, dword [0x4c8bb0]
xor eax, esp
push eax
lea eax, [esp + 0x2f8]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x1c], ebx
call fcn.004366b0
test eax, eax
je 0x437534
mov ecx, ebx
call fcn.00436720
test eax, eax
je 0x437534
fld qword [0x4b8c18]
sub esp, 8
mov ecx, ebx
fstp qword [esp]
call fcn.00436a30
xor eax, eax
jmp 0x437de4
xor edi, edi
mov eax, 0x64
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x300], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], eax
fld qword [0x4b1cf8]
mov esi, dword [ebx]
fld st(0)
fst qword [esp + 0x3c]
xor ecx, ecx
fld qword [0x4b1c90]
mov byte [esp + 0x300], 2
fld st(0)
mov dword [esp + 0x20], esi
fst qword [esp + 0x44]
fxch st(3)
fst qword [esp + 0x4c]
fxch st(1)
fst qword [esp + 0x54]
cmp esi, edi
jle 0x437633
xor edx, edx
cmp ecx, edi
jl 0x437610
cmp ecx, esi
jge 0x437610
mov eax, dword [ebx + 0xc]
fld qword [eax + edx + 8]
fld qword [eax + edx]
fcom st(4)
fnstsw ax
test ah, 5
jp 0x4375c5
fstp st(4)
fld st(3)
fxch st(4)
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x4375d2
fstp st(5)
jmp 0x4375d4
fstp st(0)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x4375e3
fstp st(2)
fld st(1)
fxch st(2)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4375f0
fstp st(1)
jmp 0x4375f2
fstp st(0)
inc ecx
add edx, 0x10
cmp ecx, esi
jl 0x4375a4
fst qword [esp + 0x54]
fxch st(1)
fstp qword [esp + 0x4c]
fxch st(2)
fstp qword [esp + 0x44]
fst qword [esp + 0x3c]
jmp 0x437637
fstp qword [esp + 0x54]
fstp qword [esp + 0x4c]
fxch st(1)
fstp qword [esp + 0x44]
fstp qword [esp + 0x3c]
push 0x4b1e08
push 0x40
push str.d:_tempwnccamwncdevwncobjinternalincwctl_sh3_array.hpp
call fcn.00406960
fstp st(1)
fstp st(2)
fld qword [0x4b8c00]
lea ecx, [esp + 0x84]
fsub st(1), st(0)
fxch st(1)
fstp qword [esp + 0x24]
faddp st(1)
fstp qword [esp + 0x74]
call fcn.0049cec0
lea ecx, [esp + 0x104]
mov byte [esp + 0x300], 3
call fcn.0040bb70
push fcn.00407230
push 0x40c180
push 0xa
push 8
lea eax, [esp + 0x27c]
push eax
mov byte [esp + 0x314], 4
call fcn.0049f46c
fld qword [0x4b1c10]
sub esp, 0x30
fstp qword [esp + 0x28]
lea ecx, [esp + 0xb4]
fld qword [0x4b8c10]
mov byte [esp + 0x330], 5
fstp qword [esp + 0x20]
fld qword [esp + 0x84]
fstp qword [esp + 0x18]
fld qword [esp + 0x7c]
fld qword [0x4b1ca0]
fsub st(1), st(0)
fxch st(1)
fstp qword [esp + 0x10]
fadd qword [esp + 0x74]
fstp qword [esp + 8]
fld qword [esp + 0x6c]
fstp qword [esp]
call fcn.0049d740
test eax, eax
je 0x43778c
push fcn.00407230
push 0xa
push 8
lea ecx, [esp + 0x278]
push ecx
mov byte [esp + 0x310], 4
call fcn.0049f52f
lea ecx, [esp + 0x104]
mov byte [esp + 0x300], 3
call fcn.00496ca0
lea ecx, [esp + 0x84]
mov byte [esp + 0x300], 2
call fcn.0049d640
mov edx, dword [esp + 0x38]
push edx
mov byte [esp + 0x304], 1
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
mov eax, dword [esp + 0x74]
add esp, 4
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x300], 0xffffffff
cmp eax, edi
je 0x437784
mov ecx, dword [eax - 4]
lea esi, [eax - 4]
push fcn.00407230
push ecx
push 8
push eax
call fcn.0049f52f
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
or eax, 0xffffffff
jmp 0x437de4
lea ecx, [esp + 0x84]
call fcn.0049d0e0
xor eax, eax
lea edi, [eax + 1]
cmp esi, edi
jle 0x437a96
lea esi, [eax + 0x10]
xor edx, edx
lea ebx, [ebx]
test eax, eax
js 0x437622
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ecx]
cmp eax, ebx
jge 0x437622
mov eax, ecx
mov ecx, dword [eax + 0xc]
fld qword [edx + ecx + 8]
test edi, edi
js 0x437c76
cmp edi, ebx
jge 0x437c76
fld qword [esi + ecx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x437848
fld qword [esi + ecx]
fld qword [edx + ecx]
fcom st(1)
fnstsw ax
test ah, 1
jne 0x4377ff
fstp st(1)
jmp 0x437801
fstp st(0)
fld qword [esi + ecx + 8]
fld qword [esp + 0x24]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x26c]
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x270]
fxch st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x274]
fstp dword [esp + 0x27c]
fxch st(1)
jmp 0x43799c
fld qword [edx + ecx]
fld qword [esi + ecx]
fucompp
fnstsw ax
test ah, 0x44
jp 0x4378a4
fld qword [esi + ecx + 8]
fld qword [edx + ecx + 8]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x43786c
fstp st(1)
jmp 0x43786e
fstp st(0)
fld qword [esi + ecx]
fld qword [esp + 0x24]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x26c]
fxch st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x270]
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x43798e
fld qword [edx + ecx]
fld qword [edx + ecx + 8]
fld qword [esi + ecx]
fld qword [esi + ecx + 8]
fxch st(3)
fcom st(1)
fnstsw ax
fxch st(2)
fcom st(3)
test ah, 5
fnstsw ax
jp 0x437953
test ah, 5
jp 0x43791f
fld qword [esp + 0x24]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x26c]
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x270]
fst dword [esp + 0x278]
fxch st(3)
fstp dword [esp + 0x274]
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x27c]
fstp dword [esp + 0x284]
fxch st(2)
jmp 0x437a2c
fstp st(0)
fstp st(1)
fld qword [esp + 0x24]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x26c]
fxch st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x270]
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x43798e
test ah, 5
jp 0x4379de
fstp st(3)
fstp st(0)
fld qword [esp + 0x24]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x26c]
fxch st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x270]
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x274]
fstp dword [esp + 0x27c]
fst dword [esp + 0x278]
mov eax, 5
fld qword [esp + 0x74]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x280]
fstp dword [esp + 0x288]
fxch st(1)
fst dword [esp + 0x284]
fstp dword [esp + 0x28c]
fstp dword [esp + 0x290]
jmp 0x437a69
fld qword [esp + 0x24]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x26c]
fxch st(4)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x270]
fst dword [esp + 0x278]
fxch st(2)
fstp dword [esp + 0x274]
fxch st(2)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x27c]
fstp dword [esp + 0x284]
fxch st(1)
fstp dword [esp + 0x280]
mov eax, 6
fld qword [esp + 0x74]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esp + 0x288]
fstp dword [esp + 0x290]
fxch st(1)
fst dword [esp + 0x28c]
fstp dword [esp + 0x294]
fstp dword [esp + 0x298]
push 3
push eax
lea ecx, [esp + 0x274]
push ecx
lea ecx, [esp + 0x90]
call fcn.0049ab30
mov eax, edi
mov edx, esi
inc edi
add esi, 0x10
cmp edi, dword [esp + 0x20]
jl 0x4377b0
mov ebx, dword [esp + 0x1c]
fldz
push 1
push 0x4382d0
push 0x436520
push ecx
lea ecx, [esp + 0x94]
fstp dword [esp]
xor esi, esi
lea edx, [esp + 0x74]
lea eax, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x118]
mov dword [esp + 0x78], esi
mov dword [esp + 0x40], esi
mov dword [0x4d2e20], edx
mov dword [0x4d2e24], eax
call fcn.00496a20
mov edi, dword [esp + 0x64]
xor eax, eax
mov dword [ebx], esi
mov dword [esp + 0x20], edi
cmp edi, esi
jle 0x437bb8
mov ebx, dword [esp + 0x38]
cmp eax, esi
jl 0x437622
cmp eax, dword [esp + 0x2c]
jge 0x437622
cmp dword [ebx + eax*4], 3
jne 0x437b13
inc eax
cmp eax, edi
jl 0x437af1
jmp 0x437bb8
lea ecx, [eax + 1]
lea esi, [edi + eax]
cmp ecx, esi
jge 0x437bb8
mov eax, ecx
cdq
idiv edi
test edx, edx
js 0x437622
cmp edx, dword [esp + 0x2c]
jge 0x437622
cmp dword [ebx + edx*4], 3
je 0x437b45
inc ecx
cmp ecx, esi
jl 0x437b21
jmp 0x437bb8
lea ebx, [edi + edx]
mov esi, edx
cmp edx, ebx
jge 0x437bb8
jmp 0x437b54
mov edi, dword [esp + 0x64]
mov eax, esi
cdq
idiv dword [esp + 0x20]
test edx, edx
js 0x437622
cmp edx, dword [esp + 0x2c]
jge 0x437622
mov eax, dword [esp + 0x38]
cmp dword [eax + edx*4], 3
jne 0x437bb8
cmp edx, edi
jge 0x437622
mov eax, dword [esp + 0x70]
fld dword [eax + edx*8 + 4]
lea ecx, [esp + 0x74]
fstp dword [esp + 0x24]
push ecx
fld dword [eax + edx*8]
mov ecx, dword [esp + 0x20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp qword [esp + 0x78]
fld dword [esp + 0x28]
fstp qword [esp + 0x80]
call fcn.0041dd90
inc esi
cmp esi, ebx
jl 0x437b50
mov ebx, dword [esp + 0x1c]
xor edi, edi
cmp dword [ebx], edi
jg 0x437bd3
push 0x4b1e08
push 0x40
push str.d:_tempwnccamwncdevwncobjinternalincwctl_sh3_array.hpp
call fcn.00406960
mov ecx, dword [ebx + 0xc]
fld qword [ecx]
fld qword [ecx + 8]
fld qword [esp + 0x44]
fcom st(2)
fnstsw ax
test ah, 1
jne 0x437c02
fstp st(2)
fld qword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x437c1c
fxch st(1)
fstp qword [ecx]
fstp qword [ecx + 8]
jmp 0x437c24
fstp st(0)
fld qword [esp + 0x54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x437c20
fxch st(1)
fstp qword [ecx]
fstp qword [ecx + 8]
jmp 0x437c24
fstp st(0)
jmp 0x437c22
fstp st(1)
fstp st(0)
mov edx, dword [ebx]
lea eax, [edx - 1]
cmp eax, edi
jl 0x437622
cmp eax, edx
jge 0x437622
mov esi, dword [ebx + 0xc]
add eax, eax
fld qword [esi + eax*8]
lea ecx, [esi + eax*8]
fld qword [ecx + 8]
fld qword [esp + 0x3c]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jp 0x437c92
fld qword [esp + 0x4c]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x437c6e
fstp st(1)
fxch st(1)
fstp qword [ecx]
fstp qword [ecx + 8]
jmp 0x437c96
fstp st(0)
cmp edx, edi
jg 0x437c89
fstp st(0)
push 0x4b1e08
fstp st(0)
push 0x40
push str.d:_tempwnccamwncdevwncobjinternalincwctl_sh3_array.hpp
call fcn.00406960
fxch st(1)
fstp qword [esi]
fstp qword [esi + 8]
jmp 0x437c96
fstp st(0)
fstp st(0)
fld qword [0x4b1e00]
mov dword [esp + 0x3c], edi
fstp qword [esp + 0x54]
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x5c], edi
fld qword [0x4b1c08]
sub esp, 8
fstp qword [esp]
push ebx
lea ecx, [esp + 0x48]
mov byte [esp + 0x30c], 6
call fcn.00438320
mov edx, dword [esp + 0x3c]
push edx
mov byte [esp + 0x304], 5
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
mov eax, dword [esp + 0x60]
add esp, 4
mov dword [esp + 0x3c], edi
mov esi, eax
cmp eax, edi
je 0x437d36
lea ecx, [eax + 0xc]
mov eax, dword [ecx]
mov dword [esp + 0x20], ecx
cmp eax, edi
je 0x437d26
lea ecx, [eax - 4]
push fcn.00407230
mov dword [esp + 0x28], ecx
mov ecx, dword [ecx]
push ecx
push 0x10
push eax
call fcn.0049f52f
mov edx, dword [esp + 0x24]
push edx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
mov ecx, dword [esp + 0x24]
add esp, 4
push esi
mov dword [ecx], edi
mov dword [esi + 4], edi
mov dword [esi], edi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov ecx, ebx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
call fcn.00436800
push fcn.00407230
push 0xa
mov ebx, eax
push 8
lea eax, [esp + 0x278]
push eax
mov byte [esp + 0x310], 4
call fcn.0049f52f
lea ecx, [esp + 0x104]
mov byte [esp + 0x300], 3
call fcn.00496ca0
lea ecx, [esp + 0x84]
mov byte [esp + 0x300], 2
call fcn.0049d640
mov ecx, dword [esp + 0x38]
push ecx
mov byte [esp + 0x304], 1
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
mov eax, dword [esp + 0x74]
add esp, 4
mov dword [esp + 0x38], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x300], 0xffffffff
cmp eax, edi
je 0x437de2
mov edx, dword [eax - 4]
lea esi, [eax - 4]
push fcn.00407230
push edx
push 8
push eax
call fcn.0049f52f
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0x2f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2b0]
xor ecx, esp
call fcn.0049f322
mov esp, ebp
pop ebp
ret