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

Disassembly:
jmp 0x43d3d0
mov eax, 0x113c
call fcn.00652070
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1154]
mov eax, dword [edi + 0xc]
fld dword [eax]
xor edx, edx
fstp dword [esp + 0x18]
mov ecx, 1
fld dword [eax + 4]
mov dword [esp + 0x28], ecx
fstp dword [esp + 0x14]
fld dword [eax + 0xc]
mov eax, dword [edi + 0x24]
cmp eax, edx
fstp dword [esp + 0xa8]
fldz
je 0x43d41c
fld dword [eax + 0xc]
fstp dword [esp + 0x24]
jmp 0x43d420
fst dword [esp + 0x24]
mov esi, dword [esp + 0x1150]
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x150], esi
cmp eax, dword [esp + 0x1c]
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fld qword [0x6ddfb8]
jge 0x43d99c
mov ebp, dword [esp + eax*4 + 0x150]
mov eax, dword [0x776fa8]
mov ecx, dword [eax + 0x20]
mov eax, dword [ebp + 0x14]
cmp eax, edx
mov dword [ebp + 0x70], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x2c], edx
jbe 0x43d96e
mov dword [esp + 0x20], edx
mov esi, dword [ebp + 0x18]
add esi, dword [esp + 0x20]
fld dword [esi + 0xc]
fmul st(2)
fld st(3)
fmul dword [esi + 8]
faddp st(1)
fadd dword [esi + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x43d88c
fld dword [edi + 0x1c]
fadd st(2)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x43d503
fld dword [edi + 0x28]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcompp
fnstsw ax
test ah, 0x41
jp 0x43d507
fstp st(1)
fstp st(0)
mov eax, dword [esp + 0x2c]
add dword [esp + 0x20], 0x20
add eax, 1
cmp eax, dword [esp + 0x74]
mov dword [esp + 0x2c], eax
jae 0x43d974
fld dword [esp + 0x18]
fld dword [esp + 0x14]
fld qword [0x6ddfb8]
jmp 0x43d479
fstp st(0)
fstp st(0)
mov eax, dword [edi + 0x18]
test eax, eax
je 0x43d547
lea edx, [esp + 0xd8]
fstp st(2)
fld dword [esp + 0xa8]
push edx
lea ecx, [esp + 0x104]
push ecx
push esi
push eax
sub esp, 0xc
fstp dword [esp + 8]
fxch st(1)
fstp dword [esp + 4]
fstp dword [esp]
call fcn.0040e449
fldz
add esp, 0x1c
mov ebx, eax
jmp 0x43d54d
fstp st(1)
xor ebx, ebx
fstp st(0)
mov eax, dword [edi + 0x24]
test eax, eax
je 0x43d592
lea edx, [esp + 0xb0]
fstp st(0)
fld dword [esp + 0x24]
push edx
lea ecx, [esp + 0x12c]
push ecx
push esi
push eax
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x30]
fstp dword [esp + 4]
fld dword [esp + 0x34]
fstp dword [esp]
call fcn.0040e449
fldz
add esp, 0x1c
mov dword [esp + 0x10], eax
jmp 0x43d59a
mov dword [esp + 0x10], 0
test ebx, ebx
jne 0x43d5a8
cmp dword [esp + 0x10], ebx
je 0x43d4d6
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x43d5da
mov edx, dword [0x776fa8]
mov eax, dword [edx + 0x20]
cmp dword [ecx + 0x70], eax
je 0x43d5da
mov edx, dword [esp + 0x1c]
cmp edx, 0x3ff
jge 0x43d5d7
mov dword [esp + edx*4 + 0x150], ecx
add edx, 1
mov dword [esp + 0x1c], edx
mov dword [ecx + 0x70], eax
mov edx, dword [edi + 0x10]
fst dword [esp + 0x3c]
test edx, edx
fst dword [esp + 0x38]
fst dword [esp + 0x34]
je 0x43d606
fld dword [esi + 8]
fchs
fmul dword [edx]
fstp dword [esp + 0x34]
fld dword [edx + 4]
fld dword [esi + 0xc]
fchs
fmulp st(1)
fstp dword [esp + 0x38]
test ecx, ecx
fst dword [esp + 0x50]
fst dword [esp + 0x4c]
mov eax, dword [edi + 0xc]
fst dword [esp + 0x48]
mov dword [esp + 0x40], eax
fst dword [esp + 0x70]
mov dword [esp + 0x44], edx
fst dword [esp + 0x6c]
fst dword [esp + 0x68]
fld dword [eax]
fstp dword [esp + 0x90]
fld dword [eax + 4]
fstp dword [esp + 0x94]
fld dword [eax + 8]
mov eax, dword [esi]
fstp dword [esp + 0x98]
fld dword [esp + 0x90]
fsub dword [eax]
fmul dword [esi + 0xc]
fld dword [esp + 0x94]
fsub dword [eax + 4]
fmul dword [esi + 8]
fsubp st(1)
fstp dword [esp + 0xac]
fld dword [esi + 0xc]
fld dword [esp + 0xac]
fld st(0)
fmulp st(2)
fld dword [eax]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x78]
fld dword [esi + 8]
fmulp st(1)
fsubr dword [eax + 4]
mov eax, dword [esp + 0x78]
mov dword [esp + 0x48], eax
fstp dword [esp + 0x7c]
mov edx, dword [esp + 0x7c]
fld dword [esp + 0x98]
mov dword [esp + 0x4c], edx
mov edx, dword [edi + 0xc]
fstp dword [esp + 0x80]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x50], eax
fld dword [edx + 8]
mov eax, dword [esp + 0x34]
fstp dword [esp + 0x50]
fld dword [ebp + 0x20]
mov edx, dword [esp + 0x38]
fld dword [esp + 0x48]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x3c]
fld st(0)
fmulp st(2)
mov dword [esp + 0x54], ebp
fld dword [ebp + 0x24]
mov dword [esp + 0x58], esi
fld dword [esp + 0x4c]
mov dword [esp + 0x6c], edx
fld st(0)
mov dword [esp + 0x70], eax
fmulp st(2)
fxch st(3)
faddp st(1)
fadd dword [ebp + 0x28]
fstp dword [esp + 0x60]
je 0x43d715
fmul dword [ecx + 0x20]
fld dword [ecx + 0x24]
fmulp st(2)
faddp st(1)
fadd dword [ecx + 0x28]
jmp 0x43d71f
fstp st(0)
fstp st(0)
fld dword [0x6ddf0c]
test ebx, ebx
fstp dword [esp + 0x64]
fld dword [esp + 0x64]
fsub dword [esp + 0x60]
fstp dword [esp + 0x5c]
je 0x43d7a2
mov ecx, dword [edi + 0x14]
fstp st(0)
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x40]
push eax
mov eax, dword [edi]
push eax
call edx
cmp dword [edi], 0
je 0x43d786
test eax, eax
jne 0x43d786
test dword [esi + 0x14], 0x100
je 0x43d7a0
mov eax, dword [edi + 0x10]
test eax, eax
je 0x43d7a0
mov ecx, dword [0x7812b8]
mov ebx, dword [ecx + 0x1484]
test ebx, ebx
je 0x43d7a0
mov ecx, dword [edi + 4]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push eax
push esi
mov ecx, ebx
call fcn.0040344a
jmp 0x43d7a0
cmp eax, 2
je 0x43d897
cmp eax, 3
je 0x43d8e6
test eax, eax
jne 0x43d962
fldz
cmp dword [esp + 0x10], 0
je 0x43d4d6
mov ecx, dword [edi + 0x20]
fstp st(0)
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x40]
push eax
mov eax, dword [edi]
push eax
call edx
cmp eax, 2
jne 0x43d809
mov eax, dword [edi + 0x10]
test eax, eax
je 0x43d84a
fldz
fst dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
fst dword [esp + 0x88]
mov edx, dword [esp + 0x88]
fst dword [esp + 0x8c]
mov dword [eax], ecx
fst dword [eax + 0xc]
mov ecx, dword [esp + 0x8c]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
jmp 0x43d4d6
cmp eax, 3
jne 0x43d84a
mov eax, dword [esp + 0xb0]
cmp eax, 4
jne 0x43d851
fld dword [esi + 0xc]
mov eax, dword [esi]
sub esp, 0x10
fstp dword [esp + 0xc]
lea edx, [esp + 0x138]
fld dword [esi + 8]
fstp dword [esp + 8]
fld dword [eax + 4]
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
push edx
push edi
call fcn.00409863
add esp, 0x18
fldz
jmp 0x43d4d6
cmp eax, 3
jne 0x43d84a
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x134]
fld dword [esp + 0xd8]
fstp dword [esp + 4]
fld dword [esp + 0xd4]
fstp dword [esp]
push eax
push edi
call fcn.00408dbe
fldz
add esp, 0x14
jmp 0x43d4d6
fstp st(0)
fstp st(2)
fstp st(0)
jmp 0x43d4d4
mov eax, dword [edi + 0x10]
test eax, eax
je 0x43d962
fldz
mov dword [esp + 0x28], 0
fst dword [esp + 0x9c]
mov ecx, dword [esp + 0x9c]
fst dword [esp + 0xa0]
mov edx, dword [esp + 0xa0]
fst dword [esp + 0xa4]
mov dword [eax], ecx
fst dword [eax + 0xc]
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
jmp 0x43d974
mov eax, dword [esp + 0xd8]
cmp eax, 4
jne 0x43d92e
fld dword [esi + 0xc]
mov eax, dword [esi]
sub esp, 0x10
fstp dword [esp + 0xc]
lea edx, [esp + 0x110]
fld dword [esi + 8]
fstp dword [esp + 8]
fld dword [eax + 4]
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
push edx
push edi
call fcn.00409863
fldz
add esp, 0x18
mov dword [esp + 0x28], 0
jmp 0x43d974
cmp eax, 3
jne 0x43d962
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x10c]
fld dword [esp + 0x100]
fstp dword [esp + 4]
fld dword [esp + 0xfc]
fstp dword [esp]
push eax
push edi
call fcn.00408dbe
add esp, 0x14
fldz
mov dword [esp + 0x28], 0
jmp 0x43d974
fstp st(2)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
add eax, 1
xor edx, edx
cmp ecx, edx
mov dword [esp + 0x30], eax
jne 0x43d438
pop edi
fstp st(0)
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x113c
ret
fstp st(3)
pop edi
fstp st(1)
pop esi
fstp st(0)
pop ebp
mov eax, ecx
fstp st(0)
pop ebx
add esp, 0x113c
ret