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

Disassembly:
sub esp, 0x608
mov eax, dword [0x54a050]
xor eax, esp
mov dword [esp + 0x604], eax
mov eax, dword [esp + 0x60c]
push ebx
mov ebx, dword [esp + 0x66c]
push ebp
mov ebp, dword [esp + 0x678]
push esi
mov dword [esp + 0x70], ecx
mov ecx, dword [ebp + 0x23f5bc]
xor esi, esi
cmp ebx, dword [ebp + 0x243ef8]
push edi
mov dword [esp + 0x70], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x38], esi
je 0x43a363
cmp ebx, dword [ebp + 0x243efc]
je 0x43a363
mov eax, dword [ebp + 0x23f5b8]
lea edi, [eax*8]
sub edi, eax
mov dword [esp + 0xac], eax
lea eax, [ebp + edi*4 + 0x6f9b4]
mov dword [eax + 0x10], ecx
mov dword [eax], ebx
mov dword [eax + 0x14], esi
add dword [ebp + 0x23f5b8], 1
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], 0xffffffff
jmp 0x43a36a
lea eax, [esp + 0xf4]
mov ecx, dword [esp + 0x674]
add ecx, ecx
mov dword [eax + 0xc], ecx
fld qword [edx]
fstp qword [esp + 0x98]
mov dword [esp + 0x68], eax
fild dword [esp + 0x674]
mov dword [esp + 0x8c], ecx
fdivr qword [0x5353a8]
fstp qword [esp + 0xc8]
fld dword [esp + 0x628]
fld st(0)
fld dword [esp + 0x630]
fmul st(1), st(0)
fld dword [esp + 0x624]
fld st(0)
fld dword [esp + 0x634]
fmul st(1), st(0)
fxch st(4)
fsubrp st(1)
fld dword [esp + 0x620]
fld st(0)
fmulp st(5)
fld st(5)
fld dword [esp + 0x62c]
fmul st(1), st(0)
fxch st(6)
fsubrp st(1)
fld st(3)
fmulp st(6)
fld st(1)
fmulp st(5)
fxch st(5)
fsubrp st(4)
fld st(3)
fmul st(3)
fld st(5)
fmul st(7)
fsubp st(1)
fstp dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
fld st(5)
mov dword [esp + 0x78], ecx
fmul st(2)
fxch st(4)
fmul st(1)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x14]
mov edx, dword [esp + 0x14]
fxch st(3)
mov dword [esp + 0x7c], edx
fmul st(2)
fld st(1)
fmulp st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
fld st(2)
mov dword [esp + 0x80], eax
fld dword [esp + 0x648]
fmul st(1), st(0)
fld st(3)
fld dword [esp + 0x64c]
fmul st(1), st(0)
fxch st(3)
fsubrp st(1)
fld st(3)
fmulp st(3)
fld st(5)
fld dword [esp + 0x644]
fmul st(1), st(0)
fxch st(4)
fsubrp st(1)
fld st(5)
fmulp st(4)
fld st(4)
fmulp st(3)
fxch st(3)
fsubrp st(2)
fld st(1)
lea edi, [esp + 0x48]
fmul st(5)
lea esi, [esp + 0x78]
fld st(3)
fmul st(7)
fsubp st(1)
fstp dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x48], ecx
fmul st(5), st(0)
fxch st(1)
fmul st(3)
fsubp st(5)
fxch st(4)
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x4c], edx
fmulp st(1)
fxch st(1)
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x50], eax
call fcn.00451bc0
fst qword [esp + 0x90]
fld dword [esp + 0x628]
fld dword [esp + 0x63c]
fmul st(1)
fld dword [esp + 0x624]
fld st(0)
fld dword [esp + 0x640]
fmul st(1), st(0)
fxch st(3)
fsubrp st(1)
fld dword [esp + 0x620]
fld st(0)
fmulp st(4)
fld st(4)
fld dword [esp + 0x638]
fmul st(1), st(0)
fxch st(5)
fsubrp st(1)
fstp dword [esp + 0x4c]
fld st(2)
fmulp st(4)
fld dword [esp + 0x63c]
fmul st(1)
fsubp st(4)
fld st(3)
fmul st(3)
fld dword [esp + 0x4c]
fmul st(6)
fsubp st(1)
fstp dword [esp + 0x10]
fld st(4)
fmul st(2)
fxch st(4)
fmul st(1)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x14]
fld dword [esp + 0x4c]
fmul st(3)
fld st(2)
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x18]
fld st(2)
fmul dword [esp + 0x654]
fld st(1)
fld dword [esp + 0x658]
fmul st(1), st(0)
fxch st(2)
fsubrp st(1)
fld st(3)
fmulp st(2)
fld st(4)
fld dword [esp + 0x650]
fmul st(1), st(0)
fxch st(3)
push ecx
fsubrp st(1)
fstp dword [esp + 0x50]
fld st(2)
fmulp st(2)
fld st(3)
fmul dword [esp + 0x658]
fsubp st(2)
fld st(1)
fmul st(3)
fld dword [esp + 0x50]
fmul st(6)
fsubp st(1)
fxch st(5)
fmul st(1)
fxch st(2)
fmul st(4)
fsubp st(2)
fld dword [esp + 0x50]
fmulp st(4)
fmulp st(2)
fxch st(2)
fsubrp st(1)
fld st(3)
fsin
fxch st(4)
fcos
fmul st(3), st(0)
fld dword [esp + 0x24]
fmul st(5)
faddp st(4)
fxch st(3)
fst dword [esp + 0x40]
fxch st(2)
fmul st(3)
fld dword [esp + 0x28]
fmul st(5)
faddp st(1)
fst dword [esp + 0x44]
fxch st(1)
fmulp st(3)
fld dword [esp + 0x2c]
fmulp st(4)
fxch st(2)
faddp st(3)
fxch st(2)
fst dword [esp + 0x48]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp]
call fcn.00405070
fcom qword [0x535558]
add esp, 4
fnstsw ax
test ah, 5
jp 0x43a610
fstp st(0)
fld dword [0x535550]
fld1
push ecx
fdivrp st(1)
fld dword [esp + 0x40]
fmul st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x44]
fmul st(1)
fstp dword [esp + 0x28]
fmul dword [esp + 0x48]
fstp dword [esp + 0x2c]
fld dword [esp + 0x1c]
fmul st(0), st(0)
fld dword [esp + 0x18]
fmul st(0), st(0)
faddp st(1)
fld dword [esp + 0x14]
fmul st(0), st(0)
faddp st(1)
fstp dword [esp]
call fcn.00405070
fcom qword [0x535558]
add esp, 4
fnstsw ax
test ah, 5
jp 0x43a667
fstp st(0)
fld dword [0x535550]
fld1
fdivrp st(1)
fld dword [esp + 0x10]
fmul st(1)
fld dword [esp + 0x14]
fmul st(2)
fld dword [esp + 0x18]
fmulp st(3)
fxch st(2)
fmul dword [esp + 0x28]
fxch st(2)
fmul dword [esp + 0x24]
faddp st(2)
fmul dword [esp + 0x20]
faddp st(1)
fcomp qword [0x535608]
fnstsw ax
test ah, 5
jp 0x43a6ae
fld qword [esp + 0x90]
fchs
fstp qword [esp + 0x90]
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
fld dword [ecx]
fsub dword [eax]
push ecx
fld dword [ecx + 4]
fsub dword [eax + 4]
fld dword [ecx + 8]
fsub dword [eax + 8]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp]
call fcn.00405070
mov ecx, dword [esp + 0x678]
fmul dword [0x535600]
add esp, 4
test ecx, ecx
jle 0x43ac4c
fadd dword [0x5355fc]
lea edx, [esp + 0x118]
mov dword [esp + 0x5c], edx
lea esi, [esp + 0x5c0]
mov edi, 1
fstp dword [esp + 0xa8]
fld qword [esp + 0x98]
lea eax, [esp + 0x114]
lea edx, [esp + 0x110]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x88], ecx
jmp 0x43a74b
mov edi, dword [esp + 0x58]
fld st(0)
mov eax, dword [ebp + 0x23f5bc]
fsin
shl eax, 5
push ecx
lea ebx, [eax + ebp + 0x841d4]
fxch st(1)
fcos
fld dword [esp + 0x63c]
fmul st(1)
fld dword [esp + 0x630]
fmul st(3)
faddp st(1)
fst dword [esp + 0x40]
fld dword [esp + 0x640]
fmul st(2)
fld dword [esp + 0x634]
fmul st(4)
faddp st(1)
fst dword [esp + 0x44]
fld dword [esp + 0x644]
fmulp st(3)
fld dword [esp + 0x638]
fmulp st(4)
fxch st(2)
faddp st(3)
fxch st(2)
fst dword [esp + 0x48]
fld dword [esp + 0x628]
fld st(0)
fmul st(2)
fld dword [esp + 0x62c]
fld st(0)
fmul st(5)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xe4]
fld st(0)
fmul st(5)
fld dword [esp + 0x624]
fld st(0)
fmulp st(5)
fxch st(1)
fsubrp st(4)
fld st(0)
fmulp st(5)
fld st(2)
fmulp st(6)
fxch st(4)
fsubrp st(5)
fld st(2)
fmul st(1)
fld st(5)
fmul st(3)
fsubp st(1)
fst dword [esp + 0x14]
fxch st(5)
fmul st(4)
fld dword [esp + 0xe4]
fmul st(2), st(0)
fxch st(1)
fsubrp st(2)
fxch st(1)
fst dword [esp + 0x18]
fxch st(2)
fmulp st(1)
fxch st(2)
fmulp st(3)
fxch st(1)
fsubrp st(2)
fxch st(1)
fst dword [esp + 0x1c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp]
call fcn.00405070
fcom qword [0x535558]
add esp, 4
fnstsw ax
test ah, 5
jp 0x43a855
fstp st(0)
fld dword [0x535550]
fld1
mov eax, dword [esp + 0x70]
fdivrp st(1)
mov edx, dword [esp + 0x34]
fld dword [esp + 0x10]
fmul st(1)
fld dword [esp + 0x14]
fmul st(2)
fld dword [esp + 0x18]
fmulp st(3)
fld dword [esp + 0x65c]
fadd dword [esp + 0x3c]
fst dword [esp + 0x20]
fld dword [esp + 0x660]
fadd dword [esp + 0x40]
fst dword [esp + 0x24]
fld dword [esp + 0x664]
fadd dword [esp + 0x44]
fst dword [esp + 0x28]
fld dword [eax]
fchs
fsubrp st(3)
fxch st(2)
fstp dword [ebx]
fadd dword [eax + 4]
fstp dword [ebx + 4]
fadd dword [eax + 8]
fstp dword [ebx + 8]
fxch st(1)
fchs
fstp dword [ebx + 0xc]
fstp dword [ebx + 0x10]
fstp dword [ebx + 0x14]
fld dword [0x5355fc]
fst dword [ebx + 0x18]
fstp dword [ebx + 0x1c]
cmp edx, dword [ebp + 0x243ef8]
je 0x43a987
cmp edx, dword [ebp + 0x243efc]
je 0x43a987
cmp dword [ebp + 0x243eec], 0
je 0x43a926
fld dword [ebx]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
fchs
mov esi, dword [esp + 0x5c]
fstp dword [eax]
fld dword [ebx + 4]
add dword [esp + 0x38], 1
fstp dword [ecx]
add eax, 0xc
fld dword [ebx + 8]
add ecx, 0xc
fstp dword [esi]
add esi, 0xc
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x5c], esi
mov eax, ebp
call fcn.0043b3c0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
add edi, 0xffffffff
mov dword [esp + 0xb4], ecx
sub esp, 0x1c
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x8c]
mov ecx, 7
lea esi, [esp + 0xc8]
mov edi, esp
mov edx, ebp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b5b0
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x74]
add esp, 0x1c
fld qword [esp + 0x90]
push ecx
fadd qword [esp + 0x9c]
fld st(0)
fsin
fxch st(1)
fcos
fld dword [esp + 0x654]
fmul st(1)
fld dword [esp + 0x648]
fmul st(3)
faddp st(1)
fst dword [esp + 0x40]
fld dword [esp + 0x658]
fmul st(2)
fld dword [esp + 0x64c]
fmul st(4)
faddp st(1)
fst dword [esp + 0x44]
fld dword [esp + 0x65c]
fmulp st(3)
fld dword [esp + 0x650]
fmulp st(4)
fxch st(2)
faddp st(3)
fxch st(2)
fst dword [esp + 0x48]
fld dword [esp + 0x628]
fld st(0)
fmul st(2)
fld dword [esp + 0x62c]
fld st(0)
fmul st(5)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0xd4]
fld st(0)
fmul st(5)
fld dword [esp + 0x624]
fld st(0)
fmulp st(5)
fxch st(1)
fsubrp st(4)
fld st(0)
fmulp st(5)
fld st(2)
fmulp st(6)
fxch st(4)
fsubrp st(5)
fld st(2)
fmul st(1)
fld st(5)
fmul st(3)
fsubp st(1)
fst dword [esp + 0x7c]
fxch st(5)
fmul st(4)
fld dword [esp + 0xd4]
fmul st(2), st(0)
fxch st(1)
fsubrp st(2)
fxch st(1)
fst dword [esp + 0x80]
fxch st(2)
fmulp st(1)
fxch st(2)
fmulp st(3)
fxch st(1)
fsubrp st(2)
fxch st(1)
fst dword [esp + 0x84]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp]
call fcn.00405070
add esp, 4
fcom qword [0x535558]
fnstsw ax
test ah, 5
jp 0x43aa95
fstp st(0)
fld dword [0x535550]
fld1
mov eax, dword [esp + 0x74]
fdivrp st(1)
lea ecx, [ebx + 0x20]
mov edx, dword [esp + 0x34]
fld dword [esp + 0x78]
fmul st(1)
fld dword [esp + 0x7c]
fmul st(2)
fld dword [esp + 0x80]
fmulp st(3)
fld dword [esp + 0x668]
fadd dword [esp + 0x3c]
fst dword [esp + 0x48]
fld dword [esp + 0x66c]
fadd dword [esp + 0x40]
fst dword [esp + 0x4c]
fld dword [esp + 0x670]
fadd dword [esp + 0x44]
fst dword [esp + 0x50]
fld dword [eax]
fchs
fsubrp st(3)
fxch st(2)
fstp dword [ecx]
fadd dword [eax + 4]
fstp dword [ebx + 0x24]
fadd dword [eax + 8]
fstp dword [ebx + 0x28]
fxch st(1)
fchs
fstp dword [ebx + 0x2c]
fstp dword [ebx + 0x30]
fstp dword [ebx + 0x34]
fld dword [0x5355fc]
fstp dword [ebx + 0x38]
fld dword [esp + 0xa8]
fstp dword [ebx + 0x3c]
cmp edx, dword [ebp + 0x243ef8]
je 0x43abd3
cmp edx, dword [ebp + 0x243efc]
je 0x43abd3
cmp dword [ebp + 0x243eec], 0
je 0x43ab73
fld dword [ecx]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
fchs
add dword [esp + 0x38], 1
fstp dword [eax]
fld dword [ebx + 0x24]
add eax, 0xc
fstp dword [esi]
add esi, 0xc
fld dword [ebx + 0x28]
mov ebx, dword [esp + 0x5c]
fstp dword [ebx]
add ebx, 0xc
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], esi
mov dword [esp + 0x5c], ebx
mov eax, ebp
mov ebx, ecx
call fcn.0043b3c0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb4], ecx
sub esp, 0x1c
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x90]
mov ecx, 7
lea esi, [esp + 0xc8]
mov edi, esp
mov edx, ebp
rep movsd dword es:[edi], dword [esi]
call fcn.0043b5b0
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x74]
add esp, 0x1c
mov ebx, dword [esp + 0x8c]
fld qword [esp + 0xc8]
lea eax, [edi - 1]
fadd qword [esp + 0x98]
cdq
idiv ebx
fst qword [esp + 0x98]
lea ecx, [edi + 2]
lea eax, [ecx - 1]
add esi, 2
add esi, 2
add dword [ebp + 0x23f5bc], 2
add esi, 2
add esi, 2
mov dword [esp + 0x6c], esi
mov dword [esp + 0x58], ecx
mov word [esi - 8], dx
cdq
idiv ebx
mov eax, ecx
mov word [esi - 6], dx
cdq
idiv ebx
mov eax, edi
mov word [esi - 4], dx
cdq
idiv ebx
sub dword [esp + 0x88], 1
mov word [esi - 2], dx
jne 0x43a747
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x674]
mov eax, dword [esp + 0x68]
fstp st(0)
lea esi, [eax + 4]
mov eax, dword [eax + 0xc]
push esi
lea edx, [esp + 0x5c4]
push edx
push 4
push eax
push ebx
call fcn.00404410
cmp dword [ebp + 0x243eec], 0
je 0x43aca7
cmp dword [esp + 0x38], 0
jle 0x43aca7
mov ecx, dword [esp + 0x684]
push ecx
mov ecx, dword [esp + 0x678]
lea edx, [esp + 0x114]
push edx
lea eax, [esp + 0x5c8]
push eax
push ebp
mov eax, 4
call fcn.0043bc10
add esp, 0x10
mov ecx, dword [0xa7f2e8]
mov eax, dword [ecx + 0x1c0c4]
lea edx, [eax + eax*4]
mov eax, dword [esi]
mov dword [ecx + edx*4 + 0x1e4], eax
mov ecx, dword [0xa7f2e8]
mov eax, dword [ecx + 0x1c0c4]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 0x1e8], ebx
mov ecx, dword [0xa7f2e8]
mov eax, dword [ecx + 0x1c0c4]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 0x1ec], 0
mov ecx, dword [esp + 0x8c]
lea edx, [ecx - 1]
mov ecx, dword [0xa7f2e8]
mov eax, dword [ecx + 0x1c0c4]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 0x1f0], edx
mov ecx, dword [esp + 0x67c]
mov edi, dword [esi]
push ecx
mov eax, ebp
call fcn.0043b290
mov esi, dword [esi]
mov eax, dword [esp + 0x38]
add esp, 4
cmp esi, dword [eax + 0x10]
jge 0x43ad5e
test esi, esi
jl 0x43ad87
cmp esi, dword [eax + 0x10]
jge 0x43ad87
mov ecx, dword [esp + 0xa4]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + esi*4]
shl ecx, 5
lea edx, [ecx + ebp + 0x841d4]
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [ecx + 0xc]
push edx
xor ebx, ebx
call fcn.004052b0
mov ecx, dword [esp + 0xa0]
fld qword [esp + 0x90]
pop edi
fstp qword [ecx]
mov ecx, dword [esp + 0x610]
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004d1930
add esp, 0x608
ret
jmp fcn.004a9889