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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov ebx, edx
mov ebp, eax
mov ecx, dword [ebp + 0x2f1f88]
mov eax, dword [0xb20588]
fild qword [eax + 0x3500]
fadd qword [eax + 0x34f8]
fldz
fxch st(1)
fucom st(1)
fstp st(1)
fnstsw ax
xor edx, edx
sahf
setae dl
fadd qword [edx*8 + 0x96c848]
fnstcw word [esp + 0x12]
movzx eax, word [esp + 0x12]
mov word [esp + 0x12], 0xc7f
fldcw word [esp + 0x12]
mov word [esp + 0x12], ax
fistp qword [esp + 0x80]
fldcw word [esp + 0x12]
sub esp, 4
push dword [esp + 0x88]
push dword [esp + 0x88]
push ecx
call fcn.0040c994
add esp, 0x10
mov esi, eax
cmp byte [ebp + 0x2f17ee], 0
mov eax, dword [0xb20588]
je 0x45dddc
cmp byte [eax + 0x3508], 0
jne 0x45dddc
cmp byte [eax + 0x3509], 0
je 0x45dee9
cmp byte [eax + 0x3509], 0
jne 0x45e0d0
fild qword [eax + 0x3500]
fadd qword [eax + 0x34f8]
fldz
fxch st(1)
fucom st(1)
fstp st(1)
fnstsw ax
xor ecx, ecx
sahf
setae cl
fadd qword [ecx*8 + 0x96c848]
fnstcw word [esp + 0xa]
movzx eax, word [esp + 0xa]
mov word [esp + 0xa], 0xc7f
fldcw word [esp + 0xa]
mov word [esp + 0xa], ax
fistp qword [esp + 0x50]
fldcw word [esp + 0xa]
mov eax, esi
sar eax, 0x1f
xor edx, edx
mov ecx, esi
neg ecx
sbb edx, eax
test bl, bl
mov edi, esi
jne 0x45de44
mov eax, edx
mov edi, ecx
add edi, dword [esp + 0x50]
adc eax, dword [esp + 0x54]
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], eax
fild qword [esp + 0x48]
test esi, esi
mov dword [esp + 0x14], ebp
jle 0x45debb
cmp byte [ebp + 0x2f180a], 0
je 0x45df83
mov eax, dword [ebp + 0x2f1f88]
fnstcw word [esp + 6]
movzx ecx, word [esp + 6]
mov word [esp + 6], 0xc7f
fldcw word [esp + 6]
mov word [esp + 6], cx
fld st(0)
fistp qword [esp + 0x40]
fldcw word [esp + 6]
sub esp, 4
push dword [esp + 0x48]
push dword [esp + 0x48]
push eax
fstp qword [esp + 0x28]
call fcn.00412b24
fld qword [esp + 0x28]
add esp, 0x10
mov ecx, eax
mov ebx, edx
jmp 0x45df87
fnstcw word [esp + 8]
movzx eax, word [esp + 8]
mov word [esp + 8], 0xc7f
fldcw word [esp + 8]
mov word [esp + 8], ax
fistp qword [esp + 0x28]
fldcw word [esp + 8]
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
jmp 0x45dff4
mov dword [esp + 0x14], ebp
mov ecx, dword [eax + 0x3504]
mov edx, esi
sar edx, 0x1f
xor ebp, ebp
mov edi, esi
neg edi
sbb ebp, edx
test bl, bl
mov ebx, esi
jne 0x45df0a
mov edx, ebp
mov ebx, edi
add ebx, dword [eax + 0x3500]
adc ecx, edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ecx
fild qword [esp + 0x78]
test esi, esi
jle 0x45e013
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x2f180a], 0
je 0x45e03e
mov eax, dword [eax + 0x2f1f88]
fnstcw word [esp + 0xe]
movzx ecx, word [esp + 0xe]
mov word [esp + 0xe], 0xc7f
fldcw word [esp + 0xe]
mov word [esp + 0xe], cx
fld st(0)
fistp qword [esp + 0x70]
fldcw word [esp + 0xe]
sub esp, 4
push dword [esp + 0x78]
push dword [esp + 0x78]
push eax
fstp qword [esp + 0x28]
call fcn.00412b24
fld qword [esp + 0x28]
add esp, 0x10
mov ebx, edx
jmp 0x45e042
xor ecx, ecx
xor ebx, ebx
mov edi, esi
sar edi, 0x1f
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ebx
fild qword [esp + 0x38]
fsubp st(1)
mov dword [esp + 0x20], esi
fidiv dword [esp + 0x20]
fldz
fxch st(1)
fucom st(1)
fstp st(1)
fnstsw ax
xor edx, edx
sahf
setae dl
fadd qword [edx*8 + 0x96c848]
fnstcw word [esp + 4]
movzx eax, word [esp + 4]
mov word [esp + 4], 0xc7f
fldcw word [esp + 4]
mov word [esp + 4], ax
fistp qword [esp + 0x30]
fldcw word [esp + 4]
mov eax, dword [esp + 0x30]
imul edi, eax
mul esi
mov ebp, eax
add edx, edi
mov edi, dword [esp + 0x34]
imul edi, esi
add edi, edx
add ebp, ecx
adc edi, ebx
sub esp, 4
mov edx, 1
xor ecx, ecx
mov eax, dword [esp + 0x18]
push edi
push ebp
push 0
call fcn.0044ce34
add esp, 4
jmp 0x45e0d0
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0xc7f
fldcw word [esp + 0x10]
mov word [esp + 0x10], ax
fistp qword [esp + 0x58]
fldcw word [esp + 0x10]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
jmp 0x45e0b5
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x18], eax
mov ecx, esi
sar ecx, 0x1f
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebx
fild qword [esp + 0x68]
fsubp st(1)
mov dword [esp + 0x24], esi
fidiv dword [esp + 0x24]
fldz
fxch st(1)
fucom st(1)
fstp st(1)
fnstsw ax
xor edx, edx
sahf
setae dl
fadd qword [edx*8 + 0x96c848]
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
mov word [esp + 0xc], 0xc7f
fldcw word [esp + 0xc]
mov word [esp + 0xc], ax
fistp qword [esp + 0x60]
fldcw word [esp + 0xc]
mov eax, dword [esp + 0x60]
imul ecx, eax
mul esi
mov ebp, eax
add edx, ecx
mov edi, dword [esp + 0x64]
imul edi, esi
add edi, edx
add ebp, dword [esp + 0x18]
adc edi, ebx
sub esp, 8
mov edx, 3
mov ecx, 1
mov eax, dword [esp + 0x1c]
push edi
push ebp
call fcn.00453d78
add esp, 8
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret