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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov edi, dword [esp + 0x50]
call dword [sym.imp.libpcaewin.dll_CurOb_Application_Number]
mov ebx, eax
sub eax, 0x72
cmp eax, 1
jbe 0x515dd8
cmp dword [0x8592c0], 1
jle 0x515050
lea eax, [ebx - 0x68]
cmp eax, 1
jbe 0x5160b0
mov dword [esp + 0x18], 0
cmp ebx, 0x5e
je 0x515f20
mov esi, dword [edi + 0x188]
mov dword [esp + 0x28], 1
test esi, esi
je 0x515076
lea esi, [esi]
nop
test esi, 4
je 0x515121
jmp 0x5150b7
cmp ebx, 0x5e
mov esi, 1
mov eax, 7
mov dword [esp + 0x18], 0
cmovne eax, esi
mov dword [esp + 0x28], eax
mov esi, dword [edi + 0x188]
test esi, esi
jne 0x515040
mov ebp, dword [0x755318]
mov eax, ebp
and eax, 2
cmp eax, 1
sbb esi, esi
and esi, 0xfffffc40
add esi, 0x140fbde
cmp eax, 1
sbb eax, eax
and eax, 0xfffffc40
add eax, 0x3de
test ebp, 4
cmove esi, eax
mov eax, esi
or eax, 0x6be0000
and ebp, 0x10
cmovne esi, eax
fld qword [0x858cb8]
mov eax, dword [0x858d14]
mov dword [edi + 4], eax
mov eax, dword [0x858d0c]
fstp qword [edi + 0x1b0]
fld qword [0x858cb0]
mov dword [edi + 8], eax
mov eax, dword [0x858d08]
fstp qword [edi + 0x1e0]
fld qword [0x858ca8]
mov dword [edi + 0xc], eax
mov eax, ebx
and eax, 0xffffffef
fstp qword [edi + 0x1e8]
fld qword [0x858ca0]
cmp eax, 0x69
mov eax, 2
cmovne eax, dword [0x858d10]
fstp qword [edi + 0x1b8]
fld qword [0x858c98]
mov dword [edi], eax
fstp qword [edi + 0x1f0]
test esi, 8
je 0x515159
fld qword [0x858cd0]
fstp qword [edi + 0x190]
fld qword [0x858cc8]
fstp qword [edi + 0x198]
fld qword [0x858cd8]
fstp qword [edi + 0x1a0]
fld qword [0x858ce0]
fstp qword [edi + 0x1a8]
test esi, 0x10
je 0x51519d
fld qword [0x858cf0]
fstp qword [edi + 0x1c0]
fld qword [0x858cf8]
fstp qword [edi + 0x1c8]
fld qword [0x858d00]
fstp qword [edi + 0x1d0]
fld qword [0x858cc0]
fstp qword [edi + 0x1d8]
fld qword [0x858ce8]
fstp qword [edi + 0x200]
test esi, 0x40
je 0x5151d7
mov eax, dword [0x858c94]
mov ebp, dword [0x858c68]
fldz
mov dword [edi + 0x10], eax
mov eax, dword [0x858c90]
mov dword [edi + 0x14], eax
mov eax, dword [0x858c78]
mov dword [edi + 0x34], eax
test ebp, ebp
je 0x5151d1
fstp st(0)
fld qword [0x858c60]
fstp qword [edi + 0x1f8]
test esi, 0x80
je 0x515224
mov eax, dword [0x858c88]
mov ecx, dword [0x858c80]
mov dword [edi + 0x1c], eax
mov eax, dword [0x858c8c]
mov dword [edi + 0x18], eax
mov eax, dword [0x858c84]
mov dword [edi + 0x20], eax
mov eax, dword [0x858c7c]
mov dword [edi + 0x28], eax
mov eax, dword [0x858c70]
mov dword [edi + 0x2c], eax
mov eax, dword [0x858c74]
mov dword [edi + 0x30], eax
test ecx, ecx
jne 0x515e00
mov dword [edi + 0x24], 0
test esi, 0x100
je 0x5152ab
fld qword [0x858c10]
mov eax, dword [0x858c5c]
mov edx, dword [0x858c0c]
mov dword [edi + 0x40], eax
mov eax, 3
fstp qword [edi + 0x230]
fld qword [0x858c40]
fstp qword [edi + 0x228]
test edx, edx
je 0x515260
mov eax, dword [0x858c4c]
fld qword [0x858c30]
mov dword [edi + 0x48], eax
mov eax, dword [0x858c48]
fstp qword [edi + 0x208]
fld qword [0x858c28]
mov dword [edi + 0x4c], eax
mov eax, dword [0x858c58]
fstp qword [edi + 0x210]
fld qword [0x858c20]
mov dword [edi + 0x38], eax
mov eax, dword [0x858c50]
fstp qword [edi + 0x218]
fld qword [0x858c18]
mov dword [edi + 0x44], eax
fstp qword [edi + 0x220]
test esi, 0x200
je 0x5152c7
mov eax, dword [0x858c54]
fld qword [0x858c38]
mov dword [edi + 0x3c], eax
fstp qword [edi + 0x238]
test esi, 0x800
je 0x5154aa
mov eax, dword [0x858bdc]
fld qword [0x858b98]
mov ebp, dword [0x858c08]
mov dword [edi + 0x74], eax
mov eax, dword [0x858c04]
fstp qword [edi + 0x240]
fld qword [0x858b70]
mov dword [edi + 0x54], eax
mov eax, dword [0x858bec]
mov dword [edi + 0x50], ebp
mov dword [edi + 0x60], eax
fstp qword [edi + 0x250]
test eax, eax
je 0x515338
cmp ebx, 0x67
je 0x515e80
cmp ebx, 0x5e
je 0x515e80
cmp ebx, 0x68
je 0x5160d0
mov eax, dword [0x858bd0]
mov dword [edi + 0x60], eax
lea esi, [esi]
nop
mov eax, dword [0x858bf0]
fldz
mov dword [edi + 0x64], eax
mov eax, dword [0x858bf4]
test eax, eax
je 0x515353
fstp st(0)
fld qword [0x858b88]
fstp qword [edi + 0x2c8]
fld qword [0x858b40]
mov eax, dword [0x858bcc]
mov dword [edi + 0x80], eax
mov eax, dword [0x858bc8]
fstp qword [edi + 0x568]
fld qword [0x858b58]
mov dword [edi + 0x68], eax
mov eax, dword [0x858804]
fstp qword [edi + 0x2e0]
fld qword [0x858b50]
mov dword [0x8587f4], eax
mov eax, dword [0x858800]
fstp qword [edi + 0x2e8]
fld qword [0x858b48]
mov dword [0x8587f0], eax
mov eax, dword [esp + 0x28]
fstp qword [edi + 0x2f0]
mov dword [esp], eax
call fcn.004fce10
cmp ebp, eax
jne 0x51540c
fld qword [0x858b38]
fstp qword [edi + 0x248]
fld qword [0x858b30]
fchs
fstp qword [edi + 0x258]
fld qword [0x858b28]
fchs
fstp qword [edi + 0x260]
fld qword [0x858b20]
fstp qword [edi + 0x268]
fld qword [0x858b18]
fstp qword [edi + 0x270]
fld qword [0x858b10]
fstp qword [edi + 0x278]
mov eax, dword [esp + 0x18]
mov ebp, dword [edi + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004fd290
cmp ebp, eax
jne 0x515457
fld qword [0x858b08]
fstp qword [edi + 0x288]
fld qword [0x858b00]
fstp qword [edi + 0x290]
fld qword [0x858af8]
fstp qword [edi + 0x298]
fld qword [0x858af0]
fstp qword [edi + 0x2a0]
mov ebp, dword [0x858bbc]
test ebp, ebp
je 0x515e30
mov eax, dword [0x858bb8]
mov ebp, dword [0x858bb4]
xor edx, edx
add eax, 1
cmp ebp, 0xa
mov dword [edi + 0x84], eax
lea eax, [ebp + 1]
mov ebp, dword [0x858bb0]
cmove eax, edx
cmp ebp, 4
mov dword [edi + 0x88], eax
lea eax, [ebp + 1]
cmove eax, edx
mov dword [edi + 0x8c], eax
mov eax, dword [0x858be0]
mov dword [edi + 0x98], eax
test esi, 0x1000000
je 0x5154d4
mov eax, dword [0x858bc4]
fld qword [0x858b68]
mov dword [edi + 0x90], eax
mov eax, dword [0x858bc0]
fstp qword [edi + 0x2f8]
mov dword [edi + 0x94], eax
test esi, 0x1000
je 0x5155d8
mov eax, dword [0x858bfc]
mov ebp, dword [0x858be8]
fld qword [0x858b80]
mov dword [edi + 0x5c], eax
mov eax, dword [0x858c00]
mov dword [edi + 0x6c], ebp
mov ebp, dword [0x858bf8]
mov dword [edi + 0x58], eax
fstp qword [edi + 0x570]
test ebp, ebp
je 0x515e60
mov ebp, dword [0x858ba4]
fldz
mov dword [edi + 0x144], ebp
mov ebp, dword [0x858be4]
fstp qword [edi + 0x280]
fld qword [0x858b78]
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x70], ebp
mov ebp, dword [0x858bd4]
fstp qword [edi + 0x2d0]
fld qword [0x858b60]
mov dword [edi + 0x7c], ebp
mov ebp, dword [0x858ba0]
fstp qword [edi + 0x2d8]
mov dword [edi + 0x14c], ebp
mov ebp, dword [0x791fc8]
add ebp, dword [0x791fcc]
test ecx, ecx
je 0x515ec0
mov ecx, dword [0x858bd8]
mov dword [edi + 0x78], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004fbab0
cmp eax, ebp
jne 0x5155c2
fld qword [edi + 0x288]
fstp qword [edi + 0x2a8]
fld qword [edi + 0x290]
fstp qword [edi + 0x2b0]
fld qword [edi + 0x298]
fstp qword [edi + 0x2b8]
fld qword [edi + 0x2a0]
fstp qword [edi + 0x2c0]
mov eax, dword [0x858bac]
mov dword [edi + 0x530], eax
mov eax, dword [0x858ba8]
mov dword [edi + 0x534], eax
test esi, 0x2000
je 0x51562e
fld qword [0x858ab0]
mov eax, dword [0x858ae8]
mov dword [edi + 0xa0], eax
fstp qword [edi + 0x300]
fld qword [0x858a48]
fstp qword [edi + 0x308]
fld qword [0x7855c0]
fadd qword [0x858a70]
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
or ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp dword [edi + 0xb4]
fldcw word [esp + 0x2e]
test esi, 0x4000
je 0x515729
fld qword [0x858a58]
mov eax, dword [0x858ad8]
mov edx, dword [0x858a30]
mov dword [edi + 0x9c], eax
mov eax, dword [0x858acc]
fstp qword [edi + 0x328]
fld qword [0x858a50]
mov dword [edi + 0xb8], eax
mov eax, 3
fstp qword [edi + 0x478]
fld qword [0x858a98]
fstp qword [edi + 0x320]
fld qword [0x858a90]
fstp qword [edi + 0x330]
fld qword [0x858a88]
fstp qword [edi + 0x338]
fld qword [0x858a80]
fstp qword [edi + 0x340]
fld qword [0x858a78]
fstp qword [edi + 0x348]
test edx, edx
je 0x5156b8
mov eax, dword [0x858ad0]
mov dword [edi + 0xa8], eax
mov eax, dword [0x858ae0]
mov dword [edi + 0xc4], 0xffffffff
mov dword [edi + 0xac], eax
mov eax, dword [0x858adc]
mov dword [edi + 0xb0], eax
mov eax, dword [0x858ac4]
test eax, eax
je 0x515e70
cmp eax, 1
mov ebp, 4
cmove eax, ebp
mov dword [edi + 0x540], eax
mov eax, dword [0x858ac0]
fld qword [0x858a38]
mov dword [edi + 0x548], eax
mov eax, dword [0x858abc]
mov dword [edi + 0xc8], eax
mov eax, dword [0x858ab8]
fstp qword [edi + 0x550]
mov dword [edi + 0x154], eax
test esi, 0x8000
je 0x5157db
mov eax, dword [0x858ae4]
mov dword [edi + 0xa4], eax
mov eax, dword [0x858ad4]
mov dword [edi + 0xbc], eax
cmp eax, 1
je 0x515f30
fld qword [0x858aa8]
fst qword [edi + 0x310]
fld qword [0x858aa0]
fstp qword [edi + 0x318]
mov eax, dword [esp + 0x28]
fstp qword [esp + 0x20]
fld qword [0x858b38]
mov dword [esp + 0xc], eax
mov eax, dword [0x858c08]
fstp qword [esp + 4]
mov dword [esp], eax
call fcn.004fe780
fld qword [esp + 0x20]
cmp dword [0x858ad4], 1
fdivrp st(1)
fstp qword [edi + 0x578]
je 0x515ea0
mov eax, dword [esp + 0x28]
fld qword [0x858aa0]
mov dword [esp + 0xc], eax
mov eax, dword [0x858c04]
fstp qword [esp + 0x20]
fld qword [0x858b08]
mov dword [esp], eax
fstp qword [esp + 4]
call fcn.004fe7e0
fdivr qword [esp + 0x20]
fstp qword [edi + 0x580]
test esi, 0x400000
je 0x5157fa
mov eax, dword [0x858ac8]
fld qword [0x858a40]
mov dword [edi + 0xc0], eax
fstp qword [edi + 0x350]
test esi, 0x20000
je 0x5159f9
mov eax, dword [0x8589fc]
fld qword [0x8589a8]
mov ebp, dword [0x858a2c]
mov dword [edi + 0xec], eax
mov eax, dword [0x858a28]
mov dword [edi + 0xcc], ebp
mov dword [edi + 0xd0], eax
mov eax, dword [0x858a0c]
fstp qword [edi + 0x358]
mov dword [edi + 0xdc], eax
test eax, eax
je 0x515870
cmp ebx, 0x67
je 0x515e90
cmp ebx, 0x5e
je 0x515e90
cmp ebx, 0x68
je 0x5160c0
mov eax, dword [0x8589f0]
mov dword [edi + 0xdc], eax
lea esi, [esi]
mov eax, dword [0x858a14]
fldz
mov dword [edi + 0xe0], eax
mov eax, dword [0x858a18]
test eax, eax
je 0x51588e
fstp st(0)
fld qword [0x858998]
fstp qword [edi + 0x3e0]
fld qword [0x858980]
mov eax, dword [0x858a00]
mov dword [edi + 0xf8], eax
mov eax, dword [0x8587fc]
fstp qword [edi + 0x3f8]
fld qword [0x858970]
mov dword [0x8587ec], eax
mov eax, dword [0x8587f8]
fstp qword [edi + 0x400]
fld qword [0x858978]
mov dword [0x8587e8], eax
mov eax, dword [esp + 0x28]
fstp qword [edi + 0x408]
mov dword [esp], eax
call fcn.004fce10
cmp ebp, eax
jne 0x515933
fld qword [0x858950]
fstp qword [edi + 0x360]
fld qword [0x858948]
fchs
fstp qword [edi + 0x370]
fld qword [0x858940]
fchs
fstp qword [edi + 0x378]
fld qword [0x858938]
fstp qword [edi + 0x380]
fld qword [0x858930]
fstp qword [edi + 0x388]
fld qword [0x858928]
fstp qword [edi + 0x390]
mov eax, dword [esp + 0x18]
mov ebx, dword [edi + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004fd290
cmp ebx, eax
jne 0x515981
fld qword [0x858920]
fstp qword [edi + 0x3a0]
fld qword [0x858918]
fstp qword [edi + 0x3a8]
fld qword [0x858910]
fstp qword [edi + 0x3b0]
fld qword [0x858908]
fstp qword [edi + 0x3b8]
mov eax, dword [0x8589ec]
mov ebp, dword [0x8589dc]
mov dword [edi + 0x124], eax
test ebp, ebp
je 0x515e20
mov eax, dword [0x8589d8]
mov ebp, dword [0x8589d4]
xor ebx, ebx
add eax, 1
cmp ebp, 0xa
mov dword [edi + 0x128], eax
lea eax, [ebp + 1]
mov ebp, dword [0x8589d0]
cmove eax, ebx
cmp ebp, 4
mov dword [edi + 0x12c], eax
lea eax, [ebp + 1]
cmove eax, ebx
mov dword [edi + 0x130], eax
mov eax, dword [0x858a10]
mov ebx, dword [0x8589b0]
fldz
mov dword [edi + 0x13c], eax
test ebx, ebx
je 0x5159f3
fstp st(0)
fld qword [0x858958]
fstp qword [edi + 0x4c0]
test esi, 0x2000000
je 0x515a23
mov eax, dword [0x8589e8]
fld qword [0x858968]
mov dword [edi + 0x134], eax
mov eax, dword [0x8589e4]
fstp qword [edi + 0x460]
mov dword [edi + 0x138], eax
test esi, 0x40000
je 0x515b39
mov eax, dword [0x858a20]
mov ebx, dword [0x858a08]
fld qword [0x858850]
mov dword [edi + 0xd8], eax
mov eax, dword [0x858a24]
mov dword [edi + 0xe4], ebx
mov ebx, dword [0x858a1c]
mov dword [edi + 0xd4], eax
fstp qword [edi + 0x468]
test ebx, ebx
je 0x515e50
mov ebx, dword [0x8589bc]
fldz
mov dword [edi + 0x148], ebx
mov ebx, dword [0x858a04]
fstp qword [edi + 0x398]
fld qword [0x858988]
mov ecx, dword [esp + 0x18]
mov dword [edi + 0xe8], ebx
mov ebx, dword [0x8589f4]
fstp qword [edi + 0x3e8]
fld qword [0x858990]
mov dword [edi + 0xf4], ebx
mov ebx, dword [0x8589b8]
fstp qword [edi + 0x3f0]
mov dword [edi + 0x150], ebx
mov ebx, dword [0x791fc8]
add ebx, dword [0x791fcc]
test ecx, ecx
je 0x515ef0
mov edx, dword [0x8589f8]
mov dword [edi + 0xf0], edx
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004fbab0
cmp eax, ebx
jne 0x515b23
fld qword [edi + 0x3a0]
fstp qword [edi + 0x3c0]
fld qword [edi + 0x3a8]
fstp qword [edi + 0x3c8]
fld qword [edi + 0x3b0]
fstp qword [edi + 0x3d0]
fld qword [edi + 0x3b8]
fstp qword [edi + 0x3d8]
mov eax, dword [0x8589cc]
mov dword [edi + 0x538], eax
mov eax, dword [0x8589c8]
mov dword [edi + 0x53c], eax
test esi, 0x100000
je 0x515c2a
fld qword [0x858870]
mov eax, dword [0x8588f0]
mov edx, dword [0x858818]
mov dword [edi + 0xfc], eax
mov eax, dword [0x8588e4]
fstp qword [edi + 0x438]
fld qword [0x858868]
mov dword [edi + 0x11c], eax
mov eax, 3
fstp qword [edi + 0x480]
fld qword [0x8588b0]
fstp qword [edi + 0x430]
fld qword [0x8588a8]
fstp qword [edi + 0x440]
fld qword [0x8588a0]
fstp qword [edi + 0x448]
fld qword [0x858898]
fstp qword [edi + 0x450]
fld qword [0x858890]
fstp qword [edi + 0x458]
test edx, edx
je 0x515bc3
mov eax, dword [0x8588e8]
mov dword [edi + 0x108], eax
mov eax, dword [0x8588f8]
mov dword [edi + 0x10c], eax
mov eax, dword [0x8588f4]
mov dword [edi + 0x110], eax
mov eax, dword [0x8588e0]
test eax, eax
je 0x515e40
cmp eax, 1
mov ebx, 4
cmove eax, ebx
mov dword [edi + 0x544], eax
mov eax, dword [0x8589c4]
fld qword [0x858858]
mov dword [edi + 0x54c], eax
mov eax, dword [0x8589c0]
mov dword [edi + 0x114], eax
mov eax, dword [0x8589b4]
fstp qword [edi + 0x558]
mov dword [edi + 0x158], eax
test esi, 0x200000
je 0x515cdc
mov eax, dword [0x8588fc]
mov dword [edi + 0x104], eax
mov eax, dword [0x8588ec]
mov dword [edi + 0x120], eax
cmp eax, 1
je 0x515fd8
fld qword [0x8588c0]
fst qword [edi + 0x420]
fld qword [0x8588b8]
fstp qword [edi + 0x428]
mov eax, dword [esp + 0x28]
fstp qword [esp + 0x18]
fld qword [0x858950]
mov dword [esp + 0xc], eax
mov eax, dword [0x858a2c]
fstp qword [esp + 4]
mov dword [esp], eax
call fcn.004fe780
fld qword [esp + 0x18]
cmp dword [0x8588ec], 1
fdivrp st(1)
fstp qword [edi + 0x588]
je 0x515eb0
mov eax, dword [esp + 0x28]
fld qword [0x8588b8]
mov dword [esp + 0xc], eax
mov eax, dword [0x858a28]
fstp qword [esp + 0x18]
fld qword [0x858920]
mov dword [esp], eax
fstp qword [esp + 4]
call fcn.004fe7e0
fdivr qword [esp + 0x18]
fstp qword [edi + 0x590]
test esi, 0x80000
je 0x515d32
fld qword [0x8588c8]
mov eax, dword [0x858900]
mov dword [edi + 0x100], eax
fstp qword [edi + 0x410]
fld qword [0x858860]
fstp qword [edi + 0x418]
fld qword [0x7855c0]
fadd qword [0x858888]
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
or ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp dword [edi + 0x118]
fldcw word [esp + 0x2e]
test esi, 0x800000
je 0x515d51
mov eax, dword [0x8589e0]
fld qword [0x858960]
mov dword [edi + 0x140], eax
fstp qword [edi + 0x470]
and esi, 0x4000000
je 0x515dc1
fld qword [0x858848]
mov eax, dword [0x8588dc]
mov dword [edi + 0x15c], eax
mov eax, dword [0x8588d8]
fstp qword [edi + 0x498]
fld qword [0x858840]
mov dword [edi + 0x160], eax
mov eax, dword [0x8588d4]
fstp qword [edi + 0x4a0]
fld qword [0x858838]
mov dword [edi + 0x164], eax
mov eax, dword [0x8588d0]
fstp qword [edi + 0x4a8]
fld qword [0x858830]
mov dword [edi + 0x168], eax
fstp qword [edi + 0x4b0]
fld qword [0x858828]
fstp qword [edi + 0x4b8]
mov dword [esp + 0x50], edi
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.005079d0
xor eax, eax
sub ebx, 0xa
cmp dword [0x8592c0], 1
mov dword [esp + 0x28], 4
setg al
mov dword [esp + 0x18], eax
jmp 0x51506c
xor eax, eax
cmp dword [0x858c6c], 2
setne al
add eax, 1
mov dword [edi + 0x24], eax
jmp 0x515224
mov dword [edi + 0x128], 0
jmp 0x5159d4
mov dword [edi + 0x84], 0
jmp 0x51549f
mov eax, 1
jmp 0x515bf7
fld qword [0x8589a0]
jmp 0x515a73
fld qword [0x858b90]
jmp 0x51551b
mov eax, 1
jmp 0x5156f6
mov dword [edi + 0x60], 3
jmp 0x515338
mov dword [edi + 0xdc], 3
jmp 0x515870
fld qword [0x858a60]
jmp 0x5157d5
fld qword [0x858878]
jmp 0x515cd6
mov edx, dword [esp + 0x28]
mov dword [edi + 0x78], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004fbab0
cmp eax, ebp
jg 0x516070
mov eax, dword [edi + 0x58]
jmp 0x51557e
mov dword [edi + 0xf0], 0
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.004fbab0
cmp eax, ebx
jg 0x516090
mov eax, dword [edi + 0xd4]
jmp 0x515adf
mov dword [esp + 0x28], 7
jmp 0x51506c
mov eax, dword [esp + 0x28]
fld qword [0x858b38]
mov dword [esp + 0xc], eax
mov eax, dword [0x858c08]
fstp qword [esp + 4]
mov dword [esp], eax
call fcn.004fe780
fmul qword [0x858a68]
cmp dword [0x858ad4], 1
fstp qword [edi + 0x310]
je 0x515f88
fld qword [0x858aa0]
fstp qword [edi + 0x318]
jmp 0x515f78
fstp st(0)
lea esi, [esi]
fld qword [0x858aa8]
jmp 0x51576c
mov eax, dword [esp + 0x28]
fld qword [0x858b08]
mov dword [esp + 0xc], eax
mov eax, dword [0x858c04]
fstp qword [esp + 4]
mov dword [esp], eax
call fcn.004fe7e0
cmp dword [0x858ad4], 1
fld qword [0x858a60]
fmul st(1), st(0)
fxch st(1)
fstp qword [edi + 0x318]
jne 0x515f72
fld qword [0x858a68]
fstp qword [edi + 0x578]
jmp 0x5157d5
mov eax, dword [esp + 0x28]
fld qword [0x858950]
mov dword [esp + 0xc], eax
mov eax, dword [0x858a2c]
fstp qword [esp + 4]
mov dword [esp], eax
call fcn.004fe780
fmul qword [0x858880]
cmp dword [0x8588ec], 1
fstp qword [edi + 0x420]
je 0x516020
fld qword [0x8588c0]
jmp 0x515c61
mov eax, dword [esp + 0x28]
fld qword [0x858920]
mov dword [esp + 0xc], eax
mov eax, dword [0x858a28]
fstp qword [esp + 4]
mov dword [esp], eax
call fcn.004fe7e0
cmp dword [0x8588ec], 1
fld qword [0x858878]
fmul st(1), st(0)
fxch st(1)
fstp qword [edi + 0x428]
jne 0x5160e0
fld qword [0x858880]
fstp qword [edi + 0x588]
jmp 0x515cd6
mov eax, dword [esp + 0x28]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.004fbf80
mov dword [edi + 0x58], eax
jmp 0x51557e
mov dword [esp + 4], 1
mov dword [esp], ebx
call fcn.004fbf80
mov dword [edi + 0xd4], eax
jmp 0x515adf
mov dword [esp + 0x18], 1
jmp 0x515025
mov dword [edi + 0xdc], 2
jmp 0x515870
mov dword [edi + 0x60], 2
jmp 0x515338
fstp st(0)
fld qword [0x8588c0]
jmp 0x515c6d