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

Disassembly:
sub esp, 0x6c
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0x78]
fld qword [esp + 0x70]
fld qword [edx + 0x20]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x64], esi
mov esi, ecx
mov ecx, dword [esp + 0x7c]
fild dword [esp + 0x3c]
mov dword [esp + 0x34], ebx
fld st(2)
mov dword [esp + 0x30], ecx
fild qword [esp + 0x30]
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fmul st(1)
fld st(2)
fmul st(4)
fxch st(1)
fucomi st(1)
fstp st(1)
fld qword [edx + 0x18]
ja 0x53c878
fld st(3)
fmul st(1)
fucompi st(2)
ja 0x53c882
fstp st(0)
fstp st(3)
fxch st(1)
fxch st(2)
mov eax, dword [edx + 0xc]
cmp eax, 4
je 0x53c7a2
jbe 0x53c730
cmp eax, 0x44555220
je 0x53c7c0
ja 0x53c788
cmp eax, 6
je 0x53c810
fstp st(0)
fstp st(2)
fxch st(1)
cmp eax, 0x43484c41
je 0x53c7ca
fstp st(0)
fstp st(0)
jmp 0x53c714
fstp st(0)
fstp st(0)
mov eax, 0xffffffea
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
add esp, 0x6c
ret
fstp st(3)
fxch st(1)
fxch st(2)
cmp eax, 2
je 0x53c7c8
ja 0x53c770
fstp st(0)
fdivrp st(1)
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fistp qword [esp + 0x58]
imul ecx, dword [esp + 0x58]
xor eax, eax
mov dword [esi], ecx
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
add esp, 0x6c
ret
fstp st(1)
fdivrp st(1)
xor eax, eax
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x68]
fstp qword [esi]
mov esi, dword [esp + 0x64]
add esp, 0x6c
ret
fstp st(0)
fstp st(2)
fxch st(1)
cmp eax, 0x50464d54
je 0x53c743
cmp eax, 0x53464d54
jne 0x53c710
jmp 0x53c743
fstp st(3)
fstp st(0)
fxch st(1)
fdivrp st(1)
xor eax, eax
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x68]
fstp dword [esi]
mov esi, dword [esp + 0x64]
add esp, 0x6c
ret
fstp st(0)
fstp st(2)
fxch st(1)
jmp 0x53c7ca
fstp st(0)
fdivrp st(1)
fstp qword [esp + 0x48]
fld qword [esp + 0x48]
fistp qword [esp + 0x58]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
imul edi, ebx
imul eax, ecx
add edi, eax
mov eax, dword [esp + 0x58]
mul ecx
mov ebx, edx
add ebx, edi
mov edi, dword [esp + 0x68]
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], ebx
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
add esp, 0x6c
ret
fstp st(1)
fxch st(2)
fnstcw word [esp + 0x42]
movzx eax, word [esp + 0x42]
mov ah, 0xc
mov word [esp + 0x40], ax
fldcw word [esp + 0x40]
fist dword [esp + 0x3c]
fldcw word [esp + 0x42]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
fucompi st(1)
fstp st(0)
jnp 0x53c860
fdivp st(1)
mov dword [esp + 8], 0x1000000
fstp qword [esp]
call fcn.0053bff0
mov dword [esi], eax
xor eax, eax
mov dword [esi + 4], edx
jmp 0x53c75a
jne 0x53c842
fstp st(0)
fldcw word [esp + 0x40]
fistp dword [esi]
fldcw word [esp + 0x42]
xor eax, eax
mov dword [esi + 4], edi
jmp 0x53c75a
fstp st(5)
fstp st(1)
fxch st(1)
fxch st(2)
jmp 0x53c88a
fstp st(5)
fstp st(1)
fxch st(1)
fxch st(2)
fstp qword [esp + 0x20]
fxch st(2)
fstp qword [esp + 0x18]
mov edx, dword [edx]
fdivp st(1)
mov dword [esp], eax
mov dword [esp + 8], str.Value__f_for_parameter__s_out_of_range___g____g__n
mov dword [esp + 0x14], edx
mov dword [esp + 4], 0x10
fstp qword [esp + 0xc]
call fcn.00539bd0
mov eax, 0xffffffde
jmp 0x53c75a