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

Disassembly:
sub esp, 0x54
push ebx
mov ebx, ecx
push ebp
push esi
mov al, byte [ebx + 0x1068]
push edi
test al, al
je 0x4df76a
mov ecx, dword [esp + 0x6c]
fld dword [ecx + 8]
fld dword [ecx + 4]
fld dword [ecx]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp st(3)
fstp st(0)
fstp st(0)
fld st(0)
fmul dword [esp + 0x70]
fst dword [esp + 0x10]
fcomp qword [0x594580]
fnstsw ax
test ah, 1
je 0x4df200
fstp st(0)
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x10
fld dword [esp + 0x70]
fmul dword [ecx]
fld dword [esp + 0x70]
fmul dword [ecx + 4]
mov edi, dword [esp + 0x68]
fstp dword [esp + 0x50]
fld dword [esp + 0x70]
fmul dword [ecx + 8]
fstp dword [esp + 0x54]
fadd dword [edi]
fstp dword [esp + 0x58]
fld dword [esp + 0x50]
fadd dword [edi + 4]
fstp dword [esp + 0x5c]
fld dword [esp + 0x54]
fadd dword [edi + 8]
fstp dword [esp + 0x60]
fld dword [ecx]
fdiv st(1)
fstp dword [esp + 0x4c]
fld dword [ecx + 4]
fdiv st(1)
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x70]
fstp dword [esp + 0x54]
fld dword [ecx + 8]
fdiv st(1)
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x48], ecx
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
fstp dword [esp + 0x5c]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x50], edx
lea edx, [esp + 0x78]
push edx
push eax
mov eax, dword [ecx]
sub esp, 0xc
mov edx, esp
fstp st(0)
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov ecx, ebx
call fcn.004ddea0
lea edx, [esp + 0x3c]
lea eax, [esp + 0x38]
push edx
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x6c]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, ebx
call fcn.004ddea0
mov edx, dword [esp + 0x74]
push edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x74]
lea ecx, [esp + 0x44]
push eax
mov eax, dword [esp + 0x74]
push ecx
push edi
push edx
push eax
mov ecx, ebx
call fcn.004df780
test al, al
jne 0x4df3da
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x30]
cmp ecx, ebp
jne 0x4df319
cmp dword [esp + 0x70], esi
je 0x4df76a
mov eax, ebp
sub eax, ecx
cdq
mov ecx, eax
xor ecx, edx
sub ecx, edx
cmp ecx, 1
jne 0x4df39f
mov edx, dword [esp + 0x70]
mov eax, esi
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jne 0x4df390
mov ebp, dword [esp + 0x74]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x6c]
push ebp
lea edx, [esp + 0x44]
push ecx
push edx
push edi
push esi
push eax
mov ecx, ebx
call fcn.004df780
test al, al
jne 0x4df3da
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x24]
push ebp
lea ecx, [esp + 0x44]
push esi
push ecx
push edi
push edx
push eax
mov ecx, ebx
call fcn.004df780
test al, al
jne 0x4df3da
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
push ebp
lea ecx, [esp + 0x44]
push esi
push ecx
push edi
push edx
push eax
jmp 0x4df3cb
cmp ecx, 1
jne 0x4df39f
mov ecx, dword [esp + 0x70]
cmp ecx, esi
je 0x4df3b9
jmp 0x4df3a3
mov ecx, dword [esp + 0x70]
mov eax, esi
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esp + 0x6c]
cmp eax, 1
jne 0x4df3e6
cmp edx, ebp
jne 0x4df3e6
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10]
push ecx
lea eax, [esp + 0x44]
push edx
push eax
push edi
push esi
push ebp
mov ecx, ebx
call fcn.004df780
test al, al
je 0x4df76a
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x10
fld dword [esp + 0x18]
fsub dword [esp + 0x38]
fabs
fld dword [esp + 0x14]
fsub dword [esp + 0x3c]
fabs
fcompp
fnstsw ax
test ah, 1
je 0x4df5c1
fld dword [esp + 0x3c]
fsub dword [esp + 0x14]
fld dword [esp + 0x38]
fsub dword [esp + 0x18]
xor eax, eax
cmp edx, ebp
fdivp st(1)
setge al
dec eax
and eax, 2
dec eax
mov esi, eax
mov dword [esp + 0x1c], esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp dword [0x58ddb8]
fnstsw ax
test ah, 0x41
jne 0x4df469
cmp esi, 1
jne 0x4df457
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x2c], 0
jmp 0x4df47e
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 1
jmp 0x4df47e
cmp esi, 1
je 0x4df445
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xffffffff
cmp esi, 1
mov dword [esp + 0x34], ecx
jne 0x4df4a3
fld dword [0x58d5d4]
fsub dword [esp + 0x18]
fiadd dword [esp + 0x6c]
fmul dword [esp + 0x20]
fadd dword [esp + 0x14]
fstp dword [esp + 0x68]
jmp 0x4df507
fild dword [esp + 0x6c]
fsubr dword [esp + 0x18]
fmul dword [esp + 0x20]
fsubr dword [esp + 0x14]
fst dword [esp + 0x68]
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov eax, dword [esp + 0x70]
cmp ebp, eax
je 0x4df4f3
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x70]
lea eax, [esp + 0x44]
push edx
push eax
push edi
push ebp
push ecx
mov ecx, ebx
call fcn.004df780
test al, al
je 0x4df4f3
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x10
fld dword [esp + 0x68]
fsub dword [esp + 0x20]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x34], ebp
fstp dword [esp + 0x68]
lea ebp, [esi + edx]
mov edx, dword [esp + 0x24]
add esi, edx
cmp ebp, esi
je 0x4df76a
mov eax, dword [esp + 0x28]
lea ecx, [eax + ebp]
mov dword [esp + 0x28], ecx
fld dword [esp + 0x68]
call sub.MSVCRT.dll__ftol
mov esi, eax
mov eax, dword [esp + 0x34]
cmp esi, eax
je 0x4df566
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, dword [esp + 0x34]
lea eax, [esi + edx]
push edi
push eax
push ecx
mov ecx, ebx
mov dword [esp + 0x4c], esi
call fcn.004df780
test al, al
jne 0x4df699
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x10]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
push edi
push esi
push ebp
mov ecx, ebx
call fcn.004df780
test al, al
jne 0x4df699
fild dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
add edx, eax
add ebp, eax
fmul dword [esp + 0x20]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x24]
add eax, edx
fadd dword [esp + 0x68]
cmp ebp, eax
fstp dword [esp + 0x68]
jne 0x4df523
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x10
fld dword [esp + 0x38]
fsub dword [esp + 0x18]
fld dword [esp + 0x3c]
fsub dword [esp + 0x14]
xor eax, eax
cmp ecx, esi
fdivp st(1)
setge al
dec eax
and eax, 2
dec eax
mov ebp, eax
mov dword [esp + 0x1c], ebp
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp dword [0x58ddb8]
fnstsw ax
test ah, 0x41
jne 0x4df61b
cmp ebp, 1
jne 0x4df611
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xffffffff
jmp 0x4df630
mov dword [esp + 0x28], 1
jmp 0x4df628
cmp ebp, 1
je 0x4df5ff
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x2c], 0
cmp ebp, 1
mov dword [esp + 0x34], edx
jne 0x4df655
fld dword [0x58d5d4]
fsub dword [esp + 0x14]
fiadd dword [esp + 0x70]
fmul dword [esp + 0x20]
fadd dword [esp + 0x18]
fstp dword [esp + 0x68]
jmp 0x4df6c1
fild dword [esp + 0x70]
fsubr dword [esp + 0x14]
fmul dword [esp + 0x20]
fsubr dword [esp + 0x18]
fst dword [esp + 0x68]
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov eax, dword [esp + 0x6c]
cmp ebp, eax
je 0x4df6a9
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x44]
push edx
push eax
push edi
push ecx
push ebp
mov ecx, ebx
call fcn.004df780
test al, al
je 0x4df6a5
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 0x10
mov esi, dword [esp + 0x30]
fld dword [esp + 0x68]
fsub dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x1c]
fstp dword [esp + 0x68]
mov edx, dword [esp + 0x1c]
add ebp, ecx
add edx, esi
cmp ebp, edx
je 0x4df76a
mov eax, dword [esp + 0x2c]
lea ecx, [eax + ebp]
mov dword [esp + 0x2c], ecx
fld dword [esp + 0x68]
call sub.MSVCRT.dll__ftol
mov esi, eax
mov eax, dword [esp + 0x34]
cmp esi, eax
je 0x4df717
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x48]
push ecx
push edi
lea ecx, [esi + eax]
push edx
push ecx
mov ecx, ebx
call fcn.004df780
test al, al
jne 0x4df699
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x10]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
push edi
push ebp
push esi
mov ecx, ebx
call fcn.004df780
test al, al
jne 0x4df699
fild dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
add edx, eax
add ebp, eax
fmul dword [esp + 0x20]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x30]
add eax, edx
mov dword [esp + 0x34], esi
fadd dword [esp + 0x68]
cmp ebp, eax
fstp dword [esp + 0x68]
jne 0x4df6dc
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x54
ret 0x10