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

Disassembly:
sub esp, 0x10c
push ebx
push ebp
push esi
push edi
call fcn.005fb8b0
mov edi, dword [esp + 0x120]
mov dword [esp + 0xd8], eax
mov eax, dword [0x670ae0]
mov esi, edi
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x84], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x44], ecx
test eax, eax
jne 0x5fba9a
call fcn.005fa280
mov esi, eax
push edi
push esi
call fcn.005fa310
add esp, 8
cmp dword [esi + 4], 0xffffffff
jne 0x5fbaaf
mov edx, dword [esi]
push edx
call fcn.00617bb0
add esp, 4
mov edi, eax
jmp 0x5fbab1
mov edi, dword [esi]
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
jne 0x5fbac4
mov eax, dword [esi]
push eax
call fcn.00617c20
add esp, 4
fld dword [edi + 4]
lea ecx, [esp + 0x30]
mov dword [esp + 0x78], eax
fst dword [esp + 0x38]
fstp dword [esp + 0x30]
fld dword [edi + 8]
push ecx
push esi
fst dword [esp + 0x44]
fstp dword [esp + 0x3c]
call fcn.005fa940
fld dword [esp + 0x40]
fsub dword [esp + 0x38]
mov esi, dword [esp + 0x12c]
add esp, 8
fdivr dword [0x6222d4]
mov edx, dword [esi + 0x68]
test edx, edx
fstp dword [esp + 0x7c]
fld dword [esp + 0x3c]
fsub dword [esp + 0x34]
fdivr dword [0x6222d4]
fstp dword [esp + 0x80]
je 0x5fbb70
mov eax, dword [edx + 0x50]
mov edx, dword [edx]
mov ecx, eax
mov ebx, eax
shr ecx, 0xc
shr eax, 8
and ecx, 0xf
and eax, 0xf
sub eax, ecx
and ebx, 0xff
neg eax
sbb eax, eax
push edx
not eax
and eax, ecx
push 1
mov ebp, eax
mov eax, dword [0x66885c]
call dword [eax + 0x20]
mov ecx, dword [0x66885c]
push ebx
push 9
call dword [ecx + 0x20]
mov edx, dword [0x66885c]
push ebp
push 2
call dword [edx + 0x20]
add esp, 0x18
jmp 0x5fbb7f
mov eax, dword [0x66885c]
push 0
push 1
call dword [eax + 0x20]
add esp, 8
mov eax, dword [esp + 0x78]
mov ebx, dword [0x670904]
mov ecx, ebx
mov dword [esp + 0x40], 0x100
lea edx, [eax + eax*2]
mov eax, 1
mov dword [esp + 0xd4], eax
lea ebp, [edi + edx*8 - 0x18]
mov edx, dword [esp + 0x78]
cmp edx, eax
jle 0x5fc8c1
jmp 0x5fbbba
mov ebx, dword [0x670904]
cmp dword [esp + 0x40], 0xfe
jl 0x5fc258
sub ecx, ebx
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
je 0x5fbc24
mov eax, dword [esi + 0x68]
xor ecx, ecx
test eax, eax
mov eax, dword [0x670adc]
setne cl
or ecx, eax
mov eax, dword [esp + 0xd8]
push ecx
push eax
push edx
push ebx
call fcn.005981b0
add esp, 0x10
test eax, eax
je 0x5fbc1e
mov ecx, dword [esp + 0x40]
push ecx
push 0x670400
push 4
call fcn.005982b0
add esp, 0xc
call fcn.00598280
mov ebx, dword [0x670904]
fld dword [ebp + 0xc]
fmul dword [esp + 0x44]
fld dword [ebp + 0x10]
fmul dword [esp + 0x44]
fld dword [ebp + 4]
fsub st(2)
mov eax, dword [esp + 0x84]
mov ecx, ebx
fstp dword [esp + 0xbc]
fld dword [ebp + 8]
fsub st(1)
mov edx, dword [esp + 0xbc]
mov dword [ecx + 8], eax
mov dword [ecx], edx
fstp st(2)
fstp st(0)
fst dword [ecx + 4]
fld dword [esp + 0xbc]
fsub dword [esp + 0x30]
fxch st(1)
fsub dword [esp + 0x34]
test byte [esi + 0x64], 1
fstp dword [esp + 0x14]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fmul dword [esp + 0x80]
fstp dword [esp + 0x14]
je 0x5fbe97
fld dword [esi + 0x48]
fmul dword [esp + 0x10]
fld dword [esi + 0x4c]
fmul dword [esp + 0x10]
fld dword [esi + 0x50]
fmul dword [esp + 0x10]
fstp dword [esp + 0x50]
fld dword [esi + 0x54]
fmul dword [esp + 0x10]
fstp dword [esp + 0x54]
fld dword [esi + 0x30]
fadd st(2)
fstp dword [esp + 0x48]
fld dword [esi + 0x34]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esi + 0x38]
fadd dword [esp + 0x50]
fld dword [esi + 0x3c]
fadd dword [esp + 0x54]
fstp dword [esp + 0x54]
fld dword [esi + 0x18]
fmul dword [esp + 0x10]
fld dword [esi + 0x1c]
fmul dword [esp + 0x10]
fld dword [esi + 0x20]
fmul dword [esp + 0x10]
fstp dword [esp + 0x68]
fld dword [esi + 0x24]
fmul dword [esp + 0x10]
fstp dword [esp + 0x6c]
fxch st(1)
fadd dword [esi]
fstp dword [esp + 0x60]
fld dword [esi + 4]
fadd st(1)
fxch st(1)
fstp st(0)
fld dword [esi + 8]
fadd dword [esp + 0x68]
fld dword [esi + 0xc]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x60]
fsub dword [esp + 0x48]
fstp dword [esp + 0x18]
fxch st(1)
fsub st(3)
fstp dword [esp + 0x1c]
fsub st(1)
fld dword [esp + 0x6c]
fsub dword [esp + 0x54]
fld dword [esp + 0x18]
fmul dword [esp + 0x14]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [esp + 0x14]
fstp dword [esp + 0x1c]
fxch st(1)
fmul dword [esp + 0x14]
fstp dword [esp + 0x20]
fmul dword [esp + 0x14]
fstp dword [esp + 0x24]
fld dword [esp + 0x18]
fadd dword [esp + 0x48]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd st(1)
fstp dword [esp + 0x20]
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fadd dword [esp + 0x54]
fstp dword [esp + 0x24]
fnstcw word [esp + 0xa0]
fld dword [esp + 0x18]
mov ax, word [esp + 0xa0]
or ah, 0xc
mov word [esp + 0x98], ax
fldcw word [esp + 0x98]
fistp dword [esp + 0xf8]
fldcw word [esp + 0xa0]
fnstcw word [esp + 0xa8]
fld dword [esp + 0x1c]
mov ax, word [esp + 0xa8]
or ah, 0xc
mov word [esp + 0xa4], ax
fldcw word [esp + 0xa4]
fistp dword [esp + 0x100]
fldcw word [esp + 0xa8]
fnstcw word [esp + 0xb4]
fld dword [esp + 0x20]
mov ax, word [esp + 0xb4]
or ah, 0xc
mov word [esp + 0x8a], ax
fldcw word [esp + 0x8a]
fistp dword [esp + 0x108]
fldcw word [esp + 0xb4]
fnstcw word [esp + 0xca]
fld dword [esp + 0x24]
mov ax, word [esp + 0xca]
or ah, 0xc
mov word [esp + 0xb8], ax
fldcw word [esp + 0xb8]
fistp dword [esp + 0xf0]
fldcw word [esp + 0xca]
mov eax, dword [esp + 0x100]
xor edx, edx
mov dh, byte [esp + 0xf0]
and eax, 0xff
mov dl, byte [esp + 0xf8]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x108]
and eax, 0xff
jmp 0x5fbeae
xor edx, edx
xor eax, eax
mov dh, byte [esi + 0x63]
mov al, byte [esi + 0x61]
mov dl, byte [esi + 0x60]
shl edx, 8
or edx, eax
xor eax, eax
mov al, byte [esi + 0x62]
shl edx, 8
or edx, eax
mov dword [ecx + 0x18], edx
add ecx, 0x24
fld dword [esi + 0x58]
fmul dword [esp + 0x10]
fld dword [esi + 0x5c]
fmul dword [esp + 0x10]
fld dword [esi + 0x40]
fadd st(2)
fstp dword [esp + 0x58]
fld dword [esi + 0x44]
fadd st(1)
sub ebp, 0x18
fstp st(2)
fstp st(0)
fld dword [esi + 0x28]
fmul dword [esp + 0x10]
fld dword [esi + 0x2c]
fmul dword [esp + 0x10]
fld dword [esi + 0x10]
fadd st(2)
fstp dword [esp + 0x70]
fld dword [esi + 0x14]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x70]
fsub dword [esp + 0x58]
fxch st(1)
fsub st(2)
fstp dword [esp + 0x2c]
fmul dword [esp + 0x14]
fld dword [esp + 0x2c]
fmul dword [esp + 0x14]
fstp dword [esp + 0x2c]
fadd dword [esp + 0x58]
fst dword [esp + 0x28]
fld dword [esp + 0x2c]
fadd st(2)
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
fstp dword [ecx - 8]
mov dword [ecx - 4], edx
fstp st(0)
fld dword [edi + 0xc]
fmul dword [esp + 0x44]
fld dword [edi + 0x10]
fmul dword [esp + 0x44]
fld dword [edi + 4]
fsub st(2)
fstp dword [esp + 0xbc]
fld dword [edi + 8]
fsub st(1)
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0x84]
mov dword [ecx], eax
mov dword [ecx + 8], edx
fstp st(2)
fstp st(0)
fst dword [ecx + 4]
fld dword [esp + 0xbc]
fsub dword [esp + 0x30]
fxch st(1)
fsub dword [esp + 0x34]
test byte [esi + 0x64], 1
fstp dword [esp + 0x14]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fmul dword [esp + 0x80]
fstp dword [esp + 0x14]
je 0x5fc1ad
fld dword [esi + 0x48]
fmul dword [esp + 0x10]
fld dword [esi + 0x4c]
fmul dword [esp + 0x10]
fld dword [esi + 0x50]
fmul dword [esp + 0x10]
fstp dword [esp + 0x50]
fld dword [esi + 0x54]
fmul dword [esp + 0x10]
fstp dword [esp + 0x54]
fld dword [esi + 0x30]
fadd st(2)
fstp dword [esp + 0x48]
fld dword [esi + 0x34]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esi + 0x38]
fadd dword [esp + 0x50]
fld dword [esi + 0x3c]
fadd dword [esp + 0x54]
fstp dword [esp + 0x54]
fld dword [esi + 0x18]
fmul dword [esp + 0x10]
fld dword [esi + 0x1c]
fmul dword [esp + 0x10]
fld dword [esi + 0x20]
fmul dword [esp + 0x10]
fstp dword [esp + 0x68]
fld dword [esi + 0x24]
fmul dword [esp + 0x10]
fstp dword [esp + 0x6c]
fxch st(1)
fadd dword [esi]
fstp dword [esp + 0x60]
fld dword [esi + 4]
fadd st(1)
fxch st(1)
fstp st(0)
fld dword [esi + 8]
fadd dword [esp + 0x68]
fld dword [esi + 0xc]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x60]
fsub dword [esp + 0x48]
fstp dword [esp + 0x18]
fxch st(1)
fsub st(3)
fstp dword [esp + 0x1c]
fsub st(1)
fld dword [esp + 0x6c]
fsub dword [esp + 0x54]
fld dword [esp + 0x18]
fmul dword [esp + 0x14]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [esp + 0x14]
fstp dword [esp + 0x1c]
fxch st(1)
fmul dword [esp + 0x14]
fstp dword [esp + 0x20]
fmul dword [esp + 0x14]
fstp dword [esp + 0x24]
fld dword [esp + 0x18]
fadd dword [esp + 0x48]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd st(1)
fstp dword [esp + 0x20]
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fadd dword [esp + 0x54]
fstp dword [esp + 0x24]
fnstcw word [esp + 0xd2]
fld dword [esp + 0x18]
mov ax, word [esp + 0xd2]
or ah, 0xc
mov word [esp + 0xce], ax
fldcw word [esp + 0xce]
fistp dword [esp + 0x118]
fldcw word [esp + 0xd2]
fnstcw word [esp + 0xac]
fld dword [esp + 0x1c]
mov ax, word [esp + 0xac]
or ah, 0xc
mov word [esp + 0x8e], ax
fldcw word [esp + 0x8e]
fistp dword [esp + 0xfc]
fldcw word [esp + 0xac]
fnstcw word [esp + 0xba]
fld dword [esp + 0x20]
mov ax, word [esp + 0xba]
or ah, 0xc
mov word [esp + 0xb0], ax
fldcw word [esp + 0xb0]
fistp dword [esp + 0xe8]
fldcw word [esp + 0xba]
fnstcw word [esp + 0xae]
fld dword [esp + 0x24]
mov ax, word [esp + 0xae]
or ah, 0xc
mov word [esp + 0x92], ax
fldcw word [esp + 0x92]
fistp dword [esp + 0x110]
fldcw word [esp + 0xae]
mov edx, dword [esp + 0xfc]
xor eax, eax
mov ah, byte [esp + 0x110]
and edx, 0xff
mov al, byte [esp + 0x118]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0xe8]
and edx, 0xff
jmp 0x5fc1c4
xor eax, eax
xor edx, edx
mov ah, byte [esi + 0x63]
mov dl, byte [esi + 0x61]
mov al, byte [esi + 0x60]
shl eax, 8
or eax, edx
xor edx, edx
mov dl, byte [esi + 0x62]
shl eax, 8
or eax, edx
mov dword [esp + 0x40], 2
mov dword [ecx + 0x18], eax
add ecx, 0x24
fld dword [esi + 0x58]
fmul dword [esp + 0x10]
fld dword [esi + 0x5c]
fmul dword [esp + 0x10]
fld dword [esi + 0x40]
fadd st(2)
fstp dword [esp + 0x58]
fld dword [esi + 0x44]
fadd st(1)
add edi, 0x18
fstp st(2)
fstp st(0)
fld dword [esi + 0x28]
fmul dword [esp + 0x10]
fld dword [esi + 0x2c]
fmul dword [esp + 0x10]
fld dword [esi + 0x10]
fadd st(2)
fstp dword [esp + 0x70]
fld dword [esi + 0x14]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x70]
fsub dword [esp + 0x58]
fxch st(1)
fsub st(2)
fstp dword [esp + 0x2c]
fmul dword [esp + 0x14]
fld dword [esp + 0x2c]
fmul dword [esp + 0x14]
fstp dword [esp + 0x2c]
fadd dword [esp + 0x58]
fst dword [esp + 0x28]
fld dword [esp + 0x2c]
fadd st(2)
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
fstp dword [ecx - 8]
mov dword [ecx - 4], eax
fstp st(0)
fld dword [ebp + 0xc]
fmul dword [esp + 0x44]
fld dword [ebp + 0x10]
fmul dword [esp + 0x44]
fld dword [ebp + 4]
fsub st(2)
mov eax, dword [esp + 0x84]
fstp dword [esp + 0xbc]
fld dword [ebp + 8]
fsub st(1)
mov edx, dword [esp + 0xbc]
mov dword [ecx + 8], eax
mov dword [ecx], edx
fstp st(2)
fstp st(0)
fst dword [ecx + 4]
fld dword [esp + 0xbc]
fsub dword [esp + 0x30]
fxch st(1)
fsub dword [esp + 0x34]
test byte [esi + 0x64], 1
fstp dword [esp + 0x14]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fmul dword [esp + 0x80]
fstp dword [esp + 0x14]
je 0x5fc4c9
fld dword [esi + 0x48]
fmul dword [esp + 0x10]
fld dword [esi + 0x4c]
fmul dword [esp + 0x10]
fld dword [esi + 0x50]
fmul dword [esp + 0x10]
fstp dword [esp + 0x50]
fld dword [esi + 0x54]
fmul dword [esp + 0x10]
fstp dword [esp + 0x54]
fld dword [esi + 0x30]
fadd st(2)
fstp dword [esp + 0x48]
fld dword [esi + 0x34]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esi + 0x38]
fadd dword [esp + 0x50]
fld dword [esi + 0x3c]
fadd dword [esp + 0x54]
fstp dword [esp + 0x54]
fld dword [esi + 0x18]
fmul dword [esp + 0x10]
fld dword [esi + 0x1c]
fmul dword [esp + 0x10]
fld dword [esi + 0x20]
fmul dword [esp + 0x10]
fstp dword [esp + 0x68]
fld dword [esi + 0x24]
fmul dword [esp + 0x10]
fstp dword [esp + 0x6c]
fxch st(1)
fadd dword [esi]
fstp dword [esp + 0x60]
fld dword [esi + 4]
fadd st(1)
fxch st(1)
fstp st(0)
fld dword [esi + 8]
fadd dword [esp + 0x68]
fld dword [esi + 0xc]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x60]
fsub dword [esp + 0x48]
fstp dword [esp + 0x18]
fxch st(1)
fsub st(3)
fstp dword [esp + 0x1c]
fsub st(1)
fld dword [esp + 0x6c]
fsub dword [esp + 0x54]
fld dword [esp + 0x18]
fmul dword [esp + 0x14]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [esp + 0x14]
fstp dword [esp + 0x1c]
fxch st(1)
fmul dword [esp + 0x14]
fstp dword [esp + 0x20]
fmul dword [esp + 0x14]
fstp dword [esp + 0x24]
fld dword [esp + 0x18]
fadd dword [esp + 0x48]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd st(1)
fstp dword [esp + 0x20]
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fadd dword [esp + 0x54]
fstp dword [esp + 0x24]
fnstcw word [esp + 0xcc]
fld dword [esp + 0x18]
mov ax, word [esp + 0xcc]
or ah, 0xc
mov word [esp + 0x96], ax
fldcw word [esp + 0x96]
fistp dword [esp + 0x10c]
fldcw word [esp + 0xcc]
fnstcw word [esp + 0xb2]
fld dword [esp + 0x1c]
mov ax, word [esp + 0xb2]
or ah, 0xc
mov word [esp + 0x9a], ax
fldcw word [esp + 0x9a]
fistp dword [esp + 0xec]
fldcw word [esp + 0xb2]
fnstcw word [esp + 0xc8]
fld dword [esp + 0x20]
mov ax, word [esp + 0xc8]
or ah, 0xc
mov word [esp + 0x9e], ax
fldcw word [esp + 0x9e]
fistp dword [esp + 0x104]
fldcw word [esp + 0xc8]
fnstcw word [esp + 0xb6]
fld dword [esp + 0x24]
mov ax, word [esp + 0xb6]
or ah, 0xc
mov word [esp + 0xa2], ax
fldcw word [esp + 0xa2]
fistp dword [esp + 0xe4]
fldcw word [esp + 0xb6]
mov eax, dword [esp + 0xec]
xor edx, edx
mov dh, byte [esp + 0xe4]
and eax, 0xff
mov dl, byte [esp + 0x10c]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x104]
and eax, 0xff
jmp 0x5fc4e0
xor edx, edx
xor eax, eax
mov dh, byte [esi + 0x63]
mov al, byte [esi + 0x61]
mov dl, byte [esi + 0x60]
shl edx, 8
or edx, eax
xor eax, eax
mov al, byte [esi + 0x62]
shl edx, 8
or edx, eax
sub ebp, 0x18
mov dword [ecx + 0x18], edx
add ecx, 0x24
fld dword [esi + 0x58]
fmul dword [esp + 0x10]
fld dword [esi + 0x5c]
fmul dword [esp + 0x10]
fld dword [esi + 0x40]
fadd st(2)
fstp dword [esp + 0x58]
fld dword [esi + 0x44]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esi + 0x28]
fmul dword [esp + 0x10]
fld dword [esi + 0x2c]
fmul dword [esp + 0x10]
fld dword [esi + 0x10]
fadd st(2)
fstp dword [esp + 0x70]
fld dword [esi + 0x14]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x70]
fsub dword [esp + 0x58]
fxch st(1)
fsub st(2)
fstp dword [esp + 0x2c]
fmul dword [esp + 0x14]
fld dword [esp + 0x2c]
fmul dword [esp + 0x14]
fstp dword [esp + 0x2c]
fadd dword [esp + 0x58]
fst dword [esp + 0x28]
fld dword [esp + 0x2c]
fadd st(2)
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
fstp dword [ecx - 8]
mov dword [ecx - 4], edx
mov edx, dword [esp + 0x40]
inc edx
cmp ebp, edi
fstp st(0)
mov dword [esp + 0x40], edx
jb 0x5fc8bb
fld dword [edi + 0xc]
fmul dword [esp + 0x44]
fld dword [edi + 0x10]
fmul dword [esp + 0x44]
fld dword [edi + 4]
fsub st(2)
mov edx, dword [esp + 0x84]
fstp dword [esp + 0xbc]
fld dword [edi + 8]
fsub st(1)
mov eax, dword [esp + 0xbc]
mov dword [ecx + 8], edx
mov dword [ecx], eax
fstp st(2)
fstp st(0)
fst dword [ecx + 4]
fld dword [esp + 0xbc]
fsub dword [esp + 0x30]
fxch st(1)
fsub dword [esp + 0x34]
test byte [esi + 0x64], 1
fstp dword [esp + 0x14]
fmul dword [esp + 0x7c]
fstp dword [esp + 0x10]
fld dword [esp + 0x14]
fmul dword [esp + 0x80]
fstp dword [esp + 0x14]
je 0x5fc7f0
fld dword [esi + 0x48]
fmul dword [esp + 0x10]
fld dword [esi + 0x4c]
fmul dword [esp + 0x10]
fld dword [esi + 0x50]
fmul dword [esp + 0x10]
fstp dword [esp + 0x50]
fld dword [esi + 0x54]
fmul dword [esp + 0x10]
fstp dword [esp + 0x54]
fld dword [esi + 0x30]
fadd st(2)
fstp dword [esp + 0x48]
fld dword [esi + 0x34]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esi + 0x38]
fadd dword [esp + 0x50]
fld dword [esi + 0x3c]
fadd dword [esp + 0x54]
fstp dword [esp + 0x54]
fld dword [esi + 0x18]
fmul dword [esp + 0x10]
fld dword [esi + 0x1c]
fmul dword [esp + 0x10]
fld dword [esi + 0x20]
fmul dword [esp + 0x10]
fstp dword [esp + 0x68]
fld dword [esi + 0x24]
fmul dword [esp + 0x10]
fstp dword [esp + 0x6c]
fxch st(1)
fadd dword [esi]
fstp dword [esp + 0x60]
fld dword [esi + 4]
fadd st(1)
fxch st(1)
fstp st(0)
fld dword [esi + 8]
fadd dword [esp + 0x68]
fld dword [esi + 0xc]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x60]
fsub dword [esp + 0x48]
fstp dword [esp + 0x18]
fxch st(1)
fsub st(3)
fstp dword [esp + 0x1c]
fsub st(1)
fld dword [esp + 0x6c]
fsub dword [esp + 0x54]
fld dword [esp + 0x18]
fmul dword [esp + 0x14]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [esp + 0x14]
fstp dword [esp + 0x1c]
fxch st(1)
fmul dword [esp + 0x14]
fstp dword [esp + 0x20]
fmul dword [esp + 0x14]
fstp dword [esp + 0x24]
fld dword [esp + 0x18]
fadd dword [esp + 0x48]
fstp dword [esp + 0x18]
fld dword [esp + 0x1c]
fadd st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x20]
fadd st(1)
fstp dword [esp + 0x20]
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fadd dword [esp + 0x54]
fstp dword [esp + 0x24]
fnstcw word [esp + 0xd0]
fld dword [esp + 0x18]
mov ax, word [esp + 0xd0]
or ah, 0xc
mov word [esp + 0xa6], ax
fldcw word [esp + 0xa6]
fistp dword [esp + 0x114]
fldcw word [esp + 0xd0]
fnstcw word [esp + 0x8c]
fld dword [esp + 0x1c]
mov ax, word [esp + 0x8c]
or ah, 0xc
mov word [esp + 0xaa], ax
fldcw word [esp + 0xaa]
fistp dword [esp + 0xdc]
fldcw word [esp + 0x8c]
fnstcw word [esp + 0x94]
fld dword [esp + 0x20]
mov ax, word [esp + 0x94]
or ah, 0xc
mov word [esp + 0x90], ax
fldcw word [esp + 0x90]
fistp dword [esp + 0xe0]
fldcw word [esp + 0x94]
fnstcw word [esp + 0x9c]
fld dword [esp + 0x24]
mov ax, word [esp + 0x9c]
or ah, 0xc
mov word [esp + 0x88], ax
fldcw word [esp + 0x88]
fistp dword [esp + 0xf4]
fldcw word [esp + 0x9c]
mov edx, dword [esp + 0xdc]
xor eax, eax
mov ah, byte [esp + 0xf4]
and edx, 0xff
mov al, byte [esp + 0x114]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0xe0]
and edx, 0xff
jmp 0x5fc807
xor eax, eax
xor edx, edx
mov ah, byte [esi + 0x63]
mov dl, byte [esi + 0x61]
mov al, byte [esi + 0x60]
shl eax, 8
or eax, edx
xor edx, edx
mov dl, byte [esi + 0x62]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 0x18], eax
add ecx, 0x24
fld dword [esi + 0x58]
fmul dword [esp + 0x10]
fld dword [esi + 0x5c]
fmul dword [esp + 0x10]
fld dword [esi + 0x40]
fadd st(2)
add edi, 0x18
inc edx
cmp ebp, edi
mov dword [esp + 0x40], edx
fstp dword [esp + 0x58]
fld dword [esi + 0x44]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esi + 0x28]
fmul dword [esp + 0x10]
fld dword [esi + 0x2c]
fmul dword [esp + 0x10]
fld dword [esi + 0x10]
fadd st(2)
fstp dword [esp + 0x70]
fld dword [esi + 0x14]
fadd st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x70]
fsub dword [esp + 0x58]
fxch st(1)
fsub st(2)
fstp dword [esp + 0x2c]
fmul dword [esp + 0x14]
fld dword [esp + 0x2c]
fmul dword [esp + 0x14]
fstp dword [esp + 0x2c]
fadd dword [esp + 0x58]
fst dword [esp + 0x28]
fld dword [esp + 0x2c]
fadd st(2)
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
fstp dword [ecx - 8]
mov dword [ecx - 4], eax
fstp st(0)
jb 0x5fc8bb
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0x78]
inc eax
cmp eax, edx
mov dword [esp + 0xd4], eax
jl 0x5fbbb4
mov ebx, dword [0x670904]
sub ecx, ebx
mov eax, 0x38e38e39
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
je 0x5fc918
mov edi, dword [esi + 0x68]
mov esi, dword [0x670adc]
mov ecx, dword [esp + 0xd8]
xor eax, eax
test edi, edi
setne al
or eax, esi
push eax
push ecx
push edx
push ebx
call fcn.005981b0
add esp, 0x10
test eax, eax
je 0x5fc918
mov edx, dword [esp + 0x40]
push edx
push 0x670400
push 4
call fcn.005982b0
add esp, 0xc
call fcn.00598280
mov eax, dword [esp + 0x120]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret