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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x510
push 1
push 9
call fcn.00649bf0
pop ecx
pop ecx
push 3
push 2
call fcn.00649bf0
pop ecx
pop ecx
push 0
push 0xc
call fcn.00649bf0
pop ecx
pop ecx
push 1
call fcn.004ab080
xor dl, dl
cmp word [eax + 0x18], 0
pop ecx
je 0x55738c
xor ebx, ebx
cmp word [eax + 0x42], 0
jne 0x557386
inc ebx
test bl, bl
je 0x55738c
mov dl, 1
test dl, dl
je 0x5573a1
xor eax, eax
cmp byte [0xa10b4d], 0
jne 0x55739c
inc eax
mov byte [0xa10b4d], al
cmp byte [0xa10afe], 1
mov al, byte [0x7e46fd]
jne 0x5573c0
add esp, 0x510
pop ebp
pop edi
pop esi
pop ebx
ret
cmp byte [0xa10b4d], 1
jne 0x55ab3d
test al, al
jne 0x55ab3d
cmp byte [0x709788], 0
jne 0x5573ef
mov byte [0x709788], 1
mov dword [0x709784], 0
cmp byte [0x709790], 0
jne 0x557409
mov byte [0x709790], 1
mov dword [0x70978c], 0
movzx eax, byte [0xa10b03]
xor bl, bl
mov byte [esp + 0xc], 0
mov byte [esp + 8], 0
imul eax, eax, 0x2e
mov ebp, dword [eax*8 + 0x94ad30]
movzx eax, byte [0x7e4706]
imul eax, eax, 0x73
mov di, word [eax*4 + 0x7e4824]
cmp di, 7
je 0x557456
cmp di, 8
je 0x557456
cmp di, 0x22
je 0x557456
cmp di, 0x2d
je 0x557456
cmp di, 0x2e
jne 0x557481
test ebp, ebp
je 0x557481
movsx ecx, byte [ebp + 0x504]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
add ecx, ebp
add ecx, 0x408
call fcn.005c9bb0
test al, al
jne 0x557481
mov byte [esp + 8], 1
movzx eax, byte [0x7e4706]
imul eax, eax, 0x1cc
mov si, word [eax + 0x7e4824]
cmp si, 0x2a
je 0x5574a7
cmp si, 0x28
je 0x5574a7
cmp si, 0x27
jne 0x5574a9
mov bl, 1
mov ecx, 0x7e4690
add ecx, eax
add ecx, 0x188
call fcn.004758b0
test al, al
je 0x5574db
push 0
call fcn.004ab080
pop ecx
mov ecx, eax
call fcn.004aac20
test al, al
je 0x5574f0
cmp byte [0x7e46e6], 0
jne 0x5574f0
movzx eax, byte [0x7e4706]
imul eax, eax, 0x73
cmp word [eax*4 + 0x7e4824], 0x29
jne 0x55752e
test ebp, ebp
je 0x55752e
mov eax, dword [ebp + 0x244]
cmp eax, 0x3a
je 0x55752e
cmp eax, 0x38
je 0x55752e
movsx eax, byte [ebp + 0x504]
lea eax, [eax + eax*2]
mov ecx, dword [ebp + eax*8 + 0x408]
cmp ecx, 0x11
jl 0x55751f
cmp ecx, 0x1b
jle 0x55752c
lea eax, [ecx - 0x20]
cmp eax, 1
jbe 0x55752c
cmp ecx, 0x1f
jne 0x55752e
mov bl, 1
cmp byte [esp + 8], 0
jne 0x55753d
test bl, bl
je 0x558140
push 2
push 9
call fcn.00649bf0
pop ecx
pop ecx
push 0
push 8
call fcn.00649bf0
movsx eax, word [0xa10988]
fldz
pop ecx
pop ecx
inc eax
cmp eax, 0x1e
jle 0x557567
mov eax, 0x1e
mov edx, dword [0x974b34]
mov word [0xa10988], ax
and edx, 0x3ff
mov dword [esp + 0x6c], 0
mov eax, edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x68], eax
fild qword [esp + 0x68]
fmul dword [0x697b00]
fsin
fnstsw ax
test eax, 0x400
je 0x5575a7
call fcn.00642970
fsin
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fstp st(1)
fld dword [0x697b04]
fmul st(1)
fadd dword [0x697b08]
movsx eax, word [0xa10988]
test bl, bl
fstp dword [esp + 0x20]
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
fmul dword [0x697b0c]
fmul dword [esp + 0x20]
fstp dword [esp + 0x20]
je 0x55bcf5
movzx ecx, byte [0x7e4706]
fstp st(0)
imul ecx, ecx, 0x1cc
add ecx, 0x7e4690
add ecx, 0x188
call fcn.004758b0
test al, al
je 0x557821
fild dword [0x9b48ec]
test ebp, ebp
fmul dword [0xa0d924]
fstp dword [esp + 0x24]
fild dword [0x9b48f0]
fmul dword [0xa0d92c]
fstp dword [esp + 0x28]
je 0x557740
movsx eax, byte [ebp + 0x504]
lea eax, [eax + eax*2]
mov edi, dword [ebp + eax*8 + 0x408]
cmp edi, 0x1a
je 0x55765c
cmp edi, 0x1b
je 0x55765c
cmp edi, 0x20
jne 0x557740
lea ecx, [esp + 0x324]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
fldz
fldz
fild dword [0x9b48ec]
lea esi, [esp + 0x324]
mov ecx, 0xa1084c
push dword [0x697b18]
fmul dword [0x697a70]
push dword [0x697b18]
push dword [0x697b18]
fmul dword [0x697b10]
push dword [0x697a64]
push dword [0x697a64]
fmul dword [0x697b14]
push dword [0x697b18]
push dword [0x697a64]
fstp st(1)
fld dword [esp + 0x40]
fsub st(1)
fstp st(2)
push dword [0x697a64]
fld st(1)
fstp dword [esp + 0x334]
fild dword [0x9b48f0]
lea eax, [esp + 0x334]
push esi
push eax
fmul dword [0x697a68]
fmul dword [0x697b10]
fmul dword [0x697b14]
fstp st(2)
fld dword [esp + 0x50]
fsub st(2)
fstp dword [esp + 0x348]
fld dword [esp + 0x4c]
fadd st(1)
fstp dword [esp + 0x344]
fld dword [esp + 0x50]
fadd st(2)
fstp dword [esp + 0x340]
fcompp
call fcn.005786c0
jmp 0x558108
lea ecx, [esp + 0x338]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
fldz
fldz
fild dword [0x9b48ec]
lea edi, [esp + 0x338]
mov ecx, 0xa1084c
push dword [0x697b18]
fmul dword [0x697a70]
push dword [0x697b18]
push dword [0x697b18]
fmul dword [0x697b10]
push dword [0x697a64]
push dword [0x697a64]
fmul dword [0x697b1c]
push dword [0x697b18]
push dword [0x697a64]
fstp st(1)
fld dword [esp + 0x40]
fsub st(1)
fstp st(2)
push dword [0x697a64]
fld st(1)
fstp dword [esp + 0x348]
fild dword [0x9b48f0]
lea eax, [esp + 0x348]
push edi
push eax
fmul dword [0x697a68]
fmul dword [0x697b10]
fmul dword [0x697b1c]
fstp st(2)
fld dword [esp + 0x50]
fsub st(2)
fstp dword [esp + 0x35c]
fld dword [esp + 0x4c]
fadd st(1)
fstp dword [esp + 0x358]
fld dword [esp + 0x50]
fadd st(2)
fstp dword [esp + 0x354]
fcompp
call fcn.005786c0
jmp 0x558108
movzx eax, byte [0x7e4706]
imul eax, eax, 0x73
mov cx, word [eax*4 + 0x7e4824]
cmp cx, 0x22
je 0x557849
cmp cx, 0x2a
je 0x557849
cmp cx, 0x2d
jne 0x557963
lea ecx, [esp + 0x34c]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
mov edx, dword [0x9b48ec]
mov esi, dword [0x9b48f0]
mov dword [esp + 0x68], edx
cmp edx, 0x80000000
fldz
fldz
fild dword [esp + 0x68]
sbb edx, 0xffffffff
lea ebx, [esp + 0x34c]
sar edx, 1
cmp esi, 0x80000000
fmul dword [0x697a70]
mov dword [esp + 0x68], edx
mov ecx, 0xa1084c
push dword [0x697b18]
fmul dword [0x697b10]
push dword [0x697b18]
push dword [0x697b18]
fstp st(1)
fild dword [esp + 0x74]
mov dword [esp + 0x74], esi
sbb esi, 0xffffffff
fsub st(1)
fstp st(2)
sar esi, 1
fld st(1)
fstp dword [esp + 0x348]
fild dword [esp + 0x74]
mov dword [esp + 0x74], esi
lea eax, [esp + 0x348]
push dword [0x697a64]
fmul dword [0x697a68]
push dword [0x697a64]
push dword [0x697b18]
fmul dword [0x697b10]
push dword [0x697a64]
push dword [0x697a64]
fstp st(2)
fild dword [esp + 0x88]
mov dword [esp + 0x88], edx
push ebx
push eax
fsub st(2)
fstp dword [esp + 0x370]
fild dword [esp + 0x90]
mov dword [esp + 0x90], esi
fadd st(1)
fstp dword [esp + 0x36c]
fild dword [esp + 0x90]
fadd st(2)
fstp dword [esp + 0x368]
fcompp
call fcn.005786c0
jmp 0x558108
cmp cx, 0x29
jne 0x557a93
lea ecx, [esp + 0x360]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
mov edi, dword [0x9b48ec]
mov esi, dword [0x9b48f0]
mov dword [esp + 0x68], edi
cmp edi, 0x80000000
fldz
fldz
fild dword [esp + 0x68]
sbb edi, 0xffffffff
lea ecx, [esp + 0x360]
sar edi, 1
cmp esi, 0x80000000
fmul dword [0x697a70]
mov dword [esp + 0x68], edi
push dword [0x697b18]
fmul dword [0x697b10]
push dword [0x697b18]
push dword [0x697b18]
fmul dword [0x697b20]
push dword [0x697a64]
push dword [0x697a64]
fstp st(1)
fild dword [esp + 0x7c]
mov dword [esp + 0x7c], esi
sbb esi, 0xffffffff
fsub st(1)
fstp st(2)
sar esi, 1
fld st(1)
fstp dword [esp + 0x364]
fild dword [esp + 0x7c]
mov dword [esp + 0x7c], esi
lea eax, [esp + 0x364]
push dword [0x697b18]
fmul dword [0x697a68]
push dword [0x697a64]
push dword [0x697a64]
fmul dword [0x697b10]
push ecx
push eax
mov ecx, 0xa1084c
fmul dword [0x697b20]
fstp st(2)
fild dword [esp + 0x90]
mov dword [esp + 0x90], edi
fsub st(2)
fstp dword [esp + 0x384]
fild dword [esp + 0x90]
mov dword [esp + 0x90], esi
fadd st(1)
fstp dword [esp + 0x380]
fild dword [esp + 0x90]
fadd st(2)
fstp dword [esp + 0x37c]
fcompp
call fcn.005786c0
jmp 0x558108
cmp cx, 8
je 0x557aa3
cmp cx, 0x28
jne 0x557c11
push 1
push 0xc
call fcn.00649bf0
pop ecx
pop ecx
push 2
push 0xa
call fcn.00649bf0
pop ecx
pop ecx
push 2
push 0xb
call fcn.00649bf0
pop ecx
pop ecx
push 0
push 6
call fcn.00649bf0
mov edx, dword [0x975370]
pop ecx
mov eax, dword [edx]
pop ecx
push eax
push 1
call fcn.00649bf0
fldz
fld dword [0x697b24]
fmul dword [esp + 0x28]
pop ecx
pop ecx
push 0xff
fst st(1)
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
mov esi, dword [0x9b48f0]
fistp dword [esp + 0x6c]
fldcw word [esp + 0x18]
fld dword [0x697b28]
fmul dword [esp + 0x24]
mov eax, dword [esp + 0x6c]
push dword [0x697b18]
push 0xff
push eax
fnstcw word [esp + 0x24]
mov eax, dword [esp + 0x24]
or byte [esp + 0x25], 0xc
fldcw word [esp + 0x24]
mov dword [esp + 0x24], eax
fistp dword [esp + 0x78]
mov eax, dword [esp + 0x78]
push eax
fldcw word [esp + 0x28]
fld st(0)
fnstcw word [esp + 0x28]
mov eax, dword [esp + 0x28]
or byte [esp + 0x29], 0xc
fldcw word [esp + 0x28]
mov dword [esp + 0x28], eax
cmp esi, 0x80000000
fistp dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x7c], esi
fldcw word [esp + 0x28]
fild dword [esp + 0x7c]
push eax
push eax
sbb esi, 0xffffffff
fmul dword [0x697a68]
sar esi, 1
fmul dword [0x697aa4]
fstp dword [esp]
mov edi, dword [0x9b48ec]
push eax
mov dword [esp + 0x88], edi
cmp edi, 0x80000000
fild dword [esp + 0x88]
sbb edi, 0xffffffff
sar edi, 1
fmul dword [0x697a70]
fmul dword [0x697aa4]
fstp dword [esp]
mov dword [esp + 0x88], esi
fild dword [esp + 0x88]
push dword [0x697b18]
push eax
fstp dword [esp]
mov dword [esp + 0x90], edi
push eax
fild dword [esp + 0x94]
fstp dword [esp]
fstp st(0)
call fcn.00577000
add esp, 0x2c
push 0
push 0xc
call fcn.00649bf0
pop ecx
pop ecx
push 1
push 8
jmp 0x558101
mov esi, dword [0x9b48ec]
mov edi, dword [0x9b48f0]
mov eax, esi
mov ebx, 0x3f
cmp eax, 0x80000000
sbb eax, 0xffffffff
sar eax, 1
mov dword [esp + 0x68], eax
mov eax, edi
cmp eax, 0x80000000
fild dword [esp + 0x68]
sbb eax, 0xffffffff
sar eax, 1
mov dword [esp + 0x68], eax
fstp dword [esp + 0x2c]
fild dword [esp + 0x68]
mov dword [esp + 0x68], esi
fstp dword [esp + 0x30]
fild dword [esp + 0x68]
mov dword [esp + 0x68], edi
fmul dword [0x697a70]
fmul dword [0x697b2c]
fstp dword [esp + 0x34]
fild dword [esp + 0x68]
fmul dword [0x697a68]
fmul dword [0x697b2c]
fstp dword [esp + 0x38]
call fcn.004bc140
movsx ecx, byte [eax + 0x504]
lea ecx, [ecx + ecx*2]
mov eax, dword [eax + ecx*8 + 0x408]
cmp eax, 0x1d
jne 0x557ca2
mov ebx, 0x41
call fcn.004bc140
movsx edx, byte [eax + 0x504]
lea edx, [edx + edx*2]
mov eax, dword [eax + edx*8 + 0x408]
cmp eax, 0x24
jne 0x557d26
mov eax, dword [0x9b48ec]
mov edi, dword [0x9b48f0]
mov dword [esp + 0x68], eax
mov ebx, 0x43
fild dword [esp + 0x68]
mov dword [esp + 0x68], edi
mov byte [esp + 0xc], 1
fmul dword [0x697a6c]
fstp dword [esp + 0x2c]
fild dword [esp + 0x68]
mov dword [esp + 0x68], eax
fmul dword [0x697a6c]
fstp dword [esp + 0x30]
fild dword [esp + 0x68]
mov dword [esp + 0x68], edi
fmul dword [0x697a70]
fmul dword [0x697b30]
fstp dword [esp + 0x34]
fild dword [esp + 0x68]
fmul dword [0x697a68]
fmul dword [0x697b34]
fstp dword [esp + 0x38]
lea ecx, [esp + 0x374]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
fld dword [esp + 0x2c]
fsub dword [esp + 0x34]
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x374]
mov dword [esp + 0x36c], esi
fstp dword [esp + 0x5c]
fld dword [esp + 0x30]
fsub dword [esp + 0x38]
mov eax, dword [esp + 0x5c]
movsx esi, bx
mov dword [esp + 0x364], eax
fstp dword [esp + 0x58]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x370], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x368], eax
lea esi, [esi*4]
add esi, 0xa1074c
lea eax, [esp + 0x364]
push dword [0x697b18]
push dword [0x697b18]
push dword [0x697b18]
push dword [0x697b38]
push dword [0x697a64]
push dword [0x697b18]
push dword [0x697b38]
push dword [0x697b38]
push ecx
push eax
mov ecx, esi
call fcn.005786c0
lea ecx, [esp + 0x388]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
fld dword [esp + 0x2c]
fadd dword [esp + 0x34]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x384], eax
mov eax, dword [esp + 0x30]
lea ebx, [esp + 0x388]
mov dword [esp + 0x378], edx
mov dword [esp + 0x37c], eax
lea eax, [esp + 0x378]
mov ecx, esi
fstp dword [esp + 0x60]
mov edi, dword [esp + 0x60]
push dword [0x697b18]
push dword [0x697b38]
push dword [0x697b18]
push dword [0x697b3c]
push dword [0x697b38]
push dword [0x697b38]
push dword [0x697a64]
push dword [0x697b3c]
push ebx
push eax
mov dword [esp + 0x3a8], edi
call fcn.005786c0
lea ecx, [esp + 0x39c]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
fld dword [esp + 0x30]
fadd dword [esp + 0x38]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x38c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x394], eax
lea ebx, [esp + 0x39c]
fstp dword [esp + 0x64]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x398], ecx
mov dword [esp + 0x390], eax
lea eax, [esp + 0x38c]
mov ecx, esi
push dword [0x697b38]
push dword [0x697b18]
push dword [0x697b38]
push dword [0x697b38]
push dword [0x697b3c]
push dword [0x697b18]
push dword [0x697b3c]
push dword [0x697b38]
push ebx
push eax
call fcn.005786c0
lea ecx, [esp + 0x3b0]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x3ac], eax
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x3b0]
mov dword [esp + 0x3a0], edx
mov dword [esp + 0x3a4], eax
lea eax, [esp + 0x3a0]
mov edi, dword [esp + 0x60]
push dword [0x697b38]
push dword [0x697b38]
push dword [0x697b38]
push dword [0x697b3c]
push dword [0x697b3c]
push dword [0x697b38]
push dword [0x697b3c]
push dword [0x697b3c]
push ecx
push eax
mov ecx, esi
mov dword [esp + 0x3d0], edi
call fcn.005786c0
call fcn.004bc140
movsx edx, byte [eax + 0x504]
lea edx, [edx + edx*2]
mov eax, dword [eax + edx*8 + 0x408]
cmp eax, 0x1d
jne 0x558108
mov dword [esp + 0x304], 0x41c80000
call fcn.004bc140
lea ecx, [esp + 0x308]
lea ebx, [esp + 0x304]
push ebx
push ecx
movsx ecx, byte [eax + 0x504]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
add ecx, eax
add ecx, 0x408
call fcn.005cca00
test al, al
je 0x558108
push 0
push 6
call fcn.00649bf0
pop ecx
pop ecx
push 1
push 0xc
call fcn.00649bf0
pop ecx
pop ecx
push 0
push 8
call fcn.00649bf0
pop ecx
pop ecx
push 5
push 0xa
call fcn.00649bf0
pop ecx
pop ecx
push 8
push 0xb
call fcn.00649bf0
mov ebx, dword [0x97531c]
pop ecx
mov eax, dword [ebx]
pop ecx
push eax
push 1
call fcn.00649bf0
pop ecx
pop ecx
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
push 0x7f
push dword [0x697b18]
fmul dword [0x697b44]
fmul dword [0x697b40]
fnstcw word [esp + 0x1c]
mov eax, dword [esp + 0x1c]
or byte [esp + 0x1d], 0xc
fldcw word [esp + 0x1c]
mov dword [esp + 0x1c], eax
fistp dword [esp + 0x70]
fldcw word [esp + 0x1c]
fild dword [0x9b48f0]
mov eax, dword [esp + 0x70]
add al, 0xdc
fmul dword [0x697a68]
movzx edx, al
fmul dword [esp + 0x30c]
push edx
push 0
push 0
push eax
push eax
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [esp + 0x324]
fstp dword [esp]
push dword [esp + 0x330]
push dword [esp + 0x330]
push dword [esp + 0x330]
call fcn.00577000
add esp, 0x2c
push 0
push 0xc
call fcn.00649bf0
pop ecx
pop ecx
push 5
push 0xa
call fcn.00649bf0
pop ecx
pop ecx
push 6
push 0xb
call fcn.00649bf0
pop ecx
pop ecx
push 1
push 8
call fcn.00649bf0
cmp byte [esp + 0x14], 0
pop ecx
pop ecx
je 0x558149
add esp, 0x510
pop ebp
pop edi
pop esi
pop ebx
ret
mov word [0xa10988], 0
movzx ecx, byte [0xa10b03]
mov esi, dword [0xa102a8]
imul ecx, ecx, 0x2e
mov eax, dword [ecx*8 + 0x94add4]
cmp esi, eax
je 0x558190
push 1
push 2
call fcn.0055bd40
movzx ebx, byte [0xa10b03]
fstp dword [esp + 0x44]
pop ecx
pop ecx
imul ebx, ebx, 0x2e
mov eax, dword [ebx*8 + 0x94add4]
mov dword [0xa102a8], eax
jmp 0x55819f
push 0
push 2
call fcn.0055bd40
fstp dword [esp + 0x44]
pop ecx
pop ecx
cmp dword [0xa10930], 0
je 0x558337
movzx edx, byte [0xa10b03]
imul edx, edx, 0x2e
mov eax, dword [edx*8 + 0x94add4]
push eax
lea eax, [esp + 0x74]
push 0x697b48
push eax
call fcn.00648c60
lea eax, [esp + 0x7c]
add esp, 0xc
lea edi, [esp + 0x138]
push edi
push eax
call fcn.00552520
pop ecx
pop ecx
call fcn.00550050
call fcn.005500f0
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697b50]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697b20]
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
call fcn.00550130
call fcn.00550080
push dword [0x697a64]
call fcn.0054fff0
pop ecx
call fcn.005500a0
push 2
call fcn.00550000
pop ecx
call fcn.00550050
push 2
call fcn.0054ff40
fld dword [esp + 0x40]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x3b4]
push eax
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x3b4]
push eax
call fcn.0054ff50
fld dword [esp + 0x40]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x3b8]
push eax
push 0x85
push 0xcf
push 0
call fcn.00541590
lea eax, [esp + 0x3b8]
push eax
call fcn.00550190
cmp byte [0x869642], 0
pop ecx
je 0x558337
fild dword [0x9b48f0]
lea eax, [esp + 0x138]
push eax
push eax
fmul dword [0x697a68]
fmul dword [0x697b54]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697b58]
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
add esp, 0xc
movzx ecx, byte [0xa10b03]
mov edx, dword [0x978db0]
imul ecx, ecx, 0x2e
mov eax, dword [ecx*8 + 0x94ad30]
mov edi, dword [eax + 0x5f4]
mov eax, dword [edi + 0x24]
mov esi, dword [edi + 0x20]
mov dword [esp + 4], eax
movsx ebx, byte [ebp + 0x504]
lea ebx, [ebx + ebx*2]
mov eax, dword [ebp + ebx*8 + 0x408]
cmp edx, eax
je 0x5583a0
push 1
push 3
call fcn.0055bd40
pop ecx
pop ecx
fstp dword [esp + 0x40]
movsx ecx, byte [ebp + 0x504]
lea ecx, [ecx + ecx*2]
mov eax, dword [ebp + ecx*8 + 0x408]
mov dword [0x978db0], eax
jmp 0x5583af
push 0
push 3
call fcn.0055bd40
fstp dword [esp + 0x48]
pop ecx
pop ecx
cmp dword [0x978810], 0
je 0x558955
movsx edx, byte [ebp + 0x504]
lea edx, [edx*8]
lea edx, [edx + edx*2]
mov eax, dword [ebp + edx + 0x414]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + edx + 0x408]
push eax
call fcn.005d5730
mov eax, dword [eax + 0x10]
pop ecx
cmp eax, 1
jle 0x5584a7
cmp eax, 0x3e8
jge 0x5584a7
movsx eax, byte [ebp + 0x504]
lea eax, [eax*8]
lea eax, [eax + eax*2]
cmp dword [ebp + eax + 0x408], 0x1f
jne 0x558472
lea edi, [eax + ebp + 0x408]
mov edx, dword [esp + 0x10]
mov eax, edi
sub edx, dword [edi + 8]
mov ebx, dword [eax + 8]
mov eax, 0x66666667
mov ecx, edx
imul edx
shr ecx, 0x1f
sar edx, 2
add ecx, edx
cmp ecx, 0x270f
jle 0x558449
mov ecx, 0x270f
mov eax, 0x66666667
mov edx, ebx
mov edi, edx
imul edx
shr edi, 0x1f
lea eax, [esp + 0x70]
sar edx, 2
add edi, edx
push edi
push ecx
push 0x697b5c
push eax
call fcn.00648c60
add esp, 0x10
jmp 0x5584bd
lea ebx, [eax + ebp + 0x408]
mov eax, ebx
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x10]
sub eax, dword [ebx + 8]
cmp eax, 0x270f
jle 0x558491
mov eax, 0x270f
push edx
push eax
lea eax, [esp + 0x78]
push 0x697b5c
push eax
call fcn.00648c60
add esp, 0x10
jmp 0x5584bd
lea eax, [esp + 0x70]
push dword [esp + 0x10]
push 0x697b64
push eax
call fcn.00648c60
add esp, 0xc
lea eax, [esp + 0x70]
lea ebx, [esp + 0x138]
push ebx
push eax
call fcn.00552520
movsx eax, byte [ebp + 0x504]
pop ecx
pop ecx
lea eax, [eax*8]
lea eax, [eax + eax*2]
add eax, ebp
add eax, 0x408
mov edx, dword [eax]
mov edi, eax
push edx
mov ebx, dword [edi]
call fcn.005d5730
cmp byte [0x869642], 0
pop ecx
je 0x55874f
mov edx, dword [eax + 0x54]
test edx, edx
jle 0x558650
mov edx, dword [edx*4 + 0x92d4d0]
mov ecx, dword [0x9b6a54]
mov eax, edx
movsx ebx, word [eax + 0x26]
mov eax, ecx
mov edi, dword [eax + 4]
movzx eax, byte [edi + ebx]
and eax, 0x80
je 0x558535
xor edi, edi
jmp 0x55853f
lea edi, [ebx + ebx*8]
lea edi, [edi + edi*2]
add edi, ebx
add edi, dword [ecx]
mov eax, dword [edi]
add edx, 4
test eax, eax
je 0x55874f
push edx
push eax
call fcn.0064e0b0
mov edi, eax
pop ecx
test edi, edi
pop ecx
je 0x55874f
push 2
push 9
call fcn.00649bf0
pop ecx
pop ecx
push 0
push 6
call fcn.00649bf0
mov eax, dword [edi]
pop ecx
pop ecx
push eax
push 1
call fcn.00649bf0
fldz
fldz
fldz
fldz
fild dword [0x9b48f0]
pop ecx
pop ecx
push 0xff
fmul dword [0x697a68]
push dword [0x697b18]
push 0xff
fstp st(3)
fld dword [0x697b68]
fmul st(3)
fmul dword [0x697a6c]
push 0xff
push 0xff
fstp st(4)
push 0xff
push eax
fld st(3)
fstp dword [esp]
mov ebx, dword [0x9b48ec]
push eax
mov dword [esp + 0x88], ebx
fild dword [esp + 0x88]
fmul dword [0x697a70]
fstp st(1)
fld dword [0x697b68]
fmul st(1)
fmul dword [0x697a6c]
fstp st(2)
fld st(1)
fstp dword [esp]
fld dword [0x697b6c]
push dword [0x697b18]
push eax
fmul st(3)
fadd st(4)
fstp dword [esp]
fld dword [0x697b70]
mov dword [esp + 0x90], ebx
push eax
fmul st(1)
fisubr dword [esp + 0x94]
fadd st(2)
fstp dword [esp]
fcompp
fcompp
call fcn.00577000
add esp, 0x2c
push 0
push 8
call fcn.00649bf0
pop ecx
pop ecx
jmp 0x55874f
push 2
push 9
call fcn.00649bf0
cmp byte [0x869642], 0
pop ecx
pop ecx
je 0x55874f
fld dword [esp + 0x40]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x3cc]
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
push eax
push 0xff
push 0xff
push 0xff
call fcn.00541590
mov edx, dword [0x9b48ec]
lea edi, [esp + 0x3cc]
mov dword [esp + 0x68], edx
push edi
fldz
fldz
fldz
fldz
fild dword [esp + 0x6c]
mov dword [esp + 0x6c], edx
fmul dword [0x697a70]
fstp st(3)
fld dword [0x697b70]
fmul st(3)
fisubr dword [esp + 0x6c]
fstp st(2)
fld st(1)
fstp st(4)
fld st(3)
fstp dword [esp + 0x3c0]
fild dword [0x9b48f0]
lea eax, [esp + 0x3c0]
push eax
fmul dword [0x697a68]
fstp st(4)
fld dword [0x697b6c]
fmul st(4)
fst st(1)
fstp dword [esp + 0x3d0]
fld dword [0x697b68]
fmul st(3)
fadd st(2)
fstp dword [esp + 0x3cc]
fld dword [0x697b68]
fmul st(4)
fadd st(1)
fstp dword [esp + 0x3c8]
lea ebx, [ebx*4]
fcompp
fcompp
add ebx, 0xa1074c
mov ecx, ebx
call fcn.00578730
call fcn.005500f0
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697b74]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697a6c]
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
call fcn.00550160
call fcn.00550140
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697a78]
fstp dword [esp]
call fcn.00550110
pop ecx
call fcn.00550040
push 0
call fcn.0054ff40
pop ecx
push 1
call fcn.00550000
pop ecx
mov eax, dword [esp + 0x10]
movsx ecx, byte [ebp + 0x504]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
add ecx, ebp
add ecx, 0x408
mov edx, ecx
sub eax, dword [edx + 8]
cmp eax, 0x270f
jle 0x5587f5
mov dword [esp + 0x10], 0x270f
jmp 0x558800
mov eax, dword [esp + 0x10]
sub eax, dword [ecx + 8]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0x270f
je 0x558955
call fcn.00429fc0
test al, al
jne 0x558955
movsx ebx, byte [ebp + 0x504]
lea ebx, [ebx*8]
lea ebx, [ebx + ebx*2]
mov eax, dword [ebp + ebx + 0x408]
test eax, eax
je 0x558955
cmp eax, 0x22
je 0x558955
mov eax, dword [ebp + ebx + 0x408]
push eax
call fcn.005d5730
cmp dword [eax + 0x60], 1
pop ecx
jle 0x558955
push 2
call fcn.0054ff40
fld dword [esp + 0x44]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x3d0]
push eax
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x3d0]
push eax
call fcn.0054ff50
fld dword [esp + 0x44]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x3d4]
push eax
push 0xe1
push 0x96
push 0xff
call fcn.00541590
lea eax, [esp + 0x3d4]
push eax
call fcn.00550190
cmp byte [0x869642], 0
pop ecx
je 0x55894d
fild dword [0x9b48f0]
lea eax, [esp + 0x138]
push eax
push eax
fmul dword [0x697a68]
fmul dword [0x697b78]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697b7c]
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
add esp, 0xc
push 0
call fcn.0054ff40
pop ecx
movzx edx, byte [0xa10b03]
mov edi, dword [0x974c00]
imul edx, edx, 0x2e
mov eax, dword [edx*8 + 0x94ae0c]
cmp edi, eax
je 0x558995
push 1
push 1
call fcn.0055bd40
movzx ebx, byte [0xa10b03]
fstp st(0)
pop ecx
pop ecx
imul ebx, ebx, 0x2e
mov eax, dword [ebx*8 + 0x94ae0c]
mov dword [0x974c00], eax
jmp 0x5589a2
push 0
push 1
call fcn.0055bd40
fstp st(0)
pop ecx
pop ecx
cmp dword [0x9786d8], 0
je 0x558f8c
call fcn.005500f0
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697b50]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697b20]
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
call fcn.00550160
call fcn.00550130
push dword [0x697a64]
call fcn.0054fff0
pop ecx
call fcn.00550080
call fcn.00550050
push 2
call fcn.00550000
pop ecx
push 2
call fcn.0054ff40
pop ecx
lea ecx, [esp + 0x3d8]
push 0xff
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x3d8]
push eax
call fcn.0054ff50
cmp word [0xa10a4c], 4
pop ecx
fldz
jne 0x558a52
mov eax, dword [0xa0d8a0]
and eax, 8
jne 0x558aac
cmp word [0xa10a4c], 4
jne 0x558aac
movzx ecx, byte [0xa10b03]
imul ecx, ecx, 0x2e
mov eax, dword [ecx*8 + 0x94ad30]
fld dword [eax + 0x354]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
cmp ax, 0xa
jge 0x55bd00
mov eax, dword [0xa0d8a0]
and eax, 8
je 0x55bd07
movzx edx, byte [0xa10b03]
imul edx, edx, 0x2e
mov eax, dword [edx*8 + 0x94ad30]
fld dword [eax + 0x354]
fst st(1)
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
cmp ax, 0xa
jge 0x558b27
fld st(0)
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
cmp ax, 0xa
jge 0x55bd10
mov eax, dword [0xa0d8a0]
and eax, 8
je 0x55bd17
lea ebp, [esp + 0x2dc]
mov byte [esp + 0x2c8], 0x7b
mov byte [esp + 0x2c9], 0
lea eax, [esp + 0x2c8]
push ebp
push eax
fstp st(0)
call fcn.00552520
movzx ebx, byte [0xa10b03]
pop ecx
pop ecx
imul ebx, ebx, 0x2e
mov eax, dword [ebx*8 + 0x94ad30]
fld dword [eax + 0x354]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
fldcw word [esp + 0x14]
movsx eax, cx
push eax
lea eax, [esp + 0x74]
push 0x697b80
push eax
call fcn.00648c60
lea eax, [esp + 0x7c]
add esp, 0xc
lea edi, [esp + 0x138]
push edi
push eax
call fcn.00552520
pop ecx
pop ecx
lea ecx, [esp + 0x3dc]
push 0xff
push 0xe1
push 0x96
push 0xff
call fcn.00541590
lea eax, [esp + 0x3dc]
push eax
call fcn.00550190
cmp byte [0x869642], 0
pop ecx
je 0x558d1c
fild dword [0x9b48f0]
lea eax, [esp + 0x138]
push eax
push eax
fmul dword [0x697a68]
fmul dword [0x697b88]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697b58]
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
movzx eax, byte [0xa10b03]
add esp, 0xc
imul eax, eax, 0x2e
mov eax, dword [eax*8 + 0x94ae0c]
test eax, eax
je 0x558c68
add eax, 0x7d0
cmp dword [0x974b34], eax
ja 0x558c68
mov eax, dword [0xa0d8a0]
and eax, 4
je 0x558d1c
fild dword [0x9b48ec]
lea ecx, [esp + 0x3e0]
push 0xff
fmul dword [0x697a70]
push 0xe1
push 0x96
fmul dword [0x697b8c]
fnstcw word [esp + 0x20]
mov eax, dword [esp + 0x20]
or byte [esp + 0x21], 0xc
fldcw word [esp + 0x20]
mov dword [esp + 0x20], eax
fistp dword [esp + 0x74]
fldcw word [esp + 0x20]
push 0xff
mov edi, dword [esp + 0x78]
call fcn.00541590
lea eax, [esp + 0x3e0]
push eax
call fcn.00550190
fild dword [0x9b48f0]
lea eax, [esp + 0x2e0]
pop ecx
push eax
push eax
fmul dword [0x697a68]
fmul dword [0x697b88]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697b58]
fisubr dword [esp + 0x74]
mov dword [esp + 0x74], edi
fisub dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
add esp, 0xc
cmp word [0xa10a4c], 3
jne 0x558d30
mov eax, dword [0xa0d8a0]
and eax, 8
jne 0x558d3e
cmp word [0xa10a4c], 3
je 0x558f8c
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697b50]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697b20]
fstp dword [esp]
call fcn.00550250
movzx edx, byte [0xa10b03]
pop ecx
pop ecx
imul edx, edx, 0x2e
mov eax, dword [edx*8 + 0x94ad30]
fld dword [eax + 0x358]
fcomp dword [0x697b18]
fnstsw ax
test ah, 0x45
jne 0x558f8c
lea ebp, [esp + 0x2dc]
mov byte [esp + 0x2c8], 0x3c
mov byte [esp + 0x2c9], 0
lea eax, [esp + 0x2c8]
push ebp
push eax
call fcn.00552520
movzx ebx, byte [0xa10b03]
pop ecx
pop ecx
imul ebx, ebx, 0x2e
mov eax, dword [ebx*8 + 0x94ad30]
fld dword [eax + 0x358]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
fldcw word [esp + 0x14]
movsx eax, cx
push eax
lea eax, [esp + 0x74]
push 0x697b80
push eax
call fcn.00648c60
lea eax, [esp + 0x7c]
add esp, 0xc
lea edx, [esp + 0x138]
push edx
push eax
call fcn.00552520
cmp byte [0x869642], 0
pop ecx
pop ecx
je 0x558f8c
lea ecx, [esp + 0x3e4]
push 0xff
push 0xb9
push 0xb9
push 0xb9
call fcn.00541590
lea eax, [esp + 0x3e4]
push eax
call fcn.00550190
fild dword [0x9b48f0]
lea eax, [esp + 0x13c]
pop ecx
push eax
push eax
fmul dword [0x697a68]
fmul dword [0x697b88]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697b90]
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
movzx eax, byte [0xa10b03]
add esp, 0xc
imul eax, eax, 0x2e
mov eax, dword [eax*8 + 0x94ae10]
test eax, eax
je 0x558ed8
add eax, 0x7d0
cmp dword [0x974b34], eax
ja 0x558ed8
mov eax, dword [0xa0d8a0]
and eax, 4
je 0x558f8c
fild dword [0x9b48ec]
lea ecx, [esp + 0x3e8]
push 0xff
fmul dword [0x697a70]
push 0xb9
push 0xb9
fmul dword [0x697b94]
fnstcw word [esp + 0x20]
mov eax, dword [esp + 0x20]
or byte [esp + 0x21], 0xc
fldcw word [esp + 0x20]
mov dword [esp + 0x20], eax
fistp dword [esp + 0x74]
fldcw word [esp + 0x20]
push 0xb9
mov edi, dword [esp + 0x78]
call fcn.00541590
lea eax, [esp + 0x3e8]
push eax
call fcn.00550190
fild dword [0x9b48f0]
lea eax, [esp + 0x2e0]
pop ecx
push eax
push eax
fmul dword [0x697a68]
fmul dword [0x697b88]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697b90]
fisubr dword [esp + 0x74]
mov dword [esp + 0x74], edi
fisub dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
add esp, 0xc
cmp dword [0x978da0], esi
je 0x558fb0
push 1
push 0
call fcn.0055bd40
fstp dword [esp + 0x4c]
mov dword [0x978da0], esi
pop ecx
pop ecx
jmp 0x558fbf
push 0
push 0
call fcn.0055bd40
fstp dword [esp + 0x4c]
pop ecx
pop ecx
cmp dword [0x94db48], 0
je 0x5591f2
call fcn.005500f0
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697b50]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697b20]
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
call fcn.00550160
call fcn.00550130
call fcn.00550080
call fcn.00550040
push 1
call fcn.00550000
lea ebp, [esp + 0x2e0]
mov byte [esp + 0x2cc], 0x3e
mov byte [esp + 0x2cd], 0
lea eax, [esp + 0x2cc]
pop ecx
push ebp
push eax
call fcn.00552520
mov eax, dword [0x9b48ec]
pop ecx
mov dword [esp + 0x6c], eax
pop ecx
fild dword [esp + 0x68]
mov dword [esp + 0x68], eax
xor ebx, ebx
fmul dword [0x697a70]
fmul dword [0x697b58]
fisubr dword [esp + 0x68]
fstp dword [esp + 0x1c]
mov eax, eax
cmp byte [0x869642], 0
je 0x5591ce
cmp esi, ebx
jle 0x559100
movzx eax, byte [0xa10b03]
imul eax, eax, 0x2e
mov ecx, dword [eax*8 + 0x94ad30]
mov edx, dword [ecx + 0x5f4]
mov eax, dword [edx + 0xc]
add eax, 0x7d0
cmp dword [0x974b34], eax
ja 0x5590b2
mov eax, dword [0xa0d8a0]
and eax, 4
je 0x559100
fld dword [esp + 0x44]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x3ec]
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
push eax
push 0xf7
push 0xc2
push 0x61
call fcn.00541590
lea eax, [esp + 0x3ec]
jmp 0x55919d
cmp dword [esp + 4], ebx
jle 0x559157
mov eax, dword [0xa0d8a0]
and eax, 4
je 0x559157
fld dword [esp + 0x44]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x3f0]
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
push eax
push 0xbc
push 0x8d
push 0x3e
call fcn.00541590
lea eax, [esp + 0x3f0]
jmp 0x55919d
cmp esi, ebx
jg 0x5591ce
fld dword [esp + 0x44]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x3f4]
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
push eax
push 0x82
push 0x59
push 0x1b
call fcn.00541590
lea eax, [esp + 0x3f4]
push eax
call fcn.00550190
fild dword [0x9b48f0]
lea eax, [esp + 0x2e0]
pop ecx
push eax
push eax
fmul dword [0x697a68]
fmul dword [0x697b98]
fstp dword [esp]
push dword [esp + 0x24]
call fcn.00551060
add esp, 0xc
fild dword [0x9b48ec]
inc ebx
cmp ebx, 6
fmul dword [0x697a70]
fmul dword [0x697b9c]
fsubr dword [esp + 0x1c]
fstp dword [esp + 0x1c]
jl 0x559070
cmp byte [0x709798], 0
fldz
jne 0x55920e
mov byte [0x709798], 1
mov dword [0x709794], 0
cmp dword [0x97f2cc], 0
je 0x55bd30
movzx eax, byte [0xa10b03]
imul eax, eax, 0x2e
fld dword [eax*8 + 0x94ae6c]
fstp st(1)
fld dword [0x697b20]
fmul dword [0x978e14]
fcomp st(1)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x55bd20
fcom dword [0x697aa4]
fnstsw ax
test ah, 0x45
jne 0x55bd27
fstp st(0)
call fcn.0044fe30
test al, al
jne 0x5594f7
movzx eax, byte [0xa10b03]
imul eax, eax, 0x2e
fld dword [eax*8 + 0x94ae6c]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
fld dword [0x978e14]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x68]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
cmp eax, edi
je 0x5592f4
mov ecx, 0x94b228
push eax
push edi
push 0x697ba0
call fcn.00584f50
push eax
call fcn.00585860
pop ecx
push eax
push str._s__d___d_
push 0x7f8380
call fcn.00648c60
add esp, 0x14
jmp 0x55931e
mov ecx, 0x94b228
push edi
push 0x697ba0
call fcn.00584f50
push eax
call fcn.00585860
pop ecx
push eax
push 0x697bb4
push 0x7f8380
call fcn.00648c60
add esp, 0x10
push 0x821070
push 0x7f8380
call fcn.00552520
pop ecx
pop ecx
call fcn.005500f0
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697b50]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697b20]
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
call fcn.00550130
call fcn.00550080
push dword [0x697a64]
call fcn.0054fff0
pop ecx
call fcn.005500a0
push 2
call fcn.00550000
pop ecx
call fcn.00550040
push 2
call fcn.0054ff40
pop ecx
lea ecx, [esp + 0x3f8]
push 0xff
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x3f8]
push eax
call fcn.0054ff50
mov eax, dword [0x974b34]
pop ecx
and eax, 0x200
je 0x5593f0
lea ecx, [esp + 0x3fc]
push 0xb4
push 0xb9
push 0
push 0xcc
call fcn.00541590
lea eax, [esp + 0x3fc]
jmp 0x559414
lea ecx, [esp + 0x400]
push 0xb4
push 0xa2
push 0
push 0xb2
call fcn.00541590
lea eax, [esp + 0x400]
push eax
call fcn.00550190
pop ecx
fild dword [0x9b48f0]
push 0x821070
push eax
fmul dword [0x697a68]
fmul dword [0x697bbc]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697b58]
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
movzx eax, byte [0xa10b03]
add esp, 0xc
imul eax, eax, 0x2e
push dword [eax*8 + 0x94ae6c]
call fcn.004cdbce
cmp eax, dword [0x70979c]
pop ecx
je 0x559491
mov dword [0x70979c], eax
mov dword [0x709794], 0x64
cmp dword [0x709794], 0
je 0x559501
push eax
dec dword [0x709794]
push 0x821070
call fcn.00552490
fild dword [0x9b48f0]
pop ecx
pop ecx
push 0x821070
fmul dword [0x697a68]
push eax
fmul dword [0x697bc0]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697b58]
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
add esp, 0xc
jmp 0x559501
mov dword [0x709794], 0
cmp dword [0x975384], 0
je 0x559a02
mov eax, dword [0x983b8c]
mov ebp, dword [0x975384]
cmp ebp, eax
je 0x559597
mov edi, dword [0x978d18]
mov eax, edi
cmp eax, 4
ja case.default.0x55952a
jmp dword [eax*4 + 0x697ce4]
cmp dword [0xa0cfdc], 1
mov eax, dword [0x975384]
mov dword [0xa0d95c], eax
mov dword [0x978d18], 2
mov dword [0xa1029c], 0
mov dword [0x978598], 0
je 0x55956b
cmp dword [0xa0cfdc], 2
jne case.default.0x55952a
mov dword [0xa0cfdc], 3
jmp case.default.0x55952a
jmp case.0x55952a.2
mov dword [0x978598], 5
mov dword [0x978d18], 4
mov eax, dword [0x975384]
mov dword [0x983b8c], eax
fld dword [0x697af4]
cmp dword [0x978d18], 0
fstp dword [esp + 0x48]
je 0x559a02
mov ecx, dword [0x978d18]
mov eax, ecx
dec eax
cmp eax, 3
ja case.default.0x5595c0
jmp dword [eax*4 + 0x697cd4]
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp qword [esp + 0x68]
mov eax, dword [esp + 0x68]
add dword [0xa1029c], eax
fldcw word [esp + 0x14]
fild dword [0xa1029c]
fcomp dword [0x697a98]
fnstsw ax
test ah, 0x45
jne 0x559627
mov dword [0x978d18], 1
mov dword [0xa1029c], 0x3e8
fild dword [0xa1029c]
fmul dword [0x697bc4]
fmul dword [0x697af4]
fstp dword [esp + 0x48]
jmp case.default.0x5595c0
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp qword [esp + 0x68]
mov eax, dword [esp + 0x68]
sub dword [0xa1029c], eax
fldcw word [esp + 0x14]
fild dword [0xa1029c]
fcomp dword [0x697a64]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5596a5
mov dword [0x978d18], 0
mov dword [0xa1029c], 0
fild dword [0xa1029c]
fmul dword [0x697bc4]
fmul dword [0x697af4]
fstp dword [esp + 0x48]
jmp case.default.0x5595c0
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp qword [esp + 0x68]
mov eax, dword [esp + 0x68]
sub dword [0xa1029c], eax
fldcw word [esp + 0x14]
fild dword [0xa1029c]
fcomp dword [0x697a64]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x55972d
mov eax, dword [0x983b8c]
mov dword [0xa1029c], 0
mov dword [0xa0d95c], eax
mov dword [0x978d18], 2
fild dword [0xa1029c]
fmul dword [0x697bc4]
fmul dword [0x697af4]
fstp dword [esp + 0x48]
jmp case.default.0x5595c0
fld dword [0x697af4]
fstp dword [esp + 0x48]
fild dword [0x978598]
mov dword [0xa1029c], 0x3e8
fcomp dword [0x697bc8]
fnstsw ax
test ah, 0x45
jne case.default.0x5595c0
mov dword [0xa1029c], 0x3e8
mov dword [0x978d18], 3
cmp word [0x814f30], 0
jne 0x5599f8
fld dword [0x697a64]
fcomp dword [0x938264]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x5599f8
fld dword [0x697a64]
fcomp dword [0x938268]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x5599f8
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp qword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
add dword [0x978598], eax
call fcn.00550160
call fcn.00550040
call fcn.005500f0
cmp dword [0x869688], 4
jne 0x559843
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697bcc]
fstp dword [esp]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697bd0]
fmul dword [0x697b74]
jmp 0x55986b
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697bcc]
fstp dword [esp]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697bd0]
push eax
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
mov eax, dword [0x9b48f0]
mov dword [esp + 0x68], eax
push eax
fild dword [esp + 0x6c]
mov dword [esp + 0x6c], eax
fmul dword [0x697a68]
fmul dword [0x697bd4]
fisubr dword [esp + 0x6c]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x6c], eax
push eax
fild dword [esp + 0x70]
mov dword [esp + 0x70], eax
fmul dword [0x697a70]
fmul dword [0x697b10]
fisubr dword [esp + 0x70]
fstp dword [esp]
call fcn.00550230
pop ecx
pop ecx
push dword [0x697bd8]
call fcn.00550220
pop ecx
call fcn.00550080
push dword [0x697a64]
call fcn.0054fff0
pop ecx
call fcn.005500a0
push 2
call fcn.0054ff40
fld dword [esp + 0x4c]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x404]
push eax
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x404]
push eax
call fcn.0054ff50
pop ecx
push 0
call fcn.00550000
fld dword [esp + 0x4c]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x408]
push eax
push 0x5a
push 0x9b
push 0x2d
call fcn.00541590
lea eax, [esp + 0x408]
push eax
call fcn.00550190
cmp byte [0xa10b1d], 0
pop ecx
jne 0x5599ea
mov ebx, dword [0x9b48f0]
mov eax, dword [0xa0d95c]
mov dword [esp + 0x68], ebx
push eax
fild dword [esp + 0x6c]
mov dword [esp + 0x6c], ebx
push eax
fmul dword [0x697a68]
fmul dword [0x697bd4]
fisubr dword [esp + 0x70]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697b10]
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551640
add esp, 0xc
push dword [0x697a64]
call fcn.00550220
pop ecx
jmp 0x559a02
mov dword [0x978d18], 3
cmp dword [0xa0fca0], 0
jne 0x559a38
mov dword [0x97854c], 0
mov dword [0xa0cfdc], 0
mov dword [0xa0d9a8], 0
mov dword [0x978e54], 0
jmp 0x559ec2
mov eax, dword [0x97854c]
mov edx, dword [0xa0fca0]
cmp edx, eax
je 0x559abf
mov esi, dword [0xa0cfdc]
mov eax, esi
cmp eax, 4
ja case.default.0x559a54
jmp dword [eax*4 + 0x697cc0]
cmp dword [0x978d18], 1
mov eax, dword [0xa0fca0]
mov dword [0x974c38], eax
mov dword [0xa0cfdc], 2
mov dword [0xa0d9a8], 0
mov dword [0x978e54], 0
je 0x559a95
cmp dword [0x978d18], 2
jne case.default.0x559a54
mov dword [0x978d18], 3
jmp case.default.0x559a54
mov dword [0x978e54], 0
mov dword [0xa0cfdc], 4
mov eax, dword [0xa0fca0]
mov dword [0x97854c], eax
cmp dword [0xa0cfdc], 0
je 0x559ec2
mov ebp, dword [0xa0cfdc]
mov eax, ebp
dec eax
cmp eax, 3
ja case.default.0x559ade
jmp dword [eax*4 + 0x697cb0]
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp qword [esp + 0x68]
mov eax, dword [esp + 0x68]
add dword [0xa0d9a8], eax
fldcw word [esp + 0x14]
fild dword [0xa0d9a8]
fcomp dword [0x697a98]
fnstsw ax
test ah, 0x45
jne 0x559b45
mov dword [0xa0cfdc], 1
mov dword [0xa0d9a8], 0x3e8
fild dword [0xa0d9a8]
fmul dword [0x697bc4]
fmul dword [0x697af4]
fstp dword [esp + 0x18]
jmp case.default.0x559ade
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp qword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
sub dword [0xa0d9a8], eax
cmp dword [0xa0d9a8], 0
jge 0x559bb6
mov dword [0xa0cfdc], 0
mov dword [0xa0d9a8], 0
fild dword [0xa0d9a8]
fmul dword [0x697bc4]
fmul dword [0x697af4]
fstp dword [esp + 0x18]
jmp case.default.0x559ade
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp qword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
sub dword [0xa0d9a8], eax
cmp dword [0xa0d9a8], 0
jge 0x559c3b
mov eax, dword [0x97854c]
mov dword [0xa0d9a8], 0
mov dword [0x974c38], eax
mov dword [0x978e54], 0
mov dword [0xa0cfdc], 2
fild dword [0xa0d9a8]
fmul dword [0x697bc4]
fmul dword [0x697af4]
jmp 0x559c7c
fild dword [0x978e54]
fcomp dword [0x697bc8]
fnstsw ax
test ah, 0x45
jne 0x559c76
mov dword [0xa0d9a8], 0x3e8
mov dword [0xa0cfdc], 3
fld dword [0x697af4]
fstp dword [esp + 0x18]
cmp word [0x814f30], 0
jne 0x559ec2
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp qword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
add dword [0x978e54], eax
call fcn.00550160
call fcn.00550040
call fcn.005500f0
mov eax, dword [0x869688]
cmp eax, 3
je 0x559ce5
cmp eax, 4
jne 0x559d15
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697bcc]
fstp dword [esp]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697bd0]
fmul dword [0x697bdc]
jmp 0x559d3d
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697bcc]
fstp dword [esp]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697bd0]
push eax
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
mov eax, dword [0x9b48f0]
mov dword [esp + 0x68], eax
push eax
fild dword [esp + 0x6c]
mov dword [esp + 0x6c], eax
fmul dword [0x697a68]
fmul dword [0x697be0]
fisubr dword [esp + 0x6c]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x6c], eax
push eax
fild dword [esp + 0x70]
mov dword [esp + 0x70], eax
fmul dword [0x697a70]
fmul dword [0x697b10]
fisubr dword [esp + 0x70]
fstp dword [esp]
call fcn.00550230
pop ecx
pop ecx
push dword [0x697bd8]
call fcn.00550220
pop ecx
call fcn.00550080
push dword [0x697a64]
call fcn.0054fff0
pop ecx
call fcn.005500a0
push 0
call fcn.00550000
pop ecx
push 2
call fcn.0054ff40
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x40c]
push eax
push 0xf7
push 0xc2
push 0x61
call fcn.00541590
lea eax, [esp + 0x40c]
push eax
call fcn.00550190
fld dword [esp + 0x1c]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x410]
push eax
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x410]
push eax
call fcn.0054ff50
mov edx, dword [0x9b48f0]
mov eax, dword [0x974c38]
mov dword [esp + 0x6c], edx
pop ecx
fild dword [esp + 0x68]
mov dword [esp + 0x68], edx
push eax
push eax
fmul dword [0x697a68]
fmul dword [0x697be0]
fisubr dword [esp + 0x70]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697b10]
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551640
add esp, 0xc
push dword [0x697a64]
call fcn.00550220
pop ecx
cmp dword [0x9b6df4], 1
jne 0x55a019
call fcn.00550160
call fcn.00550130
call fcn.005500f0
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697b50]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697b20]
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
call fcn.005500a0
call fcn.00550050
push 2
call fcn.00550000
pop ecx
call fcn.00550080
push dword [0x697a64]
call fcn.0054fff0
pop ecx
push 2
call fcn.0054ff40
pop ecx
lea ecx, [esp + 0x414]
push 0xff
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x414]
push eax
call fcn.0054ff50
movzx ebx, byte [0xa10b9b]
movzx eax, byte [0xa10b74]
pop ecx
push ebx
push eax
lea eax, [esp + 0x78]
push 0x697be4
push eax
call fcn.00648c60
lea eax, [esp + 0x80]
add esp, 0x10
lea ecx, [esp + 0x138]
push ecx
push eax
call fcn.00552520
pop ecx
pop ecx
lea ecx, [esp + 0x418]
push 0xff
push 0xf7
push 0xc2
push 0x61
call fcn.00541590
lea eax, [esp + 0x418]
push eax
call fcn.00550190
cmp byte [0x869642], 0
pop ecx
je 0x55a019
fild dword [0x9b48f0]
lea eax, [esp + 0x138]
push eax
push eax
fmul dword [0x697a68]
fmul dword [0x697bf0]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697bf4]
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
add esp, 0xc
mov al, byte [0x9b6d38]
test al, al
jne 0x55a029
mov byte [0xa10b75], 0
xor ebp, ebp
xor esi, esi
lea eax, [eax]
cmp byte [esi + 0x9b6d76], 0
jne 0x55a043
movzx edi, bp
mov byte [edi + 0xa10b1a], 0
inc ebp
add esi, 0x3c
cmp bp, 3
jb 0x55a030
cmp byte [0x9b6df0], 1
jne 0x55a88c
cmp al, 1
mov esi, 0x9b6d00
jne 0x55a2d3
cmp byte [0xa10b75], 0
jne 0x55a079
mov word [0xa10a32], 1
cmp word [0xa10a32], 0
mov byte [0xa10b75], 1
je 0x55a0a4
inc word [0xa10a32]
cmp word [0xa10a32], 0x32
jle 0x55a0a4
mov word [0xa10a32], 0
mov eax, dword [0xa0d8a0]
and eax, 4
jne 0x55a0bc
cmp word [0xa10a32], 0
jne 0x55a2d3
lea eax, [esi + 0xe]
lea edx, [esp + 0x138]
push edx
push eax
call fcn.00552520
pop ecx
pop ecx
call fcn.00550040
call fcn.005500f0
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697b50]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697b20]
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
call fcn.00550080
push dword [0x697a64]
call fcn.0054fff0
pop ecx
push 2
call fcn.00550000
pop ecx
call fcn.00550050
call fcn.005500b0
push 2
call fcn.0054ff40
pop ecx
lea ecx, [esp + 0x41c]
push 0xff
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x41c]
push eax
call fcn.0054ff50
fild dword [0x9b48f0]
pop ecx
push eax
fmul dword [0x697a68]
fmul dword [0x697b50]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697b20]
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
lea ecx, [esp + 0x420]
push 0xff
push 0xf7
push 0xc2
push 0x61
call fcn.00541590
lea eax, [esp + 0x420]
push eax
call fcn.00550190
fild dword [0x9b48f0]
lea eax, [esp + 0x13c]
pop ecx
push eax
push eax
fmul dword [0x697a68]
fmul dword [0x697b58]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697bf8]
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
add esp, 0xc
call fcn.00550040
cmp byte [esi + 4], 0
je 0x55a2d3
add esi, 4
mov ecx, 0x94b228
push esi
call fcn.00584f50
push 2
mov edi, eax
call fcn.0054ff40
pop ecx
lea ecx, [esp + 0x424]
push 0xff
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x424]
push eax
call fcn.0054ff50
pop ecx
lea ecx, [esp + 0x428]
push 0xff
push 0xf7
push 0xc2
push 0x61
call fcn.00541590
lea eax, [esp + 0x428]
push eax
call fcn.00550190
fldz
fild dword [0x9b48f0]
pop ecx
push edi
push eax
fmul dword [0x697a68]
fmul dword [0x697b58]
fstp dword [esp]
mov edx, dword [0x9b48ec]
push eax
mov dword [esp + 0x74], edx
fild dword [esp + 0x74]
mov dword [esp + 0x74], edx
fmul dword [0x697a70]
fstp st(1)
fld dword [0x697bfc]
fmul st(1)
fld dword [0x697bf8]
fmul st(2)
fisubr dword [esp + 0x74]
fsubrp st(1)
fstp dword [esp]
fstp st(0)
call fcn.00551060
add esp, 0xc
xor ebp, ebp
mov ebx, 0x9b6d00
lea eax, [eax]
lea esi, [ebx + 0x3c]
cmp byte [esi + 0x3a], 1
jne 0x55a87e
movzx edi, bp
cmp byte [edi + 0xa10b1a], 0
jne 0x55a303
mov word [edi*2 + 0xa10938], 1
cmp word [edi*2 + 0xa10938], 0
mov byte [edi + 0xa10b1a], 1
je 0x55a332
inc word [edi*2 + 0xa10938]
cmp word [edi*2 + 0xa10938], 0x32
jle 0x55a332
mov word [edi*2 + 0xa10938], 0
mov eax, dword [0xa0d8a0]
and eax, 4
jne 0x55a34b
cmp word [edi*2 + 0xa10938], 0
jne 0x55a87e
cmp word [esi + 0xe], 0
jne 0x55a4c0
lea eax, [esi + 0x10]
lea ecx, [esp + 0x138]
push ecx
push eax
call fcn.00552520
pop ecx
pop ecx
call fcn.00550040
call fcn.005500f0
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697b50]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697b20]
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
call fcn.00550130
call fcn.00550080
push dword [0x697a64]
call fcn.0054fff0
pop ecx
push 2
call fcn.00550000
fild dword [0x9b48ec]
pop ecx
push eax
fmul dword [0x697a70]
fmul dword [0x697a78]
fstp dword [esp]
call fcn.00550120
pop ecx
call fcn.00550040
call fcn.005500b0
push 2
call fcn.0054ff40
pop ecx
lea ecx, [esp + 0x42c]
push 0xff
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x42c]
push eax
call fcn.0054ff50
pop ecx
lea ecx, [esp + 0x430]
push 0xff
push 0xf7
push 0xc2
push 0x61
call fcn.00541590
lea eax, [esp + 0x430]
push eax
call fcn.00550190
fldz
fild dword [0x9b48f0]
lea eax, [esp + 0x13c]
pop ecx
push eax
mov eax, ebp
fmul dword [0x697a68]
and eax, 0xffff
mov dword [esp + 0x6c], eax
push eax
fstp st(1)
fld dword [0x697b50]
fmul st(1)
fild dword [esp + 0x70]
fmul dword [0x697afc]
fmulp st(1)
fld dword [0x697c00]
fmul st(2)
faddp st(1)
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697bf8]
fisubr dword [esp + 0x74]
fstp dword [esp]
fstp st(0)
call fcn.00551060
add esp, 0xc
jmp 0x55a725
lea eax, [esi + 0x10]
push eax
call fcn.006504b0
fldz
fild dword [0x9b48f0]
mov edi, eax
mov eax, ebp
and eax, 0xffff
pop ecx
fmul dword [0x697a68]
mov dword [esp + 0x68], eax
lea ecx, [esp + 0x444]
push 0xff
fstp st(1)
fld dword [0x697c04]
fmul st(1)
fld dword [0x697c00]
fmul st(2)
faddp st(1)
fld dword [0x697b50]
fmul st(2)
fild dword [esp + 0x6c]
push 0
push 0
fmul dword [0x697afc]
push 0
fmulp st(1)
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [0x697c08]
fmul st(1)
fadd dword [esp + 0x5c]
fstp dword [esp + 0x60]
fstp st(0)
call fcn.00541590
mov ecx, dword [0x9b48ec]
lea edx, [esp + 0x444]
mov dword [esp + 0x68], ecx
push edx
fldz
fild dword [esp + 0x6c]
mov dword [esp + 0x6c], ecx
fmul dword [0x697a70]
fstp st(1)
fld dword [0x697b24]
fmul st(1)
fmul dword [0x697a6c]
fld dword [0x697bf8]
fmul st(2)
fisubr dword [esp + 0x6c]
fstp st(2)
fsubr st(1)
fadd dword [0x697c0c]
fstp dword [esp + 0x438]
fld dword [0x697a9c]
fadd dword [esp + 0x50]
lea eax, [esp + 0x438]
push eax
fstp dword [esp + 0x448]
fld dword [0x697c0c]
fadd st(1)
fstp dword [esp + 0x444]
fld dword [0x697a9c]
fadd dword [esp + 0x58]
fstp dword [esp + 0x440]
fstp st(0)
call fcn.00577b20
pop ecx
pop ecx
lea ecx, [esp + 0x458]
push 0xff
push 0x82
push 0x59
push 0x1b
call fcn.00541590
mov edx, dword [0x9b48ec]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x454], eax
fldz
fild dword [esp + 0x68]
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x458]
mov dword [esp + 0x44c], eax
fmul dword [0x697a70]
push ecx
fstp st(1)
fld dword [0x697b24]
fmul st(1)
fmul dword [0x697a6c]
fld dword [0x697bf8]
fmul st(2)
fisubr dword [esp + 0x6c]
fstp st(2)
fsubr st(1)
fadd dword [0x697c10]
fstp dword [esp + 0x44c]
fld dword [0x697c10]
lea eax, [esp + 0x44c]
fadd st(1)
push eax
fstp dword [esp + 0x458]
fstp st(0)
call fcn.00577b20
pop ecx
pop ecx
lea ecx, [esp + 0x46c]
push 0xff
push 0xf7
push 0xc2
push 0x61
call fcn.00541590
mov ecx, dword [0x9b48ec]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x468], eax
fldz
fldz
fild dword [esp + 0x68]
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x50]
movsx edx, di
fmul dword [0x697a70]
lea ecx, [esp + 0x46c]
mov dword [esp + 0x460], eax
push ecx
fstp st(2)
fld dword [0x697b24]
fmul st(2)
fmul dword [0x697a6c]
fld dword [0x697bf8]
fmul st(3)
fisubr dword [esp + 0x6c]
mov dword [esp + 0x6c], edx
fsubrp st(1)
fstp st(1)
fld dword [0x697c10]
fadd st(1)
fstp dword [esp + 0x460]
fild dword [esp + 0x6c]
lea eax, [esp + 0x460]
push eax
fmul st(2)
fmul dword [0x697a6c]
fadd st(1)
fadd dword [0x697c10]
fstp dword [esp + 0x46c]
fcompp
call fcn.00577b20
pop ecx
pop ecx
cmp byte [esi + 4], 0
je 0x55a853
add esi, 4
mov ecx, 0x94b228
push esi
call fcn.00584f50
mov edi, eax
call fcn.00550040
push 2
call fcn.00550000
fild dword [0x9b48f0]
pop ecx
push eax
fmul dword [0x697a68]
fmul dword [0x697b50]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697b20]
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
push 2
call fcn.0054ff40
pop ecx
lea ecx, [esp + 0x470]
push 0xff
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x470]
push eax
call fcn.0054ff50
pop ecx
lea ecx, [esp + 0x474]
push 0xff
push 0xf7
push 0xc2
push 0x61
call fcn.00541590
lea eax, [esp + 0x474]
push eax
call fcn.00550190
fldz
fild dword [0x9b48f0]
mov eax, ebp
pop ecx
and eax, 0xffff
push edi
fmul dword [0x697a68]
mov dword [esp + 0x6c], eax
push eax
fstp st(1)
fld dword [0x697b50]
fmul st(1)
fild dword [esp + 0x70]
fmul dword [0x697afc]
fmulp st(1)
fld dword [0x697c00]
fmul st(2)
faddp st(1)
fstp dword [esp]
mov edx, dword [0x9b48ec]
push eax
mov dword [esp + 0x74], edx
fild dword [esp + 0x74]
mov dword [esp + 0x74], edx
fmul dword [0x697a70]
fstp st(1)
fld dword [0x697c14]
fmul st(1)
fld dword [0x697bf8]
fmul st(2)
fisubr dword [esp + 0x74]
fsubrp st(1)
fstp dword [esp]
fstp st(0)
call fcn.00551060
add esp, 0xc
lea ecx, [esp + 0x478]
push 0xff
push 0x5b
push 0xe1
push 0xf4
call fcn.00541590
lea eax, [esp + 0x478]
push eax
call fcn.00550190
pop ecx
inc ebp
add ebx, 0x3c
cmp bp, 3
jb 0x55a2e0
cmp dword [0x869644], 2
je 0x55ab3d
cmp byte [0xa10abe], 0
jne 0x55ab3d
cmp word [0xa10a4c], 8
jne 0x55a8ba
mov eax, dword [0xa0d8a0]
and eax, 8
jne 0x55a8c8
cmp word [0xa10a4c], 8
je 0x55ab3d
push 1
push 9
call fcn.00649bf0
pop ecx
pop ecx
call fcn.004c5c80
cmp dword [0x869644], 1
je 0x55ab38
lea ecx, [esp + 0x48c]
push 0xff
push 0
push 0
push 0
call fcn.00541590
lea ecx, [esp + 0x490]
push 0xff
push 0
push 0
push 0
call fcn.00541590
lea ecx, [esp + 0x494]
push 0xff
push 0
push 0
push 0
call fcn.00541590
lea ecx, [esp + 0x498]
push 0xff
push 0
push 0
push 0
call fcn.00541590
mov ecx, dword [0x9b48f0]
lea eax, [esp + 0x498]
mov dword [esp + 0x68], ecx
push eax
fldz
fldz
fldz
fild dword [esp + 0x6c]
mov dword [esp + 0x6c], ecx
lea esi, [esp + 0x498]
lea eax, [esp + 0x494]
mov dword [esp + 0x480], 0x42080000
fmul dword [0x697a68]
mov ebx, 0xa10814
push esi
lea edi, [esp + 0x494]
push eax
fstp st(2)
fld dword [0x697c18]
fmul st(2)
fisubr dword [esp + 0x74]
lea eax, [esp + 0x488]
push edi
mov ecx, ebx
push eax
fst st(1)
fsub dword [0x697c10]
fstp st(3)
fld st(2)
fstp dword [esp + 0x49c]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697c1c]
fadd dword [0x697aa4]
fadd dword [0x697c0c]
fstp dword [esp + 0x498]
fld dword [0x697c20]
fmul st(2)
fadd st(1)
fadd dword [0x697c04]
fstp dword [esp + 0x494]
fcompp
fstp st(0)
call fcn.00578660
lea ecx, [esp + 0x4ac]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
lea ecx, [esp + 0x4b0]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
lea ecx, [esp + 0x4b4]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
lea ecx, [esp + 0x4b8]
push 0xff
push 0xff
push 0xff
push 0xff
call fcn.00541590
mov ebp, dword [0x9b48f0]
lea eax, [esp + 0x4b8]
mov dword [esp + 0x68], ebp
push eax
fldz
fldz
fldz
fild dword [esp + 0x6c]
mov dword [esp + 0x6c], ebp
lea edx, [esp + 0x4b8]
lea eax, [esp + 0x4b4]
mov dword [esp + 0x4a0], 0x42080000
fmul dword [0x697a68]
lea ecx, [esp + 0x4b0]
push edx
push eax
lea eax, [esp + 0x4a8]
fstp st(2)
fld dword [0x697c18]
fmul st(2)
fisubr dword [esp + 0x74]
push ecx
push eax
mov ecx, ebx
fst st(1)
fsub dword [0x697c0c]
fstp st(3)
fld st(2)
fstp dword [esp + 0x4bc]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697c1c]
fadd dword [0x697aa4]
fadd dword [0x697c0c]
fstp dword [esp + 0x4b8]
fld dword [0x697c20]
fmul st(2)
fadd st(1)
fadd dword [0x697c0c]
fstp dword [esp + 0x4b4]
fcompp
fstp st(0)
call fcn.00578660
call fcn.004c4220
cmp byte [0xa10b04], 1
jne 0x55ab68
cmp byte [0x7e46fd], 0
jne 0x55ab68
cmp word [0x78cf08], 0
jne 0x55ab68
cmp word [0x78d108], 0
jne 0x55ab68
call fcn.004c3f40
cmp byte [0xa10b3e], 0
jne 0x55bcea
xor ebp, ebp
xor esi, esi
mov edi, 0x7f0ea8
mov eax, eax
cmp word [esi + 0x7f0ed4], 0
je 0x55ad40
cmp byte [esi + 0x7f0ec5], 0
je 0x55ad40
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [esi + 0x7f0eac]
fmul dword [0x697a6c]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [esi + 0x7f0ea8]
fstp dword [esp]
call fcn.00550250
mov edx, dword [esi + 0x7f0eb0]
pop ecx
mov dword [esp + 0x4c0], edx
lea eax, [esp + 0x4c0]
pop ecx
push eax
call fcn.00550190
cmp byte [esi + 0x7f0eb4], 0
pop ecx
je 0x55ac00
call fcn.00550170
jmp 0x55ac05
call fcn.00550160
cmp byte [esi + 0x7f0ec6], 0
je 0x55ac15
call fcn.00550080
jmp 0x55ac1a
call fcn.00550060
cmp byte [esi + 0x7f0eb5], 0
je 0x55ac30
call fcn.00550140
jmp 0x55ac35
call fcn.00550130
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [esi + 0x7f0eb8]
fstp dword [esp]
call fcn.00550120
fild dword [0x9b48ec]
pop ecx
push eax
fmul dword [0x697a70]
fmul dword [esi + 0x7f0ebc]
fstp dword [esp]
call fcn.00550110
cmp byte [esi + 0x7f0eb6], 0
pop ecx
je 0x55ac80
call fcn.00550100
jmp 0x55ac85
call fcn.005500f0
mov ecx, dword [esi + 0x7f0ec0]
mov dword [esp + 0x4c0], ecx
lea eax, [esp + 0x4c0]
push eax
call fcn.005500c0
cmp byte [esi + 0x7f0eb7], 0
pop ecx
je 0x55acb0
call fcn.005500b0
jmp 0x55acb5
call fcn.005500a0
cmp byte [esi + 0x7f0ec4], 0
je 0x55acc5
call fcn.00550040
jmp 0x55acca
call fcn.00550050
mov ax, word [esi + 0x7f0ec8]
push eax
call fcn.00550000
mov edx, dword [0x9b48f0]
lea eax, [edi + 0x2c]
mov dword [esp + 0x6c], edx
pop ecx
fild dword [esp + 0x68]
mov dword [esp + 0x68], edx
push eax
push eax
fmul dword [0x697a68]
fld dword [0x697a74]
fsub dword [esi + 0x7f0ed0]
fmulp st(1)
fisubr dword [esp + 0x70]
fstp dword [esp]
mov ecx, dword [0x9b48ec]
push eax
mov dword [esp + 0x74], ecx
fild dword [esp + 0x74]
mov dword [esp + 0x74], ecx
fmul dword [0x697a70]
fld dword [0x697a78]
fsub dword [esi + 0x7f0ecc]
fmulp st(1)
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
add esp, 0xc
inc ebp
add esi, 0xf4
add edi, 0xf4
cmp bp, 0x30
jb 0x55ab80
xor esi, esi
xor ebx, ebx
mov ebp, 0x813df8
cmp byte [ebx + 0x813df8], 0
je 0x55ae25
cmp byte [ebx + 0x813df9], 0
je 0x55ae25
mov dx, word [ebx + 0x813dfa]
test dx, dx
jge 0x55add0
fld dword [ebx + 0x813dfc]
fstp dword [esp + 0x4c4]
fld dword [ebx + 0x813e00]
fstp dword [esp + 0x4d0]
fld dword [ebx + 0x813e04]
fstp dword [esp + 0x4cc]
fld dword [ebx + 0x813e08]
lea eax, [esp + 0x4c4]
fstp dword [esp + 0x4c8]
lea edx, [ebp + 0x14]
push edx
push eax
call fcn.00577b20
pop ecx
pop ecx
jmp 0x55ae25
fld dword [ebx + 0x813dfc]
fstp dword [esp + 0x4d4]
fld dword [ebx + 0x813e00]
fstp dword [esp + 0x4e0]
fld dword [ebx + 0x813e04]
fstp dword [esp + 0x4dc]
fld dword [ebx + 0x813e08]
fstp dword [esp + 0x4d8]
lea ecx, [ebp + 0x14]
lea eax, [esp + 0x4d4]
push ecx
push eax
movsx ecx, dx
lea ecx, [ecx*4]
add ecx, 0x8117f0
call fcn.00578730
inc esi
add ebx, 0x18
add ebp, 0x18
cmp si, 0x10
jb 0x55ad60
cmp word [0x814f30], 0
je 0x55b143
cmp word [0x78d108], 0
jne 0x55b143
cmp dword [0xa0cfdc], 0
je 0x55ae65
mov dword [0xa0cfdc], 3
cmp dword [0x978d18], 0
je 0x55ae78
mov dword [0x978d18], 3
call fcn.00550160
call fcn.005500f0
lea ecx, [esp + 0x4e4]
push 0x80
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x4e4]
push eax
call fcn.005500c0
pop ecx
call fcn.00550140
call fcn.00550040
push 0
call fcn.0054ff40
pop ecx
push 1
call fcn.00550000
pop ecx
lea ecx, [esp + 0x4e8]
push 0xff
push 0xe1
push 0xe1
push 0xe1
call fcn.00541590
lea eax, [esp + 0x4e8]
push eax
call fcn.00550190
cmp byte [0x7097a1], 0
pop ecx
jne 0x55af06
mov byte [0x7097a1], 1
mov byte [0x7097a0], 0
cmp byte [0x7e46fd], 0
je 0x55afd8
cmp byte [0x869658], 0
mov byte [0x7097a0], 1
jne 0x55af30
cmp byte [0xa10aba], 0
jne 0x55b13b
mov eax, dword [0x9b48ec]
mov dword [esp + 0x68], eax
push eax
fild dword [esp + 0x6c]
mov dword [esp + 0x6c], eax
fmul dword [0x697a70]
fmul dword [0x697c24]
fisubr dword [esp + 0x6c]
fstp dword [esp]
call fcn.00550110
fild dword [0x9b48f0]
pop ecx
push eax
fmul dword [0x697a68]
fmul dword [0x697a80]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697c28]
fstp dword [esp]
call fcn.00550250
mov eax, dword [0x9b48f0]
pop ecx
mov dword [esp + 0x6c], eax
pop ecx
fild dword [esp + 0x68]
mov dword [esp + 0x68], eax
push 0x814f30
fmul dword [0x697a68]
push eax
fmul dword [0x697bfc]
fisubr dword [esp + 0x70]
fstp dword [esp]
mov eax, dword [0x9b48ec]
cmp eax, 0x80000000
sbb eax, 0xffffffff
sar eax, 1
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
fstp dword [esp]
jmp 0x55b133
cmp byte [0x7097a0], 0
je 0x55afea
mov word [0x814f30], 0
mov byte [0x7097a0], 0
call fcn.00550270
push 2
call fcn.0054ff40
pop ecx
lea ecx, [esp + 0x4ec]
push 0xff
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x4ec]
push eax
call fcn.0054ff50
fild dword [0x9b48f0]
pop ecx
push eax
fmul dword [0x697a68]
fmul dword [0x697c2c]
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697c28]
fstp dword [esp]
call fcn.00550250
mov edi, dword [0x9b48ec]
pop ecx
mov dword [esp + 0x6c], edi
pop ecx
fldz
fldz
fild dword [esp + 0x68]
mov dword [esp + 0x68], edi
push eax
fmul dword [0x697a70]
fstp st(2)
fld dword [0x697c04]
fmul st(2)
fstp st(1)
fld dword [0x697a88]
fmul st(2)
fadd st(1)
fld dword [0x697afc]
fmul st(3)
fisubr dword [esp + 0x6c]
fsub st(2)
fsubrp st(1)
fstp dword [esp]
fcompp
call fcn.00550110
mov ebx, dword [0x9b48f0]
pop ecx
mov dword [esp + 0x68], ebx
fldz
fldz
fldz
fild dword [esp + 0x68]
mov dword [esp + 0x68], ebx
push 0x814f30
fmul dword [0x697a68]
push eax
fstp st(3)
fld dword [0x697a9c]
fmul st(3)
fld dword [0x697be0]
fmul st(4)
fisubr dword [esp + 0x70]
fsubrp st(1)
fstp dword [esp]
mov ebp, dword [0x9b48ec]
push eax
mov dword [esp + 0x74], ebp
fild dword [esp + 0x74]
mov dword [esp + 0x74], ebp
fmul dword [0x697a70]
fstp st(3)
fld dword [0x697c04]
fmul st(3)
fstp st(2)
fld dword [0x697a88]
fmul st(3)
fadd st(2)
fstp st(1)
fld dword [0x697afc]
fmul st(3)
fisubr dword [esp + 0x74]
fsub st(2)
fsub st(1)
fmul dword [0x697a6c]
fadd st(1)
fstp dword [esp]
fcompp
fstp st(0)
call fcn.00551060
add esp, 0xc
push 0
call fcn.0054ff40
pop ecx
cmp word [0x939030], 0
je 0x55b6b1
push 0x100
push 0x7d3e48
push 0x939030
call fcn.005848f0
add esp, 0xc
test al, al
jne 0x55b23b
mov edx, dword [0x94dbd4]
mov eax, edx
cmp eax, 4
ja case.default.0x55b181
jmp dword [eax*4 + 0x697c9c]
push 0x100
push 0x939030
push 0x78c600
mov dword [0x9b6df8], 0
mov dword [0x94dbd4], 2
mov dword [0x94dd88], 0
call fcn.00584960
add esp, 0xc
push 0x939030
call fcn.005849c0
movzx eax, ax
pop ecx
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
fmul dword [0x697c30]
fadd dword [0x697c34]
fstp dword [0x975380]
fld dword [0x697a64]
fcomp dword [0x7e47e4]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne case.default.0x55b181
mov ecx, 0xa10b93
push 0
push 0xb3
call fcn.005f9980
jmp case.default.0x55b181
jmp case.0x55b181.2
mov dword [0x94dd88], 5
mov dword [0x94dbd4], 4
push 0x100
push 0x939030
push 0x7d3e48
call fcn.00584960
add esp, 0xc
fld dword [0x697c38]
cmp dword [0x94dbd4], 0
fstp dword [esp + 0x54]
je 0x55b6bb
mov ecx, dword [0x94dbd4]
mov eax, ecx
dec eax
cmp eax, 3
ja case.default.0x55b264
jmp dword [eax*4 + 0x697c8c]
cmp byte [0x7e46fd], 0
jne case.default.0x55b264
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp qword [esp + 0x68]
mov eax, dword [esp + 0x68]
add eax, eax
add dword [0x9b6df8], eax
fldcw word [esp + 0x14]
fild dword [0x9b6df8]
fcomp dword [0x697a64]
fnstsw ax
test ah, 0x45
jne 0x55b2da
mov dword [0x94dbd4], 1
mov dword [0x9b6df8], 0
fild dword [0x9b6df8]
fmul dword [0x697bc4]
fmul dword [0x697c38]
fstp dword [esp + 0x54]
jmp case.default.0x55b264
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp qword [esp + 0x68]
mov eax, dword [esp + 0x68]
add eax, eax
sub dword [0x9b6df8], eax
fldcw word [esp + 0x14]
fild dword [0x9b6df8]
fcomp dword [0x697a64]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x55b34f
cmp byte [0x7e46fd], 0
je 0x55b363
mov dword [0x94dbd4], 0
mov dword [0x9b6df8], 0
fild dword [0x9b6df8]
fmul dword [0x697bc4]
fmul dword [0x697c38]
fstp dword [esp + 0x54]
jmp case.default.0x55b264
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
mov dword [esp + 0x14], eax
fistp qword [esp + 0x68]
mov eax, dword [esp + 0x68]
add eax, eax
sub dword [0x9b6df8], eax
fldcw word [esp + 0x14]
fild dword [0x9b6df8]
fcomp dword [0x697a64]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x55b3fa
push 0x100
push 0x7d3e48
push 0x78c600
mov dword [0x94dbd4], 2
mov dword [0x9b6df8], 0
call fcn.00584960
add esp, 0xc
fild dword [0x9b6df8]
fmul dword [0x697bc4]
fmul dword [0x697c38]
fstp dword [esp + 0x54]
jmp case.default.0x55b264
fld dword [0x697c38]
cmp byte [0xa10b1f], 0
mov dword [0x9b6df8], 0x258
fstp dword [esp + 0x54]
jne case.default.0x55b264
fld dword [0x697a98]
fmul dword [0x975380]
fild dword [0x94dd88]
fcompp
fnstsw ax
test ah, 0x45
je 0x55b466
cmp byte [0xa10abc], 0
je case.default.0x55b264
fild dword [0x94dd88]
fcomp dword [0x697c3c]
fnstsw ax
test ah, 0x45
jne case.default.0x55b264
mov dword [0x9b6df8], 0x258
mov dword [0x94dbd4], 3
cmp byte [0x7e46fd], 0
jne 0x55b6bb
fld dword [0x97542c]
fmul dword [0x697a94]
push dword [esp + 0x54]
fmul dword [0x697a98]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
fistp qword [esp + 0x6c]
fldcw word [esp + 0x18]
mov eax, dword [esp + 0x6c]
add dword [0x94dd88], eax
call fcn.0054ffe0
pop ecx
call fcn.00550130
call fcn.00550040
cmp byte [0xa10ac0], 0
je 0x55b513
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697c40]
fmul dword [0x697bdc]
fstp dword [esp]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697c44]
fmul dword [0x697bdc]
jmp 0x55b53b
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697c40]
fstp dword [esp]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697c44]
push eax
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
call fcn.00550270
lea ecx, [esp + 0x4f0]
push 0xff
push 0xaf
push 0xaf
push 0xaf
call fcn.00541590
lea eax, [esp + 0x4f0]
push eax
call fcn.00550190
pop ecx
call fcn.00550160
fldz
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fstp st(1)
fld dword [0x697b28]
fmul st(1)
fld dword [0x697c48]
fmul st(2)
faddp st(1)
fsub dword [0x697c10]
fstp dword [esp]
fstp st(0)
call fcn.00550120
pop ecx
push 1
call fcn.00550000
pop ecx
call fcn.00550100
call fcn.005500a0
push 0
call fcn.0054ff40
fld dword [0x697c4c]
fmul dword [esp + 0x58]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x4f4]
push eax
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x4f4]
push eax
call fcn.005500c0
pop ecx
lea ecx, [esp + 0x4f8]
push 0xff
push 0xaf
push 0xaf
push 0xaf
call fcn.00541590
lea eax, [esp + 0x4f8]
push eax
call fcn.00550190
fild dword [0x9b48f0]
pop ecx
push 0x78c600
fmul dword [0x697a68]
push eax
fmul dword [0x697c50]
fld dword [0x697c54]
fsub dword [0xa0da68]
fmul dword [0x697b14]
faddp st(1)
fstp dword [esp]
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697c48]
fstp dword [esp]
call fcn.00551060
add esp, 0xc
push dword [0x697af4]
call fcn.0054ffe0
fild dword [0x9b48ec]
pop ecx
push eax
fstp dword [esp]
call fcn.00550120
pop ecx
jmp 0x55b6bb
mov dword [0x94dbd4], 0
cmp word [0x78cf08], 0
je 0x55ba70
fld dword [0x697a64]
fcomp dword [0x938260]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x55b702
mov dword [0x938278], 0
mov dword [0x860c28], 0xc2700000
mov dword [0x938260], 0x3f800000
jmp 0x55ba7a
call fcn.00550160
call fcn.005500f0
call fcn.005500a0
cmp byte [0xa10b9e], 0
jne 0x55b723
cmp byte [0xa10ac0], 0
je 0x55b750
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697bcc]
fstp dword [esp]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697ad0]
jmp 0x55b778
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697bcc]
fstp dword [esp]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697bcc]
push eax
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
call fcn.00550040
call fcn.00550140
fild dword [0x9b48ec]
push eax
fmul dword [0x697a70]
fmul dword [0x697c58]
fstp dword [esp]
call fcn.00550110
fld dword [0x938278]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x4fc]
push eax
push 0
push 0xff
push 0xff
call fcn.00541590
lea eax, [esp + 0x4fc]
push eax
call fcn.00550190
pop ecx
push 2
call fcn.00550000
mov eax, dword [0x9b48ec]
pop ecx
add eax, 0xffffffec
mov dword [esp + 0x68], eax
fldz
fild dword [esp + 0x68]
fcomp dword [0x860c28]
fnstsw ax
test ah, 0x45
jne 0x55b8b5
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
fistp qword [esp + 0x68]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov eax, edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0
fldcw word [esp + 0x14]
fild qword [esp + 0x68]
fmul dword [0x697af0]
fstp st(1)
fld dword [0x860c28]
fadd st(1)
fstp dword [0x860c28]
fld dword [0x938278]
fadd st(1)
fstp dword [0x938278]
fld dword [0x938278]
fcomp dword [0x697af4]
fnstsw ax
test ah, 0x45
jne 0x55b96d
mov dword [0x938278], 0x437f0000
jmp 0x55b96d
fld dword [0x938260]
fadd dword [0x97542c]
fstp dword [0x938260]
fld dword [0x938260]
fcomp dword [0x697af8]
fnstsw ax
test ah, 5
jne 0x55b93f
fld dword [0x97542c]
fmul dword [0x697a94]
mov dword [0x938260], 0x42f00000
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
fistp qword [esp + 0x68]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov eax, edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0
fldcw word [esp + 0x14]
fild qword [esp + 0x68]
fmul dword [0x697af0]
fsubr dword [0x938278]
fstp dword [0x938278]
fld dword [0x938278]
fcomp dword [0x697a64]
fnstsw ax
test ah, 4
jne 0x55b96d
and ah, 0x45
test ah, 0x41
je 0x55b96d
mov word [0x78cf08], 0
mov dword [0x938278], 0
fstp st(0)
call fcn.00550270
push 2
call fcn.0054ff40
fld dword [0x938278]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x500]
push eax
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x500]
push eax
call fcn.0054ff50
fld dword [0x938278]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x504]
push eax
push 0xe1
push 0x96
push 0xff
call fcn.00541590
lea eax, [esp + 0x504]
push eax
call fcn.00550190
mov eax, dword [0x9b48f0]
pop ecx
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
mov dword [esp + 0x68], eax
push 0x78cf08
fmul dword [0x697a68]
push eax
fmul dword [0x697c5c]
fild dword [esp + 0x70]
fmul dword [0x697a6c]
fsubrp st(1)
fstp dword [esp]
mov eax, dword [0x9b48ec]
cmp eax, 0x80000000
sbb eax, 0xffffffff
sar eax, 1
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
add esp, 0xc
jmp 0x55ba7a
mov dword [0x938260], 0
cmp word [0x78d108], 0
je 0x55bce0
fld dword [0x697a64]
fcomp dword [0x938268]
fnstsw ax
and ah, 0x44
cmp ah, 0x40
jne 0x55bae1
cmp dword [0xa0cfdc], 0
mov dword [0x938268], 0x3f800000
mov dword [0x938280], 0
je 0x55bac5
mov dword [0xa0cfdc], 0
cmp dword [0x978d18], 0
je 0x55bcea
mov dword [0x978d18], 0
jmp 0x55bcea
fld dword [0x97542c]
fmul dword [0x697a94]
fmul dword [0x697a98]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
fistp qword [esp + 0x68]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0
fldcw word [esp + 0x14]
fild qword [esp + 0x68]
fmul dword [0x697b1c]
fadd dword [0x938280]
fstp dword [0x938280]
fld dword [0x938280]
fcomp dword [0x697af4]
fnstsw ax
test ah, 0x45
jne 0x55bb59
mov dword [0x938280], 0x437f0000
call fcn.005500f0
cmp byte [0xa10b9e], 0
jne 0x55bb70
cmp byte [0xa10ac0], 0
je 0x55bba0
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697c60]
fstp dword [esp]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697c60]
jmp 0x55bbc8
fild dword [0x9b48f0]
push eax
fmul dword [0x697a68]
fmul dword [0x697a9c]
fstp dword [esp]
fild dword [0x9b48ec]
fmul dword [0x697a70]
fmul dword [0x697a9c]
push eax
fstp dword [esp]
call fcn.00550250
pop ecx
pop ecx
call fcn.00550040
call fcn.00550080
push 2
call fcn.00550000
pop ecx
push 2
call fcn.0054ff40
fld dword [0x938280]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x508]
push eax
push 0
push 0
push 0
call fcn.00541590
lea eax, [esp + 0x508]
push eax
call fcn.0054ff50
fld dword [0x938280]
fnstcw word [esp + 0x18]
mov eax, dword [esp + 0x18]
or byte [esp + 0x19], 0xc
fldcw word [esp + 0x18]
mov dword [esp + 0x18], eax
pop ecx
fistp dword [esp + 0x68]
fldcw word [esp + 0x14]
mov eax, dword [esp + 0x68]
lea ecx, [esp + 0x50c]
push eax
push 0x85
push 0xcf
push 0
call fcn.00541590
lea eax, [esp + 0x50c]
push eax
call fcn.00550190
mov eax, dword [0x9b48f0]
pop ecx
mov dword [esp + 0x68], eax
fild dword [esp + 0x68]
mov dword [esp + 0x68], eax
push 0x78d108
fmul dword [0x697a68]
push eax
fmul dword [0x697b78]
fisubr dword [esp + 0x70]
fstp dword [esp]
mov eax, dword [0x9b48ec]
mov dword [esp + 0x70], eax
push eax
fild dword [esp + 0x74]
mov dword [esp + 0x74], eax
fmul dword [0x697a70]
fmul dword [0x697afc]
fisubr dword [esp + 0x74]
fstp dword [esp]
call fcn.00551060
add esp, 0xc
jmp 0x55bcea
mov dword [0x938268], 0
add esp, 0x510
pop ebp
pop edi
pop esi
pop ebx
ret
fstp st(0)
jmp 0x557821
fstp st(0)
jmp 0x558d1c
fstp st(0)
jmp 0x558d1c
fstp st(0)
jmp 0x558d1c
fstp st(0)
jmp 0x558d1c
fstp st(0)
jmp 0x5594f7
fstp st(0)
jmp 0x5594f7
fstp st(0)
jmp 0x559501