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

Disassembly:
sub esp, 0x9c
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
push ebp
push esi
mov esi, dword [eax + 4]
mov ebp, dword [edx + 4]
mov dword [esp + 0x24], esi
mov dword [esp + 0x64], ebp
fild dword [esp + 0x24]
mov esi, dword [eax + 8]
mov eax, dword [eax]
mov ecx, dword [edx + 8]
mov dword [esp + 0x40], esi
fidiv dword [esp + 0x64]
mov esi, dword [edx]
and eax, 2
or esi, eax
push edi
mov dword [esp + 0x6c], ecx
mov dword [edx], esi
fmul dword [0x5e63ec]
fstp dword [esp + 0x28]
fnstcw word [esp + 0x10]
fld dword [esp + 0x28]
mov ax, word [esp + 0x10]
or ah, 0xc
mov word [esp + 0x12], ax
fldcw word [esp + 0x12]
fistp dword [esp + 0x74]
fldcw word [esp + 0x10]
fild dword [esp + 0x44]
fidiv dword [esp + 0x6c]
fmul dword [0x5e63ec]
fstp dword [esp + 0x28]
fnstcw word [esp + 0x12]
fld dword [esp + 0x28]
mov ax, word [esp + 0x12]
or ah, 0xc
mov word [esp + 0x10], ax
fldcw word [esp + 0x10]
fistp dword [esp + 0x44]
fldcw word [esp + 0x12]
mov dword [esp + 0x28], 0
fnstcw word [esp + 0x12]
fld dword [esp + 0x28]
mov ax, word [esp + 0x12]
or ah, 0xc
mov word [esp + 0x10], ax
fldcw word [esp + 0x10]
fistp dword [esp + 0x2c]
fldcw word [esp + 0x12]
mov edi, dword [esp + 0x2c]
xor esi, esi
test ecx, ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x28], esi
jle 0x5c77db
push ebx
mov dword [esp + 0x9c], esi
mov ecx, dword [edx + 0x10]
mov ebx, dword [edx + 0x14]
imul ecx, esi
add ecx, ebx
fnstcw word [esp + 0x16]
fld dword [esp + 0x9c]
mov ax, word [esp + 0x16]
or ah, 0xc
mov word [esp + 0x14], ax
fldcw word [esp + 0x14]
fistp dword [esp + 0xa0]
fldcw word [esp + 0x16]
mov ebx, dword [esp + 0xa0]
test ebp, ebp
jle 0x5c77bf
mov edx, dword [esp + 0x48]
lea esi, [ecx + 2]
mov dword [esp + 0x28], esi
lea edx, [edx + edi - 1]
mov eax, edx
mov dword [esp + 0x7c], edx
sub eax, edi
mov dword [esp + 0x30], eax
mov eax, edi
fild dword [esp + 0x30]
sar eax, 0x10
sar edx, 0x10
fmul dword [0x5e63e8]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x30], ebp
fstp dword [esp + 0x74]
jmp 0x5c7429
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x78]
cmp eax, edx
lea ebp, [ecx + ebx - 1]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x94], ecx
jne 0x5c748c
mov eax, dword [esp + 0xb4]
lea edx, [esp + 0x18]
push edx
push edi
push ebp
push ebx
push eax
call fcn.005c77f0
mov ecx, dword [esp + 0x88]
add esp, 0x14
mov dword [esp + 0x10], ecx
fld dword [esp + 0x10]
fmul dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [esp + 0x10]
fld dword [esp + 0x20]
fmul dword [esp + 0x10]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fmul dword [esp + 0x10]
jmp 0x5c7650
inc eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul dword [0x5e63ec]
fstp dword [esp + 0x10]
fnstcw word [esp + 0x56]
fld dword [esp + 0x10]
mov ax, word [esp + 0x56]
or ah, 0xc
mov word [esp + 0x5c], ax
fldcw word [esp + 0x5c]
fistp dword [esp + 0x84]
fldcw word [esp + 0x56]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xb4]
mov edi, dword [esp + 0x84]
lea edx, [esp + 0x18]
push edx
push eax
push ebp
push ebx
push ecx
mov esi, edi
call fcn.005c77f0
mov eax, dword [esp + 0x58]
mov edx, edi
sub edx, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x24], edx
add esp, 0x14
fild dword [esp + 0x10]
sar edi, 0x10
cmp edi, eax
fmul dword [0x5e63e8]
fld dword [esp + 0x18]
fmul st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fmul st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x24]
fstp st(0)
je 0x5c75cb
mov dword [esp + 0xa4], 0x47800000
mov ecx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
push esi
push ebp
push ebx
push ecx
call fcn.005c77f0
fld dword [esp + 0x48]
fadd dword [esp + 0x2c]
add esp, 0x14
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd dword [esp + 0x38]
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fadd dword [esp + 0x40]
fstp dword [esp + 0x24]
fnstcw word [esp + 0x5e]
fld dword [esp + 0xa4]
mov ax, word [esp + 0x5e]
or ah, 0xc
mov word [esp + 0x6a], ax
fldcw word [esp + 0x6a]
fistp dword [esp + 0x8c]
fldcw word [esp + 0x5e]
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x50]
add esi, edx
mov edx, esi
sar edx, 0x10
cmp edx, eax
jne 0x5c7542
mov ecx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
push esi
push ebp
push ebx
push ecx
call fcn.005c77f0
mov edx, dword [esp + 0x90]
add esp, 0x14
sub edx, esi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x10], edx
mov esi, dword [esp + 0x28]
fild dword [esp + 0x10]
fmul dword [0x5e63e8]
fld dword [esp + 0x34]
fmul st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x38]
fmul st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fmul st(1)
fstp dword [esp + 0x3c]
fld dword [esp + 0x40]
fmul st(1)
fstp dword [esp + 0x40]
fstp st(0)
fld dword [esp + 0x34]
fadd dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd dword [esp + 0x38]
fld dword [esp + 0x20]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fadd dword [esp + 0x40]
fstp dword [esp + 0x24]
fld dword [0x5e51ac]
fdiv dword [esp + 0x94]
fst dword [esp + 0x10]
fmul st(2)
fstp dword [esp + 0x18]
fmul dword [esp + 0x10]
fstp dword [esp + 0x1c]
fstp st(0)
fld dword [esp + 0x20]
fmul dword [esp + 0x10]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fmul dword [esp + 0x10]
fstp dword [esp + 0x24]
fld dword [esp + 0x18]
fmul dword [0x5e536c]
fadd dword [0x5e52dc]
fstp dword [esp + 0x28]
fnstcw word [esp + 0x64]
fld dword [esp + 0x28]
mov ax, word [esp + 0x64]
or ah, 0xc
mov word [esp + 0x68], ax
fldcw word [esp + 0x68]
fistp dword [esp + 0x80]
fldcw word [esp + 0x64]
fld dword [esp + 0x1c]
fmul dword [0x5e536c]
mov al, byte [esp + 0x80]
mov byte [esi - 2], al
fadd dword [0x5e52dc]
fstp dword [esp + 0x28]
fnstcw word [esp + 0x62]
fld dword [esp + 0x28]
mov ax, word [esp + 0x62]
or ah, 0xc
mov word [esp + 0x5a], ax
fldcw word [esp + 0x5a]
fistp dword [esp + 0x88]
fldcw word [esp + 0x62]
fld dword [esp + 0x20]
fmul dword [0x5e536c]
mov cl, byte [esp + 0x88]
mov byte [esi - 1], cl
fadd dword [0x5e52dc]
fstp dword [esp + 0x28]
fnstcw word [esp + 0x60]
fld dword [esp + 0x28]
mov ax, word [esp + 0x60]
or ah, 0xc
mov word [esp + 0x66], ax
fldcw word [esp + 0x66]
fistp dword [esp + 0x90]
fldcw word [esp + 0x60]
fld dword [esp + 0x24]
fmul dword [0x5e536c]
mov dl, byte [esp + 0x90]
mov byte [esi], dl
fadd dword [0x5e52dc]
fstp dword [esp + 0x28]
fnstcw word [esp + 0x4e]
fld dword [esp + 0x28]
mov ax, word [esp + 0x4e]
or ah, 0xc
mov word [esp + 0x58], ax
fldcw word [esp + 0x58]
fistp dword [esp + 0x98]
fldcw word [esp + 0x4e]
mov al, byte [esp + 0x98]
mov edx, dword [esp + 0x78]
mov byte [esi + 1], al
mov eax, dword [esp + 0x30]
add ebx, edx
add esi, 4
dec eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], eax
jne 0x5c741e
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x6c]
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x70]
add edi, ebx
inc esi
cmp esi, eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x2c], esi
jl 0x5c739b
pop ebx
pop edi
pop esi
mov eax, edx
pop ebp
add esp, 0x9c
ret