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

Disassembly:
push ebp
mov ebp, esp
movzx ecx, word [eax + 0x14]
sub esp, 0x34
push ebx
push esi
push edi
test cx, cx
je 0x4f8f15
inc dword [eax + 0x18]
mov edx, dword [ebp + 0xc]
mov edi, dword [edx]
mov ebx, ecx
imul ebx, ebx, 0xa4
add ebx, dword [eax + 0x10]
mov dx, word [ebx + 0x40]
mov word [eax + 0x14], dx
movzx eax, word [edi + 4]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp + 8]
fld dword [edi]
mov word [edi + 4], cx
mov dword [ebp - 4], ebx
fstp dword [ebx + 0x38]
fld dword [edi]
fld dword [eax + 0x24]
fmul st(1)
fsubp st(1)
fstp dword [ebx + 0x3c]
cmp byte [edi + 0x39], 0
jne 0x4f83bc
mov ecx, dword [eax + 8]
mov dword [ebx], ecx
mov edx, dword [eax + 0xc]
mov dword [ebx + 4], edx
mov ecx, dword [eax + 0x10]
mov dword [ebx + 8], ecx
jmp 0x4f83d6
mov edx, dword [0x57c388]
mov dword [ebx], edx
mov ecx, dword [0x57c38c]
mov dword [ebx + 4], ecx
mov edx, dword [0x57c390]
mov dword [ebx + 8], edx
fld1
push ecx
mov esi, 0x576b50
fstp dword [esp]
mov dword [ebx + 0xa0], eax
call fcn.004033c0
fstp dword [ebp - 0xc]
lea edx, [edi + 0x2c]
lea ecx, [edi + 0x20]
lea eax, [ebp - 0x28]
call fcn.00403710
mov edx, eax
lea ecx, [ebp - 0xc]
lea eax, [ebp - 0x1c]
call fcn.004037a0
mov ecx, eax
lea eax, [ebp - 0x34]
lea edx, [edi + 0x20]
call fcn.00403dd0
fld1
mov ecx, dword [eax]
mov dword [ebx + 0x18], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 0x1c], edx
mov eax, dword [eax + 8]
push ecx
fstp dword [esp]
mov dword [ebx + 0x20], eax
call fcn.004033c0
mov eax, dword [ebp + 0xc]
fld dword [eax + 0x24]
push ecx
fsub dword [eax + 0x18]
fmulp st(1)
fadd dword [eax + 0x18]
fstp dword [ebp - 0x28]
fld1
fstp dword [esp]
call fcn.004033c0
mov eax, dword [ebp + 0xc]
fld dword [eax + 0x28]
push ecx
fsub dword [eax + 0x1c]
fmulp st(1)
fadd dword [eax + 0x1c]
fstp dword [ebp - 0x24]
fld1
fstp dword [esp]
call fcn.004033c0
mov eax, dword [ebp + 0xc]
fld dword [eax + 0x2c]
mov ecx, dword [ebp - 0x28]
fsub dword [eax + 0x20]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp + 8]
fmulp st(1)
mov dword [ebp - 0x18], edx
fadd dword [eax + 0x20]
fstp dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
fld dword [ecx + 0x38]
mov dword [ebp - 0x14], eax
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fld st(0)
fmul dword [ebp - 0x28]
fstp dword [ebp - 0x1c]
fld st(0)
fmul dword [ebp - 0x18]
fstp dword [ebp - 0x18]
fmul dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x1c]
fst dword [ebp + 0xc]
fmul dword [ecx + 0x30]
fld dword [ecx + 0x34]
fld dword [ebp - 0x18]
fld st(0)
fmulp st(2)
fxch st(2)
cmp byte [ecx + 0x3c], 0
faddp st(1)
fstp dword [ebp - 0x1c]
fmul dword [ecx + 0x30]
fld dword [ecx + 0x34]
fmul dword [ebp + 0xc]
fsubp st(1)
fstp dword [ebp - 0x18]
fldz
je 0x4f85a6
fld dword [ebx + 0x1c]
fstp dword [ebp + 0xc]
fld dword [ebx + 0x18]
fstp dword [ebx + 0x1c]
fld dword [ebp + 0xc]
fstp dword [ebx + 0x18]
fcom dword [ebx]
fnstsw ax
test ah, 5
jp 0x4f8506
mov eax, 1
jmp 0x4f8516
fcom dword [ebx]
fnstsw ax
test ah, 0x41
jne 0x4f8514
or eax, 0xffffffff
jmp 0x4f8516
xor eax, eax
neg eax
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fmul dword [ebx + 0x18]
fstp dword [ebx + 0x18]
fld dword [ecx + 0x38]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fld st(0)
fmul dword [ebx + 0x18]
fstp dword [ebx + 0x18]
fld dword [ebx + 0x1c]
fmul st(1)
fstp dword [ebx + 0x1c]
fmul dword [ebx + 0x20]
fstp dword [ebx + 0x20]
fld dword [ebp - 0x18]
fstp dword [ebp - 0xc]
fld dword [ebp - 0x1c]
fstp dword [ebp - 0x18]
fcom dword [ecx + 8]
fnstsw ax
test ah, 5
jp 0x4f8562
fstp st(0)
mov eax, 1
jmp 0x4f8573
fcomp dword [ecx + 8]
fnstsw ax
test ah, 0x41
jne 0x4f8571
or eax, 0xffffffff
jmp 0x4f8573
xor eax, eax
fld dword [ecx + 0x38]
neg eax
fstp dword [ebp - 8]
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fmul dword [ebp - 0xc]
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fld dword [ebp - 8]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [ebp - 0x1c]
fld st(0)
fmul dword [ebp - 0x18]
fstp dword [ebp - 0x18]
fmul dword [ebp - 0x14]
fstp dword [ebp - 0x14]
jmp 0x4f85a8
fstp st(0)
fld dword [ebp - 0x1c]
push ecx
fld qword [0x554b90]
mov esi, 0x576b50
fmul st(1), st(0)
fxch st(1)
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x18]
fmul st(1)
fstp dword [ebp - 0x18]
fmul dword [ebp - 0x14]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x1c]
fstp dword [ebx + 0xc]
fld dword [ebp - 0x18]
fstp dword [ebx + 0x10]
fld dword [ebp - 0x14]
fstp dword [ebx + 0x14]
fild dword [edi + 0x5c]
fstp dword [ebp + 0xc]
fld1
fstp dword [esp]
call fcn.004033c0
fstp dword [ebp - 0xc]
fild dword [edi + 0x60]
fld dword [ebp + 0xc]
fld st(0)
fsubp st(2)
fld dword [ebp - 0xc]
fmulp st(2)
faddp st(1)
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fmul qword [0x554c58]
fnstcw word [ebp + 0xe]
movzx eax, word [ebp + 0xe]
or eax, 0xc00
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
fldcw word [ebp - 0xc]
fistp dword [ebp - 0xc]
mov cx, word [ebp - 0xc]
mov word [ebx + 0x44], cx
mov dl, byte [eax + 0x3c]
mov byte [ebx + 0x9c], dl
cmp byte [eax + 0x3c], 0
fldcw word [ebp + 0xe]
je 0x4f8659
fldz
fcomp dword [ebx]
fnstsw ax
test ah, 5
mov eax, 0xc000
jnp 0x4f8655
mov eax, 0x4000
add word [ebx + 0x44], ax
cmp byte [edi + 0x38], 1
jne 0x4f8684
mov ecx, edi
lea eax, [ebp - 0x34]
lea edx, [ebx + 0xc]
call fcn.004037a0
fld dword [ebx]
fsub dword [eax]
fstp dword [ebx]
fld dword [ebx + 4]
fsub dword [eax + 4]
fstp dword [ebx + 4]
fld dword [ebx + 8]
fsub dword [eax + 8]
fstp dword [ebx + 8]
call dword [sym.imp.MSVCR100.dll_rand]
movzx ecx, byte [edi + 0x3a]
movzx edx, byte [edi + 0x3b]
shl edx, 0xc
mov esi, ecx
shl esi, 0xc
sub edx, esi
and eax, 0xfff
imul edx, eax
add edx, 0x800
sar edx, 0xc
shl ecx, 0xc
add edx, ecx
sar edx, 0xc
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
fstp dword [ebp - 0xc]
call dword [sym.imp.MSVCR100.dll_rand]
movzx ecx, byte [edi + 0x3c]
movzx edx, byte [edi + 0x3d]
shl edx, 0xc
mov esi, ecx
shl esi, 0xc
sub edx, esi
and eax, 0xfff
imul edx, eax
add edx, 0x800
sar edx, 0xc
shl ecx, 0xc
add edx, ecx
sar edx, 0xc
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
fstp dword [ebp - 8]
call dword [sym.imp.MSVCR100.dll_rand]
movzx ecx, byte [edi + 0x3e]
movzx edx, byte [edi + 0x3f]
shl edx, 0xc
mov esi, ecx
and eax, 0xfff
shl esi, 0xc
sub edx, esi
imul edx, eax
mov esi, dword [ebp + 8]
add edx, 0x800
sar edx, 0xc
shl ecx, 0xc
add edx, ecx
sar edx, 0xc
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
fnstcw word [ebp + 0xe]
movzx eax, word [ebp + 0xe]
fstp dword [ebp - 0x10]
fld dword [ebp - 0xc]
or eax, 0xc00
fld st(0)
mov dword [ebp + 8], eax
fmul dword [esi + 0x28]
fldcw word [ebp + 8]
fistp dword [ebp + 8]
mov ax, word [ebp + 8]
mov word [ebx + 0x7c], ax
fldcw word [ebp + 0xe]
fld dword [ebp - 8]
fld st(0)
fsubrp st(2)
fld dword [esi + 0x28]
fmulp st(2)
fxch st(1)
call fcn.00513620
fsubr dword [ebp - 0x10]
mov word [ebx + 0x7e], ax
fmul dword [esi + 0x28]
call fcn.00513620
mov ecx, dword [ebp - 4]
mov word [ebx + 0x80], ax
xor ebx, ebx
add ecx, 0x30
mov dword [ebp - 8], ebx
mov dword [ebp - 0xc], ecx
fld qword [0x554c60]
mov eax, dword [edi + 0x94]
mov edx, dword [0x576b54]
mov ecx, ebx
mov esi, 0xff
shl esi, cl
push edx
mov edx, dword [0x576b58]
and eax, esi
shr eax, cl
mov dword [ebp + 0xc], eax
mov eax, dword [edi + 0x98]
and eax, esi
shr eax, cl
mov ecx, dword [0x576b5c]
mov dword [ebp + 8], eax
mov eax, dword [0x576b50]
push eax
push ecx
push edx
call fcn.00513700
add eax, dword [0x576b60]
mov ecx, 0x7ffff
adc edx, dword [0x576b64]
mov dword [0x576b50], eax
mov eax, edx
mov dword [0x576b54], edx
mul ecx
mov dword [ebp - 0x14], edx
fild dword [ebp - 0x14]
test edx, edx
jns 0x4f880d
fadd dword [0x554b74]
fdiv st(1)
mov eax, dword [ebp + 8]
sub eax, dword [ebp + 0xc]
mov dword [ebp + 8], eax
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fimul dword [ebp + 8]
fiadd dword [ebp + 0xc]
call fcn.00513620
mov edx, dword [0x576b54]
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x9c]
and eax, esi
mov ecx, ebx
shr eax, cl
push edx
mov edx, dword [0x576b58]
mov dword [ebp + 0xc], eax
mov eax, dword [edi + 0xa0]
and eax, esi
shr eax, cl
mov ecx, dword [0x576b5c]
mov dword [ebp + 8], eax
mov eax, dword [0x576b50]
push eax
push ecx
push edx
call fcn.00513700
add eax, dword [0x576b60]
mov ecx, 0x7ffff
adc edx, dword [0x576b64]
mov dword [0x576b50], eax
mov eax, edx
mov dword [0x576b54], edx
mul ecx
mov dword [ebp - 0x10], edx
fild dword [ebp - 0x10]
test edx, edx
jns 0x4f8898
fadd dword [0x554b74]
fdiv st(1)
mov eax, dword [ebp + 8]
sub eax, dword [ebp + 0xc]
mov dword [ebp + 8], eax
fstp dword [ebp - 0x10]
fld dword [ebp - 0x10]
fimul dword [ebp + 8]
fiadd dword [ebp + 0xc]
call fcn.00513620
mov edx, dword [0x576b54]
mov dword [ebp + 8], eax
mov eax, esi
and eax, dword [edi + 0xa4]
and esi, dword [edi + 0xa8]
mov ecx, ebx
shr eax, cl
push edx
mov edx, dword [0x576b58]
shr esi, cl
mov ecx, dword [0x576b5c]
mov dword [ebp + 0xc], eax
mov eax, dword [0x576b50]
push eax
push ecx
push edx
call fcn.00513700
add eax, dword [0x576b60]
mov ecx, 0x7ffff
adc edx, dword [0x576b64]
mov dword [0x576b50], eax
mov dword [0x576b54], edx
mov eax, edx
mul ecx
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 4]
mov byte [edx + ecx + 0x24], al
mov edx, dword [ebp + 8]
fild dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
sub edx, eax
mov eax, dword [ebp - 0xc]
mov word [eax - 8], dx
test ecx, ecx
jns 0x4f893a
fadd dword [0x554b74]
fdiv st(1)
sub esi, dword [ebp + 0xc]
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
mov dword [ebp - 0x14], esi
fimul dword [ebp - 0x14]
fiadd dword [ebp + 0xc]
call fcn.00513620
inc dword [ebp - 8]
mov dx, ax
sub dx, word [ebp + 8]
mov eax, dword [ebp - 0xc]
mov word [eax], dx
add eax, 2
add ebx, 8
mov dword [ebp - 0xc], eax
cmp ebx, 0x20
jl 0x4f879a
cmp byte [edi + 0x38], 2
mov esi, dword [ebp - 4]
jne 0x4f89a2
fstp st(0)
sub esp, 8
fld dword [esi + 0x10]
fstp dword [esp + 4]
fld dword [esi + 0xc]
fstp dword [esp]
call fcn.00416360
fld qword [0x554c60]
add esp, 8
add word [esi + 0x44], ax
mov eax, dword [0x576b54]
mov ecx, dword [0x576b50]
mov edx, dword [0x576b5c]
push eax
mov eax, dword [0x576b58]
push ecx
push edx
push eax
call fcn.00513700
add eax, dword [0x576b60]
mov ecx, 0x7ffff
adc edx, dword [0x576b64]
mov dword [0x576b50], eax
mov eax, edx
mov dword [0x576b54], edx
mul ecx
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
test edx, edx
jns 0x4f89f1
fadd dword [0x554b74]
fdiv st(1)
movsx edx, word [edi + 0x50]
movsx eax, word [edi + 0x52]
mov dword [ebp + 8], edx
fstp dword [ebp + 0xc]
fild dword [ebp + 8]
mov dword [ebp + 8], eax
fstp dword [ebp - 0x14]
fild dword [ebp + 8]
fld dword [ebp - 0x14]
fld st(0)
fsubp st(2)
fld dword [ebp + 0xc]
fld st(0)
fmulp st(3)
fxch st(2)
faddp st(1)
fstp dword [esi + 0x48]
movsx ecx, word [edi + 0x54]
movsx edx, word [edi + 0x56]
mov dword [ebp + 0xc], ecx
fild dword [ebp + 0xc]
mov dword [ebp + 0xc], edx
fstp dword [ebp + 8]
fild dword [ebp + 0xc]
fld dword [ebp + 8]
fld st(0)
fsubp st(2)
fxch st(1)
fmulp st(2)
faddp st(1)
fstp dword [esi + 0x4c]
mov eax, dword [0x576b54]
mov ecx, dword [0x576b50]
mov edx, dword [0x576b5c]
push eax
mov eax, dword [0x576b58]
push ecx
push edx
push eax
call fcn.00513700
add eax, dword [0x576b60]
mov ecx, 0x7ffff
adc edx, dword [0x576b64]
mov dword [0x576b50], eax
mov eax, edx
mov dword [0x576b54], edx
mul ecx
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
test edx, edx
jns 0x4f8a98
fadd dword [0x554b74]
fdiv st(1)
movsx edx, word [edi + 0x40]
movsx eax, word [edi + 0x42]
mov dword [ebp + 8], edx
fstp dword [ebp + 0xc]
fild dword [ebp + 8]
mov dword [ebp + 8], eax
fstp dword [ebp - 0x14]
fild dword [ebp + 8]
fld dword [ebp - 0x14]
fld st(0)
fsubp st(2)
fld dword [ebp + 0xc]
fld st(0)
fmulp st(3)
fxch st(2)
faddp st(1)
fstp dword [esi + 0x54]
movsx ecx, word [edi + 0x44]
movsx edx, word [edi + 0x46]
mov dword [ebp + 0xc], ecx
fild dword [ebp + 0xc]
mov dword [ebp + 0xc], edx
fstp dword [ebp + 8]
fild dword [ebp + 0xc]
fld dword [ebp + 8]
fld st(0)
fsubp st(2)
fxch st(1)
fmulp st(2)
faddp st(1)
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fst dword [esi + 0x58]
fldz
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x4f8b1b
fld dword [esi + 0x54]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x4f8b1b
xor eax, eax
mov word [esi + 0x50], ax
jmp 0x4f8b56
mov ecx, dword [0x576b54]
mov edx, dword [0x576b50]
mov eax, dword [0x576b5c]
push ecx
mov ecx, dword [0x576b58]
push edx
push eax
push ecx
call fcn.00513700
add eax, dword [0x576b60]
adc edx, dword [0x576b64]
mov dword [0x576b50], eax
mov dword [0x576b54], edx
mov word [esi + 0x50], dx
mov edx, dword [0x576b54]
mov eax, dword [0x576b50]
mov ecx, dword [0x576b5c]
push edx
mov edx, dword [0x576b58]
push eax
push ecx
push edx
call fcn.00513700
add eax, dword [0x576b60]
mov ecx, 0x7ffff
adc edx, dword [0x576b64]
mov dword [0x576b50], eax
mov eax, edx
mov dword [0x576b54], edx
mul ecx
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
test edx, edx
jns 0x4f8ba6
fadd dword [0x554b74]
fdiv st(2)
movsx edx, word [edi + 0x48]
movsx eax, word [edi + 0x4a]
mov dword [ebp + 8], edx
fstp dword [ebp + 0xc]
fild dword [ebp + 8]
mov dword [ebp + 8], eax
fstp dword [ebp - 0x14]
fild dword [ebp + 8]
fld dword [ebp - 0x14]
fld st(0)
fsubp st(2)
fld dword [ebp + 0xc]
fld st(0)
fmulp st(3)
fxch st(2)
faddp st(1)
fstp dword [esi + 0x60]
movsx ecx, word [edi + 0x4c]
movsx edx, word [edi + 0x4e]
mov dword [ebp + 0xc], ecx
fild dword [ebp + 0xc]
mov dword [ebp + 0xc], edx
fstp dword [ebp + 8]
fild dword [ebp + 0xc]
fld dword [ebp + 8]
fld st(0)
fsubp st(2)
fxch st(1)
fmulp st(2)
faddp st(1)
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fst dword [esi + 0x64]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x4f8c25
fld dword [esi + 0x60]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x4f8c25
xor eax, eax
mov word [esi + 0x5c], ax
jmp 0x4f8c60
mov ecx, dword [0x576b54]
mov edx, dword [0x576b50]
mov eax, dword [0x576b5c]
push ecx
mov ecx, dword [0x576b58]
push edx
push eax
push ecx
call fcn.00513700
add eax, dword [0x576b60]
adc edx, dword [0x576b64]
mov dword [0x576b50], eax
mov dword [0x576b54], edx
mov word [esi + 0x5c], dx
mov edx, dword [0x576b54]
mov eax, dword [0x576b50]
mov ecx, dword [0x576b5c]
push edx
mov edx, dword [0x576b58]
push eax
push ecx
push edx
call fcn.00513700
add eax, dword [0x576b60]
mov ecx, 0x7ffff
adc edx, dword [0x576b64]
mov dword [0x576b50], eax
mov eax, edx
mov dword [0x576b54], edx
mul ecx
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
test edx, edx
jns 0x4f8cb0
fadd dword [0x554b74]
fdiv st(2)
fstp dword [ebp + 0xc]
fld dword [edi + 0x7c]
fstp dword [ebp + 8]
fld dword [edi + 0x80]
fld dword [ebp + 8]
fld st(0)
fsubp st(2)
fld dword [ebp + 0xc]
fld st(0)
fmulp st(3)
fxch st(2)
faddp st(1)
fstp dword [ebp + 0xc]
fld dword [ebp + 0xc]
fst dword [esi + 0x74]
fld dword [edi + 0x84]
fstp dword [ebp + 0xc]
fld dword [edi + 0x88]
fld dword [ebp + 0xc]
fld st(0)
fsubp st(2)
fxch st(1)
fmulp st(3)
faddp st(2)
fxch st(1)
fstp dword [ebp + 0xc]
fsubr dword [ebp + 0xc]
fdiv dword [edi]
fstp dword [esi + 0x78]
mov edx, dword [0x576b54]
mov eax, dword [0x576b50]
mov ecx, dword [0x576b5c]
push edx
mov edx, dword [0x576b58]
push eax
push ecx
push edx
call fcn.00513700
add eax, dword [0x576b60]
mov ecx, 0x7ffff
adc edx, dword [0x576b64]
mov dword [0x576b50], eax
mov eax, edx
mov dword [0x576b54], edx
mul ecx
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
test edx, edx
jns 0x4f8d55
fadd dword [0x554b74]
fdiv st(2)
fstp dword [ebp + 0xc]
fld dword [edi + 0x6c]
fstp dword [ebp + 8]
fld dword [edi + 0x70]
fld dword [ebp + 8]
fld st(0)
fsubp st(2)
fld dword [ebp + 0xc]
fld st(0)
fmulp st(3)
fxch st(2)
faddp st(1)
fstp dword [esi + 0x68]
fld dword [edi + 0x74]
fstp dword [ebp + 0xc]
fld dword [edi + 0x78]
fld dword [ebp + 0xc]
fld st(0)
fsubp st(2)
fxch st(1)
fmulp st(2)
faddp st(1)
fstp dword [esi + 0x6c]
mov edx, dword [0x576b54]
mov eax, dword [0x576b50]
mov ecx, dword [0x576b5c]
push edx
mov edx, dword [0x576b58]
push eax
push ecx
push edx
call fcn.00513700
add eax, dword [0x576b60]
mov ecx, 0x7ffff
adc edx, dword [0x576b64]
mov dword [0x576b50], eax
mov dword [0x576b54], edx
fld dword [edi + 0x8c]
mov eax, edx
fstp dword [ebp + 8]
mul ecx
mov dword [ebp + 0xc], edx
fild dword [ebp + 0xc]
test edx, edx
jns 0x4f8dea
fadd dword [0x554b74]
fdivrp st(2)
movzx ecx, word [esi + 0x44]
fxch st(1)
fstp dword [ebp + 0xc]
fld dword [edi + 0x90]
fld dword [ebp + 8]
fld st(0)
fsubp st(2)
fxch st(1)
fmul dword [ebp + 0xc]
faddp st(1)
fstp dword [esi + 0x70]
test cx, cx
jne 0x4f8e60
fld dword [0x554bd0]
fstp dword [esi + 0x94]
fld1
fst dword [esi + 0x98]
fst dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
fxch st(1)
fst dword [ebp - 0x14]
mov dword [esi + 0x84], edx
mov eax, dword [ebp - 0x14]
fstp dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x88], eax
fstp dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
fstp st(0)
lea eax, [ecx + 0x4000]
movzx eax, ax
shr eax, 4
add eax, 0x400
fld dword [eax*4 + 0x546b98]
and eax, 0xfff
fstp dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
fld dword [eax*4 + 0x547b98]
mov dword [esi + 0x84], edx
fstp dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x88], eax
mov eax, ecx
shr eax, 4
add eax, 0x400
fld dword [eax*4 + 0x546b98]
and eax, 0xfff
fstp dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
fld dword [eax*4 + 0x547b98]
mov dword [esi + 0x8c], edx
fstp dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x90], eax
lea eax, [ecx + 0xdff2]
cdq
mov ecx, 0xfff0
idiv ecx
movzx eax, dx
shr eax, 4
add eax, 0x400
fld dword [eax*4 + 0x546b98]
and eax, 0xfff
fld qword [0x554f18]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0x94]
fmul dword [eax*4 + 0x547b98]
fstp dword [esi + 0x98]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8