Function at 0x765ab0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
fldz
sub esp, 0x8c8
push ebx
push ebp
push esi
mov esi, ecx
mov word [esi + 0x88c], 0
mov word [esi + 0x88e], 0x6a
cmp byte [esi + 0x7cc], 2
push edi
mov ebp, 0x12c
mov ebx, 0x1770
jne 0x765ff1
cmp byte [esi + 0x5e6], 1
jne 0x765b3e
cmp word [esi + 0x184], 0
jg 0x765b37
lea edi, [esi + 0x5e8]
fstp st(0)
push 0
mov ecx, edi
call fcn.00456c80
cmp word [eax], 0x10
jl 0x765b35
push 0
mov ecx, edi
call fcn.00456c80
cmp word [eax], 0x13
jg 0x765b35
push 0
push 0x7d0
call fcn.0043e1b0
add esp, 8
fldz
cmp byte [esi + 0x5e6], 1
jl 0x765de0
push 0
fstp st(0)
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx eax, word [eax]
cmp eax, 0x13
ja case.default.0x765b66
movzx eax, byte [eax + 0x7819d0]
jmp dword [eax*4 + 0x7819bc]
fld dword [0x85ad04]
mov edi, 2
mov word [esi + 0x4aa], di
fstp dword [esi + 0x534]
fld dword [0x8589f0]
mov eax, 1
fstp dword [esi + 0x55c]
fldz
fst dword [esi + 0x538]
mov word [esi + 0x86a], ax
mov ecx, dword [esi + 0x158]
cmp word [ecx + 0xa4], ax
jne 0x765bc9
fld dword [0x871538]
mov word [esi + 0x86a], 3
fstp dword [esi + 0x55c]
mov edx, dword [esi + 0x158]
cmp word [edx + 0xa4], di
jne 0x765de5
fld dword [0x85b870]
mov word [esi + 0x86a], 3
fstp dword [esi + 0x55c]
jmp 0x765de5
fld dword [0x85ad04]
mov edi, 2
mov word [esi + 0x4aa], di
fstp dword [esi + 0x534]
fld1
mov eax, 1
fstp dword [esi + 0x55c]
fldz
fst dword [esi + 0x538]
mov word [esi + 0x86a], ax
mov ecx, dword [esi + 0x158]
cmp word [ecx + 0xa4], ax
jne 0x765c4e
fld dword [0x867860]
mov word [esi + 0x86a], 3
fstp dword [esi + 0x55c]
mov edx, dword [esi + 0x158]
cmp word [edx + 0xa4], di
jne 0x765de5
fld dword [0x867810]
mov word [esi + 0x86a], 3
fstp dword [esi + 0x55c]
jmp 0x765de5
fld dword [0x85ad04]
mov edi, 2
mov word [esi + 0x4aa], di
fstp dword [esi + 0x534]
fld1
mov eax, 1
fstp dword [esi + 0x55c]
fldz
fst dword [esi + 0x538]
mov word [esi + 0x86a], ax
mov ecx, dword [esi + 0x158]
cmp word [ecx + 0xa4], ax
jne 0x765cd3
fld dword [0x871538]
mov word [esi + 0x86a], 3
fstp dword [esi + 0x55c]
mov edx, dword [esi + 0x158]
cmp word [edx + 0xa4], di
jne 0x765de5
fld dword [0x85bc7c]
mov word [esi + 0x86a], 3
fstp dword [esi + 0x55c]
jmp 0x765de5
fld dword [0x85ad04]
mov edi, 2
mov word [esi + 0x4aa], di
fstp dword [esi + 0x534]
fld1
mov eax, 1
fstp dword [esi + 0x55c]
fldz
fst dword [esi + 0x538]
mov word [esi + 0x86a], ax
mov ecx, dword [esi + 0x158]
cmp word [ecx + 0xa4], ax
jne 0x765d58
fld dword [0x85bca4]
mov word [esi + 0x86a], 3
fstp dword [esi + 0x55c]
mov edx, dword [esi + 0x158]
cmp word [edx + 0xa4], di
jne 0x765de5
fld dword [0x85bca4]
mov word [esi + 0x86a], 3
fstp dword [esi + 0x55c]
jmp 0x765de5
mov eax, dword [esi + 0x170]
fld dword [eax + 0xf0]
push ecx
fadd dword [esi + 0xf0]
mov ecx, esi
fmul qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push 1
call fcn.00486fe0
fld dword [0x85c110]
mov edi, 2
mov word [esi + 0x4aa], di
fstp dword [esi + 0x534]
fld1
fstp dword [esi + 0x55c]
fldz
fst dword [esi + 0x538]
mov word [esi + 0x86a], 1
jmp 0x765de5
fldz
mov edi, 2
cmp byte [esi + 0x6af], 0
jle 0x765e05
push 4
fstp st(0)
call fcn.004099f0
fldz
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
cmp word [esi + 0x882], 1
jne 0x765edc
movsx ecx, word [esi + 0x186]
cmp dword [esi + 0x188], ecx
jl 0x765ecb
cmp byte [esi + 0x574], 0
jne 0x765ecb
mov word [esi + 0x86a], di
fstp st(0)
mov ecx, esi
mov word [esi + 0x882], di
call fcn.00487c20
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x95
mov ecx, esi
call eax
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx ecx, byte [esi + 0x104]
push 1
push ecx
fstp dword [esp + 0x20]
sub esp, 8
fld dword [esp + 0x28]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35
call fcn.00438ce0
cmp byte [esi + 0x5e6], 1
jl case.default.0x765eb4
push 0
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx eax, word [eax]
cmp eax, 0x13
ja case.default.0x765eb4
movzx edx, byte [eax + 0x7819e8]
jmp dword [edx*4 + 0x7819e4]
mov word [esi + 0x884], bp
mov word [esi + 0x886], bp
fldz
cmp word [esi + 0x184], 0
jg 0x765edc
mov word [esi + 0x882], di
xor ecx, ecx
cmp word [esi + 0x884], cx
jle 0x765fe1
movzx eax, word [esi + 0x4be]
cmp ax, cx
jle 0x765f04
cmp ax, 0x64
jge 0x765f04
mov word [esi + 0x4be], cx
mov eax, 1
cmp word [esi + 0x884], ax
je 0x765f4b
cmp word [esi + 0x184], cx
jle 0x765f4b
fld1
mov word [esi + 0x86a], di
mov word [esi + 0x4aa], di
fst dword [esi + 0x538]
fstp dword [esi + 0x534]
add word [esi + 0x884], 0xffff
mov word [esi + 0x4ba], bx
jmp 0x765fe1
mov word [esi + 0x4aa], cx
mov word [esi + 0x884], cx
mov word [esi + 0x4ba], cx
mov dword [esi + 0x188], ecx
mov word [esi + 0x820], cx
mov word [esi + 0x81e], ax
mov word [esi + 0x81a], cx
mov word [esi + 0x81c], cx
mov word [esi + 0x818], cx
mov word [esi + 0x882], ax
cmp word [esi + 0x184], cx
jle 0x765fea
push 3
fst dword [esp + 0x764]
lea eax, [esp + 0x764]
fst dword [esp + 0x768]
push eax
fstp dword [esp + 0x770]
fld dword [0x85bca0]
push edi
push 1
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x87153c]
fstp dword [esp]
push 0x4b1
call fcn.0046eb30
fldz
xor ecx, ecx
cmp word [esi + 0x184], cx
jg 0x765ff1
mov word [esi + 0x86a], cx
movzx eax, word [esi + 0x13c]
cmp ax, 0x95
jle 0x76618c
cmp ax, 0x9f
jge 0x76618c
cmp byte [esi + 0x7f5], 0
jne 0x76618c
mov byte [esi + 0x7f5], 1
fst dword [esp + 0x370]
fst dword [esp + 0x374]
fst dword [esp + 0x378]
movzx eax, word [esi + 0x13c]
cmp ax, 0x95
jle 0x7660ac
cmp ax, 0x9a
jge 0x7660ac
movzx eax, byte [esi + 0x104]
fstp st(0)
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c498]
lea ecx, [esp + 0x374]
push ecx
push 1
push eax
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
movsx eax, al
lea edx, [eax + eax*4]
add edx, edx
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x30], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x30]
fadd dword [esi + 0xec]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x3e6
call fcn.0046eb30
fldz
movzx eax, word [esi + 0x13c]
cmp ax, 0x99
jle 0x766123
cmp ax, 0x9e
jge 0x766123
movzx eax, byte [esi + 0x104]
fstp st(0)
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c888]
lea ecx, [esp + 0x374]
push ecx
push 1
push eax
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
movsx eax, al
lea edx, [eax + eax*4]
add edx, edx
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x30], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x30]
fadd dword [esi + 0xec]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x3e6
call fcn.0046eb30
fldz
cmp word [esi + 0x13c], 0x9e
jne 0x76618c
movzx eax, byte [esi + 0x104]
fstp st(0)
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85e0e0]
push 3
imul edx, edx, 0x32
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
lea ecx, [esp + 0x374]
push ecx
push 1
push eax
sub esp, 8
mov dword [esp + 0x30], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x30]
fadd dword [esi + 0xec]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x3e6
call fcn.0046eb30
fldz
fld qword [0x85bbd8]
xor edi, edi
cmp dword [esi + 0x8a0], edi
jle 0x766504
mov al, byte [esi + 0x6a7]
fxch st(1)
test al, al
fst dword [esp + 0x18]
je 0x7661bf
movsx eax, al
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fstp dword [esp + 0x18]
mov al, byte [esi + 0x6ab]
test al, al
je 0x7661d8
movsx ecx, al
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fstp dword [esp + 0x18]
mov eax, dword [esi + 0x894]
sub eax, 1
je 0x7663e6
sub eax, 1
je 0x7662f1
sub eax, 1
jne 0x7664e5
mov ecx, dword [0x8985d8]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea edx, [edx + edx*4]
add edx, edx
sub ecx, edx
jne 0x7662d6
fst dword [esp + 0x538]
push 3
fstp dword [esp + 0x540]
lea eax, [esp + 0x53c]
fld dword [0x85bca4]
push eax
fstp dword [esp + 0x548]
mov edi, dword [esi + 0x170]
push 1
fadd dword [edi + 0xec]
push 0x64
fstp qword [esp + 0x30]
call fcn.004099f0
add esp, 4
cmp eax, 0x32
seta cl
mov edx, 1
add cl, cl
sub dl, cl
push edx
push 0x64
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x766280
fadd dword [0x871554]
fld dword [edi + 0xf0]
fadd qword [0x85bbd8]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x96
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x7662b5
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
fldz
xor edi, edi
jmp 0x7662d8
fstp st(1)
fld dword [esp + 0x18]
fld qword [0x867840]
fmul st(1), st(0)
faddp st(1)
fstp dword [esi + 0x558]
jmp 0x7664e7
mov ecx, dword [0x8985d8]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
jne 0x7663d8
fst dword [esp + 0x550]
push 3
fstp dword [esp + 0x558]
lea ecx, [esp + 0x554]
fld dword [0x85b870]
push ecx
fstp dword [esp + 0x560]
mov edi, dword [esi + 0x170]
push 1
fadd dword [edi + 0xec]
push 0x64
fstp qword [esp + 0x30]
call fcn.004099f0
add esp, 4
cmp eax, 0x32
seta dl
mov eax, 1
add dl, dl
sub al, dl
push eax
push 0x64
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x766378
fadd dword [0x871554]
fld dword [edi + 0xf0]
fadd qword [0x85bbd8]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x96
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x7663ad
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
fldz
xor edi, edi
mov byte [esi + 0x56d], 1
jmp 0x7664e7
fstp st(1)
mov byte [esi + 0x56d], 1
jmp 0x7664e7
fld dword [esp + 0x18]
mov eax, dword [esi + 0x170]
fmul qword [0x857f90]
fadd qword [0x85e828]
fmul dword [eax + 0x534]
fstp dword [eax + 0x534]
mov ecx, dword [0x8985d8]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea edx, [edx + edx*4]
add edx, edx
sub ecx, edx
jne 0x7664e5
fst dword [esp + 0x568]
push 3
fstp dword [esp + 0x570]
lea eax, [esp + 0x56c]
fld dword [0x867860]
push eax
fstp dword [esp + 0x578]
mov edi, dword [esi + 0x170]
push 1
fadd dword [edi + 0xec]
push 0x64
fstp qword [esp + 0x30]
call fcn.004099f0
add esp, 4
cmp eax, 0x32
seta cl
mov edx, 1
add cl, cl
sub dl, cl
push edx
push 0x64
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x76648f
fadd dword [0x871554]
fld dword [edi + 0xf0]
fadd qword [0x85bbd8]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x96
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x7664c4
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
fldz
xor edi, edi
jmp 0x7664e7
fstp st(1)
add dword [esi + 0x8a0], 0xffffffff
cmp dword [esi + 0x8a0], edi
jg 0x76650c
mov dword [esi + 0x894], edi
mov dword [esi + 0x8a0], edi
jmp 0x76650c
fstp st(0)
mov dword [esi + 0x894], edi
cmp byte [esi + 0x6af], 0
jle 0x766787
mov byte [esi + 0x89d], 0
cmp byte [esi + 0x89c], 0
jne 0x7665d8
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x85b900]
push 3
lea ecx, [esp + 0x584]
push ecx
fstp dword [esp + 0x588]
push 1
fld dword [0x871544]
mov ecx, esi
fstp dword [esp + 0x590]
fld dword [0x85b870]
fstp dword [esp + 0x594]
mov eax, dword [esi + 0x170]
fld dword [eax + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857b20]
push edx
sub esp, 8
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [eax + 0xec]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x766535
fstp st(0)
mov byte [esi + 0x89c], 1
fldz
movsx eax, byte [esi + 0x6af]
add eax, 2
lea edi, [eax + eax*4]
mov eax, dword [esi + 0x898]
add edi, edi
add eax, 0xffffffff
add edi, edi
cmp eax, 3
ja case.default.0x7665f7
jmp dword [eax*4 + 0x7819fc]
mov eax, dword [esi + 0x170]
movzx eax, word [eax + 0x13c]
cmp ax, 0x8f
jl case.default.0x7665f7
cmp ax, 0x91
jmp 0x766654
mov ecx, dword [esi + 0x170]
fstp st(0)
call fcn.00469f10
fldz
test al, al
je case.default.0x7665f7
jmp 0x766656
mov ecx, dword [esi + 0x170]
cmp word [ecx + 0x13c], bp
jl case.default.0x7665f7
jmp 0x766656
mov edx, dword [esi + 0x170]
movzx eax, word [edx + 0x13c]
cmp ax, 0xc8
jl case.default.0x7665f7
cmp ax, 0xe2
jg case.default.0x7665f7
mov dword [esi + 0x8a4], edi
mov eax, dword [esi + 0x8a4]
xor edi, edi
cmp eax, edi
jle 0x76679c
add eax, 0xffffffff
cmp eax, edi
mov dword [esi + 0x8a4], eax
jge 0x76667f
mov dword [esi + 0x8a4], edi
movsx eax, byte [esi + 0x6af]
mov dword [esp + 0x14], eax
mov eax, 0xcccccccd
fild dword [esp + 0x14]
fmul qword [0x867840]
fadd qword [0x85e828]
fmul dword [esi + 0x530]
fstp dword [esi + 0x530]
mov ecx, dword [0x8985d8]
mul ecx
shr edx, 3
lea edx, [edx + edx*4]
add edx, edx
sub ecx, edx
jne 0x76679c
fst dword [esp + 0x598]
push 3
fstp dword [esp + 0x5a0]
lea eax, [esp + 0x59c]
fld dword [0x867860]
push eax
fstp dword [esp + 0x5a8]
mov edi, dword [esi + 0x170]
fld dword [edi + 0xec]
push 1
fadd qword [0x85bbd8]
push 0x64
fstp qword [esp + 0x30]
call fcn.004099f0
add esp, 4
cmp eax, 0x32
seta cl
mov edx, 1
add cl, cl
sub dl, cl
push edx
push 0x64
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x766733
fadd dword [0x871554]
fld dword [edi + 0xf0]
fadd qword [0x857990]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x96
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x766768
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fldz
jmp 0x76679a
mov dword [esi + 0x898], edi
mov dword [esi + 0x8a4], edi
mov byte [esi + 0x89d], 0
xor edi, edi
cmp word [esi + 0x196], di
jne 0x7678c0
mov eax, dword [esi + 0x170]
cmp word [eax + 0x4a8], di
jne 0x7678c0
movsx eax, word [esi + 0x13c]
cmp eax, ebp
jg 0x76ae11
je case.0x76ae37.330
cmp eax, 0xe2
ja case.0x76f7c6.504
movzx ecx, byte [eax + 0x781ad4]
jmp dword [ecx*4 + 0x781a0c]
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x44
jp 0x766809
mov byte [esi + 0x49a], 0
cmp byte [esi + 0x49a], 0
jne 0x76682a
mov ecx, esi
fstp st(0)
call fcn.004636b0
mov ecx, esi
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x76686c
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x76686c
mov ecx, esi
fstp st(0)
call fcn.004636b0
fldz
mov byte [esi + 0x49a], 0
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x7670db
fld dword [esi + 0xf4]
fadd qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x7670dd
mov ecx, esi
call fcn.004636b0
mov ecx, esi
mov byte [esi + 0x49a], 0
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp byte [esi + 0x49a], 0
jne 0x7668df
mov ecx, esi
call fcn.004636b0
jmp 0x766965
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x766923
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x766923
mov ecx, esi
fstp st(0)
call fcn.004636b0
fldz
mov byte [esi + 0x49a], 0
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x766963
fld dword [esi + 0xf4]
fadd qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x766965
mov ecx, esi
call fcn.004636b0
mov byte [esi + 0x49a], 0
jmp 0x766965
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp dword [esi + 0x758], edi
mov ecx, esi
jg 0x7670df
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 3
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp byte [esi + 0x49a], 0
jne 0x7669da
mov ecx, esi
call fcn.004636b0
jmp 0x766a60
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x766a1e
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x766a1e
mov ecx, esi
fstp st(0)
call fcn.004636b0
fldz
mov byte [esi + 0x49a], 0
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x766a5e
fld dword [esi + 0xf4]
fadd qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x766a60
mov ecx, esi
call fcn.004636b0
mov byte [esi + 0x49a], 0
jmp 0x766a60
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, word [esi + 0x13e]
fstp st(0)
cmp eax, 3
ja case.default.0x766aa0
jmp dword [eax*4 + 0x781bb8]
mov ecx, esi
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
fld qword [0x858820]
test ah, 5
jp 0x766aec
fld dword [esi + 0xf4]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x766aec
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x766b24
fld dword [esi + 0xf4]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x766b26
fstp dword [esi + 0xf4]
jmp 0x766b28
fstp st(0)
fstp st(0)
cmp dword [esi + 0x758], edi
jge case.default.0x766aa0
mov ecx, esi
call fcn.00487c20
movsx eax, byte [esi + 0x104]
imul eax, dword [esi + 0x754]
cmp eax, edi
jle 0x766b60
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 7
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
jge 0x766b75
push 8
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 6
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je case.default.0x766aa0
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
movsx ecx, byte [esi + 0x104]
imul ecx, dword [esi + 0x754]
test ecx, ecx
jle 0x768a10
cmp dword [esi + 0x758], edi
jne 0x768a10
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push edi
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fsub qword [0x85b938]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x766c20
fstp dword [esi + 0xf4]
jmp case.default.0x766aa0
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x766a7c
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
push 0xf
mov ecx, esi
call fcn.00464980
fld dword [0x85bdb8]
fstp dword [esi + 0xf8]
push ecx
fld dword [0x85bca4]
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp dword [esi + 0x758], edi
jge 0x766cd2
mov ecx, esi
call fcn.00487c20
movsx eax, byte [esi + 0x104]
imul eax, dword [esi + 0x754]
cmp eax, edi
jg 0x766b4d
jmp 0x766b60
movsx eax, word [esi + 0x13e]
sub eax, edi
je 0x766d34
sub eax, 1
je 0x766d01
sub eax, 1
jne 0x766dae
fld dword [esi + 0xf4]
fadd qword [0x858820]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x766d15
fld dword [esi + 0xf4]
fadd qword [0x857f78]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x766dac
fstp dword [esi + 0xf4]
jmp 0x766dae
fldz
fcom dword [esi + 0xf4]
fnstsw ax
fld qword [0x858820]
test ah, 5
jp 0x766d72
fld dword [esi + 0xf4]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x766d72
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x766daa
fld dword [esi + 0xf4]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x766dac
fstp dword [esi + 0xf4]
jmp 0x766dae
fstp st(0)
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x766de6
movsx ecx, byte [esi + 0x104]
imul ecx, dword [esi + 0x754]
test ecx, ecx
jge 0x766a7c
cmp dword [esi + 0x758], edi
jne 0x766a7c
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 1
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
push 0x10
mov ecx, esi
call fcn.00464980
fld dword [0x85d150]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
fstp st(0)
jne 0x766e6e
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jne 0x766e6e
cmp byte [esi + 0x49a], 0
jne 0x766e67
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], di
jle 0x766e91
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x7670b4
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
push 0x11
mov ecx, esi
call fcn.00464980
fldz
push ecx
fstp dword [esp]
mov ecx, esi
call fcn.00487740
fld dword [0x85c894]
fstp dword [esi + 0xf8]
fld dword [0x85bb00]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
fstp st(0)
jne 0x766f3b
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jne 0x766f3b
cmp byte [esi + 0x49a], 0
jne 0x766f34
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], di
jle 0x766f5e
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x7670b4
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x85bbbc]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85bc60]
fstp dword [esi + 0xf8]
fld dword [0x85bc48]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
fstp st(0)
jne 0x76700c
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jne 0x76700c
cmp byte [esi + 0x49a], 0
jne 0x767005
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], di
jle 0x76702f
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x7670b4
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x85ceac]
jmp 0x766fa8
fcomp dword [esi + 0x100]
fnstsw ax
test ah, 0x44
jp 0x767097
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7670dd
mov ecx, esi
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
call eax
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.00438c60
test al, al
je case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 1
jne 0x76714d
fld dword [0x8589f0]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x76714d
fstp st(0)
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x767180
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
jmp 0x767182
fstp st(0)
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x76729f
cmp byte [esi + 0x6af], 0
jle 0x7671ad
push 4
call fcn.004099f0
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
cmp byte [esi + 0x80c], 0
je 0x767232
cmp dword [esi + 0x52c], 0x12
jne 0x7671df
movsx ecx, word [0x8971cc]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x858820]
call fcn.00820230
mov word [0x8971cc], ax
fld dword [esi + 0xf4]
call fcn.00820230
imul ax, ax, 0x64
mov word [esi + 0x7d0], ax
fld dword [esi + 0xf8]
call fcn.00820230
imul ax, ax, 0x64
mov ecx, esi
mov word [esi + 0x7d2], ax
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
mov edx, dword [esi]
fstp dword [esi + 0xf0]
mov eax, dword [edx + 8]
push 0x59
mov ecx, esi
call eax
fld dword [0x85b870]
jmp 0x767283
fld dword [esi + 0xf4]
call fcn.00820230
imul ax, ax, 0x64
mov word [esi + 0x7d0], ax
fld dword [esi + 0xf8]
call fcn.00820230
imul ax, ax, 0x64
mov ecx, esi
mov word [esi + 0x7d2], ax
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
mov edx, dword [esi]
fstp dword [esi + 0xf0]
mov eax, dword [edx + 8]
push 0x61
mov ecx, esi
call eax
fld dword [0x8589f0]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
push 0x16
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x7d0]
cmp ax, di
jle 0x7672b5
add eax, 0xffffffff
mov word [esi + 0x7d0], ax
mov ecx, esi
call fcn.004393b0
test al, al
je 0x7670dd
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x7670db
fld dword [esi + 0xf4]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x767302
fstp dword [esi + 0xf4]
jmp 0x767304
fstp st(0)
cmp byte [esi + 0x4ac], 0
je 0x7670dd
movsx ecx, word [esi + 0x7d0]
mov dword [esp + 0x14], ecx
mov ecx, esi
fild dword [esp + 0x14]
fmul qword [0x867850]
fstp dword [esi + 0x74c]
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 1
fstp st(0)
jne 0x76735e
fld dword [0x8589f0]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
je 0x76713c
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7673ff
cmp byte [esi + 0x6af], 0
jle 0x76739b
push 4
call fcn.004099f0
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
cmp byte [esi + 0x80c], 0
je 0x7673c5
cmp dword [esi + 0x52c], 0x12
jne 0x7671df
movsx ecx, word [0x8971cc]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x7671ce
fld dword [esi + 0xf4]
call fcn.00820230
imul ax, ax, 0x64
mov word [esi + 0x7d0], ax
fld dword [esi + 0xf8]
call fcn.00820230
imul ax, ax, 0x64
mov ecx, esi
mov word [esi + 0x7d2], ax
call fcn.004636b0
fldz
jmp 0x76726c
mov ecx, esi
call fcn.004393b0
test al, al
je 0x7670dd
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x7670db
fld dword [esi + 0xf4]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x76744c
fstp dword [esi + 0xf4]
jmp 0x76744e
fstp st(0)
cmp byte [esi + 0x4ac], 0
je 0x7670dd
fld dword [esi + 0xf4]
mov ecx, esi
fstp dword [esi + 0x74c]
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ea0
test al, al
je 0x76751e
cmp byte [esi + 0x6af], 0
jle 0x7674a3
push 4
call fcn.004099f0
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
cmp byte [esi + 0x80c], 0
je 0x7674cd
cmp dword [esi + 0x52c], 0x12
jne 0x7671df
movsx ecx, word [0x8971cc]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x7671ce
fld dword [esi + 0xf4]
call fcn.00820230
imul ax, ax, 0x64
mov word [esi + 0x7d0], ax
fld dword [esi + 0xf8]
call fcn.00820230
imul ax, ax, 0x64
mov ecx, esi
mov word [esi + 0x7d2], ax
call fcn.004636b0
mov edx, dword [esi]
fldz
mov eax, dword [edx + 8]
push 0x61
fstp dword [esi + 0xf0]
mov ecx, esi
call eax
fld dword [0x85b870]
jmp 0x767283
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne 0x767586
cmp word [esi + 0x142], di
jne 0x767586
cmp word [esi + 0x140], di
jne 0x767586
cmp word [esi + 0x13e], 1
jne 0x767586
fldz
fcom dword [esi + 0xf8]
fnstsw ax
test ah, 0x44
jnp 0x767584
fcomp dword [esi + 0xf4]
mov edx, dword [esi]
mov ecx, esi
fnstsw ax
test ah, 0x44
mov eax, dword [edx + 0xc]
jp 0x767578
push 3
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
add word [esi + 0x7d0], 0xffff
movzx eax, word [esi + 0x7d0]
cmp ax, di
jge 0x7675a1
mov word [esi + 0x7d0], di
mov ecx, esi
call fcn.004393b0
test al, al
je case.default.0x77ef43
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x7678c0
fld dword [esi + 0xf4]
fadd qword [0x85abe8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x7675ee
fstp dword [esi + 0xf4]
jmp 0x7675f0
fstp st(0)
cmp byte [esi + 0x4ac], 0
je case.default.0x77ef43
movsx ecx, word [esi + 0x7d0]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x867850]
fstp dword [esi + 0x74c]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 1
fstp st(0)
jne 0x767643
fld dword [0x8589f0]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
je 0x76713c
mov ecx, esi
call fcn.004393b0
test al, al
je 0x7676c2
fld dword [esi + 0xf4]
fcomp qword [0x85b868]
fnstsw ax
test ah, 0x41
jnp 0x76766a
cmp byte [esi + 0x80c], 0
je 0x7676c2
cmp byte [esi + 0x6af], 0
jle 0x767686
push 4
call fcn.004099f0
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
cmp dword [esi + 0x52c], 0x12
jne 0x7676af
movsx ecx, word [0x8971cc]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x858820]
call fcn.00820230
mov word [0x8971cc], ax
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x4c
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.004393b0
test al, al
je 0x76770f
fld dword [esi + 0xf4]
fcomp qword [0x85b860]
fnstsw ax
test ah, 0x41
jp 0x76770f
cmp byte [esi + 0x6af], 0
jle 0x7676fc
push 4
call fcn.004099f0
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x4e
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7670dd
cmp byte [esi + 0x6af], 0
jle 0x76774c
push 4
call fcn.004099f0
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
cmp byte [esi + 0x80c], 0
je 0x7673c5
cmp dword [esi + 0x52c], 0x12
jne 0x7671df
movsx ecx, word [0x8971cc]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x7671ce
mov ecx, esi
fstp st(0)
call fcn.00487ea0
test al, al
je 0x7677d1
cmp byte [esi + 0x6af], 0
jle 0x7677a3
push 4
call fcn.004099f0
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
cmp byte [esi + 0x80c], 0
je 0x7674cd
cmp dword [esi + 0x52c], 0x12
jne 0x7671df
movsx ecx, word [0x8971cc]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x7671ce
mov ecx, esi
call fcn.004393b0
test al, al
je 0x767835
fld dword [esi + 0xf4]
fcomp qword [0x85b868]
fnstsw ax
test ah, 0x41
jnp 0x7677f8
cmp byte [esi + 0x80c], 0
je 0x767835
cmp byte [esi + 0x6af], 0
jle 0x767814
push 4
call fcn.004099f0
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
cmp dword [esi + 0x52c], 0x12
jne 0x7676af
movsx ecx, word [0x8971cc]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x76769e
mov ecx, esi
call fcn.004393b0
test al, al
je 0x767882
fld dword [esi + 0xf4]
fcomp qword [0x85b860]
fnstsw ax
test ah, 0x41
jp 0x767882
cmp byte [esi + 0x6af], 0
jle 0x76786f
push 4
call fcn.004099f0
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x4e
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
fldz
fcom dword [esi + 0xf8]
fnstsw ax
test ah, 0x44
jp 0x767558
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
fstp st(0)
jle 0x7678e7
fld dword [esi + 0x12c]
fsub qword [0x867830]
fstp dword [esi + 0x12c]
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x76797c
push 0x16
call fcn.00439490
fld dword [esi + 0xf4]
call fcn.00820230
imul ax, ax, 0x64
mov word [esi + 0x7d0], ax
fld dword [esi + 0xf8]
call fcn.00820230
imul ax, ax, 0x64
mov ecx, esi
mov word [esi + 0x7d2], ax
call fcn.004636b0
fldz
mov edx, dword [esi]
fstp dword [esi + 0xf0]
mov eax, dword [edx + 8]
push 0x61
mov ecx, esi
call eax
fldz
fstp dword [esi + 0x12c]
push ecx
fld dword [0x8589f0]
mov ecx, esi
fstp dword [esp]
call fcn.00439470
lea ecx, [esi + 4]
call fcn.00438bb0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
mov cl, byte [esi + 0x104]
fld dword [0x85b85c]
neg cl
mov byte [esi + 0x104], cl
fstp dword [esi + 0xf4]
fld dword [0x86782c]
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
fld dword [esi + 0x12c]
fsub qword [0x867830]
fstp dword [esi + 0x12c]
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7670dd
cmp byte [esi + 0x6af], 0
jle 0x767a40
push 4
call fcn.004099f0
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
cmp byte [esi + 0x80c], 0
je 0x767a8a
fld dword [esi + 0xf4]
call fcn.00820230
imul ax, ax, 0x64
mov word [esi + 0x7d0], ax
fld dword [esi + 0xf8]
call fcn.00820230
imul ax, ax, 0x64
mov ecx, esi
mov word [esi + 0x7d2], ax
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
push 0x59
jmp 0x767d38
push 0x16
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf4]
call fcn.00820230
imul ax, ax, 0x64
mov word [esi + 0x7d0], ax
fld dword [esi + 0xf8]
call fcn.00820230
imul ax, ax, 0x64
mov ecx, esi
mov word [esi + 0x7d2], ax
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
jmp 0x767942
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x767b59
push 0x16
call fcn.00439490
fld dword [esi + 0xf4]
call fcn.00820230
imul ax, ax, 0x64
mov word [esi + 0x7d0], ax
fld dword [esi + 0xf8]
call fcn.00820230
imul ax, ax, 0x64
mov ecx, esi
mov word [esi + 0x7d2], ax
call fcn.004636b0
mov edx, dword [esi]
fldz
mov eax, dword [edx + 8]
push 0x61
fstp dword [esi + 0xf0]
mov ecx, esi
call eax
fld dword [0x8589f0]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
mov cl, byte [esi + 0x104]
fld dword [0x85b858]
neg cl
mov byte [esi + 0x104], cl
fstp dword [esi + 0xf4]
fld dword [0x871538]
jmp 0x7679d5
mov ecx, esi
fstp st(0)
call fcn.00487ea0
test al, al
je 0x767be9
cmp byte [esi + 0x6af], 0
jle 0x7671df
push 4
call fcn.004099f0
add esp, 4
add eax, 1
mov dword [esi + 0x898], eax
jmp 0x7671df
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne 0x767c29
cmp word [esi + 0x142], di
jne 0x767c29
cmp word [esi + 0x140], di
jne 0x767c29
cmp word [esi + 0x13e], 1
jne 0x767c29
fldz
fcom dword [esi + 0xf8]
fnstsw ax
test ah, 0x44
jp 0x767558
fstp st(0)
add word [esi + 0x7d0], 0xffff
movzx eax, word [esi + 0x7d0]
cmp ax, di
jge 0x767c44
mov word [esi + 0x7d0], di
mov ecx, esi
call fcn.004393b0
test al, al
je case.default.0x77ef43
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x7678c0
fld dword [esi + 0xf4]
fadd qword [0x85abe8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x767c91
fstp dword [esi + 0xf4]
jmp 0x767c93
fstp st(0)
cmp byte [esi + 0x4ac], 0
je case.default.0x77ef43
movsx ecx, word [esi + 0x7d0]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x867850]
fstp dword [esi + 0x74c]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
fstp st(0)
jle 0x767d79
fld dword [esi + 0x12c]
mov ecx, esi
fsub qword [0x858990]
fstp dword [esi + 0x12c]
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x767d79
fld dword [esi + 0xf4]
call fcn.00820230
imul ax, ax, 0x64
mov word [esi + 0x7d0], ax
fld dword [esi + 0xf8]
call fcn.00820230
imul ax, ax, 0x64
mov ecx, esi
mov word [esi + 0x7d2], ax
call fcn.004636b0
push 0x61
fldz
mov edx, dword [esi]
fstp dword [esi + 0xf0]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
fldz
fstp dword [esi + 0x12c]
push ecx
fld dword [0x8589f0]
mov ecx, esi
fstp dword [esp]
call fcn.00439470
lea ecx, [esi + 4]
call fcn.00438bb0
push 0x16
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
movsx ecx, word [esi + 0x7d0]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fld qword [0x85b850]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
movsx edx, word [esi + 0x7d2]
neg edx
mov dword [esp + 0x14], edx
fimul dword [esp + 0x14]
fstp dword [esi + 0xf8]
fld dword [0x85ad04]
fstp dword [esi + 0x100]
movsx eax, word [esi + 0x88c]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fstp dword [esi + 0x108]
movsx ecx, word [esi + 0x88e]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fstp dword [esi + 0x10c]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x13e], 3
jne 0x767e56
mov al, byte [esi + 0x113]
cmp al, 3
jbe 0x767e4f
sub al, 3
mov byte [esi + 0x113], al
jmp 0x767e56
mov byte [esi + 0x113], 0
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
mov al, byte [esi + 0x7cc]
cmp al, 2
jne 0x767f5a
cmp byte [esi + 0x5e6], 3
jne 0x767f37
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xc7
mov ecx, esi
call eax
fldz
mov byte [esi + 0x574], 0
mov byte [esi + 0x577], 1
fst dword [esp + 0x5b0]
fst dword [esp + 0x5b4]
push 3
fstp dword [esp + 0x5bc]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
lea ecx, [esp + 0x5b4]
push ecx
push 1
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3b4
call fcn.0046eb30
fld dword [0x85b3b0]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
push 0x6e
mov ecx, esi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, 2
jne 0x767f5a
cmp byte [esi + 0x5e6], 1
jne 0x767f5a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x304
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x576], 0
jne 0x767fb6
cmp byte [esi + 0x880], 0
jne 0x767fb6
cmp byte [esi + 0x5e6], 0
jle 0x767f9a
cmp al, 2
jne 0x767f9a
push edi
lea ecx, [esi + 0x5e8]
call fcn.00456c80
cmp word [eax], 0xf8
jl 0x767f9a
mov ecx, esi
call fcn.004639f0
mov byte [esi + 0x868], 0
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xc7
mov ecx, esi
call edx
mov byte [esi + 0x574], 0
mov byte [esi + 0x577], 1
mov byte [esi + 0x880], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebp, 2
fstp st(0)
cmp word [esi + 0x13e], bp
mov ebx, 0xa
jne 0x767fec
cmp word [esi + 0x140], bx
jl 0x767fec
mov ecx, esi
call fcn.00487ca0
jmp 0x767ff9
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76804c
cmp byte [esi + 0x7cc], 2
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
jne 0x768036
push 0x2bc
call edx
mov eax, 3
mov word [esi + 0x51c], ax
mov word [esi + 0x520], ax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call edx
cmp dword [esi + 0x758], edi
jle 0x76804c
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 1
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x7680ab
cmp word [esi + 0x142], di
jne 0x7680ab
cmp word [esi + 0x140], bx
jne 0x7680ab
mov eax, dword [esi + 0x170]
fld dword [esi + 0xec]
fld dword [eax + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x768089
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xec]
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x7680ab
mov byte [esi + 0x104], 1
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x7680df
cmp word [esi + 0x140], di
jne 0x7680df
cmp word [esi + 0x13e], 1
jne 0x7680df
fld dword [0x85b830]
fstp dword [esi + 0xf4]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bp
jne case.default.0x77ef43
fldz
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebp, 2
fstp st(0)
cmp word [esi + 0x13e], bp
mov ebx, 0xa
jne 0x768149
cmp word [esi + 0x140], bx
jl 0x768149
mov ecx, esi
call fcn.00487ca0
jmp 0x768156
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.00438c60
test al, al
je 0x768193
cmp byte [esi + 0x7cc], 2
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
jne 0x76817d
push 0x2bc
call eax
jmp 0x76801b
push edi
call eax
cmp dword [esi + 0x758], edi
jle 0x768193
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 1
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x7681f2
cmp word [esi + 0x142], di
jne 0x7681f2
cmp word [esi + 0x140], bx
jne 0x7681f2
fld dword [esi + 0xec]
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x7681d0
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xec]
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x7681f2
mov byte [esi + 0x104], 1
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x7680df
cmp word [esi + 0x140], di
jne 0x7680df
cmp word [esi + 0x13e], 1
jne 0x7680df
fld dword [0x85b9e4]
jmp 0x7680d9
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76826f
cmp byte [esi + 0x7cc], 2
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
je 0x768014
push edi
call edx
cmp dword [esi + 0x758], edi
jle 0x76826f
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 1
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
mov eax, dword [esi + 0x170]
fld dword [esi + 0xec]
fld dword [eax + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x7682b9
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xec]
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne case.default.0x77ef43
mov byte [esi + 0x104], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x768314
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76834f
movsx ecx, byte [esi + 0x104]
imul ecx, dword [esi + 0x754]
test ecx, ecx
jg 0x76833d
cmp dword [esi + 0x144], 5
jge 0x768346
cmp dword [esi + 0x144], 0x19
jl 0x76834f
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x7683b5
cmp word [esi + 0x142], di
jne 0x7683b5
cmp word [esi + 0x140], di
jne 0x7683b5
cmp word [esi + 0x13e], bx
jne 0x7683b5
push 0x13
mov ecx, esi
call fcn.00464980
fld dword [0x85bc44]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
movsx ecx, byte [esi + 0x104]
imul ecx, dword [esi + 0x754]
test ecx, ecx
jle 0x7683af
fld dword [0x85bae4]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
mov dword [esi + 0x190], ebx
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 3
jne case.default.0x77ef43
fldz
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x7682fb
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x76847a
cmp word [esi + 0x140], di
jne 0x76847a
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76847a
push 0x13
mov ecx, esi
call fcn.00464980
fld dword [0x85c8ac]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
movsx ecx, byte [esi + 0x104]
imul ecx, dword [esi + 0x754]
test ecx, ecx
jge 0x768474
fld dword [0x85b9c8]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
mov dword [esi + 0x190], ebx
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 2
jmp 0x7683d8
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7684f3
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
cmp ax, 1
je 0x76850a
cmp ax, 2
jne 0x7685a5
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x7685a5
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push 1
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x76855a
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x76858c
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x768699
cmp word [esi + 0x140], di
jne 0x768699
cmp word [esi + 0x13e], 1
jne 0x768699
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x871538]
fstp dword [esi + 0xf8]
push 1
fld dword [0x85bc68]
mov ecx, esi
fstp dword [esi + 0x100]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85bc50]
movsx eax, al
fstp dword [esp + 0x1c]
lea edx, [eax + eax*4]
fld dword [esp + 0x1c]
sub esp, 8
shl edx, 4
mov dword [esp + 0x24], edx
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x85bc50]
movzx eax, byte [esi + 0x104]
push 1
push eax
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x7684cc
movzx eax, word [esi + 0x13e]
cmp ax, 3
jge 0x7687b6
cmp ax, di
jle 0x7687b6
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x7687b6
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push 1
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x76876b
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x76879d
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x768895
cmp word [esi + 0x140], di
jne 0x768895
cmp word [esi + 0x13e], 1
jne 0x768895
fld dword [0x85b908]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x871538]
fstp dword [esi + 0xf8]
push 1
fld dword [0x85bc68]
mov ecx, esi
fstp dword [esi + 0x100]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg dl
fadd qword [0x85b900]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85b900]
neg al
push 1
fstp dword [esp + 0x18]
mov ecx, esi
fld dword [esp + 0x18]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x768917
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x768919
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, word [esi + 0x13e]
fstp st(0)
cmp eax, 3
ja case.default.0x768953
jmp dword [eax*4 + 0x781bc8]
mov ecx, esi
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
fld qword [0x858820]
test ah, 5
jp 0x76899f
fld dword [esi + 0xf4]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x76899f
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x768a59
fld dword [esi + 0xf4]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x768a5b
fstp dword [esi + 0xf4]
jmp case.default.0x768953
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je case.default.0x768953
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fsub qword [0x85b938]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x768a5b
fstp dword [esi + 0xf4]
jmp case.default.0x768953
fstp st(0)
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x766a7c
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
push 0xf
mov ecx, esi
call fcn.00464980
fld dword [0x85bc7c]
fstp dword [esi + 0xf8]
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x8677a8]
fstp dword [esi + 0x100]
fld dword [esi + 0xf0]
fadd qword [0x857938]
fstp dword [esi + 0xf0]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, word [esi + 0x13e]
fstp st(0)
cmp eax, 3
ja case.default.0x768afe
jmp dword [eax*4 + 0x781bd8]
mov ecx, esi
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
fld qword [0x858820]
test ah, 5
jp 0x768b4a
fld dword [esi + 0xf4]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x768b4a
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x768c04
fld dword [esi + 0xf4]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x768c06
fstp dword [esi + 0xf4]
jmp case.default.0x768afe
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je case.default.0x768afe
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fadd qword [0x85b938]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x768c06
fstp dword [esi + 0xf4]
jmp case.default.0x768afe
fstp st(0)
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x766a7c
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
push 0x10
mov ecx, esi
call fcn.00464980
fld dword [0x85bc7c]
fstp dword [esi + 0xf8]
fld dword [0x85b908]
jmp 0x768abb
cmp word [esi + 0x13e], di
fstp st(0)
jne 0x768c7d
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x768caf
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
call eax
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00463530
test al, al
jne 0x768cc7
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x768cd0
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], di
jle 0x768d0e
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x768d0c
fstp dword [esi + 0xf8]
jmp 0x768d0e
fstp st(0)
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x768d3a
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x768d3a
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
test al, al
je 0x768dcc
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
push 0x11
mov ecx, esi
call fcn.00464980
fldz
push ecx
fstp dword [esp]
mov ecx, esi
call fcn.00487740
fld dword [0x85bb28]
fstp dword [esi + 0xf8]
fld dword [0x85bc74]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
fld dword [esi + 0xf0]
fadd qword [0x857b20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push ebx
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3f
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
push 0x11
mov ecx, esi
call fcn.00464980
fldz
push ecx
fstp dword [esp]
mov ecx, esi
call fcn.00487740
fld dword [0x85bb28]
fstp dword [esi + 0xf8]
fld dword [0x85bc74]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebx
push edx
jmp 0x768dab
cmp word [esi + 0x13e], di
fstp st(0)
jne 0x768e5a
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x768e8c
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
call edx
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00463530
test al, al
jne 0x768ea4
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x768ead
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], di
jle 0x768eeb
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x768ee9
fstp dword [esi + 0xf8]
jmp 0x768eeb
fstp st(0)
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x768f17
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x768f17
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
mov ecx, esi
call edx
mov ecx, esi
call fcn.00438c60
test al, al
je 0x768f8d
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebx
mov ecx, esi
call edx
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x867810]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x859f00]
fstp dword [esi + 0xf8]
push ebx
fld dword [0x85bc48]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
fld dword [esi + 0xf0]
fadd qword [0x857b20]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
push eax
jmp 0x768dab
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x867810]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x859f00]
fstp dword [esi + 0xf8]
fld dword [0x85bc48]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
fld dword [esi + 0xf0]
jmp 0x768da2
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x769018
cmp ax, 4
jne 0x76901f
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x768c8a
call fcn.00463530
test al, al
jne 0x769048
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x769051
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], di
jle 0x76908f
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x76908d
fstp dword [esi + 0xf8]
jmp 0x76908f
fstp st(0)
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x7690bb
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x7690bb
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
test al, al
je 0x769101
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x85b908]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x859f00]
fstp dword [esi + 0xf8]
fld dword [0x85bc48]
jmp 0x768d7b
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x85b908]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x859f00]
fstp dword [esi + 0xf8]
fld dword [0x85bc48]
jmp 0x768e27
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x769179
cmp ax, 4
jne 0x769180
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x768e67
call fcn.00463530
test al, al
jne 0x7691a9
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x7691b2
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], di
jle 0x7691f0
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x7691ee
fstp dword [esi + 0xf8]
jmp 0x7691f0
fstp st(0)
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76921c
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x76921c
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
mov ecx, esi
call edx
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x871538]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85bb30]
fstp dword [esi + 0xf8]
push ebx
fld dword [0x85c228]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
jmp 0x768dab
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x7692b7
cmp ax, 4
jne 0x7692be
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x768c8a
call fcn.00463530
test al, al
jne 0x7692e7
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x7692f0
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], di
jle 0x76932e
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x76932c
fstp dword [esi + 0xf8]
jmp 0x76932e
fstp st(0)
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76935a
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x76935a
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x859f00]
fstp dword [esi + 0xf8]
fld dword [0x85bb00]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebx
push ecx
jmp 0x768dab
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
je 0x769408
mov ecx, esi
call fcn.00487c20
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], edi
fld dword [0x85ac54]
jne 0x7694de
cmp word [esi + 0x142], di
jne 0x7694de
cmp word [esi + 0x140], di
jne 0x7694de
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x7694e3
fld dword [0x85bca4]
fstp dword [esi + 0xf8]
fld dword [0x85aae8]
fstp dword [esi + 0x100]
fld dword [esi + 0x7e0]
fmul qword [0x857930]
fadd dword [esi + 0xf4]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fld dword [0x867810]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x769497
fstp dword [esi + 0xf4]
jmp 0x769499
fstp st(0)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x7694ae
fstp dword [esi + 0xf4]
jmp 0x7694b0
fstp st(0)
cmp dword [esi + 0x52c], edi
mov ecx, esi
jne 0x7694cc
push 0x1e
push 0x32
call fcn.0047a9e0
mov ecx, esi
call fcn.00487c20
jmp 0x7694e5
push 0x3c
push 0x32
call fcn.0047a9e0
mov ecx, esi
call fcn.00487c20
jmp 0x7694e5
mov ebx, 1
fstp st(0)
cmp dword [esi + 0x144], edi
jne 0x76951c
cmp word [esi + 0x142], di
jne 0x76951c
cmp word [esi + 0x140], di
jne 0x76951c
cmp word [esi + 0x13e], 2
jne 0x76951c
fld dword [0x8677a8]
mov ecx, esi
fstp dword [esi + 0x100]
call fcn.00487c20
cmp word [esi + 0x13e], bx
jne 0x769537
cmp word [esi + 0x142], di
jne 0x769537
push 0x1b
mov ecx, esi
call fcn.00439490
movzx eax, word [esi + 0x13e]
cmp ax, bx
jne 0x76954d
cmp word [esi + 0x140], 5
jge 0x769557
cmp ax, 2
jne 0x769688
cmp dword [esi + 0x768], edi
jbe 0x769688
movzx eax, word [esi + 0x49e]
cmp ax, 0x1e
jl 0x769578
cmp dword [esi + 0x52c], edi
je 0x769582
cmp ax, 0x3c
jl 0x769688
movsx ecx, byte [esi + 0x104]
imul ecx, dword [esi + 0x754]
test ecx, ecx
jle 0x76959c
fld1
fstp dword [esi + 0x7e0]
movsx edx, byte [esi + 0x104]
imul edx, dword [esi + 0x754]
test edx, edx
jge 0x7695ba
fld dword [0x87150c]
fstp dword [esi + 0x7e0]
movsx eax, byte [esi + 0x104]
imul eax, dword [esi + 0x754]
test eax, eax
jne 0x7695d4
fldz
fstp dword [esi + 0x7e0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
fld dword [0x85bca4]
fstp dword [esi + 0xf8]
fld dword [0x85aae8]
fstp dword [esi + 0x100]
fld dword [esi + 0x7e0]
fmul qword [0x857930]
fadd dword [esi + 0xf4]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fld dword [0x867810]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x76962f
fstp dword [esi + 0xf4]
jmp 0x769631
fstp st(0)
fld dword [0x85ac54]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x76964c
fstp dword [esi + 0xf4]
jmp 0x76964e
fstp st(0)
cmp dword [esi + 0x52c], edi
mov ecx, esi
jne 0x769670
push 0x1e
push 0x32
call fcn.0047a9e0
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x3c
push 0x32
call fcn.0047a9e0
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je case.default.0x77ef43
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
mov edx, dword [esi]
mov eax, dword [edx + 8]
fst dword [esi + 0x100]
fstp dword [esi + 0xf8]
mov ecx, esi
cmp word [esi + 0x13e], bx
jge 0x7696e3
push 0xd7
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
call eax
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
fld qword [0x858820]
test ah, 5
jp 0x76973d
fld dword [esi + 0xf4]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x76973d
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x769775
fld dword [esi + 0xf4]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x769777
fstp dword [esi + 0xf4]
jmp 0x769779
fstp st(0)
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
jne 0x7693f5
cmp dword [esi + 0x144], edi
jne 0x7697de
cmp word [esi + 0x142], di
jne 0x7697de
cmp word [esi + 0x140], di
jne 0x7697de
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x7697e3
push 0x1f
mov ecx, esi
call fcn.00439490
jmp 0x7697e3
mov ebx, 1
cmp dword [esi + 0x144], edi
jne 0x76980b
cmp word [esi + 0x142], di
jne 0x76980b
cmp word [esi + 0x140], di
jne 0x76980b
cmp word [esi + 0x13e], 6
je 0x7693f5
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x14], ecx
sub esp, 8
fild dword [esp + 0x1c]
fmulp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fadd qword [0x857b20]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00409760
add esp, 8
call fcn.00820230
mov word [esi + 0x7d2], ax
movzx eax, word [esi + 0x13e]
cmp ax, 5
je 0x769881
cmp ax, 6
jne 0x769893
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
cmp ax, di
jle 0x769d11
cmp ax, 5
jge 0x769d11
add word [esi + 0x7d6], bx
fld dword [esi + 0x7e0]
call fcn.00820230
movzx ecx, word [esi + 0x7d2]
sub cx, ax
cmp cx, 0xb4
mov word [esi + 0x7d4], cx
jle 0x7698e4
add ecx, 0xfffffe98
mov word [esi + 0x7d4], cx
movzx eax, word [esi + 0x7d4]
cmp ax, 0xff4c
jge 0x7698fd
add eax, 0x168
mov word [esi + 0x7d4], ax
cmp word [esi + 0x7d4], di
fld qword [0x858ea0]
fld qword [0x858820]
jle 0x769933
cmp dword [esi + 0x52c], edi
fld dword [esi + 0x7e0]
jne 0x769924
fadd st(1)
jmp 0x769926
fadd st(2)
fstp dword [esi + 0x7e0]
cmp word [esi + 0x7d4], di
jge 0x76995d
cmp dword [esi + 0x52c], edi
jne 0x76994d
fstp st(1)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x769961
fstp st(0)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x769961
fstp st(1)
fstp st(0)
fld dword [esi + 0x7e0]
push ecx
fstp dword [esp]
call fcn.004095f0
fmul dword [esi + 0x7dc]
fstp dword [esi + 0xf4]
fld dword [esi + 0x7e0]
fstp dword [esp]
call fcn.00409580
fmul dword [esi + 0x7dc]
add esp, 4
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0xf8]
fld dword [0x85bc40]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jp 0x7699c9
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x7699c9
fstp dword [esi + 0xf8]
jmp 0x7699cb
fstp st(0)
fld dword [esi + 0x7dc]
fadd qword [0x85a280]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7dc]
fld dword [0x858830]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x7699fe
fstp dword [esi + 0x7dc]
jmp 0x769a00
fstp st(0)
cmp dword [esi + 0x52c], edi
mov ecx, esi
jne 0x769a0f
push ebx
push 0xa
jmp 0x769a13
push 0x3c
push 0xf
call fcn.0047a9e0
fld dword [esi + 0x7e0]
fchs
fstp dword [esi + 0x12c]
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x769a47
fld dword [esi + 0x7e0]
fsubr qword [0x871510]
fstp dword [esi + 0x12c]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x769a6c
cmp word [esi + 0x13e], bx
jne 0x769a6c
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jp 0x769a91
cmp word [esi + 0x13e], 3
jne 0x769a91
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x769ab7
cmp word [esi + 0x13e], 2
jne 0x769ab7
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
fldz
fcomp dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jp 0x769ad9
cmp word [esi + 0x13e], 4
jne 0x769ad9
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
cmp edx, ebx
jne 0x769b60
movzx edx, byte [esi + 0x104]
fld dword [esi + 0x7e0]
push ebx
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fld qword [0x857b20]
fmul st(1), st(0)
fld dword [esi + 0xf0]
faddp st(2)
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push ecx
fld dword [esi + 0x7e0]
fstp dword [esp]
call fcn.004095f0
movsx eax, byte [esi + 0x104]
fmul qword [0x857b20]
mov dword [esp + 0x24], eax
mov ecx, esi
fild dword [esp + 0x24]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
mov eax, dword [esi + 0x768]
cmp eax, edi
mov ecx, 0x14
jne 0x769b78
cmp word [esi + 0x7d6], cx
jg 0x769b85
cmp word [esi + 0x49e], di
jg 0x769d11
cmp eax, edi
jne 0x769b92
cmp word [esi + 0x7d6], cx
jg 0x769b9f
cmp word [esi + 0x49e], di
jg 0x769d11
lea ecx, [esi + 4]
call fcn.00438bb0
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x769bbd
cmp ax, 2
jne 0x769c4a
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
jne 0x769c10
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x769c05
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xf4]
mov edx, dword [esi]
fchs
mov eax, dword [edx + 0xc]
fstp dword [esi + 0xf4]
push 6
call eax
jmp 0x769c4a
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 5
call eax
jmp 0x769c4a
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x769c3f
neg cl
mov byte [esi + 0x104], cl
fld dword [esi + 0xf4]
fchs
push 6
fstp dword [esi + 0xf4]
jmp 0x769c41
push 5
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
call edx
movzx eax, word [esi + 0x13e]
cmp ax, 3
je 0x769c61
cmp ax, 4
jne case.default.0x77ef43
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
jne 0x769cc0
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x769caf
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xf4]
mov edx, dword [esi]
fchs
mov eax, dword [edx + 0xc]
fstp dword [esi + 0xf4]
push 5
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 6
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x769cfe
neg cl
mov byte [esi + 0x104], cl
fld dword [esi + 0xf4]
mov eax, dword [esi]
fchs
mov edx, dword [eax + 0xc]
fstp dword [esi + 0xf4]
push 5
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 6
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ea0
test al, al
je case.default.0x77ef43
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
fst dword [esi + 0x100]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], 5
jge 0x769d63
lea ecx, [esi + 4]
call fcn.00438bb0
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xd7
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
mov ecx, esi
call edx
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 2
fstp st(0)
mov ecx, esi
jl 0x769e9b
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x769da9
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x769dff
cmp word [esi + 0x140], di
jne 0x769dff
cmp word [esi + 0x13e], 1
jne 0x769dff
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
fstp dword [esi + 0xf4]
fld dword [0x85b9e4]
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 3
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xc8
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 1
mov ecx, esi
call eax
push 0x13
mov ecx, esi
call fcn.00464980
fld dword [0x85bc44]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
movsx ecx, byte [esi + 0x104]
imul ecx, dword [esi + 0x754]
test ecx, ecx
jle 0x769e89
fld dword [0x85bae4]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
mov dword [esi + 0x190], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x769d94
mov dword [esi + 0x190], 1
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
mov ecx, esi
call edx
push 8
mov ecx, esi
call fcn.00464980
fld dword [0x867810]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
fldz
fstp dword [esp + 0x18]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x769f1c
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 5
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0x464]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x769f48
fadd dword [0x871554]
fadd qword [0x8579b0]
add esp, 4
fstp dword [esp + 0x464]
fld dword [0x867860]
fstp dword [esp + 0x468]
fld dword [esp + 0x460]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x769f8b
mov eax, 1
jmp 0x769f8d
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x460]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x769f03
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
mov ebx, 2
cmp ax, bx
je 0x76a183
cmp ax, 5
je 0x76a183
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76a18a
mov dword [esi + 0x190], 1
cmp word [esi + 0x13e], bx
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
jge 0x76a055
push ebx
jmp 0x76a057
push 5
call eax
push 8
mov ecx, esi
call fcn.00464980
fld dword [0x867810]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
fldz
fstp dword [esp + 0x18]
lea ecx, [ecx]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76a0a9
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 5
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0x44c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x76a0d5
fadd dword [0x871554]
fadd qword [0x8579b0]
add esp, 4
fstp dword [esp + 0x44c]
fld dword [0x867860]
fstp dword [esp + 0x450]
fld dword [esp + 0x448]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x76a118
mov eax, 1
jmp 0x76a11a
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x448]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x76a090
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x769e33
cmp word [esi + 0x13e], di
jne 0x76a1e6
cmp word [esi + 0x142], di
jne 0x76a1e6
cmp word [esi + 0x140], bx
jne 0x76a1e6
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b3b0]
fstp dword [esi + 0xf4]
fld dword [0x85b908]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], edi
jne 0x76a204
cmp word [esi + 0x142], di
jne 0x76a204
cmp word [esi + 0x140], di
je 0x769e25
cmp word [esi + 0x13e], 3
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne case.default.0x77ef43
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b9e8]
fstp dword [esi + 0xf4]
fld dword [0x85b908]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
fstp st(0)
jne 0x76a278
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x768c8a
call fcn.00463530
test al, al
jne 0x76a2a1
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x76a2aa
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], di
jle 0x76a2e8
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x76a2e6
fstp dword [esi + 0xf8]
jmp 0x76a2e8
fstp st(0)
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76a314
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x76a314
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
push 0x11
mov ecx, esi
call fcn.00464980
fldz
push ecx
fstp dword [esp]
mov ecx, esi
call fcn.00487740
fld dword [0x85bb28]
fstp dword [esi + 0xf8]
fld dword [0x85bc74]
jmp 0x7693c0
cmp word [esi + 0x13e], di
fstp st(0)
jne 0x76a38d
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x768c8a
call fcn.00463530
test al, al
jne 0x76a3b6
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x76a3bf
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], di
jle 0x76a3fd
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x76a3fb
fstp dword [esi + 0xf8]
jmp 0x76a3fd
fstp st(0)
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76a429
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x76a429
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85ba68]
fstp dword [esi + 0xf8]
fld dword [0x85c228]
jmp 0x7693c0
cmp word [esi + 0x13e], di
fstp st(0)
jne 0x76a4a6
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x768c8a
call fcn.00463530
test al, al
jne 0x76a4cf
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x76a4d8
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], di
jle 0x76a516
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x76a514
fstp dword [esi + 0xf8]
jmp 0x76a516
fstp st(0)
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76a542
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x76a542
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x85ac54]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x859f00]
fstp dword [esi + 0xf8]
fld dword [0x85bc48]
jmp 0x7693c0
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x49a], 1
call fcn.00438c60
cmp dword [esi + 0x144], edi
jne 0x76a6aa
cmp word [esi + 0x142], di
jne 0x76a6aa
cmp word [esi + 0x140], di
jne 0x76a6aa
mov ebx, 1
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x7d0], di
jne 0x76a6af
fld dword [0x85bca4]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857938]
push ebx
push eax
fstp dword [esp + 0x1c]
movsx eax, al
fld dword [esp + 0x1c]
lea edx, [eax + eax*4]
sub esp, 8
shl edx, 4
mov dword [esp + 0x24], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857938]
movzx eax, byte [esi + 0x104]
push ebx
push eax
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
jmp 0x76a6af
mov ebx, 1
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x76a756
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push ebx
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x76a70b
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x76a73d
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
add word [esi + 0x7d0], bx
movsx edx, byte [esi + 0x104]
imul edx, dword [esi + 0x754]
test edx, edx
movzx eax, word [esi + 0x7d0]
jg 0x76a77c
cmp ax, 0xf
jg 0x76a786
cmp ax, 0x2d
jle case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xcc
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
cmp ax, di
je 0x76a7ae
cmp ax, 3
jne 0x76a7b9
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x76a7f2
fld dword [esi + 0xf4]
fadd qword [0x859910]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x76a7f2
fstp dword [esi + 0xf4]
jmp 0x76a7f4
fstp st(0)
mov ecx, esi
call fcn.00463530
test al, al
jne 0x76a8a0
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x76a8a0
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push 1
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x76a855
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x76a887
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
cmp word [esi + 0x13e], bx
jge 0x76a8f3
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76a8f3
fldz
mov ecx, esi
fst dword [esi + 0xf8]
fstp dword [esi + 0x100]
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76a91e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
fldz
fst dword [esi + 0xf4]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
push 0x10
mov ecx, esi
call fcn.00464980
fld dword [0x85b960]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x867860]
fstp dword [esi + 0xf8]
push 1
fld dword [0x8677a8]
fstp dword [esi + 0x100]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x857938]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857938]
neg dl
push 1
fstp dword [esp + 0x18]
mov ecx, esi
fld dword [esp + 0x18]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
fstp st(0)
cmp word [esi + 0x13e], bx
jl 0x76aa29
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x76aa5b
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 2
jl 0x76ab05
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x76ab05
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push ebx
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x76aaba
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x76aaec
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76ab1b
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
fld dword [0x85c8ac]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x871538]
fstp dword [esi + 0xf8]
push ebx
fld dword [0x85bc68]
fstp dword [esi + 0x100]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x85b900]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x85b900]
neg dl
push ebx
fstp dword [esp + 0x18]
mov ecx, esi
fld dword [esp + 0x18]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x76aa34
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76acc7
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x76acc7
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push ebx
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x76ac7c
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x76acae
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76acdd
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x76adce
cmp word [esi + 0x140], di
jne 0x76adce
cmp word [esi + 0x13e], bx
jne 0x76adce
fld dword [0x85bc44]
push ecx
mov ecx, esi
fstp dword [esp]
mov word [esi + 0x7d0], di
call fcn.00487740
fld dword [0x871538]
fstp dword [esi + 0xf8]
push ebx
fld dword [0x85bc68]
fstp dword [esi + 0x100]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85bc50]
movsx eax, al
fstp dword [esp + 0x1c]
lea ecx, [eax + eax*4]
fld dword [esp + 0x1c]
sub esp, 8
shl ecx, 4
mov dword [esp + 0x24], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x85bc50]
movzx edx, byte [esi + 0x104]
push ebx
push edx
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x1f4
jg 0x76f7af
je 0x76f58e
sub eax, 0x12d
cmp eax, 0x75
ja case.0x76f7c6.504
movzx eax, byte [eax + 0x781c6c]
jmp dword [eax*4 + 0x781be8]
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push edi
mov ecx, esi
call fcn.00487e90
test al, al
jne case.default.0x77ef43
cmp byte [esi + 0x49a], al
je 0x76ae97
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x76ae95
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x76ae97
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76aeac
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 2
jne case.default.0x77ef43
push 0x1b
mov ecx, esi
call fcn.00439490
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push edi
mov ecx, esi
call fcn.00487e90
test al, al
jne case.default.0x77ef43
cmp dword [esi + 0x75c], edi
jne 0x76af06
mov byte [esi + 0x7f4], al
cmp byte [esi + 0x49a], 0
je 0x76af47
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x76af45
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x76af47
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76af5c
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76af8a
cmp word [esi + 0x142], di
jne 0x76af8a
cmp word [esi + 0x140], di
jne 0x76af8a
cmp word [esi + 0x13e], 1
jne 0x76af8a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x76b0a4
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 4
jne 0x76b082
cmp byte [esi + 0x7f4], 0
je 0x76b019
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857990]
push 1
movsx ecx, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
imul ecx, ecx, 0x15
fstp dword [esp + 4]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
mov ecx, esi
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fldz
push 3
fst dword [esp + 0x5cc]
lea ecx, [esp + 0x5cc]
fstp dword [esp + 0x5d0]
push ecx
fld1
push 1
fstp dword [esp + 0x5dc]
mov ecx, esi
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [0x871538]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
push 0xa
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
push 0x1d
jmp 0x76aec9
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 1
jne 0x76b142
fldz
push 3
fst dword [esp + 0x5e4]
lea ecx, [esp + 0x5e4]
fstp dword [esp + 0x5e8]
push ecx
fld dword [0x85b3b0]
push 1
fstp dword [esp + 0x5f4]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
imul edx, edx, 0x32
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
push 0xa
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 2
jne case.default.0x77ef43
push 0x1d
mov ecx, esi
call fcn.00439490
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x76b195
cmp ax, 3
je 0x76b195
cmp ax, 4
je 0x76b195
cmp ax, 7
jne 0x76b19c
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x75c], edi
jne 0x76b1ab
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x76e120
movzx eax, word [esi + 0x13e]
cmp ax, di
jne 0x76b24c
cmp word [esi + 0x142], di
jne 0x76b24c
cmp word [esi + 0x140], 3
jne 0x76b24c
cmp byte [esi + 0x7f4], 0
je 0x76b24c
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x8581f8]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov ecx, eax
shl ecx, 4
sub esp, 8
sub ecx, eax
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x24], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], edi
jne 0x76b2fc
cmp word [esi + 0x142], di
jne 0x76b2fc
cmp word [esi + 0x140], di
jne 0x76b2fc
cmp ax, 1
jne 0x76b2fc
fld dword [0x867860]
push 0x1d
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x85b9bc]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
call fcn.00439490
fldz
push 3
fst dword [esp + 0x5fc]
lea ecx, [esp + 0x5fc]
fstp dword [esp + 0x600]
push ecx
fld dword [0x85b870]
push 1
fstp dword [esp + 0x60c]
mov ecx, esi
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
mov eax, dword [esi + 0x144]
cmp eax, edi
jne 0x76b3da
cmp word [esi + 0x142], di
jne 0x76b32a
cmp word [esi + 0x140], di
jne 0x76b32a
cmp word [esi + 0x13e], 4
je 0x76e120
cmp eax, edi
jne 0x76b3da
cmp word [esi + 0x142], di
jne 0x76b3da
cmp word [esi + 0x140], di
jne 0x76b3da
cmp word [esi + 0x13e], 5
jne 0x76b3da
fld dword [0x85b870]
push 0x1d
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x85c230]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
call fcn.00439490
fldz
push 3
fst dword [esp + 0x614]
lea eax, [esp + 0x614]
fstp dword [esp + 0x618]
push eax
fld dword [0x85bca4]
push 1
fstp dword [esp + 0x624]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
movzx eax, word [esi + 0x13e]
cmp ax, 1
je 0x76b3ed
cmp ax, 2
jne 0x76b418
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76b418
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
jmp 0x7670bd
movzx eax, word [esi + 0x13e]
cmp ax, 5
je 0x76b42f
cmp ax, 6
jne case.default.0x77ef43
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 7
mov ecx, esi
jmp 0x7670bd
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76b47d
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
push 3
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x628]
push 3
fstp dword [esp + 0x630]
lea edx, [esp + 0x62c]
fld dword [0x858830]
push edx
fstp dword [esp + 0x638]
push 1
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
movzx ecx, word [esi + 0x7d0]
cmp cx, di
jle 0x76b650
movsx eax, cx
cdq
mov ebx, 3
idiv ebx
cmp edx, 1
jne 0x76b648
cmp cx, 7
jg 0x76b648
fldz
push ebx
fstp dword [esp + 0x2bc]
lea edx, [esp + 0x2bc]
movsx ecx, word [esi + 0x7d0]
mov dword [esp + 0x18], ecx
push edx
push 1
fild dword [esp + 0x20]
mov ecx, esi
fmul qword [0x857958]
fstp dword [esp + 0x2c8]
fld dword [0x85bc44]
fstp dword [esp + 0x2cc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
sub esp, 8
movsx eax, al
fstp dword [esp + 4]
fld dword [esp + 0x2d4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [esi + 0xf0]
mov al, byte [esi + 0x104]
movzx edx, al
push ebx
neg dl
lea ecx, [esp + 0x2bc]
push ecx
push 1
movsx eax, al
push edx
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fld dword [esp + 0x2d4]
fild dword [esp + 0x2c]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
add word [esi + 0x7d0], 1
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76b666
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
fld dword [0x85bae0]
push 4
fstp dword [esp + 0x2d4]
lea ecx, [esp + 0x2d4]
fldz
push ecx
fstp dword [esp + 0x2dc]
push 0xfffffffffffffffe
fld dword [0x867810]
mov ecx, esi
fstp dword [esp + 0x2e4]
fld1
fstp dword [esp + 0x2e8]
fld dword [esi + 0xf0]
fadd qword [0x871520]
movzx eax, byte [esi + 0x104]
push eax
movsx edx, al
fstp dword [esp + 0x24]
sub esp, 8
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fmul qword [0x85bbd8]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
push 0xb
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x2d0]
push 3
fstp dword [esp + 0x2d8]
lea edx, [esp + 0x2d4]
fld dword [0x85882c]
push edx
fstp dword [esp + 0x2e0]
push 1
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x140], 4
fstp st(0)
jg 0x76b7bc
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76b7d5
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x132
mov ecx, esi
call eax
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
fld dword [0x85bca4]
jmp 0x7679d5
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x7670b6
call fcn.00438c60
test al, al
je 0x76b834
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp word [esi + 0x142], di
jne case.default.0x77ef43
movzx eax, word [esi + 0x140]
cmp ax, 4
je 0x76b860
cmp ax, 6
je 0x76b860
cmp ax, 8
je 0x76b860
cmp ax, 0xa
jne 0x76b86f
push 0x1b
mov ecx, esi
call fcn.00439490
mov dword [esi + 0x190], edi
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 4
jne 0x76b8a4
fld dword [esi + 0xf8]
fmul qword [0x8677a0]
fstp dword [esi + 0xf8]
fld dword [0x85ad14]
fstp dword [esi + 0x100]
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 0xb
jne case.default.0x77ef43
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
fstp st(0)
jne 0x76b949
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76b949
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x7d2], 1
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
mov ecx, esi
jne 0x76b93d
push 2
call eax
fld dword [0x85882c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 1
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76b986
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
push 0xc8
mov ecx, esi
call eax
fld dword [0x85882c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
push 0x13
mov ecx, esi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x144]
cmp eax, edi
jne 0x76b9d4
cmp word [esi + 0x142], di
jne 0x76b9b0
cmp word [esi + 0x140], di
jne 0x76b9b0
cmp word [esi + 0x13e], 1
je 0x7693f5
cmp eax, edi
jne 0x76b9d4
cmp word [esi + 0x142], di
jne 0x76b9d4
cmp word [esi + 0x140], di
jne 0x76b9d4
cmp word [esi + 0x13e], 2
je 0x766a7c
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp dword [esi + 0x190], edi
je 0x76b9f2
mov word [esi + 0x7d2], 1
cmp word [esi + 0x142], di
jne case.default.0x77ef43
movzx eax, word [esi + 0x140]
cmp ax, 7
je 0x76ba1e
cmp ax, 9
je 0x76ba1e
cmp ax, 0xb
je 0x76ba1e
cmp ax, 0xd
jne 0x76ba2d
push 0x1c
mov ecx, esi
call fcn.00439490
mov dword [esi + 0x190], edi
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne 0x76ba62
fld dword [esi + 0xf4]
fadd qword [0x858ec0]
fstp dword [esi + 0xf4]
fld dword [0x85ad14]
fstp dword [esi + 0x100]
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 0x10
jne 0x76ba8f
push 0x1d
mov ecx, esi
call fcn.00439490
mov byte [esi + 0x194], 1
mov dword [esi + 0x190], edi
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 0x12
jne case.default.0x77ef43
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
mov ebx, 1
cmp ax, bx
jne 0x76bad9
cmp word [esi + 0x140], 6
jge 0x76badf
cmp ax, 2
jne 0x76bb04
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x76b40a
fldz
cmp word [esi + 0x13e], di
jne 0x76bc13
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x76bc13
push 0x168
fstp st(0)
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76bb45
fadd dword [0x871554]
push 0x28
fstp dword [esp + 0x648]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76bb68
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0x644]
push edx
fadd qword [0x857f50]
push ebx
fstp dword [esp + 0x650]
fld dword [0x85b9d4]
fstp dword [esp + 0x654]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xec]
push eax
fadd qword [0x859b00]
push 0x32
fstp qword [esp + 0x34]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x76bbc4
fadd dword [0x871554]
fld dword [esi + 0xf0]
fadd qword [0x85bbd8]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x76bbf6
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fldz
cmp dword [esi + 0x144], edi
jne 0x76bc3e
cmp word [esi + 0x142], di
jne 0x76bc3e
cmp word [esi + 0x140], di
jne 0x76bc3e
cmp word [esi + 0x13e], bx
jne 0x76bc3e
fstp dword [esi + 0xf4]
jmp 0x76bc40
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76bc56
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76bda9
cmp word [esi + 0x142], di
jne 0x76bda9
cmp word [esi + 0x140], di
jne 0x76bda9
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
mov edi, 0xc
mov edi, edi
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76bcac
fadd dword [0x871554]
push 0x28
fstp dword [esp + 0x660]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76bccf
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea ecx, [esp + 0x65c]
push ecx
fadd qword [0x858eb8]
push 1
fstp dword [esp + 0x668]
fld dword [0x85b9d4]
fstp dword [esp + 0x66c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
push edx
fadd qword [0x859b00]
push 0x32
fstp qword [esp + 0x34]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x76bd2c
fadd dword [0x871554]
fld dword [esi + 0xf0]
fadd qword [0x85bbd8]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x76bd5e
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
sub edi, ebx
jne 0x76bc90
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
fld dword [0x85b230]
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne 0x76be28
push 8
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x670]
push 3
fstp dword [esp + 0x678]
lea eax, [esp + 0x674]
fld dword [0x85ae94]
push eax
fstp dword [esp + 0x680]
push ebx
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 6
jne case.default.0x77ef43
fld dword [0x85b9bc]
fstp dword [esi + 0xf4]
fld dword [0x867810]
jmp 0x7679d5
mov ebx, 1
fstp st(0)
cmp word [esi + 0x13e], bx
mov ecx, esi
jne 0x76bf68
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76be8a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76beb8
cmp word [esi + 0x142], di
jne 0x76beb8
cmp word [esi + 0x140], di
jne 0x76beb8
cmp word [esi + 0x13e], bx
jne 0x76beb8
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 6
jne case.default.0x77ef43
fld dword [0x85b9c0]
push 0x1d
fstp dword [esi + 0x100]
mov ecx, esi
fld dword [0x8589f0]
fstp dword [esi + 0xf4]
fld dword [0x85bdb8]
fstp dword [esi + 0xf8]
call fcn.00439490
fldz
push 3
fst dword [esp + 0x68c]
lea ecx, [esp + 0x68c]
fstp dword [esp + 0x690]
push ecx
fld dword [0x85c22c]
push ebx
fstp dword [esp + 0x69c]
mov ecx, esi
movzx edx, byte [esi + 0x104]
push edx
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76be75
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
jmp 0x7670bd
cmp word [esi + 0x13e], 2
jne 0x76bfdb
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x76bfd0
mov ecx, esi
fstp dword [esi + 0xf4]
call fcn.00487ca0
jmp 0x76c02a
mov ecx, esi
fstp st(0)
call fcn.00487ca0
jmp 0x76c02a
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76c02a
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
mov ecx, esi
call edx
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
fst dword [esi + 0xf8]
fstp dword [esi + 0x100]
mov dword [esi + 0x190], 1
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76c05c
cmp dword [esi + 0x758], edi
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
jle 0x76c050
push 2
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 3
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 7
jne case.default.0x77ef43
push 0x1d
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push edi
mov ecx, esi
call fcn.00487e90
test al, al
jne case.default.0x77ef43
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76aeac
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
jmp 0x76aeac
mov ebx, 1
fstp st(0)
cmp word [esi + 0x13e], bx
mov ecx, esi
jl 0x76c120
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76c125
mov ecx, esi
call fcn.004636b0
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
mov ecx, esi
call edx
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76c13a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x76c185
cmp word [esi + 0x142], di
jne 0x76c185
cmp word [esi + 0x140], di
jne 0x76c185
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
fld dword [0x867810]
fstp dword [esi + 0xf4]
fld dword [0x85bc30]
fstp dword [esi + 0xf8]
fld dword [0x85bc68]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
movzx eax, word [esi + 0x140]
cmp ax, 4
je 0x76c1c2
cmp ax, 6
je 0x76c1c2
cmp ax, 8
je 0x76c1c2
cmp ax, 0xa
jne case.default.0x77ef43
push 0x1b
mov ecx, esi
call fcn.00439490
mov dword [esi + 0x190], edi
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, 2
je 0x76c1f4
cmp ax, 4
je 0x76c1f4
cmp ax, 5
jne 0x76c1fb
mov ecx, esi
call fcn.00487ca0
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x76c216
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
push 1
mov ecx, esi
call fcn.00487e90
test al, al
jne case.default.0x77ef43
fld dword [esi + 0xf0]
mov ecx, esi
fstp qword [esp + 0x20]
call fcn.004397f0
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x76c255
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x76c2a0
cmp word [esi + 0x13e], 2
jge 0x76c2a0
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x76c2a0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
mov ecx, esi
call edx
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76c2b5
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x76c310
cmp word [esi + 0x142], di
jne 0x76c2e4
cmp word [esi + 0x140], di
jne 0x76c2e4
cmp word [esi + 0x13e], bx
jne 0x76c2e4
fld dword [0x867860]
fstp dword [esi + 0xf4]
cmp dword [esi + 0x144], edi
jne 0x76c310
cmp word [esi + 0x142], di
jne 0x76c310
cmp word [esi + 0x140], di
jne 0x76c310
cmp word [esi + 0x13e], 4
jne 0x76c310
fldz
fstp dword [esi + 0xf4]
cmp word [esi + 0x13e], di
jne 0x76c350
cmp word [esi + 0x142], di
jne 0x76c350
cmp word [esi + 0x140], 4
jne 0x76c350
fld dword [0x86782c]
fstp dword [esi + 0xf4]
fld dword [0x85b870]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
mov byte [esi + 0x194], 1
mov dword [esi + 0x190], edi
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x76c3dc
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x76c3dc
fstp dword [esi + 0xf4]
jmp 0x76c3de
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76c3f4
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 2
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 6
jne 0x76c5eb
push 0xb
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0xd4]
push 3
fstp dword [esp + 0xdc]
lea edx, [esp + 0xd8]
fld dword [0x85882c]
push edx
fstp dword [esp + 0xe4]
push 1
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fldz
fst dword [esp + 0xd4]
push 3
fstp dword [esp + 0xdc]
lea ecx, [esp + 0xd8]
fld dword [0x859f00]
push ecx
fstp dword [esp + 0xe4]
push 1
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
nop
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76c519
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 5
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0xdc]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x76c545
fadd dword [0x871554]
fadd qword [0x8581f8]
add esp, 4
fstp dword [esp + 0xdc]
fld dword [0x8589f0]
fstp dword [esp + 0xe0]
fld dword [esp + 0xd8]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x76c588
mov eax, 1
jmp 0x76c58a
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0xd8]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x76c500
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 7
jne 0x76c60e
fld dword [0x85b830]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 0xa
jne case.default.0x77ef43
fld dword [0x85bca4]
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
jne 0x76c655
cmp word [esi + 0x140], 4
jle 0x76c667
cmp ax, 2
je 0x76c667
cmp ax, 4
je 0x76c667
cmp ax, 5
jne 0x76c66e
mov ecx, esi
call fcn.00487ca0
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x76c689
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fld dword [esi + 0xf0]
mov ecx, esi
fstp qword [esp + 0x20]
call fcn.004397f0
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x76c6b7
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x76c760
cmp word [esi + 0x13e], 2
jge 0x76c760
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x76c760
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
push ebx
fst dword [esp + 0x6a4]
lea ecx, [esp + 0x6a4]
fstp dword [esp + 0x6a8]
push ecx
fld dword [0x85bae4]
push 1
fstp dword [esp + 0x6b4]
mov ecx, esi
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76c775
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
mov eax, dword [esi + 0x144]
cmp eax, edi
jne 0x76c7f8
cmp word [esi + 0x142], di
jne 0x76c7d0
cmp word [esi + 0x140], di
jne 0x76c7d0
cmp word [esi + 0x13e], bx
jne 0x76c7d0
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xc8
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 1
mov ecx, esi
call edx
fld dword [0x85bc44]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edi
jne 0x76c7f8
cmp word [esi + 0x142], di
jne 0x76c7f8
cmp word [esi + 0x140], di
jne 0x76c7f8
cmp word [esi + 0x13e], 4
jne 0x76c7f8
fldz
fstp dword [esi + 0xf4]
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
fld dword [0x85b3b0]
fstp dword [esi + 0xf4]
fld dword [0x85bca4]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp dword [esi + 0x760], edi
jne 0x76c864
mov byte [esi + 0x7f4], 0
movzx ecx, word [esi + 0x7d0]
cmp cx, di
jle 0x76ca5a
cmp word [esi + 0x13e], di
jne 0x76c960
movsx eax, cx
cdq
mov ebx, 3
idiv ebx
mov ebx, 1
cmp edx, ebx
jne 0x76c965
cmp cx, 0xa
jg 0x76c965
cmp cx, bx
jne 0x76c8b6
push edi
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], ebx
push 0xf
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76c8d2
fadd dword [0x871554]
fsub qword [0x858ec0]
push 3
lea edx, [esp + 0x6bc]
push edx
fadd dword [esi + 0x7f0]
push ebx
fstp dword [esp + 0x6c4]
fld dword [0x85882c]
fstp dword [esp + 0x6c8]
fldz
fstp dword [esp + 0x6cc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x320
call fcn.0046eb30
jmp 0x76c965
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76ca51
movzx ecx, word [esi + 0x7d0]
movsx eax, cx
cdq
mov ebp, 3
idiv ebp
cmp edx, ebx
jne 0x76ca51
cmp cx, 0x10
jg 0x76ca51
cmp cx, bx
jne 0x76c9a9
push edi
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], ebx
push 0xf
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76c9c5
fadd dword [0x871554]
fsub qword [0x858ec0]
push 3
lea edx, [esp + 0x6d4]
push edx
fadd dword [esi + 0x7f0]
push ebx
fstp dword [esp + 0x6dc]
fld dword [0x85882c]
fstp dword [esp + 0x6e0]
fldz
fstp dword [esp + 0x6e4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add word [esi + 0x7d0], bx
jmp 0x76ca5f
mov ebx, 1
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76ca74
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76ca9b
cmp word [esi + 0x142], di
jne 0x76ca9b
cmp word [esi + 0x140], di
jne 0x76ca9b
cmp word [esi + 0x13e], bx
je 0x766a7c
cmp word [esi + 0x13e], di
jne 0x76cb7c
movzx eax, word [esi + 0x142]
cmp ax, di
jne 0x76cb7c
cmp word [esi + 0x140], 4
jne 0x76cb32
cmp byte [esi + 0x7f4], 0
je 0x76cb32
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
movsx edx, al
fisub dword [ecx + 0x9c]
push eax
sub esp, 8
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
mov ecx, esi
call fcn.00438ce0
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp ax, di
jne 0x76cb7c
cmp word [esi + 0x140], 6
jne 0x76cb7c
fld dword [0x85b9e0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x85ae94]
fstp dword [esp]
call fcn.004877c0
push 0x2d
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], bx
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 2
jne case.default.0x77ef43
fld dword [0x85b9e0]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x85ae94]
mov ecx, esi
fstp dword [esp]
call fcn.004877c0
push 0x2d
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], bx
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, 2
jle 0x76cc29
cmp ax, 5
je 0x76cc29
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76cc30
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 5
mov ecx, esi
call edx
jmp 0x7670bf
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], edi
jne 0x76cc3f
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76cc54
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x76ccf8
cmp word [esi + 0x142], di
jne 0x76ccf8
cmp word [esi + 0x140], di
jne 0x76ccf8
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76cd8f
cmp byte [esi + 0x7f4], 0
je 0x76713c
mov word [esi + 0x7d0], bx
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push ebx
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
jmp 0x76ccfd
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76cd8f
mov eax, dword [esi + 0x144]
cmp eax, 0xf
jl 0x76cd22
cmp byte [esi + 0x7f4], 0
je 0x76713c
cmp eax, 0x2d
jge 0x76713c
cmp eax, 0x1e
jne 0x76cd8f
mov word [esi + 0x7d0], 2
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push ebx
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
cmp dword [esi + 0x144], edi
jne 0x76cddb
cmp word [esi + 0x142], di
jne 0x76cddb
cmp word [esi + 0x140], di
jne 0x76cddb
cmp word [esi + 0x13e], 3
jne case.default.0x77ef43
fld dword [0x8589f0]
fstp dword [esi + 0xf4]
fld dword [0x85bdb8]
fstp dword [esi + 0xf8]
fld dword [0x85c110]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], 3
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne case.default.0x77ef43
push ebx
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
fld dword [0x85bb80]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x85b9e8]
fstp dword [esp]
call fcn.004877c0
fld dword [esi + 0x7f0]
push 4
fstp dword [esp + 0x80c]
lea edx, [esp + 0x80c]
fld dword [0x85b9d0]
push edx
fstp dword [esp + 0x814]
push ebx
fldz
fstp dword [esp + 0x81c]
movsx eax, word [esi + 0x7d0]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fstp dword [esp + 0x820]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x321
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp dword [esi + 0x760], edi
jne 0x76cf01
mov byte [esi + 0x7f4], 0
movzx ecx, word [esi + 0x7d0]
cmp cx, di
jle 0x76d0f7
cmp word [esi + 0x13e], di
jne 0x76cffd
movsx eax, cx
cdq
mov ebx, 3
idiv ebx
mov ebx, 1
cmp edx, ebx
jne 0x76d002
cmp cx, 0xd
jg 0x76d002
cmp cx, bx
jne 0x76cf53
push edi
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], ebx
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76cf6f
fadd dword [0x871554]
fsub qword [0x8579b0]
push 3
lea edx, [esp + 0x6ec]
push edx
fadd dword [esi + 0x7f0]
push ebx
fstp dword [esp + 0x6f4]
fld dword [0x85882c]
fstp dword [esp + 0x6f8]
fldz
fstp dword [esp + 0x6fc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x320
call fcn.0046eb30
jmp 0x76d002
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76d0ee
movzx ecx, word [esi + 0x7d0]
movsx eax, cx
cdq
mov ebp, 3
idiv ebp
cmp edx, ebx
jne 0x76d0ee
cmp cx, 0x13
jg 0x76d0ee
cmp cx, bx
jne 0x76d046
push edi
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], ebx
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76d062
fadd dword [0x871554]
fsub qword [0x8579b0]
push 3
lea edx, [esp + 0x704]
push edx
fadd dword [esi + 0x7f0]
push ebx
fstp dword [esp + 0x70c]
fld dword [0x85882c]
fstp dword [esp + 0x710]
fldz
fstp dword [esp + 0x714]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add word [esi + 0x7d0], bx
jmp 0x76d0fc
mov ebx, 1
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76d112
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76d139
cmp word [esi + 0x142], di
jne 0x76d139
cmp word [esi + 0x140], di
jne 0x76d139
cmp word [esi + 0x13e], bx
je 0x766981
cmp word [esi + 0x13e], di
jne 0x76d202
movzx eax, word [esi + 0x142]
cmp ax, di
jne 0x76d202
cmp word [esi + 0x140], 4
jne 0x76d1b8
cmp byte [esi + 0x7f4], 0
je 0x76d1b8
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
movsx edx, al
fisub dword [ecx + 0x9c]
push eax
sub esp, 8
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
jmp 0x76cb15
cmp ax, di
jne 0x76d202
cmp word [esi + 0x140], 6
jne 0x76d202
fld dword [0x85bb84]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x85bbe4]
fstp dword [esp]
call fcn.004877c0
push 0x2d
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], bx
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 2
jne case.default.0x77ef43
fld dword [0x85bb84]
sub esp, 8
fstp dword [esp + 4]
fld dword [0x85bbe4]
jmp 0x76cbb7
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x76d28a
cmp ax, 2
je 0x76d28a
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76d291
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
mov ecx, esi
call edx
mov byte [esi + 0x49b], 0
jmp 0x7670bf
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], edi
jne 0x76d2a0
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76d2b5
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x76d33a
cmp word [esi + 0x142], di
jne 0x76d2e8
cmp word [esi + 0x140], di
jne 0x76d2e8
cmp word [esi + 0x13e], 2
jne 0x76d2e8
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x76d33a
cmp word [esi + 0x142], di
jne 0x76d33a
cmp word [esi + 0x140], di
jne 0x76d33a
mov ebx, 1
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
fld dword [0x871538]
fstp dword [esi + 0xf4]
fld dword [0x85b3b0]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
jmp 0x76d33f
mov ebx, 1
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
push ebx
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
fld dword [0x85ae94]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x85bae0]
fstp dword [esp]
call fcn.004877c0
fld dword [esi + 0x7f0]
push 4
fstp dword [esp + 0x87c]
lea edx, [esp + 0x87c]
fld dword [0x85b9d0]
push edx
fstp dword [esp + 0x884]
push ebx
fldz
fstp dword [esp + 0x88c]
fld1
fstp dword [esp + 0x890]
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85b85c]
fstp dword [esi + 0xf4]
fld dword [0x85bdb8]
jmp 0x7679d5
cmp dword [esi + 0x760], edi
fstp st(0)
jne 0x76d460
mov byte [esi + 0x7f4], 0
mov ebp, 2
cmp word [esi + 0x13e], bp
mov ecx, esi
jne 0x76d592
call fcn.00487ca0
movzx ecx, word [esi + 0x7d0]
cmp cx, di
jle 0x76d6eb
cmp word [esi + 0x13e], di
jne 0x76d5c7
movsx eax, cx
cdq
mov ebx, 3
idiv ebx
mov ebx, 1
cmp edx, ebx
jne 0x76d5cc
cmp cx, 0xa
jg 0x76d5cc
cmp cx, bx
jne 0x76d4cb
push edi
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], ebx
fld dword [0x85ae94]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x85b98c]
fstp dword [esp]
call fcn.004877c0
push 0xf
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76d504
fadd dword [0x871554]
fadd dword [esi + 0x7f0]
push 3
lea edx, [esp + 0x71c]
push edx
fsub qword [0x858ec0]
push ebx
fstp dword [esp + 0x724]
fld dword [0x85882c]
fstp dword [esp + 0x728]
fldz
fstp dword [esp + 0x72c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x320
call fcn.0046eb30
jmp 0x76d5cc
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76d479
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebp
mov ecx, esi
call eax
mov byte [esi + 0x49b], 0
jmp 0x7670bf
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76d6e2
movzx ecx, word [esi + 0x7d0]
movsx eax, cx
cdq
mov edi, 3
idiv edi
cmp edx, ebx
jne 0x76d6e0
cmp cx, 0x10
jg 0x76d6e0
xor edi, edi
cmp cx, bx
jne 0x76d612
push edi
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], ebx
fld dword [0x85ae94]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x85b98c]
fstp dword [esp]
call fcn.004877c0
push 0xf
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76d64b
fadd dword [0x871554]
fadd dword [esi + 0x7f0]
push 3
lea edx, [esp + 0x734]
push edx
fsub qword [0x858ec0]
push ebx
fstp dword [esp + 0x73c]
fld dword [0x85882c]
fstp dword [esp + 0x740]
fldz
fstp dword [esp + 0x744]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add word [esi + 0x7d0], bx
jmp 0x76d6f0
xor edi, edi
add word [esi + 0x7d0], bx
jmp 0x76d6f0
mov ebx, 1
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76d705
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76d761
cmp word [esi + 0x142], di
jne 0x76d733
cmp word [esi + 0x140], di
jne 0x76d733
cmp word [esi + 0x13e], bx
jne 0x76d733
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76d761
cmp word [esi + 0x142], di
jne 0x76d761
cmp word [esi + 0x140], di
jne 0x76d761
cmp word [esi + 0x13e], bp
jne 0x76d761
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x76d849
movzx eax, word [esi + 0x142]
cmp ax, di
jne 0x76d82a
cmp word [esi + 0x140], 4
jne 0x76d7e0
cmp byte [esi + 0x7f4], 0
je 0x76d7e0
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
movsx edx, al
fisub dword [ecx + 0x9c]
push eax
sub esp, 8
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
jmp 0x76cb15
cmp ax, di
jne 0x76d82a
cmp word [esi + 0x140], 6
jne 0x76d82a
push 0x2d
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], bx
call fcn.0047a9e0
fld dword [0x85b9e0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x85bb54]
fstp dword [esp]
call fcn.004877c0
push 0x1e
mov ecx, esi
call fcn.00487870
cmp word [esi + 0x142], di
jne 0x76d849
cmp word [esi + 0x140], 8
jne 0x76d849
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bp
jne 0x76d8a7
push 0x2d
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], bx
call fcn.0047a9e0
fld dword [0x85b9e0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x85bb54]
fstp dword [esp]
call fcn.004877c0
push 0x1e
mov ecx, esi
call fcn.00487870
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebp, 3
fstp st(0)
cmp word [esi + 0x13e], bp
mov ecx, esi
jne 0x76d9eb
call fcn.00487ca0
cmp dword [esi + 0x760], edi
jne 0x76d900
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76d915
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x76da55
cmp word [esi + 0x142], di
jne 0x76d947
cmp word [esi + 0x140], di
jne 0x76d947
cmp word [esi + 0x13e], bp
jne 0x76d947
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x76da55
cmp word [esi + 0x142], di
jne 0x76da55
cmp word [esi + 0x140], di
jne 0x76da55
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76dae4
cmp byte [esi + 0x7f4], 0
je 0x76da20
mov word [esi + 0x7d0], bx
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push ebx
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
jmp 0x76da5a
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76d8f1
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebp
mov ecx, esi
call edx
mov byte [esi + 0x49b], 0
jmp 0x7670bf
fld dword [0x8589f0]
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
fstp dword [esi + 0xf4]
fld dword [0x85bdb8]
mov ecx, esi
fstp dword [esi + 0xf8]
fld dword [0x85c110]
fstp dword [esi + 0x100]
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76dae4
mov eax, dword [esi + 0x144]
cmp eax, 0xf
jl 0x76da7b
cmp byte [esi + 0x7f4], 0
je 0x76da20
cmp eax, 0x2d
jge 0x76da20
cmp eax, 0x1e
jne 0x76dae4
mov word [esi + 0x7d0], 2
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push ebx
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bp
jne case.default.0x77ef43
push ebx
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
fld dword [0x85bb80]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x85ae94]
fstp dword [esp]
call fcn.004877c0
fld dword [esi + 0x7f0]
push 4
fstp dword [esp + 0x83c]
lea edx, [esp + 0x83c]
fld dword [0x85b9d0]
push edx
fstp dword [esp + 0x844]
push ebx
fldz
fstp dword [esp + 0x84c]
movsx eax, word [esi + 0x7d0]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fstp dword [esp + 0x850]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x321
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 3
fstp st(0)
cmp word [esi + 0x13e], bx
mov ecx, esi
jne 0x76dd07
call fcn.00487ca0
cmp dword [esi + 0x760], edi
jne 0x76dc1c
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76dc31
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76dd3c
cmp word [esi + 0x142], di
jne 0x76dc63
cmp word [esi + 0x140], di
jne 0x76dc63
cmp word [esi + 0x13e], bx
jne 0x76dc63
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76dd3c
cmp word [esi + 0x142], di
jne 0x76dd3c
cmp word [esi + 0x140], di
jne 0x76dd3c
mov ebp, 1
cmp word [esi + 0x13e], bp
jne 0x76ddd8
cmp byte [esi + 0x7f4], 0
je 0x76cb21
mov word [esi + 0x7d0], bp
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push ebp
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
jmp 0x76dd41
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76dc0d
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
mov byte [esi + 0x49b], 0
jmp 0x7670bf
mov ebp, 1
cmp word [esi + 0x13e], bp
jne 0x76ddd8
mov eax, dword [esi + 0x144]
cmp eax, 0xf
jl 0x76dd66
cmp byte [esi + 0x7f4], 0
je 0x76cb21
cmp eax, 0x2d
jge 0x76cb21
cmp eax, 0x1e
jne 0x76ddd8
mov ebx, 2
mov word [esi + 0x7d0], bx
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push ebp
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
jmp 0x76dddd
mov ebx, 2
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne case.default.0x77ef43
push ebp
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebp
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
fld dword [0x85b85c]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x76de67
fld dword [esi + 0xf4]
fsub qword [0x857f80]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x76de67
fstp dword [esi + 0xf4]
jmp 0x76de69
fstp st(0)
fld dword [0x85bdb8]
sub esp, 8
fstp dword [esi + 0xf8]
mov ecx, esi
fld dword [0x8677a8]
fstp dword [esi + 0x100]
fld dword [0x85bbe4]
fstp dword [esp + 4]
fld dword [0x85bae0]
fstp dword [esp]
call fcn.004877c0
fld dword [esi + 0x7f0]
push 4
fstp dword [esp + 0x8bc]
lea edx, [esp + 0x8bc]
fld dword [0x85b9d0]
push edx
fstp dword [esp + 0x8c4]
push ebp
fldz
fstp dword [esp + 0x8cc]
movsx ecx, word [esi + 0x7d0]
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fstp dword [esp + 0x8d0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x321
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x76df56
cmp ax, 3
jne 0x76df5d
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x766a7c
cmp dword [esi + 0x144], edi
jne 0x76e020
cmp word [esi + 0x142], di
jne 0x76e020
cmp word [esi + 0x140], di
jne 0x76e020
cmp word [esi + 0x13e], 1
jne 0x76e020
fldz
push 3
fst dword [esp + 0x74c]
lea ecx, [esp + 0x74c]
fstp dword [esp + 0x750]
push ecx
fld dword [0x85b870]
push 1
fstp dword [esp + 0x75c]
mov ecx, esi
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [0x867860]
fstp dword [esi + 0xf4]
push 0x1d
fld dword [0x85b3b0]
mov ecx, esi
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
call fcn.00439490
movzx eax, word [esi + 0x13e]
cmp ax, 1
je 0x76e037
cmp ax, 2
jne case.default.0x77ef43
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 3
mov ecx, esi
call edx
jmp 0x7670bf
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x76e095
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
jmp 0x76c282
call fcn.00438c60
test al, al
je case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp dword [esi + 0x764], edi
jne 0x76e0cd
mov byte [esi + 0x7f4], 0
movzx eax, word [esi + 0x7d0]
cmp ax, di
jle 0x76e0e3
add eax, 1
mov word [esi + 0x7d0], ax
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76e0f8
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x76e132
cmp word [esi + 0x142], di
jne 0x76e132
cmp word [esi + 0x140], di
jne 0x76e132
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76e137
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
cmp word [esi + 0x13e], di
jne 0x76e271
movzx eax, word [esi + 0x142]
cmp ax, di
jne 0x76e271
cmp word [esi + 0x140], 4
jne 0x76e1b6
cmp byte [esi + 0x7f4], 0
je 0x76e1b6
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
sub esp, 8
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
jmp 0x76affc
cmp ax, di
jne 0x76e271
cmp word [esi + 0x140], 8
jne 0x76e271
push 0x3c
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x858]
push 4
fld dword [0x85b3b0]
lea edx, [esp + 0x85c]
fstp dword [esp + 0x860]
push edx
push ebx
fst dword [esp + 0x86c]
fstp dword [esp + 0x870]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x325
call fcn.0046eb30
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
push 0x3c
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x898]
push 4
fld dword [0x85bbe4]
lea edx, [esp + 0x89c]
fstp dword [esp + 0x8a0]
push edx
push ebx
fstp dword [esp + 0x8ac]
fld1
fstp dword [esp + 0x8b0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x325
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, 2
jle 0x76e390
cmp ax, 5
je 0x76e390
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76e397
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 5
mov ecx, esi
call eax
mov byte [esi + 0x49b], 0
jmp 0x7670bf
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], edi
jne 0x76e3a6
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76e3bb
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76e45b
cmp word [esi + 0x142], di
jne 0x76e45b
cmp word [esi + 0x140], di
jne 0x76e45b
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x76e460
cmp byte [esi + 0x7f4], 0
je 0x76cb21
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push ebx
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov word [esi + 0x7d0], bx
jmp 0x76e460
mov ebx, 1
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x76e92d
cmp word [esi + 0x140], di
jne 0x76e92d
cmp word [esi + 0x13e], 3
jne 0x76e92d
fld dword [0x871538]
push 0x3c
fstp dword [esi + 0xf4]
push 0xc8
fld dword [0x85bc30]
mov ecx, esi
fstp dword [esi + 0xf8]
fld dword [0x85aae8]
fstp dword [esi + 0x100]
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 5
mov ecx, esi
call fcn.00464980
fld dword [0x85b998]
fstp dword [esp + 0x7c]
push 3
fld dword [0x85ce80]
lea edx, [esp + 0x80]
fstp dword [esp + 0x84]
push edx
fldz
push ebx
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x329
call fcn.0046eb30
cmp word [esi + 0x7d0], bx
jne 0x76e92d
fld dword [0x867810]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76e598
fadd dword [0x871554]
fsubr qword [0x85c020]
push 0x64
fstp dword [esp + 0x84]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76e5c1
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0x80]
push edx
fadd qword [0x8581f8]
push ebx
fstp dword [esp + 0x8c]
fld1
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x329
call fcn.0046eb30
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76e659
fadd dword [0x871554]
fsubr qword [0x85c020]
push 0x64
fstp dword [esp + 0x84]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76e682
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0x80]
push edx
fadd qword [0x8581f8]
push ebx
fstp dword [esp + 0x8c]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x329
call fcn.0046eb30
fld dword [0x8589f0]
push 0x1e
fstp dword [esp + 0x88]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76e71e
fadd dword [0x871554]
fsubr qword [0x85c020]
push 0x64
fstp dword [esp + 0x84]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76e747
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0x80]
push edx
fadd qword [0x8581f8]
push ebx
fstp dword [esp + 0x8c]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x329
call fcn.0046eb30
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76e7d6
fadd dword [0x871554]
fsubr qword [0x85c020]
push 0x64
fstp dword [esp + 0x84]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76e7ff
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0x80]
push edx
fadd qword [0x8581f8]
push ebx
fstp dword [esp + 0x8c]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x329
call fcn.0046eb30
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76e88e
fadd dword [0x871554]
fsubr qword [0x85c020]
push 0x64
fstp dword [esp + 0x84]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76e8b7
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0x80]
push edx
fadd qword [0x8581f8]
push ebx
fstp dword [esp + 0x8c]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x329
call fcn.0046eb30
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 5
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp dword [esi + 0x764], edi
jne 0x76e98c
mov byte [esi + 0x7f4], 0
mov ebx, 1
cmp word [esi + 0x13e], bx
jg 0x76ead9
movzx ecx, word [esi + 0x7d0]
movsx eax, cx
cdq
mov ebp, 5
idiv ebp
test edx, edx
jne 0x76ea8e
cmp cx, 0x3c
jg 0x76ea8e
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76e9de
fadd dword [0x871554]
push 0x7d
fstp dword [esp + 0x480]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x76e9fe
fadd dword [0x871554]
fadd qword [0x85bbd8]
push 0x64
fstp dword [esp + 0x488]
call fcn.004099f0
add esp, 0xc
cmp eax, 0x32
sbb ecx, ecx
add ecx, ebx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
push 3
lea edx, [esp + 0x47c]
push edx
fstp dword [esp + 0x488]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push ebx
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x326
call fcn.0046eb30
add word [esi + 0x7d0], bx
cmp word [esi + 0x13e], bx
jne 0x76ead9
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x14
idiv ecx
test edx, edx
jne 0x76eab9
push 4
mov ecx, esi
call fcn.00464980
mov eax, dword [esi + 0x144]
cmp eax, 0x3c
jge 0x76713c
cmp byte [esi + 0x7f4], 0
jne 0x76ead9
cmp eax, edi
jge 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76eaef
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne case.default.0x77ef43
push 5
mov ecx, esi
call fcn.00464980
push 0x3c
mov byte [esi + 0x891], bl
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebp, 3
fstp st(0)
cmp word [esi + 0x13e], bp
mov ecx, esi
jne 0x76eb64
call fcn.00487ca0
jmp 0x76eb83
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x76d5b1
cmp dword [esi + 0x764], edi
jne 0x76eb92
mov byte [esi + 0x7f4], 0
mov ebx, 1
cmp word [esi + 0x13e], bx
jg 0x76ece0
movzx ecx, word [esi + 0x7d0]
movsx eax, cx
cdq
mov edi, 5
idiv edi
test edx, edx
jne 0x76ec93
cmp cx, 0x3c
jg 0x76ec93
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76ebe4
fadd dword [0x871554]
push 0x7d
fstp dword [esp + 0x69c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x76ec04
fadd dword [0x871554]
fadd qword [0x85bbd8]
push 0x64
fstp dword [esp + 0x6a4]
call fcn.004099f0
add esp, 0xc
cmp eax, 0x32
sbb ecx, ecx
add ecx, ebx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
push ebp
lea edx, [esp + 0x698]
push edx
fstp dword [esp + 0x6a4]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push ebx
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x326
call fcn.0046eb30
add word [esi + 0x7d0], bx
xor edi, edi
cmp word [esi + 0x13e], bx
jne 0x76ece0
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x14
idiv ecx
test edx, edx
jne 0x76ecc0
push 4
mov ecx, esi
call fcn.00464980
mov eax, dword [esi + 0x144]
cmp eax, 0x3c
jge 0x76713c
cmp byte [esi + 0x7f4], 0
jne 0x76ece0
cmp eax, edi
jge 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76ecf5
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76ed1c
cmp word [esi + 0x142], di
jne 0x76ed1c
cmp word [esi + 0x140], di
jne 0x76ed1c
cmp word [esi + 0x13e], bp
je 0x7693f5
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne 0x76ed6c
push 5
mov ecx, esi
call fcn.00464980
push 0x3c
mov byte [esi + 0x891], bl
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 0xa
jne case.default.0x77ef43
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
fstp st(0)
cmp word [esi + 0x13e], bx
mov ecx, esi
jne 0x76edb4
call fcn.00487ca0
jmp 0x76edd3
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x76dd26
movzx eax, word [esi + 0x7d0]
cmp ax, bx
jl 0x76eebc
cmp ax, 0x13
jg 0x76eebc
movsx ecx, ax
and ecx, 0x80000001
jns 0x76edfd
dec ecx
or ecx, 0xfffffffe
inc ecx
cmp ecx, ebx
jne 0x76eeb5
fld dword [esi + 0x7f0]
push 0xb
fadd qword [0x858210]
fstp qword [esp + 0x24]
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76ee31
fadd dword [0x871554]
fsubr qword [esp + 0x20]
push 3
lea edx, [esp + 0x4a0]
push edx
fstp dword [esp + 0x4a4]
push ebx
fld dword [0x85b830]
fstp dword [esp + 0x4ac]
fldz
fstp dword [esp + 0x4b0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x328
call fcn.0046eb30
add word [esi + 0x7d0], bx
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76eed1
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76eef8
cmp word [esi + 0x142], di
jne 0x76eef8
cmp word [esi + 0x140], di
jne 0x76eef8
cmp word [esi + 0x13e], bx
je 0x7693f5
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x76ef7c
cmp word [esi + 0x140], 6
jne 0x76ef7c
push 6
mov ecx, esi
call fcn.00464980
push 0x3c
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85ae7c]
mov word [esi + 0x7d0], bx
mov dword [esi + 0x144], edi
fstp dword [esi + 0x100]
fld1
sub esp, 8
fstp dword [esi + 0xf8]
mov ecx, esi
fld dword [0x85b998]
fstp dword [esp + 4]
fld dword [0x85b98c]
fstp dword [esp]
call fcn.004877c0
movzx eax, word [esi + 0x140]
cmp ax, 6
jl 0x76efd9
cmp ax, 0x10
jg 0x76efd9
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x76efa2
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x76efd9
fld dword [esi + 0xf4]
fsub qword [0x859910]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fld dword [0x85ac54]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x76efd7
fstp dword [esi + 0xf4]
jmp 0x76efd9
fstp st(0)
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 0x11
jne case.default.0x77ef43
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 2
fstp st(0)
mov ecx, esi
jl 0x76f077
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76f030
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
fldz
fstp dword [esi + 0xf4]
fld dword [0x85b9e4]
jmp 0x7679d5
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76f01b
push 0x3c
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
push 8
mov ecx, esi
call fcn.00464980
fld dword [0x867810]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
fldz
fst dword [esp + 0xc4]
push 3
fstp dword [esp + 0xcc]
lea ecx, [esp + 0xc8]
fld dword [0x871538]
push ecx
fstp dword [esp + 0xd4]
push 0xffffffffffffffff
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x327
call fcn.0046eb30
mov edi, 6
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x76f15d
fadd dword [0x871554]
fsubr qword [0x85d098]
push 0xf
fstp dword [esp + 0xcc]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x76f183
fadd dword [0x871554]
fadd qword [0x871520]
push 7
fstp dword [esp + 0xd4]
fld dword [0x8589f0]
fstp dword [esp + 0xd8]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76f1b9
fadd dword [0x871554]
fmul qword [0x867840]
push 4
lea eax, [esp + 0xc8]
push eax
fadd qword [0x8579d8]
push 1
fstp dword [esp + 0xdc]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x327
call fcn.0046eb30
sub edi, 1
jne 0x76f144
fldz
push 3
fstp dword [esp + 0xd0]
lea edx, [esp + 0xc8]
fld dword [0x85c1a0]
push edx
fstp dword [esp + 0xcc]
push 1
fld dword [0x85bbe4]
mov ecx, esi
fstp dword [esp + 0xd4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x327
call fcn.0046eb30
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
push 3
neg dl
lea ecx, [esp + 0xc8]
push ecx
push 1
mov ecx, esi
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x327
call fcn.0046eb30
fld dword [0x85f188]
fstp dword [esp + 0xc4]
push 3
fld dword [0x85b830]
lea eax, [esp + 0xc8]
fstp dword [esp + 0xcc]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x327
call fcn.0046eb30
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
push 3
neg al
lea edx, [esp + 0xc8]
push edx
push 1
mov ecx, esi
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x327
call fcn.0046eb30
fld dword [0x85bc00]
fstp dword [esp + 0xc4]
push 3
fld dword [0x85bb30]
lea ecx, [esp + 0xc8]
fstp dword [esp + 0xcc]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ecx
push 1
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
mov ecx, esi
fstp dword [esp]
push 0x327
call fcn.0046eb30
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push 3
neg cl
lea eax, [esp + 0xc8]
push eax
push 1
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x327
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x140], 5
jl 0x76f40a
fld dword [esi + 0xf4]
fsub qword [0x85b938]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
cmp word [esi + 0x140], 0x11
jg 0x76f404
fld dword [0x85bca4]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x76f408
fstp dword [esi + 0xf4]
jmp 0x76f40a
fldz
jmp 0x76f3f1
fstp st(0)
cmp word [esi + 0x13e], di
mov ebp, 0xa
jne 0x76f437
cmp word [esi + 0x142], di
jne 0x76f437
cmp word [esi + 0x140], bp
jne 0x76f437
mov ebx, 1
mov dword [esi + 0x190], ebx
jmp 0x76f43c
mov ebx, 1
movzx eax, word [esi + 0x7d0]
cmp ax, bx
jl 0x76f525
cmp ax, 0x13
jg 0x76f525
movsx ecx, ax
and ecx, 0x80000001
jns 0x76f466
dec ecx
or ecx, 0xfffffffe
inc ecx
cmp ecx, ebx
jne 0x76f51e
fld dword [esi + 0x7f0]
push 0xb
fadd qword [0x858210]
fstp qword [esp + 0x24]
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x76f49a
fadd dword [0x871554]
fsubr qword [esp + 0x20]
push 3
lea edx, [esp + 0x7f4]
push edx
fstp dword [esp + 0x7f8]
push ebx
fld dword [0x85b830]
fstp dword [esp + 0x800]
fldz
fstp dword [esp + 0x804]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x328
call fcn.0046eb30
add word [esi + 0x7d0], bx
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76f53a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bp
jne case.default.0x77ef43
push 6
mov ecx, esi
call fcn.00464980
push 0x1e
mov ecx, esi
call fcn.00487870
fld dword [0x85ae94]
mov word [esi + 0x7d0], bx
fstp dword [esi + 0x7f0]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x76f5a2
cmp ax, 4
jne 0x76f5a9
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 0
cmp word [esi + 0x13e], 3
jne 0x76f5fc
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76f5fc
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76f611
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
cmp eax, edi
jne 0x76f73d
cmp word [esi + 0x142], di
jne 0x76f63f
cmp word [esi + 0x140], di
jne 0x76f63f
cmp word [esi + 0x13e], 4
je 0x7693f5
cmp eax, edi
jne 0x76f73d
cmp word [esi + 0x142], di
jne 0x76f73d
cmp word [esi + 0x140], di
jne 0x76f73d
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x76f73d
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85b3b0]
fstp dword [esi + 0xf8]
push 0x14
fldz
mov ecx, esi
fstp dword [esi + 0xf4]
mov dword [esi + 0x190], edi
call fcn.00464980
fldz
fst dword [esp + 0x2c4]
fld1
fstp dword [esp + 0x2c8]
cmp byte [esi + 0x6a4], 1
jl 0x76f6d5
fld dword [0x85b94c]
fstp dword [esp + 0x2c8]
cmp byte [esi + 0x6a4], 3
jl 0x76f6eb
fld dword [0x85b954]
fstp dword [esp + 0x2c8]
cmp byte [esi + 0x6a4], 4
jl 0x76f701
fld dword [0x8589f0]
fstp dword [esp + 0x2c8]
push 3
fstp dword [esp + 0x2d0]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
lea ecx, [esp + 0x2c8]
push ecx
push edi
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
call fcn.0046eb30
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
cmp dword [esi + 0x144], 0xf
jl 0x76f785
fld dword [esi + 0xf8]
fsub qword [0x8677c8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0xf8]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x76f783
fstp dword [esi + 0xf8]
jmp 0x76f785
fstp st(0)
cmp dword [esi + 0x144], 0x1e
jl case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
sub eax, 0x1f5
cmp eax, 0x129
ja case.0x76f7c6.504
movzx eax, byte [eax + 0x781e4c]
jmp dword [eax*4 + 0x781ce4]
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x76f7e1
cmp ax, 4
jne 0x76f7e8
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 0
cmp word [esi + 0x13e], 3
jne 0x76f81a
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x76f5d7
mov ecx, esi
call fcn.00438c60
test al, al
je 0x76f82f
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
cmp eax, edi
jne 0x76f95b
cmp word [esi + 0x142], di
jne 0x76f85d
cmp word [esi + 0x140], di
jne 0x76f85d
cmp word [esi + 0x13e], 4
je 0x7693f5
cmp eax, edi
jne 0x76f95b
cmp word [esi + 0x142], di
jne 0x76f95b
cmp word [esi + 0x140], di
jne 0x76f95b
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x76f95b
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85b3b0]
fstp dword [esi + 0xf8]
push 0x14
fldz
mov ecx, esi
fstp dword [esi + 0xf4]
mov dword [esi + 0x190], edi
call fcn.00464980
fldz
fst dword [esp + 0x2a0]
fld1
fstp dword [esp + 0x2a4]
cmp byte [esi + 0x6a4], 1
jl 0x76f8f3
fld dword [0x85b94c]
fstp dword [esp + 0x2a4]
cmp byte [esi + 0x6a4], 3
jl 0x76f909
fld dword [0x85b954]
fstp dword [esp + 0x2a4]
cmp byte [esi + 0x6a4], 4
jl 0x76f91f
fld dword [0x8589f0]
fstp dword [esp + 0x2a4]
push 3
fstp dword [esp + 0x2ac]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
lea ecx, [esp + 0x2a4]
push ecx
push edi
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
call fcn.0046eb30
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
cmp dword [esi + 0x144], 0x28
jl case.default.0x77ef43
fld dword [esi + 0xf8]
mov eax, dword [esi]
fmul qword [0x858ea0]
mov edx, dword [eax + 0x14]
mov ecx, esi
fstp dword [esi + 0xf8]
call edx
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x760], edi
fstp st(0)
ja 0x76f9b6
mov byte [esi + 0x7f4], 0
mov ebx, 5
cmp word [esi + 0x13e], bx
mov ecx, esi
jne 0x76f9cd
call fcn.00487ca0
jmp 0x76fa06
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76fa06
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebx
mov ecx, esi
call edx
mov ecx, esi
mov byte [esi + 0x18c], 0
call fcn.00438c60
test al, al
je 0x76fa22
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x76fb17
cmp word [esi + 0x142], di
jne 0x76fb17
cmp word [esi + 0x140], di
jne 0x76fb17
cmp word [esi + 0x13e], 3
jne 0x76fb17
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 0x14
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00464980
fldz
fstp dword [esp + 0x294]
fld1
fstp dword [esp + 0x298]
cmp byte [esi + 0x6a4], 1
jl 0x76faa8
fld dword [0x85b94c]
fstp dword [esp + 0x298]
cmp byte [esi + 0x6a4], 3
jl 0x76fabe
fld dword [0x85b954]
fstp dword [esp + 0x298]
cmp byte [esi + 0x6a4], 4
jl 0x76fad4
fld dword [0x8589f0]
fstp dword [esp + 0x298]
fld dword [0x871538]
push 3
fstp dword [esp + 0x2a0]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
lea eax, [esp + 0x298]
push eax
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
call fcn.0046eb30
mov eax, dword [esi + 0x144]
cmp eax, edi
jne 0x76fb40
cmp word [esi + 0x142], di
jne 0x76fb40
cmp word [esi + 0x140], di
jne 0x76fb40
cmp word [esi + 0x13e], bx
je 0x7693f5
mov ecx, 1
cmp word [esi + 0x13e], cx
jne 0x76fb75
add word [esi + 0x7d0], cx
mov eax, dword [esi + 0x144]
cmp eax, ebx
jl 0x76fb6c
cmp byte [esi + 0x7f4], 0
je 0x76713c
cmp eax, 0x3c
jge 0x76713c
movzx ecx, word [esi + 0x13e]
cmp cx, 3
jne 0x76fb8b
cmp eax, 0x1e
jge 0x76713c
cmp cx, 4
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 3
jne case.default.0x77ef43
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x764], edi
fstp st(0)
ja 0x76fbd5
mov byte [esi + 0x7f4], 0
mov ebx, 5
cmp word [esi + 0x13e], bx
mov ecx, esi
jne 0x76fbec
call fcn.00487ca0
jmp 0x76fc25
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x76fc25
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
mov ecx, esi
mov byte [esi + 0x18c], 0
call fcn.00438c60
test al, al
je 0x76fc41
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x76fd36
cmp word [esi + 0x142], di
jne 0x76fd36
cmp word [esi + 0x140], di
jne 0x76fd36
cmp word [esi + 0x13e], 3
jne 0x76fd36
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 0x14
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00464980
fldz
fstp dword [esp + 0x2ac]
fld1
fstp dword [esp + 0x2b0]
cmp byte [esi + 0x6a4], 1
jl 0x76fcc7
fld dword [0x85b94c]
fstp dword [esp + 0x2b0]
cmp byte [esi + 0x6a4], 3
jl 0x76fcdd
fld dword [0x85b954]
fstp dword [esp + 0x2b0]
cmp byte [esi + 0x6a4], 4
jl 0x76fcf3
fld dword [0x8589f0]
fstp dword [esp + 0x2b0]
fld dword [0x871538]
push 3
fstp dword [esp + 0x2b8]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
lea ecx, [esp + 0x2b0]
push ecx
push 1
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
call fcn.0046eb30
mov eax, dword [esi + 0x144]
cmp eax, edi
jne 0x76fd5f
cmp word [esi + 0x142], di
jne 0x76fd5f
cmp word [esi + 0x140], di
jne 0x76fd5f
cmp word [esi + 0x13e], bx
je 0x76e0a2
mov ecx, 1
cmp word [esi + 0x13e], cx
jne 0x76fd94
add word [esi + 0x7d0], cx
mov eax, dword [esi + 0x144]
cmp eax, ebx
jl 0x76fd8b
cmp byte [esi + 0x7f4], 0
je 0x76cb21
cmp eax, 0x3c
jge 0x76cb21
movzx ecx, word [esi + 0x13e]
cmp cx, 3
jne 0x76fb8b
cmp eax, 0x3c
jl 0x76fb8b
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 4
call fcn.00438c60
test al, al
je 0x76fde4
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 7
jne case.default.0x77ef43
push 0x15
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x871538]
fstp dword [esp + 0x4b4]
push 3
fld dword [0x86782c]
lea edx, [esp + 0x4b8]
fstp dword [esp + 0x4bc]
push edx
fld1
push 1
fstp dword [esp + 0x4c8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
sub esp, 8
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32b
mov ecx, esi
call fcn.0046eb30
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 4
call fcn.00438c60
test al, al
je 0x76fee0
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 7
jne case.default.0x77ef43
push 0x15
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85bca4]
fstp dword [esp + 0x6ac]
push 3
fld dword [0x86782c]
lea edx, [esp + 0x6b0]
fstp dword [esp + 0x6b4]
push edx
fld1
push 1
fstp dword [esp + 0x6c0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
sub esp, 8
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x76fe96
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 4
call fcn.00438c60
test al, al
je 0x76ffbd
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 7
jne case.default.0x77ef43
push 0x15
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x871538]
fstp dword [esp + 0x4cc]
push 3
fld dword [0x86782c]
lea edx, [esp + 0x4d0]
fstp dword [esp + 0x4d4]
push edx
fld1
push 1
fstp dword [esp + 0x4e0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
sub esp, 8
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x76fe96
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 4
call fcn.00438c60
test al, al
je 0x77009a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 7
jne case.default.0x77ef43
push 0x15
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85bca4]
fstp dword [esp + 0x7a8]
push 3
fld dword [0x86782c]
lea edx, [esp + 0x7ac]
fstp dword [esp + 0x7b0]
push edx
fld1
push 1
fstp dword [esp + 0x7bc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
sub esp, 8
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x76fe96
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 8
cmp dword [esi + 0x760], edi
jne 0x770170
mov byte [esi + 0x7f4], 0
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x7703ad
mov eax, dword [esi + 0x144]
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jne 0x77038a
cmp word [esi + 0x7d2], di
jle 0x77038a
push 0x17
mov ecx, esi
call fcn.00464980
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7701c4
fadd dword [0x871554]
fmul qword [0x867840]
push 0x1e
fadd qword [0x857930]
fld dword [esi + 0x7dc]
fmul qword [0x858ea8]
faddp st(1)
fstp dword [esp + 0x124]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x770201
fadd dword [0x871554]
fmul qword [0x867840]
fadd qword [0x85c578]
fstp dword [esp + 0x120]
fld dword [0x85b870]
fstp dword [esp + 0x124]
cmp byte [esi + 0x6ac], 2
jl 0x770233
fldz
fstp dword [esp + 0x124]
cmp byte [esi + 0x6ac], 4
jl 0x770249
fld dword [0x85882c]
fstp dword [esp + 0x124]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
lea edx, [esp + 0x120]
fisub dword [ecx + 0x9c]
push edx
push 1
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
push 0xa0
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7702c8
fadd dword [0x871554]
fsubr qword [0x85c8a0]
push 0x1e
fstp dword [esp + 0x124]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x7702f1
fadd dword [0x871554]
fmul qword [0x867840]
push ebx
lea edx, [esp + 0x120]
push edx
fadd qword [0x857f80]
push 1
fstp dword [esp + 0x12c]
fld1
fstp dword [esp + 0x130]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
sub esp, 8
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32c
mov ecx, esi
call fcn.0046eb30
add word [esi + 0x7d2], 0xffff
fld dword [esi + 0x7dc]
fadd qword [0x8677a0]
fstp dword [esi + 0x7dc]
cmp byte [esi + 0x7f4], 0
jne 0x7703a0
cmp dword [esi + 0x144], 0xc
jge 0x76713c
cmp word [esi + 0x7d2], di
jle 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7703c2
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
mov word [esi + 0x7d2], 0x1b
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 8
cmp dword [esi + 0x764], edi
jne 0x770446
mov byte [esi + 0x7f4], 0
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x7703ad
mov eax, dword [esi + 0x144]
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jne 0x77038a
cmp word [esi + 0x7d2], di
jle 0x77038a
push 0x17
mov ecx, esi
call fcn.00464980
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77049a
fadd dword [0x871554]
fmul qword [0x867840]
push 0x1e
fadd qword [0x858010]
fld dword [esi + 0x7dc]
fmul qword [0x8677a0]
faddp st(1)
fstp dword [esp + 0x100]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x7704d7
fadd dword [0x871554]
fmul qword [0x867840]
fadd qword [0x85edf8]
fstp dword [esp + 0xfc]
fld dword [0x85b870]
fstp dword [esp + 0x100]
cmp byte [esi + 0x6ac], 2
jl 0x770509
fldz
fstp dword [esp + 0x100]
cmp byte [esi + 0x6ac], 4
jl 0x77051f
fld dword [0x85882c]
fstp dword [esp + 0x100]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
lea edx, [esp + 0xfc]
fisub dword [ecx + 0x9c]
push edx
push 1
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
push 0xa0
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77059e
fadd dword [0x871554]
fsubr qword [0x85c8a0]
push 0x1e
fstp dword [esp + 0x100]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x7705c7
fadd dword [0x871554]
fmul qword [0x867840]
push ebx
lea edx, [esp + 0xfc]
push edx
fadd qword [0x857f80]
push 1
fstp dword [esp + 0x108]
fld1
fstp dword [esp + 0x10c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
sub esp, 8
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x770361
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 8
cmp dword [esi + 0x760], edi
jne 0x77065b
mov byte [esi + 0x7f4], 0
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x770898
mov eax, dword [esi + 0x144]
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jne 0x770875
cmp word [esi + 0x7d2], di
jle 0x770875
push 0x17
mov ecx, esi
call fcn.00464980
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7706af
fadd dword [0x871554]
fmul qword [0x867840]
push 0x1e
fadd qword [0x857930]
fld dword [esi + 0x7dc]
fmul qword [0x858ea8]
faddp st(1)
fstp dword [esp + 0x10c]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x7706ec
fadd dword [0x871554]
fmul qword [0x867840]
fadd qword [0x85c578]
fstp dword [esp + 0x108]
fld dword [0x85b870]
fstp dword [esp + 0x10c]
cmp byte [esi + 0x6ac], 2
jl 0x77071e
fldz
fstp dword [esp + 0x10c]
cmp byte [esi + 0x6ac], 4
jl 0x770734
fld dword [0x85882c]
fstp dword [esp + 0x10c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
lea edx, [esp + 0x108]
fisub dword [ecx + 0x9c]
push edx
push 1
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
push 0xa0
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7707b3
fadd dword [0x871554]
fsubr qword [0x85c8a0]
push 0x1e
fstp dword [esp + 0x10c]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x7707dc
fadd dword [0x871554]
fmul qword [0x867840]
push ebx
lea edx, [esp + 0x108]
push edx
fadd qword [0x857f80]
push 1
fstp dword [esp + 0x114]
fld1
fstp dword [esp + 0x118]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
sub esp, 8
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32c
mov ecx, esi
call fcn.0046eb30
add word [esi + 0x7d2], 0xffff
fld dword [esi + 0x7dc]
fadd qword [0x8677a0]
fstp dword [esi + 0x7dc]
cmp byte [esi + 0x7f4], 0
jne 0x77088b
cmp dword [esi + 0x144], 0xc
jge 0x76713c
cmp word [esi + 0x7d2], di
jle 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7708ae
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
mov word [esi + 0x7d2], 0x15
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 8
cmp dword [esi + 0x764], edi
jne 0x770932
mov byte [esi + 0x7f4], 0
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x770898
mov eax, dword [esi + 0x144]
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jne 0x770875
cmp word [esi + 0x7d2], di
jle 0x770875
push 0x17
mov ecx, esi
call fcn.00464980
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x770986
fadd dword [0x871554]
fmul qword [0x867840]
push 0x1e
fadd qword [0x858010]
fld dword [esi + 0x7dc]
fmul qword [0x8677a0]
faddp st(1)
fstp dword [esp + 0x130]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x7709c3
fadd dword [0x871554]
fmul qword [0x867840]
fadd qword [0x85edf8]
fstp dword [esp + 0x12c]
fld dword [0x85b870]
fstp dword [esp + 0x130]
cmp byte [esi + 0x6ac], 2
jl 0x7709f5
fldz
fstp dword [esp + 0x130]
cmp byte [esi + 0x6ac], 4
jl 0x770a0b
fld dword [0x85882c]
fstp dword [esp + 0x130]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
lea edx, [esp + 0x12c]
fisub dword [ecx + 0x9c]
push edx
push 1
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
push 0xa0
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x770a8a
fadd dword [0x871554]
fsubr qword [0x85c8a0]
push 0x1e
fstp dword [esp + 0x130]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x770ab3
fadd dword [0x871554]
fmul qword [0x867840]
push ebx
lea edx, [esp + 0x12c]
push edx
fadd qword [0x857f80]
push 1
fstp dword [esp + 0x138]
fld1
fstp dword [esp + 0x13c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
sub esp, 8
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x77084c
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 1
call fcn.00438c60
test al, al
je 0x770b56
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
mov ebx, 1
cmp ax, bx
jne 0x770b74
cmp dword [esi + 0x144], 6
jge 0x76713c
cmp ax, 2
jne 0x770c6e
cmp word [esi + 0x142], di
jne 0x770c6e
cmp word [esi + 0x140], bx
jne 0x770c6e
fldz
push 3
fst dword [esp + 0x4e8]
lea edx, [esp + 0x4e8]
fstp dword [esp + 0x4ec]
push edx
fld dword [0x858830]
push ebx
fstp dword [esp + 0x4f8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push ebx
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 2
call fcn.00438ce0
cmp dword [esi + 0x144], edi
jne 0x770d53
cmp word [esi + 0x142], di
jne 0x770d53
cmp word [esi + 0x140], di
jne 0x770d53
cmp word [esi + 0x13e], 3
jne 0x770d9c
push 0x1e
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x310]
fstp dword [esp + 0x314]
fld dword [0x871538]
fstp dword [esp + 0x318]
cmp byte [esi + 0x6a5], bl
jl 0x770cf4
fld dword [0x85bca4]
fstp dword [esp + 0x318]
cmp byte [esi + 0x6a5], 3
jl 0x770d0a
fld dword [0x85bc44]
fstp dword [esp + 0x318]
fld dword [esi + 0xf0]
mov edx, dword [esi + 0x158]
fisub dword [edx + 0x9c]
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0x314]
push eax
push ebx
push ecx
sub esp, 8
fstp dword [esp + 0x2c]
mov ecx, esi
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
cmp word [esi + 0x13e], 3
jne 0x770d9c
cmp dword [esi + 0x190], edi
je 0x770d8f
cmp byte [esi + 0x194], 0
jle 0x770d8f
add word [esi + 0x7d0], bx
movzx eax, word [esi + 0x7d0]
cmp ax, 8
jl 0x770d8f
mov word [esi + 0x7d0], di
mov dword [esi + 0x190], edi
cmp dword [esi + 0x144], 0x24
jge 0x76cb21
movzx eax, word [esi + 0x13e]
cmp ax, 4
jne 0x770db6
cmp dword [esi + 0x144], 0xf
jge 0x76cb21
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp ax, 6
jne case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 1
call fcn.00438c60
test al, al
je 0x770e26
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
mov ebx, 1
cmp ax, bx
jne 0x770e44
cmp dword [esi + 0x144], 2
jge 0x76cb21
cmp ax, 2
jne 0x770f3e
cmp word [esi + 0x142], di
jne 0x770f3e
cmp word [esi + 0x140], bx
jne 0x770f3e
fldz
push 3
fst dword [esp + 0x6c8]
lea edx, [esp + 0x6c8]
fstp dword [esp + 0x6cc]
push edx
fld dword [0x858830]
push ebx
fstp dword [esp + 0x6d8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push ebx
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 2
call fcn.00438ce0
mov ebp, 3
cmp word [esi + 0x13e], bp
jne 0x770f8b
cmp dword [esi + 0x190], edi
je 0x770f7e
cmp byte [esi + 0x194], 0
jle 0x770f7e
add word [esi + 0x7d0], bx
movzx eax, word [esi + 0x7d0]
cmp ax, 8
jl 0x770f7e
mov word [esi + 0x7d0], di
mov dword [esi + 0x190], edi
cmp dword [esi + 0x144], 0x24
jge 0x76cb21
cmp dword [esi + 0x144], edi
jne 0x77106e
cmp word [esi + 0x142], di
jne 0x77106e
cmp word [esi + 0x140], di
jne 0x77106e
cmp word [esi + 0x13e], bp
jne 0x77106e
push 0x1e
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x34c]
fstp dword [esp + 0x350]
fld dword [0x871538]
fstp dword [esp + 0x354]
cmp byte [esi + 0x6a5], bl
jl 0x771010
fld dword [0x85bca4]
fstp dword [esp + 0x354]
cmp byte [esi + 0x6a5], 3
jl 0x771026
fld dword [0x85bc44]
fstp dword [esp + 0x354]
fld dword [esi + 0xf0]
mov edx, dword [esi + 0x158]
fisub dword [edx + 0x9c]
movzx ecx, byte [esi + 0x104]
push ebp
lea eax, [esp + 0x350]
push eax
push ebx
push ecx
sub esp, 8
fstp dword [esp + 0x2c]
mov ecx, esi
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
movzx eax, word [esi + 0x13e]
cmp ax, 4
jne 0x771088
cmp dword [esi + 0x144], 0xf
jge 0x76cb21
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp ax, 6
jne case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 2
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebp, 3
fstp st(0)
cmp word [esi + 0x13e], bp
mov ecx, esi
jne 0x77116a
call fcn.00487ca0
mov byte [esi + 0x18c], 5
cmp word [esi + 0x13e], di
jne 0x771108
cmp byte [esi + 0x6a9], 3
jl 0x771108
mov word [esi + 0x51c], 2
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x77120d
mov eax, dword [esi + 0x144]
and eax, 0x80000007
jns 0x77112c
dec eax
or eax, 0xfffffff8
inc eax
jne 0x771137
push 0x1f
mov ecx, esi
call fcn.00464980
fld dword [esi + 0x7dc]
fmul qword [0x85ba30]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7dc]
fld dword [0x8589f0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x7711af
fstp dword [esi + 0x7dc]
jmp 0x7711b1
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7710e6
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebp
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
fld dword [esi + 0x7dc]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [0x85bc00]
fstp dword [esp]
call fcn.00438c00
cmp dword [esi + 0x190], edi
je 0x771200
cmp byte [esi + 0x194], bl
jl 0x771200
add word [esi + 0x7d0], bx
movzx eax, word [esi + 0x7d0]
cmp ax, 4
jl 0x771200
mov word [esi + 0x7d0], di
mov dword [esi + 0x190], edi
cmp dword [esi + 0x144], 0x1e
jge 0x777ba0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x771222
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x7712fd
cmp word [esi + 0x142], di
jne 0x7712d6
cmp word [esi + 0x140], di
jne 0x7712d6
cmp word [esi + 0x13e], bx
jne 0x7712d6
fldz
mov word [esi + 0x51c], di
fst dword [esp + 0x4fc]
push ebp
fst dword [esp + 0x504]
lea edx, [esp + 0x500]
fstp dword [esp + 0x508]
push edx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push 0xffffffffffffffff
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x330
call fcn.0046eb30
cmp dword [esi + 0x144], edi
jne 0x7712fd
cmp word [esi + 0x142], di
jne 0x7712fd
cmp word [esi + 0x140], di
jne 0x7712fd
cmp word [esi + 0x13e], bp
je 0x7693f5
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne case.default.0x77ef43
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85b9bc]
fst dword [esi + 0x7dc]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [0x85bc00]
fstp dword [esp]
call fcn.00438c00
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebp, 3
fstp st(0)
cmp word [esi + 0x13e], bp
mov ecx, esi
jne 0x771407
call fcn.00487ca0
mov byte [esi + 0x18c], 5
cmp word [esi + 0x13e], di
jne 0x7713a4
cmp byte [esi + 0x6a9], 3
jl 0x7713a4
mov word [esi + 0x51c], 2
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x7714aa
mov ecx, dword [esi + 0x144]
and ecx, 0x80000007
jns 0x7713c9
dec ecx
or ecx, 0xfffffff8
inc ecx
jne 0x7713d4
push 0x1f
mov ecx, esi
call fcn.00464980
fld dword [esi + 0x7dc]
fmul qword [0x8581d8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7dc]
fld dword [0x8589f0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x77144c
fstp dword [esi + 0x7dc]
jmp 0x77144e
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x771382
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebp
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
fld dword [esi + 0x7dc]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [0x85bb84]
fstp dword [esp]
call fcn.00438c00
cmp dword [esi + 0x190], edi
je 0x77149d
cmp byte [esi + 0x194], bl
jl 0x77149d
add word [esi + 0x7d0], bx
movzx eax, word [esi + 0x7d0]
cmp ax, 4
jl 0x77149d
mov word [esi + 0x7d0], di
mov dword [esi + 0x190], edi
cmp dword [esi + 0x144], 0x28
jge 0x777ba0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7714bf
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x77159a
cmp word [esi + 0x142], di
jne 0x771573
cmp word [esi + 0x140], di
jne 0x771573
cmp word [esi + 0x13e], bx
jne 0x771573
fldz
mov word [esi + 0x51c], di
fst dword [esp + 0x7d8]
push ebp
fst dword [esp + 0x7e0]
lea edx, [esp + 0x7dc]
fstp dword [esp + 0x7e4]
push edx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push 0xffffffffffffffff
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x330
call fcn.0046eb30
cmp dword [esi + 0x144], edi
jne 0x77159a
cmp word [esi + 0x142], di
jne 0x77159a
cmp word [esi + 0x140], di
jne 0x77159a
cmp word [esi + 0x13e], bp
je 0x7693f5
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne case.default.0x77ef43
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85b9bc]
fst dword [esi + 0x7dc]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [0x85bb84]
fstp dword [esp]
call fcn.00438c00
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebp, 3
fstp st(0)
cmp word [esi + 0x13e], bp
mov ecx, esi
jne 0x77161d
call fcn.00487ca0
jmp 0x77163c
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x771426
mov ebx, 1
mov byte [esi + 0x18c], 5
cmp word [esi + 0x13e], bx
jne 0x7716ad
mov ecx, dword [esi + 0x144]
and ecx, 0x80000007
jns 0x771664
dec ecx
or ecx, 0xfffffff8
inc ecx
jne 0x77166f
push 0x1f
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x190], edi
je 0x7716a0
cmp byte [esi + 0x194], bl
jl 0x7716a0
add word [esi + 0x7d0], bx
movzx eax, word [esi + 0x7d0]
cmp ax, 4
jl 0x7716a0
mov word [esi + 0x7d0], di
mov dword [esi + 0x190], edi
cmp dword [esi + 0x144], 0x1e
jge 0x777ba0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7716c2
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x771796
cmp word [esi + 0x142], di
jne 0x77176f
cmp word [esi + 0x140], di
jne 0x77176f
cmp word [esi + 0x13e], bx
jne 0x77176f
fldz
push ebp
fst dword [esp + 0x518]
lea edx, [esp + 0x518]
fst dword [esp + 0x51c]
push edx
fstp dword [esp + 0x524]
push 0xffffffffffffffff
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x330
call fcn.0046eb30
cmp dword [esi + 0x144], edi
jne 0x771796
cmp word [esi + 0x142], di
jne 0x771796
cmp word [esi + 0x140], di
jne 0x771796
cmp word [esi + 0x13e], bp
je 0x7693f5
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne case.default.0x77ef43
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebp, 3
fstp st(0)
cmp word [esi + 0x13e], bp
mov ecx, esi
jne 0x7717f5
call fcn.00487ca0
jmp 0x771814
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x771426
mov ebx, 1
mov byte [esi + 0x18c], 5
cmp word [esi + 0x13e], bx
jne 0x771885
mov ecx, dword [esi + 0x144]
and ecx, 0x80000007
jns 0x77183c
dec ecx
or ecx, 0xfffffff8
inc ecx
jne 0x771847
push 0x1f
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x190], edi
je 0x771878
cmp byte [esi + 0x194], bl
jl 0x771878
add word [esi + 0x7d0], bx
movzx eax, word [esi + 0x7d0]
cmp ax, 4
jl 0x771878
mov word [esi + 0x7d0], di
mov dword [esi + 0x190], edi
cmp dword [esi + 0x144], 0x2d
jge 0x777ba0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77189a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x771796
cmp word [esi + 0x142], di
jne 0x771947
cmp word [esi + 0x140], di
jne 0x771947
cmp word [esi + 0x13e], bx
jne 0x771947
fldz
push ebp
fst dword [esp + 0x6e0]
lea edx, [esp + 0x6e0]
fst dword [esp + 0x6e4]
push edx
fstp dword [esp + 0x6ec]
push 0xffffffffffffffff
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x330
call fcn.0046eb30
cmp dword [esi + 0x144], edi
jne 0x771796
cmp word [esi + 0x142], di
jne 0x771796
cmp word [esi + 0x140], di
jne 0x771796
cmp word [esi + 0x13e], bp
jne 0x771796
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 3
fstp st(0)
cmp word [esi + 0x13e], bx
mov ecx, esi
jne 0x7719a6
call fcn.00487ca0
jmp 0x7719c5
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x76dd26
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7719da
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x771ffe
cmp word [esi + 0x142], di
jne 0x771a0c
cmp word [esi + 0x140], di
jne 0x771a0c
cmp word [esi + 0x13e], bx
jne 0x771a0c
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x771ffe
cmp word [esi + 0x142], di
jne 0x771ffe
cmp word [esi + 0x140], di
jne 0x771ffe
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x771ffe
push 0x20
mov ecx, esi
call fcn.00464980
fld dword [0x85bb84]
fstp dword [esp + 0xa4]
push 4
fld dword [0x85b3b0]
lea edx, [esp + 0xa8]
fstp dword [esp + 0xac]
push edx
fldz
push ebx
fstp dword [esp + 0xb8]
mov eax, dword [esi + 0x144]
lea ecx, [eax + eax*2]
add ecx, ecx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fstp dword [esp + 0xbc]
movzx eax, byte [esi + 0x104]
fld dword [0x85bbe4]
push eax
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xbc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
mov dword [esp + 0x2c], eax
mov ecx, esi
fiadd dword [edx + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
cmp byte [esi + 0x6ad], 2
jl 0x771bd6
fld dword [0x85b998]
push 4
fstp dword [esp + 0xa8]
movzx edx, byte [esi + 0x104]
fld dword [0x85b98c]
lea ecx, [esp + 0xa8]
push ecx
push ebx
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [eax + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xbc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
mov dword [esp + 0x2c], edx
fiadd dword [ecx + 0x98]
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
fld dword [0x85d87c]
push 4
fstp dword [esp + 0xa8]
movzx ecx, byte [esi + 0x104]
fld dword [0x85ba6c]
lea eax, [esp + 0xa8]
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xbc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
cmp byte [esi + 0x6ad], 2
jl 0x771d2f
fld dword [0x85db4c]
push 4
fstp dword [esp + 0xa8]
movzx eax, byte [esi + 0x104]
fld dword [0x85f184]
lea edx, [esp + 0xa8]
push edx
push ebx
push eax
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xbc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
mov dword [esp + 0x2c], eax
mov ecx, esi
fiadd dword [edx + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
fld dword [0x871540]
push 4
fstp dword [esp + 0xa8]
movzx edx, byte [esi + 0x104]
fld dword [0x85bb80]
lea ecx, [esp + 0xa8]
push ecx
push ebx
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [eax + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xbc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
mov dword [esp + 0x2c], edx
fiadd dword [ecx + 0x98]
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
cmp byte [esi + 0x6ad], 4
jl 0x771e88
fld dword [0x85b98c]
push 4
fstp dword [esp + 0xa8]
movzx ecx, byte [esi + 0x104]
fld dword [0x85b998]
lea eax, [esp + 0xa8]
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xbc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
fld dword [0x857dd4]
push 4
fstp dword [esp + 0xa8]
movzx eax, byte [esi + 0x104]
fld dword [0x85ce90]
lea edx, [esp + 0xa8]
push edx
push ebx
push eax
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xbc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
mov dword [esp + 0x2c], eax
mov ecx, esi
fiadd dword [edx + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
cmp byte [esi + 0x6ad], 4
jl 0x771fe1
fld dword [0x85b988]
push 4
fstp dword [esp + 0xa8]
movzx edx, byte [esi + 0x104]
fld dword [0x85b994]
lea ecx, [esp + 0xa8]
push ecx
push ebx
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [eax + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xbc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
mov dword [esp + 0x2c], edx
fiadd dword [ecx + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
mov ecx, esi
call fcn.0046eb30
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
mov eax, 2
cmp word [esi + 0x13e], ax
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], ax
jne case.default.0x77ef43
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 3
fstp st(0)
cmp word [esi + 0x13e], bx
mov ecx, esi
jne 0x772661
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77206e
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x771ffe
cmp word [esi + 0x142], di
jne 0x77209c
cmp word [esi + 0x140], di
jne 0x77209c
cmp word [esi + 0x13e], bx
jne 0x77209c
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x771ffe
cmp word [esi + 0x142], di
jne 0x771ffe
cmp word [esi + 0x140], di
jne 0x771ffe
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x771ffe
push 0x20
mov ecx, esi
call fcn.00464980
fld dword [0x85bb84]
fstp dword [esp + 0x94]
push 4
fld dword [0x85bbe4]
lea ecx, [esp + 0x98]
fst dword [esp + 0x9c]
push ecx
fldz
push ebx
fstp dword [esp + 0xa8]
mov eax, dword [esi + 0x144]
lea eax, [eax + eax*2]
add eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fstp dword [esp + 0xac]
movzx edx, byte [esi + 0x104]
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [eax + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xac]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
mov dword [esp + 0x2c], edx
fiadd dword [ecx + 0x98]
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
cmp byte [esi + 0x6ad], 2
jl 0x772260
fld dword [0x85b998]
push 4
fstp dword [esp + 0x98]
movzx ecx, byte [esi + 0x104]
fld dword [0x85b98c]
lea eax, [esp + 0x98]
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xac]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
fld dword [0x85d87c]
push 4
fstp dword [esp + 0x98]
movzx eax, byte [esi + 0x104]
fld dword [0x85ba6c]
lea edx, [esp + 0x98]
push edx
push ebx
push eax
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xac]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
mov dword [esp + 0x2c], eax
mov ecx, esi
fiadd dword [edx + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
cmp byte [esi + 0x6ad], 2
jl 0x7723b9
fld dword [0x85db4c]
push 4
fstp dword [esp + 0x98]
movzx edx, byte [esi + 0x104]
fld dword [0x85f184]
lea ecx, [esp + 0x98]
push ecx
push ebx
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [eax + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xac]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
mov dword [esp + 0x2c], edx
fiadd dword [ecx + 0x98]
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
fld dword [0x871540]
push 4
fstp dword [esp + 0x98]
movzx ecx, byte [esi + 0x104]
fld dword [0x85bb80]
lea eax, [esp + 0x98]
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xac]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
cmp byte [esi + 0x6ad], 4
jl 0x772512
fld dword [0x85b98c]
push 4
fstp dword [esp + 0x98]
movzx eax, byte [esi + 0x104]
fld dword [0x85b998]
lea edx, [esp + 0x98]
push edx
push ebx
push eax
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xac]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
mov dword [esp + 0x2c], eax
mov ecx, esi
fiadd dword [edx + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
fld dword [0x857dd4]
push 4
fstp dword [esp + 0x98]
movzx edx, byte [esi + 0x104]
fld dword [0x85ce90]
lea ecx, [esp + 0x98]
push ecx
push ebx
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [eax + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xac]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
mov dword [esp + 0x2c], edx
fiadd dword [ecx + 0x98]
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x331
call fcn.0046eb30
cmp byte [esi + 0x6ad], 4
jl 0x771fe1
fld dword [0x85b988]
push 4
fstp dword [esp + 0x98]
movzx ecx, byte [esi + 0x104]
fld dword [0x85b994]
lea eax, [esp + 0x98]
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xac]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x771fd2
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x772059
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebx
mov ecx, esi
call edx
mov byte [esi + 0x49b], 0
jmp 0x7670bf
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x7726b0
cmp ax, 3
je 0x7726b0
cmp ax, 5
jne 0x7726b7
mov ecx, esi
call fcn.00487ca0
mov ebp, 4
cmp word [esi + 0x13e], bp
jne 0x7726d2
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
movzx eax, word [esi + 0x13e]
mov ebx, 1
cmp ax, bx
je 0x7726ed
cmp ax, 2
jne 0x7727cd
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7727cd
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
fldz
fst dword [esp + 0x364]
fst dword [esp + 0x368]
fstp dword [esp + 0x36c]
cmp byte [esi + 0x6a6], bl
jl 0x77275f
fld dword [0x85bca4]
fstp dword [esp + 0x36c]
cmp byte [esi + 0x6a6], 3
jl 0x772775
fld dword [0x85b870]
fstp dword [esp + 0x36c]
push 3
lea ecx, [esp + 0x368]
movzx edx, byte [esi + 0x104]
push ecx
push 0xffffffffffffffff
push edx
fld dword [esi + 0xf0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x334
call fcn.0046eb30
push 0x29
mov ecx, esi
call fcn.00464980
fld dword [0x867810]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x18c], 2
cmp dword [esi + 0x760], edi
jne 0x7727e3
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7727f8
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x772863
cmp word [esi + 0x140], di
jne 0x772863
cmp word [esi + 0x13e], bx
jne 0x772863
push 0x28
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x86782c]
fstp dword [esi + 0xf4]
fld dword [0x85bc30]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x772896
cmp word [esi + 0x140], di
jne 0x772896
cmp word [esi + 0x13e], bp
jne 0x772896
fld dword [0x86782c]
fstp dword [esi + 0xf4]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 5
jne case.default.0x77ef43
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x7728f3
cmp ax, 3
je 0x7728f3
cmp ax, 5
jne 0x7728fa
mov ecx, esi
call fcn.00487ca0
mov ebp, 4
cmp word [esi + 0x13e], bp
jne 0x772915
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
movzx eax, word [esi + 0x13e]
mov ebx, 1
cmp ax, bx
je 0x772930
cmp ax, 2
jne 0x7729d1
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7729d1
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 3
mov ecx, esi
call edx
fldz
fst dword [esp + 0x334]
fst dword [esp + 0x338]
fstp dword [esp + 0x33c]
cmp byte [esi + 0x6a6], bl
jl 0x7729a2
fld dword [0x85bca4]
fstp dword [esp + 0x33c]
cmp byte [esi + 0x6a6], 3
jl 0x7729b8
fld dword [0x85b870]
fstp dword [esp + 0x33c]
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0x338]
push eax
push 0xffffffffffffffff
push ecx
jmp 0x772789
mov byte [esi + 0x18c], 2
cmp dword [esi + 0x760], edi
jne 0x7729e7
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7729fc
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x772863
cmp word [esi + 0x140], di
jne 0x772863
cmp word [esi + 0x13e], bx
jne 0x772863
push 0x28
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b3b0]
jmp 0x772845
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, 2
je 0x772a6f
cmp ax, 4
jne 0x772a76
mov ecx, esi
call fcn.00487ca0
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x772a91
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
movzx eax, word [esi + 0x13e]
cmp ax, di
je 0x772aa7
cmp ax, 1
jne 0x772b6e
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x772b6e
mov dword [esi + 0x190], 1
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x772b02
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 5
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
fldz
fst dword [esp + 0x31c]
fst dword [esp + 0x320]
fstp dword [esp + 0x324]
cmp byte [esi + 0x6a6], 1
jl 0x772b4c
fld dword [0x85bca4]
fstp dword [esp + 0x324]
cmp byte [esi + 0x6a6], bl
jl 0x772b61
fld dword [0x85b870]
fstp dword [esp + 0x324]
push ebx
lea ecx, [esp + 0x320]
jmp 0x77277e
mov byte [esi + 0x18c], 2
cmp dword [esi + 0x760], edi
jne 0x772b84
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x772b99
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne 0x772c23
cmp word [esi + 0x140], 1
jne 0x772bcc
cmp byte [esi + 0x6a6], 1
jl 0x772bcc
cmp word [esi + 0x142], 4
jl 0x772bcc
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
mov ecx, esi
call edx
cmp word [esi + 0x142], di
jne 0x772c23
cmp word [esi + 0x140], 2
jne 0x772c23
push 0x28
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85bc30]
fstp dword [esi + 0xf4]
fld dword [0x85b870]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x772c56
cmp word [esi + 0x140], di
jne 0x772c56
cmp word [esi + 0x13e], bx
jne 0x772c56
fld dword [0x86782c]
fstp dword [esi + 0xf4]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x772c85
cmp word [esi + 0x140], di
jne 0x772c85
cmp word [esi + 0x13e], 4
jne 0x772c85
mov ecx, esi
call fcn.004636b0
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 5
jmp 0x770de0
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, 2
je 0x772ccd
cmp ax, 4
jne 0x772cd4
mov ecx, esi
call fcn.00487ca0
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x772cef
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
movzx eax, word [esi + 0x13e]
cmp ax, di
je 0x772d05
cmp ax, 1
jne 0x772dd7
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x772dd7
mov dword [esi + 0x190], 1
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x772d60
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 5
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
mov ecx, esi
call edx
fldz
fst dword [esp + 0x328]
fst dword [esp + 0x32c]
fstp dword [esp + 0x330]
cmp byte [esi + 0x6a6], 1
jl 0x772daa
fld dword [0x85bca4]
fstp dword [esp + 0x330]
cmp byte [esi + 0x6a6], bl
jl 0x772dbf
fld dword [0x85b870]
fstp dword [esp + 0x330]
movzx ecx, byte [esi + 0x104]
push ebx
lea eax, [esp + 0x32c]
push eax
push 0xffffffffffffffff
push ecx
jmp 0x772789
mov byte [esi + 0x18c], 2
cmp dword [esi + 0x760], edi
jne 0x772ded
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x772e02
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x772e8c
cmp word [esi + 0x140], 1
jne 0x772e35
cmp byte [esi + 0x6a6], 1
jl 0x772e35
cmp word [esi + 0x142], 4
jl 0x772e35
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
mov ecx, esi
call eax
cmp word [esi + 0x142], di
jne 0x772e8c
cmp word [esi + 0x140], 2
jne 0x772e8c
push 0x28
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b9bc]
fstp dword [esi + 0xf4]
fld dword [0x85b870]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x772ebf
cmp word [esi + 0x140], di
jne 0x772ebf
cmp word [esi + 0x13e], bx
jne 0x772ebf
fld dword [0x86782c]
fstp dword [esi + 0xf4]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x772eee
cmp word [esi + 0x140], di
jne 0x772eee
cmp word [esi + 0x13e], 4
jne 0x772eee
mov ecx, esi
call fcn.004636b0
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 5
jmp 0x766a76
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x772f79
cmp ax, 4
je 0x772f79
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x772f80
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 6
cmp word [esi + 0x13e], 2
jne 0x772fa4
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
je 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x772fb9
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x7731c2
cmp word [esi + 0x142], 0
jne 0x7731c2
cmp word [esi + 0x140], 3
jne 0x7731c2
movsx edi, byte [esi + 0x6aa]
add edi, 6
test edi, edi
jle 0x7730cb
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x773010
fadd dword [0x871554]
push 0x7d
fstp dword [esp + 0x198]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x773030
fadd dword [0x871554]
fadd qword [0x85bbd8]
push 0x64
fstp dword [esp + 0x1a0]
call fcn.004099f0
add esp, 0xc
cmp eax, 0x32
sbb ecx, ecx
add ecx, 1
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
push 3
lea edx, [esp + 0x194]
push edx
fstp dword [esp + 0x1a0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push 1
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x335
call fcn.0046eb30
sub edi, 1
jne 0x772ff4
fldz
fstp dword [esp + 0x18]
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7730ea
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x14
fmul qword [0x867830]
fsub qword [0x85bc28]
faddp st(1)
fstp dword [esp + 0x198]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77311c
fadd dword [0x871554]
fadd qword [0x871520]
add esp, 4
fstp dword [esp + 0x198]
fld dword [0x8589f0]
fstp dword [esp + 0x19c]
fld dword [esp + 0x194]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x77315f
mov eax, 1
jmp 0x773161
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x194]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x858830]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x7730d1
cmp dword [esi + 0x144], 0
jne 0x773210
cmp word [esi + 0x142], 0
jne 0x773210
cmp word [esi + 0x140], 0
jne 0x773210
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x773215
push 0x28
mov ecx, esi
call fcn.00464980
fld dword [0x85b3b0]
fstp dword [esi + 0xf8]
fld dword [0x85bc48]
fstp dword [esi + 0x100]
jmp 0x773215
mov edi, 1
cmp word [esi + 0x13e], 3
jne 0x77327c
cmp word [esi + 0x142], 0
jne 0x77327c
cmp word [esi + 0x140], di
jne 0x77327c
push 0x2a
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b858]
mov dword [esi + 0x190], edi
fstp dword [esi + 0xf4]
fld dword [0x85bc30]
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], 0
jne case.default.0x77ef43
cmp word [esi + 0x142], 0
jne case.default.0x77ef43
cmp word [esi + 0x140], 0
jne case.default.0x77ef43
cmp word [esi + 0x13e], 4
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, di
je 0x77331e
cmp ax, 4
je 0x77331e
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x773325
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 6
cmp word [esi + 0x13e], 2
jne 0x773349
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
je 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77335e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x773571
cmp word [esi + 0x142], 0
jne 0x773571
cmp word [esi + 0x140], 3
jne 0x773571
movsx edi, byte [esi + 0x6aa]
add edi, 6
test edi, edi
jle 0x773477
lea esp, [esp]
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7733bc
fadd dword [0x871554]
push 0x7d
fstp dword [esp + 0x1c0]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x7733dc
fadd dword [0x871554]
fadd qword [0x85bbd8]
push 0x64
fstp dword [esp + 0x1c8]
call fcn.004099f0
add esp, 0xc
cmp eax, 0x32
sbb ecx, ecx
add ecx, 1
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
push 3
lea edx, [esp + 0x1bc]
push edx
fstp dword [esp + 0x1c8]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push 1
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x335
call fcn.0046eb30
sub edi, 1
jne 0x7733a0
fldz
fstp dword [esp + 0x18]
lea ecx, [ecx]
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x773499
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x14
fmul qword [0x867830]
fsub qword [0x85bc28]
faddp st(1)
fstp dword [esp + 0x1c0]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x7734cb
fadd dword [0x871554]
fadd qword [0x871520]
add esp, 4
fstp dword [esp + 0x1c0]
fld dword [0x8589f0]
fstp dword [esp + 0x1c4]
fld dword [esp + 0x1bc]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x77350e
mov eax, 1
jmp 0x773510
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x1bc]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x858830]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x773480
cmp dword [esi + 0x144], 0
jne 0x7735bf
cmp word [esi + 0x142], 0
jne 0x7735bf
cmp word [esi + 0x140], 0
jne 0x7735bf
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x7735c4
push 0x28
mov ecx, esi
call fcn.00464980
fld dword [0x85b9d0]
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
jmp 0x7735c4
mov edi, 1
cmp word [esi + 0x13e], 3
jne 0x77362b
cmp word [esi + 0x142], 0
jne 0x77362b
cmp word [esi + 0x140], di
jne 0x77362b
push 0x2a
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b858]
mov dword [esi + 0x190], edi
fstp dword [esi + 0xf4]
fld dword [0x85bc30]
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], 0
jne case.default.0x77ef43
cmp word [esi + 0x142], 0
jne case.default.0x77ef43
cmp word [esi + 0x140], 0
jne case.default.0x77ef43
cmp word [esi + 0x13e], 4
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 3
fstp st(0)
mov ecx, esi
jne 0x77370d
call fcn.00487ca0
mov byte [esi + 0x18c], 6
cmp word [esi + 0x13e], 1
jne 0x773760
fld dword [esi + 0xf0]
fld qword [0x857b20]
fadd st(1), st(0)
fld dword [esi + 0x7dc]
fsubp st(2)
fxch st(1)
fmul qword [0x85ba70]
fadd dword [esi + 0x7dc]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x7dc]
mov edi, dword [esi + 0x144]
cmp edi, 0xa
jl 0x773753
fsub dword [esi + 0xf0]
push ecx
fsubrp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409520
fcomp dword [0x85ae94]
add esp, 4
fnstsw ax
test ah, 0x41
jnp 0x76713c
jmp 0x773757
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x77368c
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
fstp st(0)
cmp edi, 0x28
jge 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x773776
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x773995
cmp word [esi + 0x142], 0
jne 0x773995
cmp word [esi + 0x140], 0
jne 0x773995
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x77399a
push 0x28
mov ecx, esi
call fcn.00464980
movsx eax, byte [esi + 0x6aa]
add eax, 6
test eax, eax
jle 0x7738a1
mov edi, eax
mov edi, edi
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7737ec
fadd dword [0x871554]
push 0x7d
fstp dword [esp + 0x1f0]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77380c
fadd dword [0x871554]
fadd qword [0x85bbd8]
push 0x64
fstp dword [esp + 0x1f8]
call fcn.004099f0
add esp, 0xc
cmp eax, 0x32
sbb ecx, ecx
add ecx, ebx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
push 3
lea edx, [esp + 0x1ec]
push edx
fadd qword [0x857f50]
push ebx
mov ecx, esi
fstp dword [esp + 0x1fc]
movzx eax, byte [esi + 0x104]
push eax
call fcn.004397f0
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
imul edx, dword [ecx + 0x98]
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x335
call fcn.0046eb30
sub edi, ebx
jne 0x7737d0
fldz
fstp dword [esp + 0x18]
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7738c0
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x14
fmul qword [0x867830]
fsub qword [0x85bc28]
faddp st(1)
fstp dword [esp + 0x1f0]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x7738f2
fadd dword [0x871554]
fadd qword [0x871520]
add esp, 4
fstp dword [esp + 0x1f0]
fld dword [0x8589f0]
fstp dword [esp + 0x1f4]
fld dword [esp + 0x1ec]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x773932
mov eax, ebx
jmp 0x773934
xor eax, eax
add al, al
mov edx, ebx
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x1ec]
push ecx
push edx
push eax
mov ecx, esi
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x858830]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x7738a7
jmp 0x77399a
mov ebx, 1
cmp word [esi + 0x13e], 2
jne 0x773a01
cmp word [esi + 0x142], 0
jne 0x773a01
cmp word [esi + 0x140], bx
jne 0x773a01
push 0x2a
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b858]
mov dword [esi + 0x190], ebx
fstp dword [esi + 0xf4]
fld dword [0x85bc30]
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], 0
jne case.default.0x77ef43
cmp word [esi + 0x142], 0
jne case.default.0x77ef43
cmp word [esi + 0x140], 0
jne case.default.0x77ef43
cmp word [esi + 0x13e], 3
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 3
fstp st(0)
mov ecx, esi
jne 0x773a60
call fcn.00487ca0
jmp 0x773a7f
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x77372c
mov byte [esi + 0x18c], 6
cmp word [esi + 0x13e], 1
jne 0x773b0d
fld dword [esi + 0xf0]
fld qword [0x857b20]
fadd st(1), st(0)
fld dword [esi + 0x7dc]
fsubp st(2)
fxch st(1)
fmul qword [0x85ba70]
fadd dword [esi + 0x7dc]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x7dc]
mov edi, dword [esi + 0x144]
cmp edi, 0xa
jl 0x773b00
fsub dword [esi + 0xf0]
push ecx
fsubrp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409520
fcomp dword [0x85ae94]
add esp, 4
fnstsw ax
test ah, 0x41
jnp 0x76713c
jmp 0x773b04
fstp st(0)
fstp st(0)
cmp edi, 0x28
jge 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x773b23
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x773d45
cmp word [esi + 0x142], 0
jne 0x773d45
cmp word [esi + 0x140], 0
jne 0x773d45
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x773d4a
push 0x28
mov ecx, esi
call fcn.00464980
movsx eax, byte [esi + 0x6aa]
add eax, 6
test eax, eax
jle 0x773c51
mov edi, eax
jmp 0x773b80
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x773b9c
fadd dword [0x871554]
push 0x7d
fstp dword [esp + 0x1d8]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x773bbc
fadd dword [0x871554]
fadd qword [0x85bbd8]
push 0x64
fstp dword [esp + 0x1e0]
call fcn.004099f0
add esp, 0xc
cmp eax, 0x32
sbb ecx, ecx
add ecx, ebx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
push 3
lea edx, [esp + 0x1d4]
push edx
fadd qword [0x857f50]
push ebx
mov ecx, esi
fstp dword [esp + 0x1e4]
movzx eax, byte [esi + 0x104]
push eax
call fcn.004397f0
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
imul edx, dword [ecx + 0x98]
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x335
call fcn.0046eb30
sub edi, ebx
jne 0x773b80
fldz
fstp dword [esp + 0x18]
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x773c70
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x14
fmul qword [0x867830]
fsub qword [0x85bc28]
faddp st(1)
fstp dword [esp + 0x1d8]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x773ca2
fadd dword [0x871554]
fadd qword [0x871520]
add esp, 4
fstp dword [esp + 0x1d8]
fld dword [0x8589f0]
fstp dword [esp + 0x1dc]
fld dword [esp + 0x1d4]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x773ce2
mov eax, ebx
jmp 0x773ce4
xor eax, eax
add al, al
mov edx, ebx
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x1d4]
push ecx
push edx
push eax
mov ecx, esi
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x858830]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x773c57
jmp 0x773d4a
mov ebx, 1
cmp word [esi + 0x13e], 2
jne 0x773db1
cmp word [esi + 0x142], 0
jne 0x773db1
cmp word [esi + 0x140], bx
jne 0x773db1
push 0x2a
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b858]
mov dword [esi + 0x190], ebx
fstp dword [esi + 0xf4]
fld dword [0x85bc30]
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], 0
jne case.default.0x77ef43
cmp word [esi + 0x142], 0
jne case.default.0x77ef43
cmp word [esi + 0x140], 0
jne case.default.0x77ef43
cmp word [esi + 0x13e], 3
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
mov ebp, 1
cmp ax, bp
jle 0x773e58
cmp ax, 4
je 0x773e58
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x773e5f
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 0xa
call fcn.00438c60
test al, al
je 0x773e7b
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x774025
cmp word [esi + 0x142], di
jne 0x774025
cmp word [esi + 0x140], 3
jne 0x774025
cmp word [esi + 0x7d0], di
jne 0x773ec3
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85bc44]
push 3
fstp dword [esi + 0xf4]
lea ecx, [esp + 0x1a0]
fldz
push ecx
fst dword [esp + 0x1a4]
push ebp
fstp dword [esp + 0x1ac]
mov ecx, esi
fld dword [0x8589f0]
fstp dword [esp + 0x1b0]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x773f40
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x14
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0x1a4]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x773f6c
fadd dword [0x871554]
fadd qword [0x871520]
add esp, 4
fstp dword [esp + 0x1a4]
fld dword [0x8589f0]
fstp dword [esp + 0x1a8]
fld dword [esp + 0x1a0]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x773fac
mov eax, ebp
jmp 0x773fae
xor eax, eax
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea edx, [esp + 0x1a0]
push edx
add al, al
mov edx, 1
sub dl, al
movsx eax, cl
imul eax, eax, 0x64
push edx
push ecx
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x773f27
cmp word [esi + 0x13e], bp
jne case.default.0x77ef43
cmp dword [esi + 0x144], edi
jne 0x774043
push 0x2b
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x190], edi
je 0x774075
cmp byte [esi + 0x194], 0
jle 0x774075
add word [esi + 0x7d2], bp
movzx eax, word [esi + 0x7d2]
cmp ax, 6
jl 0x774075
mov word [esi + 0x7d2], di
mov dword [esi + 0x190], edi
cmp dword [esi + 0x144], 0x18
jl case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [0x85b858]
fstp dword [esi + 0xf4]
fld dword [0x85bc30]
jmp 0x7679d5
movzx eax, word [esi + 0x13e]
fstp st(0)
mov ebp, 1
cmp ax, bp
jle 0x7740ff
cmp ax, 4
je 0x7740ff
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x774106
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 0xa
call fcn.00438c60
test al, al
je 0x774122
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x7742ce
cmp word [esi + 0x142], di
jne 0x7742ce
cmp word [esi + 0x140], 3
jne 0x7742ce
cmp word [esi + 0x7d0], di
jne 0x77416a
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b9bc]
push 3
fstp dword [esi + 0xf4]
lea ecx, [esp + 0x188]
fldz
push ecx
fst dword [esp + 0x18c]
push ebp
fstp dword [esp + 0x194]
mov ecx, esi
fld dword [0x8589f0]
fstp dword [esp + 0x198]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
mov edi, edi
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7741e9
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x14
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0x18c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x774215
fadd dword [0x871554]
fadd qword [0x871520]
add esp, 4
fstp dword [esp + 0x18c]
fld dword [0x8589f0]
fstp dword [esp + 0x190]
fld dword [esp + 0x188]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x774255
mov eax, ebp
jmp 0x774257
xor eax, eax
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea edx, [esp + 0x188]
push edx
add al, al
mov edx, 1
sub dl, al
movsx eax, cl
imul eax, eax, 0x64
push edx
push ecx
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x7741d0
cmp word [esi + 0x13e], bp
jne case.default.0x77ef43
cmp dword [esi + 0x144], edi
jne 0x7742ec
push 0x2b
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x190], edi
je 0x77431e
cmp byte [esi + 0x194], 0
jle 0x77431e
add word [esi + 0x7d2], bp
movzx eax, word [esi + 0x7d2]
cmp ax, 6
jl 0x77431e
mov word [esi + 0x7d2], di
mov dword [esi + 0x190], edi
cmp dword [esi + 0x144], 0x28
jmp 0x77407c
mov byte [esi + 0x18c], 0xa
fstp st(0)
cmp word [esi + 0x13e], di
jne 0x774463
mov eax, dword [esi + 0x144]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x774463
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x774372
fadd dword [0x871554]
push 0x1e
fstp dword [esp + 0x820]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x774392
fadd dword [0x871554]
fmul qword [0x867840]
push 0x64
fadd qword [0x857f50]
fstp dword [esp + 0x828]
call fcn.004099f0
add esp, 0xc
cmp eax, 0x32
sbb edx, edx
add edx, 1
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
push 4
lea eax, [esp + 0x81c]
push eax
fadd qword [0x857930]
push 1
fstp dword [esp + 0x82c]
fld dword [0x85aae8]
fstp dword [esp + 0x830]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xec]
push ecx
fadd qword [0x859b00]
push 0x32
fstp qword [esp + 0x34]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x774416
fadd dword [0x871554]
fld dword [esi + 0xf0]
fadd qword [0x85bbd8]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x774448
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x336
call fcn.0046eb30
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7745c7
mov edi, 0xc
jmp 0x774480
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77449c
fadd dword [0x871554]
push 0x50
fstp dword [esp + 0x830]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x7744bc
fadd dword [0x871554]
fmul qword [0x867840]
push 0x64
fadd qword [0x857f50]
fstp dword [esp + 0x838]
call fcn.004099f0
add esp, 0xc
cmp eax, 0x32
sbb edx, edx
add edx, 1
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
push 4
lea eax, [esp + 0x82c]
push eax
fadd qword [0x857930]
push 1
fstp dword [esp + 0x83c]
fld1
fstp dword [esp + 0x840]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x859b00]
push ecx
push 0x32
fstp qword [esp + 0x34]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77453c
fadd dword [0x871554]
fld dword [esi + 0xf0]
fadd qword [0x85bbd8]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77456e
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x336
call fcn.0046eb30
sub edi, 1
jne 0x774480
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
push 0x226
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
xor edi, edi
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 1
jne case.default.0x77ef43
push 5
mov ecx, esi
call fcn.00464980
fld dword [0x85bca4]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x18c], 0xa
fstp st(0)
cmp word [esi + 0x13e], di
jne 0x77473d
mov eax, dword [esi + 0x144]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x77473d
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77464c
fadd dword [0x871554]
push 0x1e
fstp dword [esp + 0x850]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77466c
fadd dword [0x871554]
fmul qword [0x867840]
push 0x64
fadd qword [0x857f50]
fstp dword [esp + 0x858]
call fcn.004099f0
add esp, 0xc
cmp eax, 0x32
sbb edx, edx
add edx, 1
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
push 4
lea eax, [esp + 0x84c]
push eax
fadd qword [0x857930]
push 1
fstp dword [esp + 0x85c]
fld dword [0x85aae8]
fstp dword [esp + 0x860]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xec]
push ecx
fadd qword [0x859b00]
push 0x32
fstp qword [esp + 0x34]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x7746f0
fadd dword [0x871554]
fld dword [esi + 0xf0]
fadd qword [0x85bbd8]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x774722
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x336
call fcn.0046eb30
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7745c7
mov edi, 0xc
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77476d
fadd dword [0x871554]
push 0x50
fstp dword [esp + 0x870]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77478d
fadd dword [0x871554]
fmul qword [0x867840]
push 0x64
fadd qword [0x857f50]
fstp dword [esp + 0x878]
call fcn.004099f0
add esp, 0xc
cmp eax, 0x32
sbb edx, edx
add edx, 1
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
push 4
lea eax, [esp + 0x86c]
push eax
fadd qword [0x857930]
push 1
fstp dword [esp + 0x87c]
fld1
fstp dword [esp + 0x880]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x859b00]
push ecx
push 0x32
fstp qword [esp + 0x34]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77480d
fadd dword [0x871554]
fld dword [esi + 0xf0]
fadd qword [0x85bbd8]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77483f
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x336
call fcn.0046eb30
sub edi, 1
jne 0x774751
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
push 0x227
jmp 0x7745bc
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 3
cmp dword [esi + 0x760], edi
ja 0x7748b1
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7748c6
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x774900
cmp word [esi + 0x142], di
jne 0x774900
cmp word [esi + 0x140], di
jne 0x774900
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x774905
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
cmp word [esi + 0x13e], di
jne 0x774a78
movzx eax, word [esi + 0x142]
cmp ax, di
jne 0x774a78
cmp word [esi + 0x140], 4
jne 0x774984
cmp byte [esi + 0x7f4], 0
je 0x774984
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
movsx edx, al
fisub dword [ecx + 0x9c]
push eax
sub esp, 8
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
jmp 0x76cb15
cmp ax, di
jne 0x774a78
cmp word [esi + 0x140], 5
jne 0x774a78
push 0x32
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b998]
mov dword [esi + 0x190], ebx
fstp dword [esp + 0x3e0]
fldz
fst dword [esp + 0x3e4]
fld dword [0x867810]
fstp dword [esp + 0x3e8]
fst dword [esp + 0x3ec]
cmp byte [esi + 0x6a7], 1
jl 0x7749fd
fstp dword [esp + 0x3e8]
jmp 0x7749ff
fstp st(0)
cmp byte [esi + 0x6a7], 3
jl 0x774a15
fld dword [0x85bc44]
fstp dword [esp + 0x3e8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push 4
lea edx, [esp + 0x3e4]
fisub dword [ecx + 0x9c]
push edx
push ebx
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 2
jne case.default.0x77ef43
push 0x32
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b998]
mov dword [esi + 0x190], ebx
fstp dword [esp + 0x134]
fldz
fst dword [esp + 0x138]
fld dword [0x867810]
fstp dword [esp + 0x13c]
cmp byte [esi + 0x6a7], 1
jl 0x774afb
fstp dword [esp + 0x13c]
jmp 0x774afd
fstp st(0)
cmp byte [esi + 0x6a7], 3
jl 0x774b13
fld dword [0x85bc44]
fstp dword [esp + 0x13c]
fld1
push 4
fstp dword [esp + 0x144]
lea edx, [esp + 0x138]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push edx
push ebx
fisub dword [ecx + 0x9c]
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
fld dword [0x85b994]
fstp dword [esp + 0x134]
fldz
fst dword [esp + 0x138]
fld dword [0x867810]
fstp dword [esp + 0x13c]
cmp byte [esi + 0x6a7], 1
jl 0x774bb4
fstp dword [esp + 0x13c]
jmp 0x774bb6
fstp st(0)
cmp byte [esi + 0x6a7], 3
jl 0x774bcc
fld dword [0x85bc44]
fstp dword [esp + 0x13c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push 4
lea edx, [esp + 0x138]
fisub dword [ecx + 0x9c]
push edx
push ebx
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 3
cmp dword [esi + 0x764], edi
ja 0x774c56
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x774c6b
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x774ca5
cmp word [esi + 0x142], di
jne 0x774ca5
cmp word [esi + 0x140], di
jne 0x774ca5
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x774caa
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
cmp word [esi + 0x13e], di
jne 0x774e13
movzx eax, word [esi + 0x142]
cmp ax, di
jne 0x774e13
cmp word [esi + 0x140], 4
jne 0x774d29
cmp byte [esi + 0x7f4], 0
je 0x774d29
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
movsx edx, al
fisub dword [ecx + 0x9c]
push eax
sub esp, 8
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
jmp 0x76cb15
cmp ax, di
jne 0x774e13
cmp word [esi + 0x140], 5
jne 0x774e13
push 0x32
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
mov dword [esi + 0x190], ebx
fst dword [esp + 0x400]
fst dword [esp + 0x404]
fld dword [0x867810]
fstp dword [esp + 0x408]
cmp byte [esi + 0x6a7], 1
jl 0x774d93
fst dword [esp + 0x408]
cmp byte [esi + 0x6a7], 3
jl 0x774da9
fld dword [0x85bc44]
fstp dword [esp + 0x408]
fstp dword [esp + 0x40c]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push 4
lea edx, [esp + 0x404]
fisub dword [ecx + 0x9c]
push edx
push ebx
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 2
jne case.default.0x77ef43
push 0x32
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
mov dword [esi + 0x190], ebx
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fld dword [0x867810]
fstp dword [esp + 0x14c]
cmp byte [esi + 0x6a7], 1
jl 0x774e90
fstp dword [esp + 0x14c]
jmp 0x774e92
fstp st(0)
cmp byte [esi + 0x6a7], 3
jl 0x774ea8
fld dword [0x85bc44]
fstp dword [esp + 0x14c]
fld1
push 4
fstp dword [esp + 0x154]
lea edx, [esp + 0x148]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push edx
push ebx
fisub dword [ecx + 0x9c]
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
fld dword [0x87153c]
fstp dword [esp + 0x144]
fldz
fst dword [esp + 0x148]
fld dword [0x867810]
fstp dword [esp + 0x14c]
cmp byte [esi + 0x6a7], 1
jl 0x774f49
fstp dword [esp + 0x14c]
jmp 0x774f4b
fstp st(0)
cmp byte [esi + 0x6a7], 3
jl 0x774f61
fld dword [0x85bc44]
fstp dword [esp + 0x14c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push 4
lea edx, [esp + 0x148]
fisub dword [ecx + 0x9c]
push edx
push ebx
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 3
cmp dword [esi + 0x760], edi
ja 0x774feb
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x775001
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x77503c
cmp word [esi + 0x142], di
jne 0x77503c
cmp word [esi + 0x140], di
jne 0x77503c
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x775041
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
cmp word [esi + 0x13e], di
jne 0x7751aa
movzx eax, word [esi + 0x142]
cmp ax, di
jne 0x7751aa
cmp word [esi + 0x140], 4
jne 0x7750c0
cmp byte [esi + 0x7f4], 0
je 0x7750c0
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
movsx edx, al
fisub dword [ecx + 0x9c]
push eax
sub esp, 8
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
jmp 0x76cb15
cmp ax, di
jne 0x7751aa
cmp word [esi + 0x140], 5
jne 0x7751aa
push 0x32
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
mov dword [esi + 0x190], ebx
fst dword [esp + 0x3d0]
fst dword [esp + 0x3d4]
fld dword [0x867810]
fstp dword [esp + 0x3d8]
cmp byte [esi + 0x6a7], 1
jl 0x77512a
fst dword [esp + 0x3d8]
cmp byte [esi + 0x6a7], 3
jl 0x775140
fld dword [0x85bc44]
fstp dword [esp + 0x3d8]
fstp dword [esp + 0x3dc]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push 4
lea edx, [esp + 0x3d4]
fisub dword [ecx + 0x9c]
push edx
push ebx
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 2
jne case.default.0x77ef43
push 0x32
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
mov dword [esi + 0x190], ebx
fst dword [esp + 0x154]
fst dword [esp + 0x158]
fld dword [0x867810]
fstp dword [esp + 0x15c]
cmp byte [esi + 0x6a7], 1
jl 0x775227
fstp dword [esp + 0x15c]
jmp 0x775229
fstp st(0)
cmp byte [esi + 0x6a7], 3
jl 0x77523f
fld dword [0x85bc44]
fstp dword [esp + 0x15c]
fld1
push 4
fstp dword [esp + 0x164]
lea edx, [esp + 0x158]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push edx
push ebx
fisub dword [ecx + 0x9c]
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
fld dword [0x87153c]
fstp dword [esp + 0x154]
fldz
fst dword [esp + 0x158]
fld dword [0x867810]
fstp dword [esp + 0x15c]
cmp byte [esi + 0x6a7], 1
jl 0x7752e0
fstp dword [esp + 0x15c]
jmp 0x7752e2
fstp st(0)
cmp byte [esi + 0x6a7], 3
jl 0x7752f8
fld dword [0x85bc44]
fstp dword [esp + 0x15c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push 4
lea edx, [esp + 0x158]
fisub dword [ecx + 0x9c]
push edx
push ebx
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 3
cmp dword [esi + 0x764], edi
ja 0x775382
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x775398
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x7753d3
cmp word [esi + 0x142], di
jne 0x7753d3
cmp word [esi + 0x140], di
jne 0x7753d3
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x7753d8
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
cmp word [esi + 0x13e], di
jne 0x775541
movzx eax, word [esi + 0x142]
cmp ax, di
jne 0x775541
cmp word [esi + 0x140], 4
jne 0x775457
cmp byte [esi + 0x7f4], 0
je 0x775457
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
movsx edx, al
fisub dword [ecx + 0x9c]
push eax
sub esp, 8
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
jmp 0x76cb15
cmp ax, di
jne 0x775541
cmp word [esi + 0x140], 5
jne 0x775541
push 0x32
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
mov dword [esi + 0x190], ebx
fst dword [esp + 0x3f0]
fst dword [esp + 0x3f4]
fld dword [0x867810]
fstp dword [esp + 0x3f8]
cmp byte [esi + 0x6a7], 1
jl 0x7754c1
fst dword [esp + 0x3f8]
cmp byte [esi + 0x6a7], 3
jl 0x7754d7
fld dword [0x85bc44]
fstp dword [esp + 0x3f8]
fstp dword [esp + 0x3fc]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push 4
lea edx, [esp + 0x3f4]
fisub dword [ecx + 0x9c]
push edx
push ebx
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 2
jne case.default.0x77ef43
push 0x32
mov ecx, esi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
mov dword [esi + 0x190], ebx
fst dword [esp + 0x174]
fst dword [esp + 0x178]
fld dword [0x867810]
fstp dword [esp + 0x17c]
cmp byte [esi + 0x6a7], 1
jl 0x7755be
fstp dword [esp + 0x17c]
jmp 0x7755c0
fstp st(0)
cmp byte [esi + 0x6a7], 3
jl 0x7755d6
fld dword [0x85bc44]
fstp dword [esp + 0x17c]
fld1
push 4
fstp dword [esp + 0x184]
lea edx, [esp + 0x178]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push edx
push ebx
fisub dword [ecx + 0x9c]
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
fld dword [0x87153c]
fstp dword [esp + 0x174]
fldz
fst dword [esp + 0x178]
fld dword [0x867810]
fstp dword [esp + 0x17c]
cmp byte [esi + 0x6a7], 1
jl 0x775677
fstp dword [esp + 0x17c]
jmp 0x775679
fstp st(0)
cmp byte [esi + 0x6a7], 3
jl 0x77568f
fld dword [0x85bc44]
fstp dword [esp + 0x17c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push 4
lea edx, [esp + 0x178]
fisub dword [ecx + 0x9c]
push edx
push ebx
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 7
cmp dword [esi + 0x760], edi
jne 0x775719
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77572e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x775768
cmp word [esi + 0x142], di
jne 0x775768
cmp word [esi + 0x140], di
jne 0x775768
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x77576d
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
cmp word [esi + 0x13e], di
jne 0x7758b5
movzx eax, word [esi + 0x142]
cmp ax, di
jne 0x7758b5
cmp word [esi + 0x140], 4
jne 0x7757ec
cmp byte [esi + 0x7f4], 0
je 0x7757ec
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
movsx edx, al
fisub dword [ecx + 0x9c]
push eax
sub esp, 8
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
jmp 0x76cb15
cmp ax, di
jne 0x7758b5
cmp word [esi + 0x140], 8
jne 0x7758b5
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x52c]
push 3
movsx eax, byte [esi + 0x6ab]
mov dword [esp + 0x18], eax
lea edx, [esp + 0x530]
push edx
fild dword [esp + 0x1c]
push ebx
fmul qword [0x858ea0]
fadd qword [0x858820]
fstp dword [esp + 0x53c]
fstp dword [esp + 0x540]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33a
call fcn.0046eb30
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x778]
push 3
movsx ecx, byte [esi + 0x6ab]
mov dword [esp + 0x18], ecx
lea edx, [esp + 0x77c]
push edx
fild dword [esp + 0x1c]
push ebx
fmul qword [0x858ea0]
fadd qword [0x85d140]
fstp dword [esp + 0x788]
fstp dword [esp + 0x78c]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33a
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 7
cmp dword [esi + 0x764], edi
jne 0x7759b6
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7759cb
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x775a05
cmp word [esi + 0x142], di
jne 0x775a05
cmp word [esi + 0x140], di
jne 0x775a05
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x775a0a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
cmp word [esi + 0x13e], di
jne 0x775b52
movzx eax, word [esi + 0x142]
cmp ax, di
jne 0x775b52
cmp word [esi + 0x140], 4
jne 0x775a89
cmp byte [esi + 0x7f4], 0
je 0x775a89
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
movsx edx, al
fisub dword [ecx + 0x9c]
push eax
sub esp, 8
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
jmp 0x76cb15
cmp ax, di
jne 0x775b52
cmp word [esi + 0x140], 8
jne 0x775b52
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x544]
push 3
movsx eax, byte [esi + 0x6ab]
mov dword [esp + 0x18], eax
lea edx, [esp + 0x548]
push edx
fild dword [esp + 0x1c]
push ebx
fmul qword [0x858ea0]
fadd qword [0x858820]
fstp dword [esp + 0x554]
fstp dword [esp + 0x558]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33a
call fcn.0046eb30
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x6f4]
push 3
movsx ecx, byte [esi + 0x6ab]
mov dword [esp + 0x18], ecx
lea edx, [esp + 0x6f8]
push edx
fild dword [esp + 0x1c]
push ebx
fmul qword [0x858ea0]
fadd qword [0x85d140]
fstp dword [esp + 0x704]
fstp dword [esp + 0x708]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33a
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
mov ebx, 1
cmp ax, bx
je 0x775e15
cmp ax, 2
je 0x775e15
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 7
cmp dword [esi + 0x760], edi
jne 0x775c72
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x775c87
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x775ee1
cmp word [esi + 0x140], di
jne 0x775ee1
cmp word [esi + 0x13e], bx
jne 0x775ee1
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x1c4]
push 3
movsx ecx, byte [esi + 0x6ab]
mov dword [esp + 0x18], ecx
lea edx, [esp + 0x1c8]
push edx
fild dword [esp + 0x1c]
push ebx
fmul qword [0x858ea0]
fadd qword [0x858820]
fstp dword [esp + 0x1d4]
fstp dword [esp + 0x1d8]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33a
call fcn.0046eb30
push 8
mov ecx, esi
call fcn.00464980
fld dword [0x867810]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
fldz
fstp dword [esp + 0x18]
lea esp, [esp]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x775da9
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 5
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0x1cc]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x775dd5
fadd dword [0x871554]
fadd qword [0x8579b0]
add esp, 4
fstp dword [esp + 0x1cc]
fld dword [0x867860]
fstp dword [esp + 0x1d0]
fld dword [esp + 0x1c8]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x775e5d
mov eax, ebx
jmp 0x775e5f
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x775c5c
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, ebx
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x1c8]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x775d90
fld dword [0x867860]
fstp dword [esi + 0xf4]
fld dword [0x867810]
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
mov ebx, 1
cmp ax, bx
je 0x775f4a
cmp ax, 2
je 0x775f4a
mov ecx, esi
call fcn.00487ca0
jmp 0x775f6b
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x775e36
mov byte [esi + 0x18c], 7
cmp dword [esi + 0x760], edi
jne 0x775f81
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x775f96
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x775ee1
cmp word [esi + 0x140], di
jne 0x775ee1
cmp word [esi + 0x13e], bx
jne 0x775ee1
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x1dc]
push 3
movsx ecx, byte [esi + 0x6ab]
mov dword [esp + 0x18], ecx
lea edx, [esp + 0x1e0]
push edx
fild dword [esp + 0x1c]
push ebx
fmul qword [0x858ea0]
fadd qword [0x858820]
fstp dword [esp + 0x1ec]
fstp dword [esp + 0x1f0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33a
call fcn.0046eb30
push 8
mov ecx, esi
call fcn.00464980
fld dword [0x867810]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
fldz
fstp dword [esp + 0x18]
jmp 0x7760a0
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7760b9
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 5
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0x1e4]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x7760e5
fadd dword [0x871554]
fadd qword [0x8579b0]
add esp, 4
fstp dword [esp + 0x1e4]
fld dword [0x867860]
fstp dword [esp + 0x1e8]
fld dword [esp + 0x1e0]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x776125
mov eax, ebx
jmp 0x776127
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, ebx
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x1e0]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x7760a0
fld dword [0x85b870]
fstp dword [esi + 0xf4]
fld dword [0x85b9d4]
jmp 0x775ecf
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov eax, 2
mov byte [esi + 0x18c], 0xb
cmp word [esi + 0x13e], ax
jge 0x7761d0
cmp dword [esi + 0x764], edi
jne 0x7761c9
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], ax
jne 0x776593
cmp word [esi + 0x140], ax
jne 0x776593
cmp word [esi + 0x142], 0
jne 0x776593
push 0x32
mov ecx, esi
call fcn.00487870
mov edi, 1
push 0x22
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85bbe4]
fstp dword [esp + 0x58]
push 3
fldz
lea ecx, [esp + 0x5c]
fstp dword [esp + 0x60]
push ecx
fld dword [0x867860]
push edi
fstp dword [esp + 0x6c]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c1d8]
movsx edx, al
push eax
imul edx, edx, 0x2c
sub esp, 8
cmp word [esi + 0x7d8], di
jne 0x776400
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x858210]
fadd qword [0x871520]
fstp dword [esp + 0x5c]
cmp byte [esi + 0x6af], 3
jg 0x7762c0
fldz
jmp 0x7762c6
fld dword [0x85bca4]
fstp dword [esp + 0x60]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d8]
push 3
imul edx, edx, 0x2c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea ecx, [esp + 0x5c]
push ecx
push 1
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x7762a3
fstp st(0)
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fchs
fmul qword [0x858210]
fsub qword [0x871520]
fstp dword [esp + 0x5c]
cmp byte [esi + 0x6af], 3
jg 0x776373
fldz
jmp 0x776379
fld dword [0x85bca4]
fstp dword [esp + 0x60]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d8]
push 3
imul edx, edx, 0x2c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea ecx, [esp + 0x5c]
push ecx
push 1
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x776354
jmp 0x776591
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x858210]
fadd qword [0x871520]
fstp dword [esp + 0x5c]
cmp byte [esi + 0x6af], 3
jg 0x776456
fldz
jmp 0x77645c
fld dword [0x85bca4]
fstp dword [esp + 0x60]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d8]
push 3
imul edx, edx, 0x2c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea ecx, [esp + 0x5c]
push ecx
push 1
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x776439
fstp st(0)
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fchs
fmul qword [0x858210]
fsub qword [0x871520]
fstp dword [esp + 0x5c]
cmp byte [esi + 0x6af], 3
jg 0x776509
fldz
jmp 0x77650f
fld dword [0x85bca4]
fstp dword [esp + 0x60]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d8]
push 3
imul edx, edx, 0x2c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea ecx, [esp + 0x5c]
push ecx
push 1
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x7764ea
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7765a9
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 1
jne 0x7765c5
cmp dword [esi + 0x144], 2
jle 0x7765c5
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 3
jne case.default.0x77ef43
cmp dword [esi + 0x144], 0xa
jle case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov eax, 2
mov byte [esi + 0x18c], 0xb
cmp word [esi + 0x13e], ax
jge 0x776625
cmp dword [esi + 0x764], edi
jne 0x77661e
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], ax
jne 0x7769e8
cmp word [esi + 0x140], ax
jne 0x7769e8
cmp word [esi + 0x142], 0
jne 0x7769e8
push 0x32
mov ecx, esi
call fcn.00487870
mov edi, 1
push 0x22
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b98c]
fstp dword [esp + 0x64]
push 3
fldz
lea ecx, [esp + 0x68]
fstp dword [esp + 0x6c]
push ecx
fld dword [0x867860]
push edi
fstp dword [esp + 0x78]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c1d8]
movsx edx, al
push eax
imul edx, edx, 0x2c
sub esp, 8
cmp word [esi + 0x7d8], di
jne 0x776855
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x858210]
fadd qword [0x8581f8]
fstp dword [esp + 0x68]
cmp byte [esi + 0x6af], 3
jg 0x776715
fldz
jmp 0x77671b
fld dword [0x85bca4]
fstp dword [esp + 0x6c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d8]
push 3
imul edx, edx, 0x2c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea ecx, [esp + 0x68]
push ecx
push 1
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x7766f8
fstp st(0)
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fchs
fmul qword [0x858210]
fsub qword [0x8581f8]
fstp dword [esp + 0x68]
cmp byte [esi + 0x6af], 3
jg 0x7767c8
fldz
jmp 0x7767ce
fld dword [0x85bca4]
fstp dword [esp + 0x6c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d8]
push 3
imul edx, edx, 0x2c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea ecx, [esp + 0x68]
push ecx
push 1
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x7767a9
jmp 0x7769e6
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x858210]
fadd qword [0x8581f8]
fstp dword [esp + 0x68]
cmp byte [esi + 0x6af], 3
jg 0x7768ab
fldz
jmp 0x7768b1
fld dword [0x85bca4]
fstp dword [esp + 0x6c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d8]
push 3
imul edx, edx, 0x2c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea ecx, [esp + 0x68]
push ecx
push 1
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x77688e
fstp st(0)
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fchs
fmul qword [0x858210]
fsub qword [0x8581f8]
fstp dword [esp + 0x68]
cmp byte [esi + 0x6af], 3
jg 0x77695e
fldz
jmp 0x776964
fld dword [0x85bca4]
fstp dword [esp + 0x6c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d8]
push 3
imul edx, edx, 0x2c
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea ecx, [esp + 0x68]
push ecx
push 1
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x77693f
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7769fe
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 1
jne 0x776a1a
cmp dword [esi + 0x144], 2
jle 0x776a1a
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 3
jne case.default.0x77ef43
cmp dword [esi + 0x144], 0x14
jle case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 5
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x776a5d
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 0xb
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
mov ecx, esi
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x776a8e
cmp word [esi + 0x13e], bx
jl 0x772680
mov eax, 2
cmp word [esi + 0x13e], ax
jge 0x776ab2
cmp dword [esi + 0x764], edi
jne 0x776aab
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], ax
jne 0x776e81
cmp word [esi + 0x140], ax
jne 0x776e81
cmp word [esi + 0x142], 0
jne 0x776e81
push 0x32
mov ecx, esi
call fcn.00487870
mov edi, 1
push 0x22
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85bbe4]
fstp dword [esp + 0x40]
push 3
fldz
lea ecx, [esp + 0x44]
fstp dword [esp + 0x48]
push ecx
fld dword [0x867860]
push edi
fstp dword [esp + 0x54]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c1d8]
movsx edx, al
push eax
imul edx, edx, 0x2c
sub esp, 8
cmp word [esi + 0x7d8], di
jne 0x776ce8
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x858210]
fadd qword [0x871520]
fstp dword [esp + 0x44]
cmp byte [esi + 0x6af], 3
jg 0x776ba2
fldz
jmp 0x776ba8
fld dword [0x85bca4]
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c1d0]
lea ecx, [esp + 0x44]
push ecx
push 1
push eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
movsx eax, al
lea edx, [eax + eax*2]
sub esp, 8
shl edx, 4
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x776b85
fstp st(0)
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fchs
fmul qword [0x858210]
fsub qword [0x871520]
fstp dword [esp + 0x44]
cmp byte [esi + 0x6af], 3
jg 0x776c58
fldz
jmp 0x776c5e
fld dword [0x85bca4]
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c1d0]
lea ecx, [esp + 0x44]
push ecx
push 1
push eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
movsx eax, al
lea edx, [eax + eax*2]
sub esp, 8
shl edx, 4
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x776c39
jmp 0x776e7f
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x858210]
fadd qword [0x871520]
fstp dword [esp + 0x44]
cmp byte [esi + 0x6af], 3
jg 0x776d3e
fldz
jmp 0x776d44
fld dword [0x85bca4]
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c1d0]
lea ecx, [esp + 0x44]
push ecx
push 1
push eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
movsx eax, al
lea edx, [eax + eax*2]
sub esp, 8
shl edx, 4
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x776d21
fstp st(0)
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fchs
fmul qword [0x858210]
fsub qword [0x871520]
fstp dword [esp + 0x44]
cmp byte [esi + 0x6af], 3
jg 0x776df4
fldz
jmp 0x776dfa
fld dword [0x85bca4]
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c1d0]
lea ecx, [esp + 0x44]
push ecx
push 1
push eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
movsx eax, al
lea edx, [eax + eax*2]
sub esp, 8
shl edx, 4
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x776dd5
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x776e97
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x776ec0
cmp word [esi + 0x142], ax
jne 0x776ec0
cmp word [esi + 0x140], ax
jne 0x776ec0
cmp word [esi + 0x13e], bx
je 0x76e0a2
cmp word [esi + 0x13e], 1
jne 0x776ed8
cmp eax, 2
jle 0x776ed8
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 3
jne 0x776ef4
cmp dword [esi + 0x144], 0xa
jle 0x776ef4
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 4
jne case.default.0x77ef43
cmp word [esi + 0x142], 0
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne case.default.0x77ef43
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 5
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x776f48
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 0xb
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
mov ecx, esi
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x776f79
cmp word [esi + 0x13e], bx
jl 0x772680
mov eax, 2
cmp word [esi + 0x13e], ax
jge 0x776f9d
cmp dword [esi + 0x764], edi
jne 0x776f96
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], ax
jne 0x77739c
cmp word [esi + 0x140], ax
jne 0x77739c
cmp word [esi + 0x142], 0
jne 0x77739c
push 0x32
mov ecx, esi
call fcn.00487870
mov edi, 1
push 0x22
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b98c]
fstp dword [esp + 0x88]
push 3
fldz
lea ecx, [esp + 0x8c]
fstp dword [esp + 0x90]
push ecx
fld dword [0x867860]
push edi
fstp dword [esp + 0x9c]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c1d8]
movsx edx, al
push eax
imul edx, edx, 0x2c
sub esp, 8
cmp word [esi + 0x7d8], di
jne 0x7771f1
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x858210]
fadd qword [0x8581f8]
fstp dword [esp + 0x8c]
cmp byte [esi + 0x6af], 3
jg 0x77709c
fldz
jmp 0x7770a2
fld dword [0x85bca4]
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c1d0]
lea ecx, [esp + 0x8c]
push ecx
push 1
push eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
movsx eax, al
lea edx, [eax + eax*2]
sub esp, 8
shl edx, 4
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x77707c
fstp st(0)
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fchs
fmul qword [0x858210]
fsub qword [0x8581f8]
fstp dword [esp + 0x8c]
cmp byte [esi + 0x6af], 3
jg 0x77715b
fldz
jmp 0x777161
fld dword [0x85bca4]
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c1d0]
lea ecx, [esp + 0x8c]
push ecx
push 1
push eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
movsx eax, al
lea edx, [eax + eax*2]
sub esp, 8
shl edx, 4
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x777139
jmp 0x77739a
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x858210]
fadd qword [0x8581f8]
fstp dword [esp + 0x8c]
cmp byte [esi + 0x6af], 3
jg 0x77724a
fldz
jmp 0x777250
fld dword [0x85bca4]
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c1d0]
lea ecx, [esp + 0x8c]
push ecx
push 1
push eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
movsx eax, al
lea edx, [eax + eax*2]
sub esp, 8
shl edx, 4
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x77722a
fstp st(0)
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fchs
fmul qword [0x858210]
fsub qword [0x8581f8]
fstp dword [esp + 0x8c]
cmp byte [esi + 0x6af], 3
jg 0x777309
fldz
jmp 0x77730f
fld dword [0x85bca4]
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c1d0]
lea ecx, [esp + 0x8c]
push ecx
push 1
push eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
movsx eax, al
lea edx, [eax + eax*2]
sub esp, 8
shl edx, 4
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x871538]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x7772e7
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7773b2
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x7773db
cmp word [esi + 0x142], ax
jne 0x7773db
cmp word [esi + 0x140], ax
jne 0x7773db
cmp word [esi + 0x13e], bx
je 0x76e0a2
cmp word [esi + 0x13e], 1
jne 0x7773f3
cmp eax, 2
jle 0x7773f3
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 3
jne 0x776ef4
cmp dword [esi + 0x144], 0x14
jmp 0x776ee9
movzx eax, word [esi + 0x7d0]
fstp st(0)
cmp ax, di
jle 0x7775ad
cmp word [esi + 0x140], 7
jge 0x7775ad
cmp ax, 0xc
jge 0x7775ad
call fcn.004098d0
xor edx, edx
mov ecx, 0x23
div ecx
mov eax, 0xffffffec
mov word [esi + 0x7d4], dx
movsx edx, dx
sub eax, edx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fstp dword [esp + 0x21c]
call fcn.004098d0
xor edx, edx
mov ecx, 5
div ecx
push 3
lea eax, [esp + 0x220]
push eax
mov ebx, 1
push ebx
add edx, 0xa
movsx edx, dx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fstp dword [esp + 0x22c]
fldz
fstp dword [esp + 0x230]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx eax, word [esi + 0x7d0]
push ecx
movsx ecx, cl
add eax, ebx
imul eax, ecx
lea edx, [eax + eax*4]
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x327
call fcn.0046eb30
call fcn.004098d0
xor edx, edx
mov ecx, 0x168
div ecx
test edx, edx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
jge 0x777511
fadd dword [0x871554]
fstp dword [esp + 0x21c]
push 3
fldz
lea edx, [esp + 0x220]
fstp dword [esp + 0x224]
push edx
fld1
push ebx
fstp dword [esp + 0x230]
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
movsx eax, word [esi + 0x7d0]
push ecx
movsx ecx, cl
add eax, ebx
imul eax, ecx
lea edx, [eax + eax*4]
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x321
call fcn.0046eb30
cmp word [esi + 0x7d0], bx
jne 0x7775a4
push edi
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
add word [esi + 0x7d0], bx
jmp 0x7775b2
mov ebx, 1
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7775c7
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
mov word [esi + 0x7d0], bx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push edi
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x777619
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x7776cf
cmp word [esi + 0x142], di
jne 0x7776cf
cmp word [esi + 0x140], di
jne 0x7776cf
cmp word [esi + 0x13e], 1
jne 0x7776cf
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push 1
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x13e], 2
jne 0x7777d0
cmp word [esi + 0x142], di
jne 0x7777d0
cmp word [esi + 0x140], 1
jne 0x7777d0
fldz
push 3
fst dword [esp + 0x560]
lea edx, [esp + 0x560]
fstp dword [esp + 0x564]
push edx
fld dword [0x871538]
push 1
fstp dword [esp + 0x570]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x352
call fcn.0046eb30
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push 1
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 3
call fcn.00438ce0
cmp dword [esi + 0x144], edi
jne 0x777862
cmp word [esi + 0x142], di
jne 0x777862
cmp word [esi + 0x140], di
jne 0x777862
cmp word [esi + 0x13e], 3
jne 0x777862
push 0x64
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x784]
push 3
fst dword [esp + 0x78c]
lea eax, [esp + 0x788]
fstp dword [esp + 0x790]
push eax
fld dword [esi + 0xf0]
mov edx, dword [esi + 0x158]
fisub dword [edx + 0x9c]
movzx ecx, byte [esi + 0x104]
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x352
call fcn.0046eb30
movzx eax, word [esi + 0x13e]
cmp ax, 3
jne 0x77787c
cmp dword [esi + 0x144], 0x3c
jge 0x76cb21
cmp ax, 4
jne case.default.0x77ef43
cmp dword [esi + 0x144], 0x28
jl case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 3
fstp st(0)
jge 0x7778ba
push 2
push edi
mov ecx, esi
call fcn.0046b370
movzx eax, word [esi + 0x13e]
cmp ax, di
jne 0x7778d0
cmp word [esi + 0x140], 6
jle 0x7778da
cmp ax, 4
jne 0x777b59
mov ecx, esi
call fcn.00487ca0
movzx eax, word [esi + 0x7d0]
mov ebx, 1
cmp ax, bx
jl 0x7779ee
cmp ax, 0x3c
jg 0x7779ee
fld dword [esi + 0xf0]
mov ecx, esi
fstp qword [esp + 0x20]
call fcn.004397f0
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x7779ee
movsx eax, word [esi + 0x7d0]
and eax, 0x80000001
jns 0x777933
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, ebx
jne 0x7779e7
fild dword [esi + 0x144]
push ecx
fmul qword [0x871520]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8579b0]
add esp, 4
push 3
lea edx, [esp + 0x578]
fadd dword [esi + 0x7f0]
push edx
push ebx
fstp dword [esp + 0x580]
fld dword [0x85b830]
fstp dword [esp + 0x584]
fldz
fstp dword [esp + 0x588]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x353
call fcn.0046eb30
add word [esi + 0x7d0], bx
mov ecx, esi
call fcn.00438c60
test al, al
je 0x777a03
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x777b05
cmp word [esi + 0x142], di
jne 0x777b05
cmp word [esi + 0x140], 5
jne 0x777aac
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push ebx
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], di
jne 0x777b05
cmp word [esi + 0x140], 7
jne 0x777b05
push 0x65
mov ecx, esi
call fcn.00464980
fld dword [0x85ae7c]
mov word [esi + 0x7d0], bx
mov dword [esi + 0x144], edi
fstp dword [esi + 0x100]
fld dword [0x87150c]
fstp dword [esi + 0xf4]
fld dword [0x867860]
fstp dword [esi + 0xf8]
fld dword [0x86782c]
fstp dword [esi + 0x7f0]
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
mov eax, dword [esi + 0x144]
and eax, 0x80000001
jns 0x777b24
dec eax
or eax, 0xfffffffe
inc eax
jne 0x777b93
fld dword [esi + 0xf4]
fsub qword [0x859910]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fld dword [0x85ad10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x777b91
fstp dword [esi + 0xf4]
jmp 0x777b93
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7778e1
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 4
mov ecx, esi
call edx
mov byte [esi + 0x49b], 0
jmp 0x7670bf
fstp st(0)
cmp dword [esi + 0x144], 0x5a
jl case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 3
fstp st(0)
jge 0x777bd3
push 2
push edi
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], 4
mov ecx, esi
jne 0x777e69
call fcn.00487ca0
movzx eax, word [esi + 0x7d0]
mov ebx, 1
cmp ax, bx
jl 0x777cf6
cmp ax, 0x3c
jg 0x777cf6
fld dword [esi + 0xf0]
mov ecx, esi
fstp qword [esp + 0x20]
call fcn.004397f0
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x777cf6
movsx ecx, word [esi + 0x7d0]
and ecx, 0x80000001
jns 0x777c3b
dec ecx
or ecx, 0xfffffffe
inc ecx
cmp ecx, ebx
jne 0x777cef
fild dword [esi + 0x144]
push ecx
fmul qword [0x871520]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8579b0]
add esp, 4
push 3
lea edx, [esp + 0x710]
fadd dword [esi + 0x7f0]
push edx
push ebx
fstp dword [esp + 0x718]
fld dword [0x85b830]
fstp dword [esp + 0x71c]
fldz
fstp dword [esp + 0x720]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x353
call fcn.0046eb30
add word [esi + 0x7d0], bx
mov ecx, esi
call fcn.00438c60
test al, al
je 0x777d0b
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x777b05
cmp word [esi + 0x142], di
jne 0x777b05
cmp word [esi + 0x140], 5
jne 0x777dd3
fld dword [esi + 0xf4]
mov ecx, esi
fstp dword [esi + 0x7dc]
fld dword [esi + 0xf8]
fstp dword [esi + 0x7e0]
call fcn.004636b0
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push ebx
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], di
jne 0x777b05
cmp word [esi + 0x140], 6
jne 0x777e02
fld dword [esi + 0x7dc]
fstp dword [esi + 0xf4]
fld dword [esi + 0x7e0]
fstp dword [esi + 0xf8]
cmp word [esi + 0x142], di
jne 0x777b05
cmp word [esi + 0x140], 7
jne 0x777b05
push 0x65
mov ecx, esi
call fcn.00464980
fld dword [0x85ae7c]
mov word [esi + 0x7d0], bx
mov dword [esi + 0x144], edi
fstp dword [esi + 0x100]
fld1
sub esp, 8
fstp dword [esi + 0xf8]
mov ecx, esi
fld dword [0x85b9e0]
fstp dword [esp + 4]
fld dword [0x85ae94]
fstp dword [esp]
call fcn.004877c0
jmp 0x777b05
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x777be8
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
mov byte [esi + 0x49b], 0
jmp 0x7670bf
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ebp, 2
push ebp
push edi
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], bp
jne 0x777ed1
fld dword [esi + 0x7e0]
fmul qword [0x85ba30]
fstp dword [esi + 0x7e0]
movzx eax, word [esi + 0x13e]
cmp ax, 3
mov ebx, 1
jne 0x777eec
cmp word [esi + 0x140], bx
jge 0x777ef6
cmp ax, 4
jne 0x7783d7
fld dword [esi + 0x7dc]
fsub qword [0x859b00]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x7dc]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x7783b5
fst dword [esi + 0x7dc]
cmp word [esi + 0x7d0], di
jne 0x7783b5
mov word [esi + 0x7d0], bx
fst dword [esp + 0x28]
fstp dword [esp + 0x2c]
push ecx
fld dword [0x8589f0]
mov ecx, esi
fstp dword [esp + 0x34]
fld dword [0x858830]
fstp dword [esp]
call fcn.00439470
push 0x6b
mov ecx, esi
call fcn.00464980
fld dword [0x85ba6c]
movzx edx, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x2c]
push ecx
push ebx
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
nop
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x777fb9
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 5
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0x30]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x777fe2
fadd dword [0x871554]
fadd qword [0x8581f8]
add esp, 4
fstp dword [esp + 0x30]
fld dword [0x85882c]
fstp dword [esp + 0x34]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x778019
mov eax, ebx
jmp 0x77801b
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x2c]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x777fa0
fldz
fstp dword [esp + 0x18]
nop
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x778099
fadd dword [0x871554]
fsubr qword [0x85cb98]
push 6
fstp dword [esp + 0x30]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x7780bc
fadd dword [0x871554]
fadd qword [0x857958]
add esp, 4
fstp dword [esp + 0x30]
fld dword [0x867860]
fstp dword [esp + 0x34]
fld dword [esp + 0x2c]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x7780f5
mov eax, ebx
jmp 0x7780f7
xor eax, eax
fld dword [esp + 0x28]
mov edx, 1
add al, al
fchs
sub dl, al
push 3
lea ecx, [esp + 0x2c]
push ecx
push edx
push ebx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
fadd dword [esi + 0xf0]
fsub qword [0x85ba58]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x40]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
mov ecx, esi
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x8589f0]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x778080
fldz
fstp dword [esp + 0x18]
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7781a9
fadd dword [0x871554]
fadd qword [0x858990]
push 6
fstp dword [esp + 0x30]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x7781cc
fadd dword [0x871554]
fadd qword [0x857958]
add esp, 4
fstp dword [esp + 0x30]
fld dword [0x867860]
fstp dword [esp + 0x34]
fld dword [esp + 0x2c]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x778205
mov eax, ebx
jmp 0x778207
xor eax, eax
fld dword [esp + 0x28]
mov edx, 1
add al, al
fchs
sub dl, al
push 3
lea ecx, [esp + 0x2c]
push ecx
push edx
push ebx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
fadd dword [esi + 0xf0]
fsub qword [0x85ba58]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x40]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
mov ecx, esi
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld1
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x778190
fldz
fstp dword [esp + 0x18]
lea esp, [esp]
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7782b9
fadd dword [0x871554]
fsubr qword [0x85cb98]
push 6
fstp dword [esp + 0x30]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x7782dc
fadd dword [0x871554]
fadd qword [0x857958]
add esp, 4
fstp dword [esp + 0x30]
fld dword [0x867860]
fstp dword [esp + 0x34]
fld dword [esp + 0x2c]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x778315
mov eax, ebx
jmp 0x778317
xor eax, eax
fld dword [esi + 0xec]
mov edx, 1
add al, al
fstp qword [esp + 0x20]
fld dword [esp + 0x28]
sub dl, al
push 3
fchs
lea ecx, [esp + 0x2c]
push ecx
push edx
push 0xffffffffffffffff
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
fadd dword [esi + 0xf0]
fsub qword [0x85ba58]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x40]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
mov ecx, esi
fsubr qword [esp + 0x38]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x8589f0]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x7782a0
jmp 0x7783b7
fstp st(0)
movzx eax, word [esi + 0x7d0]
cmp ax, di
je 0x7783d7
add eax, 1
cmp ax, 0x1e
mov word [esi + 0x7d0], ax
jge 0x772d4d
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7783ec
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x7785aa
cmp word [esi + 0x142], di
jne 0x7784a0
cmp word [esi + 0x140], di
jne 0x7784a0
cmp word [esi + 0x13e], bx
jne 0x7784a0
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push ebx
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp dword [esi + 0x144], edi
jne 0x7785aa
cmp word [esi + 0x142], di
jne 0x7785aa
cmp word [esi + 0x140], di
jne 0x7785aa
cmp word [esi + 0x13e], bp
jne 0x7785aa
fldz
push ecx
fst dword [esp + 0x430]
mov ecx, esi
fst dword [esp + 0x434]
fstp dword [esp + 0x438]
fld dword [0x867810]
fstp dword [esp]
call fcn.00439470
fld dword [0x85c550]
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x430]
push ecx
push ebx
push eax
sub esp, 8
movsx edx, al
fstp dword [esp + 4]
fld dword [esi + 0xec]
mov dword [esp + 0x2c], edx
fld dword [esi + 0x7dc]
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fld dword [0x85bb50]
mov al, byte [esi + 0x104]
movzx edx, al
push 3
neg dl
lea ecx, [esp + 0x430]
push ecx
push ebx
movsx eax, al
push edx
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0x7dc]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x354
call fcn.0046eb30
push 0x69
mov ecx, esi
call fcn.00464980
movzx eax, word [esi + 0x13e]
cmp ax, bp
jne 0x7785c3
cmp dword [esi + 0x144], 0x19
jge 0x76713c
cmp ax, 3
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne case.default.0x77ef43
push 0x6a
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x58c]
lea ecx, [esp + 0x58c]
fstp dword [esp + 0x590]
fld dword [0x871538]
fstp dword [esp + 0x594]
fld dword [esi + 0xf0]
mov eax, dword [esi + 0x158]
fisub dword [eax + 0x9c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
movzx edx, byte [esi + 0x104]
push 3
push ecx
push ebx
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ebp, 2
push ebp
push edi
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], bp
jne 0x778690
fld dword [esi + 0x7e0]
fmul qword [0x85ba30]
fstp dword [esi + 0x7e0]
movzx eax, word [esi + 0x13e]
cmp ax, 3
mov ebx, 1
jne 0x7786ab
cmp word [esi + 0x140], bx
jge 0x7786b5
cmp ax, 4
jne 0x778b97
fld dword [esi + 0x7dc]
fsub qword [0x859b00]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x7dc]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x778b75
fst dword [esi + 0x7dc]
cmp word [esi + 0x7d0], di
jne 0x778b75
mov word [esi + 0x7d0], bx
fst dword [esp + 0x34]
fstp dword [esp + 0x38]
push ecx
fld dword [0x8589f0]
mov ecx, esi
fstp dword [esp + 0x40]
fld dword [0x858830]
fstp dword [esp]
call fcn.00439470
push 0x6b
mov ecx, esi
call fcn.00464980
fld dword [0x85ba6c]
movzx edx, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x38]
push ecx
push ebx
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
mov edi, edi
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x778779
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 5
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0x3c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x7787a2
fadd dword [0x871554]
fadd qword [0x8581f8]
add esp, 4
fstp dword [esp + 0x3c]
fld dword [0x85882c]
fstp dword [esp + 0x40]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x7787d9
mov eax, ebx
jmp 0x7787db
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x38]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x778760
fldz
fstp dword [esp + 0x18]
nop
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x778859
fadd dword [0x871554]
fsubr qword [0x85cb98]
push 6
fstp dword [esp + 0x3c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77887c
fadd dword [0x871554]
fadd qword [0x857958]
add esp, 4
fstp dword [esp + 0x3c]
fld dword [0x867860]
fstp dword [esp + 0x40]
fld dword [esp + 0x38]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x7788b5
mov eax, ebx
jmp 0x7788b7
xor eax, eax
fld dword [esp + 0x34]
mov edx, 1
add al, al
fchs
sub dl, al
push 3
lea ecx, [esp + 0x38]
push ecx
push edx
push ebx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
fadd dword [esi + 0xf0]
fsub qword [0x85ba58]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x4c]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
mov ecx, esi
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x8589f0]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x778840
fldz
fstp dword [esp + 0x18]
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x778969
fadd dword [0x871554]
fadd qword [0x858990]
push 6
fstp dword [esp + 0x3c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77898c
fadd dword [0x871554]
fadd qword [0x857958]
add esp, 4
fstp dword [esp + 0x3c]
fld dword [0x867860]
fstp dword [esp + 0x40]
fld dword [esp + 0x38]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x7789c5
mov eax, ebx
jmp 0x7789c7
xor eax, eax
fld dword [esp + 0x34]
mov edx, 1
add al, al
fchs
sub dl, al
push 3
lea ecx, [esp + 0x38]
push ecx
push edx
push ebx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
fadd dword [esi + 0xf0]
fsub qword [0x85ba58]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x4c]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
mov ecx, esi
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld1
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x778950
fldz
fstp dword [esp + 0x18]
lea esp, [esp]
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x778a79
fadd dword [0x871554]
fsubr qword [0x85cb98]
push 6
fstp dword [esp + 0x3c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x778a9c
fadd dword [0x871554]
fadd qword [0x857958]
add esp, 4
fstp dword [esp + 0x3c]
fld dword [0x867860]
fstp dword [esp + 0x40]
fld dword [esp + 0x38]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x778ad5
mov eax, ebx
jmp 0x778ad7
xor eax, eax
fld dword [esi + 0xec]
mov edx, 1
add al, al
fstp qword [esp + 0x20]
fld dword [esp + 0x34]
sub dl, al
push 3
fchs
lea ecx, [esp + 0x38]
push ecx
push edx
push 0xffffffffffffffff
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
fadd dword [esi + 0xf0]
fsub qword [0x85ba58]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x4c]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
mov ecx, esi
fsubr qword [esp + 0x38]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x8589f0]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x778a60
jmp 0x778b77
fstp st(0)
movzx eax, word [esi + 0x7d0]
cmp ax, di
je 0x778b97
add eax, 1
cmp ax, 0x1e
mov word [esi + 0x7d0], ax
jge 0x772d4d
mov ecx, esi
call fcn.00438c60
test al, al
je 0x778bac
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x778d6a
cmp word [esi + 0x142], di
jne 0x778c60
cmp word [esi + 0x140], di
jne 0x778c60
cmp word [esi + 0x13e], bx
jne 0x778c60
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push ebx
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp dword [esi + 0x144], edi
jne 0x778d6a
cmp word [esi + 0x142], di
jne 0x778d6a
cmp word [esi + 0x140], di
jne 0x778d6a
cmp word [esi + 0x13e], bp
jne 0x778d6a
fldz
push ecx
fst dword [esp + 0x43c]
mov ecx, esi
fst dword [esp + 0x440]
fstp dword [esp + 0x444]
fld dword [0x867810]
fstp dword [esp]
call fcn.00439470
fld dword [0x85c550]
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x43c]
push ecx
push ebx
push eax
sub esp, 8
movsx edx, al
fstp dword [esp + 4]
fld dword [esi + 0xec]
mov dword [esp + 0x2c], edx
fld dword [esi + 0x7dc]
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fld dword [0x85bb50]
mov al, byte [esi + 0x104]
movzx edx, al
push 3
neg dl
lea ecx, [esp + 0x43c]
push ecx
push ebx
movsx eax, al
push edx
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0x7dc]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x354
call fcn.0046eb30
push 0x69
mov ecx, esi
call fcn.00464980
movzx eax, word [esi + 0x13e]
cmp ax, bp
jne 0x778d83
cmp dword [esi + 0x144], 0x19
jge 0x76713c
cmp ax, 3
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne case.default.0x77ef43
push 0x6a
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x79c]
lea ecx, [esp + 0x79c]
fstp dword [esp + 0x7a0]
fld dword [0x871538]
fstp dword [esp + 0x7a4]
fld dword [esi + 0xf0]
mov eax, dword [esi + 0x158]
fisub dword [eax + 0x9c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
jmp 0x77862e
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push edi
mov ecx, esi
call fcn.0046b370
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x7791ab
mov ecx, dword [esi + 0x144]
and ecx, 0x80000003
jns 0x778e2b
dec ecx
or ecx, 0xfffffffc
inc ecx
jne 0x7790b9
cmp word [esi + 0x7d2], di
jle 0x7790b9
push 0x17
mov ecx, esi
call fcn.00464980
fild dword [esi + 0x144]
push ecx
fmul qword [0x857f80]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
push 0x1e
fsubr qword [0x85cdf8]
fstp dword [esp + 0xf4]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x778e93
fadd dword [0x871554]
fmul qword [0x867840]
push ebx
lea edx, [esp + 0xf0]
push edx
fadd qword [0x871520]
push 1
fstp dword [esp + 0xfc]
fldz
fstp dword [esp + 0x100]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x355
call fcn.0046eb30
fild dword [esi + 0x144]
push ecx
fmul qword [0x857f80]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
push 0x1e
fsubr qword [0x85f0c8]
fstp dword [esp + 0xf4]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x778f5e
fadd dword [0x871554]
fmul qword [0x867840]
push ebx
lea edx, [esp + 0xf0]
push edx
fadd qword [0x871520]
push 1
fstp dword [esp + 0xfc]
fldz
fstp dword [esp + 0x100]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x355
call fcn.0046eb30
fild dword [esi + 0x144]
push ecx
fmul qword [0x857f80]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
push 0x1e
fsubr qword [0x85d3d0]
fstp dword [esp + 0xf4]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x779029
fadd dword [0x871554]
fmul qword [0x867840]
push ebx
lea edx, [esp + 0xf0]
push edx
fadd qword [0x871520]
push 1
fstp dword [esp + 0xfc]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x355
call fcn.0046eb30
add word [esi + 0x7d2], 0xffff
fld dword [esi + 0x7dc]
fadd qword [0x8677c8]
fstp dword [esi + 0x7dc]
mov eax, dword [esi + 0x144]
cdq
mov ecx, ebx
idiv ecx
test edx, edx
jne 0x77919e
cmp word [esi + 0x7d2], di
jle 0x77919e
push 0x28
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7790f2
fadd dword [0x871554]
fsubr qword [0x85cdf8]
push 0xa
fstp dword [esp + 0x5ac]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77911b
fadd dword [0x871554]
fmul qword [0x867840]
push ebx
lea edx, [esp + 0x5a8]
push edx
fadd qword [0x858eb0]
push 1
fstp dword [esp + 0x5b4]
fld dword [0x867860]
fstp dword [esp + 0x5b8]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x355
call fcn.0046eb30
cmp dword [esi + 0x144], 0x4b
jge 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7791c1
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x779277
cmp word [esi + 0x140], di
jne 0x779277
cmp word [esi + 0x13e], 1
jne 0x779277
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push 1
movsx edx, al
fisub dword [ecx + 0x9c]
push eax
sub esp, 8
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
mov ecx, esi
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
mov word [esi + 0x7d2], 0x1e
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
fstp st(0)
push edi
mov ecx, esi
call fcn.0046b370
mov ebp, 4
cmp word [esi + 0x13e], bp
mov ecx, esi
jne 0x77972e
call fcn.00487ca0
push 2
push edi
mov ecx, esi
call fcn.0046b370
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x779691
mov eax, dword [esi + 0x144]
and eax, 0x80000003
jns 0x77930e
dec eax
or eax, 0xfffffffc
inc eax
jne 0x77959c
cmp word [esi + 0x7d2], di
jle 0x77959c
push 0x17
mov ecx, esi
call fcn.00464980
fild dword [esi + 0x144]
push ecx
fmul qword [0x857f80]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
push 0x1e
fsubr qword [0x85cdf8]
fstp dword [esp + 0xe8]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x779376
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0xe4]
push edx
fadd qword [0x871520]
push ebx
fstp dword [esp + 0xf0]
fldz
fstp dword [esp + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x355
call fcn.0046eb30
fild dword [esi + 0x144]
push ecx
fmul qword [0x857f80]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
push 0x1e
fsubr qword [0x85f0c8]
fstp dword [esp + 0xe8]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x779441
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0xe4]
push edx
fadd qword [0x871520]
push ebx
fstp dword [esp + 0xf0]
fldz
fstp dword [esp + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x355
call fcn.0046eb30
fild dword [esi + 0x144]
push ecx
fmul qword [0x857f80]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
push 0x1e
fsubr qword [0x85d3d0]
fstp dword [esp + 0xe8]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77950c
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0xe4]
push edx
fadd qword [0x871520]
push ebx
fstp dword [esp + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x355
call fcn.0046eb30
add word [esi + 0x7d2], 0xffff
fld dword [esi + 0x7dc]
fadd qword [0x8677c8]
fstp dword [esi + 0x7dc]
mov eax, dword [esi + 0x144]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x779684
cmp word [esi + 0x7d2], di
jle 0x779684
push 0x28
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7795d8
fadd dword [0x871554]
fsubr qword [0x85cdf8]
push 0xa
fstp dword [esp + 0x72c]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x779601
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0x728]
push edx
fadd qword [0x858eb0]
push ebx
fstp dword [esp + 0x734]
fld dword [0x867860]
fstp dword [esp + 0x738]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x355
call fcn.0046eb30
cmp dword [esi + 0x144], 0x4b
jge 0x777ba0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7796a6
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x779277
cmp word [esi + 0x142], di
jne 0x779277
cmp word [esi + 0x140], bp
jne 0x779277
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push ebx
movsx edx, al
fisub dword [ecx + 0x9c]
push eax
sub esp, 8
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
jmp 0x779252
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7792e0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebp
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
fstp st(0)
push edi
mov ecx, esi
call fcn.0046b370
movzx eax, word [esi + 0x13e]
cmp ax, 2
jle 0x7797bf
cmp ax, 5
je 0x7797bf
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7797c6
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 5
mov ecx, esi
call edx
jmp 0x7670bf
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], edi
jne 0x7797d5
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x7797ea
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne 0x779810
cmp word [esi + 0x140], 2
jne 0x779810
cmp word [esi + 0x142], 0xa
jl 0x779810
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne 0x779912
cmp word [esi + 0x142], di
jne 0x7798c6
cmp word [esi + 0x140], di
jne 0x7798c6
cmp word [esi + 0x13e], 1
jne 0x7798c6
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push 1
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp dword [esi + 0x144], edi
jne 0x779912
cmp word [esi + 0x142], di
jne 0x779912
cmp word [esi + 0x140], di
jne 0x779912
cmp word [esi + 0x13e], 3
jne case.default.0x77ef43
fld dword [0x8589f0]
fstp dword [esi + 0xf4]
fld dword [0x85bdb8]
fstp dword [esi + 0xf8]
fld dword [0x85c110]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], 3
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 1
jne case.default.0x77ef43
push 0x66
mov ecx, esi
call fcn.00464980
fld dword [0x85b908]
fstp dword [esp + 0x2e0]
push 4
fld dword [0x85b9bc]
lea edx, [esp + 0x2e4]
fstp dword [esp + 0x2e8]
push edx
fldz
push 1
fstp dword [esp + 0x2f4]
fld dword [0x85b870]
fstp dword [esp + 0x2f8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x356
call fcn.0046eb30
fld dword [0x85bc14]
fstp dword [esp + 0x2e0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push 4
lea edx, [esp + 0x2e4]
fisub dword [ecx + 0x9c]
push edx
push 1
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x356
call fcn.0046eb30
fld dword [0x85bb80]
fstp dword [esp + 0x2e0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push 4
lea edx, [esp + 0x2e4]
fisub dword [ecx + 0x9c]
push edx
push 1
push eax
movsx eax, al
sub esp, 8
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
mov ecx, esi
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x356
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 2
fstp st(0)
push ebx
push edi
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], 4
mov ecx, esi
jne 0x779ae5
call fcn.00487ca0
jmp 0x779b04
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x777e88
mov ecx, esi
call fcn.00438c60
test al, al
je 0x779b19
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x779b59
cmp word [esi + 0x142], di
jne 0x779b59
cmp word [esi + 0x140], 1
jne 0x779b59
fld dword [0x8589f0]
fstp dword [esi + 0xf4]
fld dword [0x85b9d0]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], edi
jne 0x779c16
cmp word [esi + 0x142], di
jne 0x779c16
cmp word [esi + 0x140], di
jne 0x779c16
cmp word [esi + 0x13e], 1
jne 0x779c16
mov ecx, esi
call fcn.004636b0
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push 1
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], bx
jne case.default.0x77ef43
push 0x66
mov ecx, esi
call fcn.00464980
fld dword [0x85b85c]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x779c84
fld dword [esi + 0xf4]
fsub qword [0x857f80]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x779c84
fstp dword [esi + 0xf4]
jmp 0x779c86
fstp st(0)
fld dword [0x85bdb8]
push 4
fstp dword [esi + 0xf8]
lea edx, [esp + 0x304]
fld dword [0x8677a8]
push edx
fstp dword [esi + 0x100]
push 1
fld dword [0x85bae0]
fstp dword [esp + 0x30c]
fld dword [0x85b9bc]
fstp dword [esp + 0x310]
fldz
fstp dword [esp + 0x314]
fld dword [0x867860]
fstp dword [esp + 0x318]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x356
call fcn.0046eb30
fld dword [0x85bb54]
fstp dword [esp + 0x300]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push 4
lea edx, [esp + 0x304]
fisub dword [ecx + 0x9c]
push edx
push 1
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x356
call fcn.0046eb30
fld dword [0x85b830]
fstp dword [esp + 0x300]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push 4
lea edx, [esp + 0x304]
fisub dword [ecx + 0x9c]
push edx
push 1
push eax
movsx eax, al
sub esp, 8
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x356
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push edi
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x779e45
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x779f86
cmp word [esi + 0x142], di
jne 0x779f86
cmp word [esi + 0x140], 4
jne 0x779ef6
mov ecx, esi
call fcn.004636b0
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push 1
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], di
jne 0x779f86
cmp word [esi + 0x140], 5
jne 0x779f86
fldz
push 3
fst dword [esp + 0x5c0]
lea ecx, [esp + 0x5c0]
fstp dword [esp + 0x5c4]
push ecx
fld dword [0x85b870]
push 1
fstp dword [esp + 0x5d0]
xor edx, edx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
sub esp, 8
cmp al, 0xff
sete dl
fstp dword [esp + 4]
mov ecx, esi
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fmul qword [0x85c038]
fsub qword [0x857948]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x357
call fcn.0046eb30
push 0x6f
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
cmp dword [esi + 0x144], 0x96
jl case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push edi
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x779fde
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 2
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne 0x77a08f
cmp word [esi + 0x142], di
jne 0x77a08f
cmp word [esi + 0x140], 9
jne 0x77a08f
mov ecx, esi
call fcn.004636b0
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push 1
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
cmp dword [esi + 0x144], edi
jne 0x779f94
cmp word [esi + 0x142], di
jne 0x779f94
cmp word [esi + 0x140], di
jne 0x779f94
fldz
push 3
fst dword [esp + 0x7b8]
lea ecx, [esp + 0x7b8]
fstp dword [esp + 0x7bc]
push ecx
fld dword [0x85b870]
push 1
fstp dword [esp + 0x7c8]
xor edx, edx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
sub esp, 8
cmp al, 0xff
sete dl
fstp dword [esp + 4]
mov ecx, esi
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fmul qword [0x85c038]
fsub qword [0x857948]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x357
call fcn.0046eb30
push 0x6f
mov ecx, esi
call fcn.00464980
jmp 0x779f94
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push edi
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77a169
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne 0x779f86
cmp word [esi + 0x142], di
jne 0x779f86
cmp word [esi + 0x140], 4
jne 0x77a21a
mov ecx, esi
call fcn.004636b0
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push 1
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], di
jne 0x779f86
cmp word [esi + 0x140], 5
jne 0x779f86
push 0x6e
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x5d4]
push 3
fstp dword [esp + 0x5dc]
lea ecx, [esp + 0x5d8]
fld dword [0x85bc44]
push ecx
fstp dword [esp + 0x5e4]
push 1
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
imul edx, edx, 0x96
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x358
call fcn.0046eb30
jmp 0x779f86
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push edi
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77a2d8
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 2
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne 0x779f86
cmp word [esi + 0x142], di
jne 0x779f86
cmp word [esi + 0x140], 4
jne 0x77a389
mov ecx, esi
call fcn.004636b0
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push 1
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], di
jne 0x779f86
cmp word [esi + 0x140], 5
jne 0x779f86
push 0x6e
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x73c]
push 3
fstp dword [esp + 0x744]
lea ecx, [esp + 0x740]
fld dword [0x85bc44]
push ecx
fstp dword [esp + 0x74c]
push 1
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
imul edx, edx, 0x96
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x358
call fcn.0046eb30
jmp 0x779f86
push 2
fstp st(0)
push edi
mov ecx, esi
call fcn.0046b370
mov ebx, 4
cmp word [esi + 0x13e], bx
mov ecx, esi
jne 0x77a441
call fcn.00487ca0
jmp 0x77a460
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x772680
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77a475
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne 0x77a550
cmp word [esi + 0x142], di
jne 0x77a550
cmp word [esi + 0x140], 3
jne 0x77a526
mov ecx, esi
call fcn.004636b0
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
push 1
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], di
jne 0x77a550
cmp word [esi + 0x140], bx
jne 0x77a550
fld dword [esi + 0x7dc]
fstp dword [esi + 0xf4]
fld dword [esi + 0x7e0]
fstp dword [esi + 0xf8]
mov edi, 1
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp dword [esi + 0x144], 0x14
jg 0x77a579
mov word [esi + 0x51c], di
mov word [esi + 0x520], di
mov ecx, dword [esi + 0x144]
mov eax, ecx
cdq
mov ebp, 3
idiv ebp
test edx, edx
jne 0x77aaec
cmp word [esi + 0x7d0], 0x28
jg 0x77aaec
mov eax, ecx
cdq
mov ecx, 6
idiv ecx
test edx, edx
jne 0x77a5b6
push 0x67
mov ecx, esi
call fcn.00464980
fild dword [esi + 0x144]
push ecx
fmul qword [0x857930]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
push 5
fsub qword [0x867830]
fstp qword [esp + 0x28]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77a5fc
fadd dword [0x871554]
fadd qword [esp + 0x28]
push 0x14
fsub qword [0x859910]
fstp dword [esp + 0xc0]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77a629
fadd dword [0x871554]
fmul qword [0x867840]
push ebx
fadd qword [0x858eb8]
fstp dword [esp + 0xbc]
fldz
fstp dword [esp + 0xc0]
mov eax, dword [esi + 0x144]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
lea eax, [esp + 0xb8]
push eax
push edi
fstp dword [esp + 0xcc]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0xc0]
push ecx
fchs
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xcc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x359
call fcn.0046eb30
fild dword [esi + 0x144]
push ecx
fchs
fmul qword [0x857930]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
push 5
fsub qword [0x85ba58]
fstp qword [esp + 0x28]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77a745
fadd dword [0x871554]
fadd qword [esp + 0x20]
push ebx
lea edx, [esp + 0xb8]
push edx
fsub qword [0x859910]
push edi
fstp dword [esp + 0xc0]
movzx eax, byte [esi + 0x104]
fld dword [esp + 0xc0]
push eax
fchs
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xcc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
mov dword [esp + 0x2c], eax
mov ecx, esi
fiadd dword [edx + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x359
call fcn.0046eb30
fild dword [esi + 0x144]
push ecx
fmul qword [0x857930]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
push 5
fadd qword [0x858ef0]
fstp qword [esp + 0x28]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77a83a
fadd dword [0x871554]
fadd qword [esp + 0x20]
push ebx
lea ecx, [esp + 0xb8]
push ecx
fsub qword [0x859910]
push edi
fstp dword [esp + 0xc0]
movzx edx, byte [esi + 0x104]
fld dword [esp + 0xc0]
push edx
fchs
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [eax + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xcc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
mov dword [esp + 0x2c], edx
fiadd dword [ecx + 0x98]
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x359
call fcn.0046eb30
fild dword [esi + 0x144]
push ecx
fchs
fmul qword [0x857930]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
push 5
fadd qword [0x85b900]
fstp qword [esp + 0x28]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77a931
fadd dword [0x871554]
fadd qword [esp + 0x20]
push ebx
lea eax, [esp + 0xb8]
push eax
fsub qword [0x859910]
push edi
fstp dword [esp + 0xc0]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0xc0]
push ecx
fchs
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xcc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x359
call fcn.0046eb30
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x1e
idiv ecx
test edx, edx
jne 0x77aae5
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77aa12
fadd dword [0x871554]
fstp dword [esp + 0xb4]
push ebx
fldz
fstp dword [esp + 0xbc]
fld dword [0x871538]
fstp dword [esp + 0xc0]
mov eax, dword [esi + 0x144]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
lea eax, [esp + 0xb8]
push eax
push 0xffffffffffffffff
fstp dword [esp + 0xcc]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0xc0]
push ecx
fchs
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857b20]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0xcc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857b20]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x359
call fcn.0046eb30
add word [esi + 0x7d0], di
cmp dword [esi + 0x144], 0x82
jl case.default.0x77ef43
mov edx, dword [esi]
fld dword [0x8677a8]
mov eax, dword [edx + 0x14]
fstp dword [esi + 0x100]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push edi
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77ab41
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x77ad2b
cmp word [esi + 0x142], di
jne 0x77ad2b
cmp word [esi + 0x140], 3
jne 0x77abf2
mov ecx, esi
call fcn.004636b0
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push 1
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], di
jne 0x77ad2b
cmp word [esi + 0x140], 8
jne 0x77ad2b
fldz
fstp dword [esp + 0x18]
jmp 0x77ac17
xor edi, edi
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77ac30
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x78
fmul qword [0x859630]
faddp st(1)
fstp dword [esp + 0x458]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77ac5c
fadd dword [0x871554]
fmul qword [0x867840]
add esp, 4
fadd qword [0x857f50]
fstp dword [esp + 0x458]
fld1
fstp dword [esp + 0x45c]
fld dword [esp + 0x454]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x77aca3
mov eax, 1
jmp 0x77aca5
xor eax, eax
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
add al, al
lea edx, [esp + 0x454]
push edx
mov edx, 1
sub dl, al
movsx eax, cl
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push edx
push ecx
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35a
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x85ae94]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x77ac15
push 0x70
mov ecx, esi
call fcn.00464980
xor edi, edi
cmp dword [esi + 0x144], edi
jne 0x77adbe
cmp word [esi + 0x142], di
jne 0x77adbe
cmp word [esi + 0x140], di
jne 0x77adbe
cmp word [esi + 0x13e], 1
jne 0x77adbe
fldz
push 3
fst dword [esp + 0x5f0]
lea ecx, [esp + 0x5f0]
fst dword [esp + 0x5f4]
push ecx
fstp dword [esp + 0x5fc]
push 0xffffffffffffffff
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
movsx eax, al
lea edx, [eax + eax*4]
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35a
call fcn.0046eb30
movzx ecx, word [esi + 0x13e]
cmp cx, 1
jne 0x77af53
cmp word [esi + 0x7d0], cx
jne 0x77af43
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 3
mov ecx, esi
call edx
fld dword [0x85b3b0]
mov word [esi + 0x7d2], 0x3c
mov word [esi + 0x7d4], 0x96
fstp dword [esp + 0x164]
movsx eax, word [esi + 0x7d4]
mov dword [esp + 0x14], eax
push 4
lea ecx, [esp + 0x168]
fild dword [esp + 0x18]
push ecx
push 0xfffffffffffffffe
push 1
fstp dword [esp + 0x178]
sub esp, 8
fld dword [0x85f180]
mov ecx, esi
fstp dword [esp + 0x184]
fldz
fst dword [esp + 0x188]
fst dword [esp + 4]
fstp dword [esp]
push 0x4e3
call fcn.0046eb30
fldz
fst dword [esp + 0x164]
push 3
fstp dword [esp + 0x16c]
lea edx, [esp + 0x168]
fld dword [0x85bca4]
push edx
push 1
fstp dword [esp + 0x178]
mov ecx, dword [esi + 0x170]
push 1
call fcn.004397f0
mov eax, dword [esi + 0x170]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [eax + 0xec]
fstp dword [esp]
push 0x35a
call fcn.0046eb30
fldz
fstp dword [esp + 0x164]
push 3
fld dword [0x85aae8]
lea ecx, [esp + 0x168]
fstp dword [esp + 0x16c]
push ecx
fld dword [0x85b870]
push 2
fstp dword [esp + 0x178]
push 1
mov eax, dword [esi + 0x170]
fld dword [eax + 0xf0]
sub esp, 8
fstp dword [esp + 4]
fld dword [eax + 0xec]
mov ecx, esi
fstp dword [esp]
push 0x35a
call fcn.0046eb30
mov edx, dword [esi + 0x170]
mov byte [edx + 0x135], 0
mov eax, dword [esi + 0x170]
mov byte [eax + 0x572], 0
mov ecx, dword [esi + 0x170]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0x64
call eax
mov ecx, dword [esi + 0x170]
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], 0x96
jge 0x76713c
mov eax, dword [esi + 0x144]
cmp eax, edi
jne 0x77af78
cmp word [esi + 0x142], di
jne 0x77af78
cmp word [esi + 0x140], di
jne 0x77af78
cmp cx, 3
jmp 0x766a76
cmp cx, 3
jne case.default.0x77ef43
cdq
mov ecx, 6
idiv ecx
test edx, edx
jne 0x77afa6
mov eax, dword [esi + 0x170]
fld dword [eax + 0xf0]
fsub qword [0x8677c8]
fstp dword [eax + 0xf0]
movsx edx, word [esi + 0x7d2]
cmp dword [esi + 0x144], edx
jne 0x77b091
push 0x71
mov ecx, esi
call fcn.00464980
fldz
push 0x28
fstp dword [esp + 0x7d0]
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77afe7
fadd dword [0x871554]
fmul qword [0x858c08]
push 3
lea ecx, [esp + 0x7d0]
push ecx
fadd qword [0x85a280]
push 1
push 1
push 0x19
fstp dword [esp + 0x7e4]
fld dword [0x8589f0]
fstp dword [esp + 0x7e8]
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
fsub qword [0x85ba58]
fstp qword [esp + 0x34]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77b044
fadd dword [0x871554]
fld dword [esi + 0xf0]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x28
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77b076
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35a
call fcn.0046eb30
movsx edx, word [esi + 0x7d2]
add edx, 5
cmp dword [esi + 0x144], edx
jne 0x77b170
fldz
push 0x28
fstp dword [esp + 0x608]
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77b0cc
fadd dword [0x871554]
fmul qword [0x858c08]
push 3
lea eax, [esp + 0x608]
push eax
fadd qword [0x85a280]
push 1
push 0xffffffffffffffff
push 0x19
fstp dword [esp + 0x61c]
fld dword [0x8589f0]
fstp dword [esp + 0x620]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77b113
fadd dword [0x871554]
fld dword [esi + 0xf0]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x28
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77b145
fadd dword [0x871554]
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
mov ecx, esi
fadd qword [0x85ba58]
faddp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35a
call fcn.0046eb30
movsx edx, word [esi + 0x7d2]
add edx, 0xa
cmp dword [esi + 0x144], edx
jne 0x77b24f
fldz
push 0x1e
fstp dword [esp + 0x758]
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77b1ab
fadd dword [0x871554]
fmul qword [0x858c08]
push 3
lea eax, [esp + 0x758]
push eax
fadd qword [0x85a288]
push 1
push 0xffffffffffffffff
push 0x14
fstp dword [esp + 0x76c]
fld dword [0x8589f0]
fstp dword [esp + 0x770]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77b1f2
fadd dword [0x871554]
fld dword [esi + 0xf0]
fadd qword [0x871520]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x28
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77b224
fadd dword [0x871554]
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
mov ecx, esi
fadd qword [0x85bb38]
faddp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35a
call fcn.0046eb30
movsx edx, word [esi + 0x7d2]
add edx, 0xf
cmp dword [esi + 0x144], edx
jne 0x77b334
fldz
push 0x1e
fstp dword [esp + 0x620]
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77b28a
fadd dword [0x871554]
fmul qword [0x858c08]
push 3
lea ecx, [esp + 0x620]
push ecx
fadd qword [0x85a288]
push 1
push 1
push 0x14
fstp dword [esp + 0x634]
fld dword [0x8589f0]
fstp dword [esp + 0x638]
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
fsub qword [0x85bb38]
fstp qword [esp + 0x34]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77b2e7
fadd dword [0x871554]
fld dword [esi + 0xf0]
fadd qword [0x871520]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x28
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77b319
fadd dword [0x871554]
fsubr qword [esp + 0x38]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35a
call fcn.0046eb30
movsx edx, word [esi + 0x7d4]
cmp dword [esi + 0x144], edx
jne 0x77b397
fld dword [0x85b3b0]
push 4
fstp dword [esp + 0x88c]
lea eax, [esp + 0x88c]
fld dword [0x85ba6c]
push eax
fstp dword [esp + 0x894]
push 2
fld dword [0x85f180]
push 1
fstp dword [esp + 0x8a0]
sub esp, 8
fldz
mov ecx, esi
fst dword [esp + 0x8ac]
fst dword [esp + 4]
fstp dword [esp]
push 0x4e3
call fcn.0046eb30
movsx ecx, word [esi + 0x7d4]
mov eax, dword [esi + 0x144]
lea edx, [ecx + 0x14]
cmp eax, edx
jl 0x77b517
add ecx, 0x87
cmp eax, ecx
jg 0x77b517
and eax, 0x80000003
jns 0x77b3c9
dec eax
or eax, 0xfffffffc
inc eax
jne 0x77b517
push 3
mov ecx, esi
call fcn.00439490
push 0x64
call fcn.004099f0
mov edi, dword [esi + 0x170]
fld dword [edi + 0xec]
add esp, 4
cmp eax, 0x32
fadd qword [0x857b20]
push 1
ja 0x77b46b
movzx eax, byte [esi + 0x104]
fstp qword [esp + 0x24]
push eax
push 0xc8
call fcn.004099f0
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x77b423
fadd dword [0x871554]
fld dword [edi + 0xf0]
fsub qword [0x8677b0]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0xc8
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x77b458
fadd dword [0x871554]
fsubr qword [esp + 0x30]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 8
jmp 0x77b4d9
movzx ecx, byte [esi + 0x104]
fstp qword [esp + 0x24]
push ecx
push 0xc8
call fcn.004099f0
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x77b493
fadd dword [0x871554]
fld dword [edi + 0xf0]
fsub qword [0x8677b0]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0xc8
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x77b4c8
fadd dword [0x871554]
fsubr qword [esp + 0x30]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0xc
mov ecx, esi
call fcn.00438ce0
fld dword [0x85bb54]
cmp dword [esi + 0x52c], 1
fstp dword [esp + 0x18]
jne 0x77b4fd
fld dword [0x85f17c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push 1
push 1
push 0x3e7
call fcn.00820230
push eax
mov ecx, esi
call fcn.004649b0
movsx edx, word [esi + 0x7d4]
add edx, 0x96
cmp dword [esi + 0x144], edx
jne case.default.0x77ef43
push 0x72
mov ecx, esi
call fcn.00464980
fld dword [0x85f180]
fstp dword [esp + 0x8a8]
push 4
fld dword [0x86782c]
lea eax, [esp + 0x8ac]
fstp dword [esp + 0x8b0]
push eax
fld dword [0x85bca4]
push 3
fstp dword [esp + 0x8bc]
push 1
fldz
sub esp, 8
fst dword [esp + 0x8cc]
mov ecx, esi
fst dword [esp + 4]
fstp dword [esp]
push 0x4e2
call fcn.0046eb30
mov ecx, dword [esi + 0x170]
mov word [ecx + 0x4ba], bx
mov edx, dword [esi + 0x170]
mov word [edx + 0x4be], 0x64
mov ecx, dword [esi + 0x170]
call fcn.004397f0
fadd qword [0x8581f8]
mov eax, dword [esi + 0x170]
push 0x47
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [eax + 0xf0]
mov ecx, dword [esi + 0x170]
fld dword [0x85b870]
fstp dword [ecx + 0x1a4]
mov edx, dword [esi + 0x170]
fld dword [0x85b9d0]
fstp dword [edx + 0x1a8]
mov ecx, dword [esi + 0x170]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
mov eax, dword [esi + 0x170]
fld dword [eax + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x857b20]
push 1
push ecx
sub esp, 8
fstp dword [esp + 0x24]
mov ecx, esi
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [eax + 0xec]
fstp dword [esp]
push 4
call fcn.00438ce0
fld dword [0x85f178]
cmp dword [esi + 0x52c], 1
fstp dword [esp + 0x18]
jne 0x77b65b
fld dword [0x85f174]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push 1
push 1
push 0x352
call fcn.00820230
push eax
mov ecx, esi
call fcn.004649b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
mov ecx, dword [esi + 0x170]
mov byte [ecx + 0x572], 1
mov edx, dword [esi + 0x170]
mov byte [edx + 0x135], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
fstp st(0)
push edi
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 3
jne 0x77b74c
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x28
idiv ecx
test edx, edx
jne 0x77b73c
fldz
push 3
fst dword [esp + 0x7e8]
lea edx, [esp + 0x7e8]
fstp dword [esp + 0x7ec]
push edx
fld dword [0x85b870]
push 0xffffffffffffffff
fstp dword [esp + 0x7f8]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
movzx eax, byte [esi + 0x104]
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35b
call fcn.0046eb30
cmp dword [esi + 0x144], 0xb4
jge 0x76713c
cmp word [esi + 0x13e], 4
jne 0x77b763
cmp dword [esi + 0x144], 0x28
jge 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77b779
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x77b8a3
cmp word [esi + 0x142], di
jne 0x77b8a3
cmp word [esi + 0x140], di
jne 0x77b8a3
cmp word [esi + 0x13e], 1
jne 0x77b8a3
mov ecx, esi
call fcn.004636b0
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push 1
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
fldz
fstp dword [esp + 0x634]
push 3
fld dword [0x85cb14]
lea eax, [esp + 0x638]
fstp dword [esp + 0x63c]
push eax
fld dword [0x85bca4]
push 0xffffffffffffffff
fstp dword [esp + 0x648]
fld dword [esi + 0xf0]
mov edx, dword [esi + 0x158]
fisub dword [edx + 0x9c]
movzx ecx, byte [esi + 0x104]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35b
call fcn.0046eb30
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 1
jne case.default.0x77ef43
push 0x6c
mov ecx, esi
call fcn.00464980
movsx eax, byte [esi + 0x104]
imul eax, eax, 0x15e
mov dword [esp + 0x14], eax
push 4
lea edx, [esp + 0x2f4]
fild dword [esp + 0x18]
push edx
push 1
fadd dword [esi + 0xec]
fstp dword [esp + 0x2fc]
fld dword [esi + 0xf0]
fadd qword [0x85e0f0]
fstp dword [esp + 0x300]
fldz
fstp dword [esp + 0x304]
fld dword [0x85b908]
fstp dword [esp + 0x308]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35b
call fcn.0046eb30
fld dword [esi + 0xec]
movsx ecx, byte [esi + 0x104]
imul ecx, ecx, 0x15e
mov dword [esp + 0x14], ecx
push 4
lea edx, [esp + 0x2f4]
fisub dword [esp + 0x18]
push edx
push 1
fstp dword [esp + 0x2fc]
fld dword [esi + 0xf0]
fadd qword [0x85e0f0]
fstp dword [esp + 0x300]
fld dword [0x85ae94]
fstp dword [esp + 0x308]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35b
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
fstp st(0)
push edi
mov ecx, esi
call fcn.0046b370
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
mov ecx, esi
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x77ba82
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 3
jne 0x77bb19
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x28
idiv ecx
test edx, edx
jne 0x77bb09
fldz
push 3
fst dword [esp + 0x770]
lea edx, [esp + 0x770]
fstp dword [esp + 0x774]
push edx
fld dword [0x85b870]
push 0xffffffffffffffff
fstp dword [esp + 0x780]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
movzx eax, byte [esi + 0x104]
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35b
call fcn.0046eb30
cmp dword [esi + 0x144], 0xb4
jge 0x76713c
cmp word [esi + 0x13e], 4
jne 0x77bb30
cmp dword [esi + 0x144], 0x28
jge 0x777ba0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77bb46
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x77bc70
cmp word [esi + 0x142], di
jne 0x77bc70
cmp word [esi + 0x140], di
jne 0x77bc70
cmp word [esi + 0x13e], 1
jne 0x77bc70
mov ecx, esi
call fcn.004636b0
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push 1
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
fldz
fstp dword [esp + 0x64c]
push 3
fld dword [0x85cb14]
lea eax, [esp + 0x650]
fstp dword [esp + 0x654]
push eax
fld dword [0x85bca4]
push 0xffffffffffffffff
fstp dword [esp + 0x660]
fld dword [esi + 0xf0]
mov edx, dword [esi + 0x158]
fisub dword [edx + 0x9c]
movzx ecx, byte [esi + 0x104]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35b
call fcn.0046eb30
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 1
jne case.default.0x77ef43
push 0x6c
mov ecx, esi
call fcn.00464980
movsx eax, byte [esi + 0x104]
imul eax, eax, 0x15e
mov dword [esp + 0x14], eax
push 4
lea edx, [esp + 0x3b4]
fild dword [esp + 0x18]
push edx
push 1
fadd dword [esi + 0xec]
fstp dword [esp + 0x3bc]
fld dword [esi + 0xf0]
fadd qword [0x85dbf0]
fstp dword [esp + 0x3c0]
fldz
fstp dword [esp + 0x3c4]
fld dword [0x85b908]
fstp dword [esp + 0x3c8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35b
call fcn.0046eb30
fld dword [esi + 0xec]
movsx ecx, byte [esi + 0x104]
imul ecx, ecx, 0x15e
mov dword [esp + 0x14], ecx
push 4
lea edx, [esp + 0x3b4]
fisub dword [esp + 0x18]
push edx
push 1
fstp dword [esp + 0x3bc]
fld dword [0x85ae94]
fstp dword [esp + 0x3c8]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35b
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
fstp st(0)
jne 0x77be01
push 2
push edi
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], 2
mov ecx, esi
jg 0x77be1a
call fcn.004397f0
fstp dword [esi + 0xf0]
jmp 0x77be1f
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77be34
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x77bee3
cmp word [esi + 0x142], di
jne 0x77bee3
mov ebx, 1
cmp word [esi + 0x140], bx
jne 0x77bee8
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push ebx
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
jmp 0x77bee8
mov ebx, 1
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
mov eax, dword [esi + 0x144]
cmp eax, 0xfa
jg 0x77c072
cdq
mov ecx, 0x78
idiv ecx
cmp edx, 0x28
jne 0x77bf1c
push 0x68
mov ecx, esi
call fcn.00464980
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x50
idiv ecx
cmp edx, 0xf
je 0x77bf39
cmp edx, 0x1e
je 0x77bf39
cmp edx, 0x2d
jne 0x77bf9c
fldz
push 3
fst dword [esp + 0x800]
lea edx, [esp + 0x800]
fld dword [esi + 0x7dc]
push edx
fmul qword [0x8581f8]
push ebx
push ebx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x818]
fstp dword [esp + 0x81c]
fld dword [esi + 0xf0]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35e
call fcn.0046eb30
fld dword [esi + 0x7dc]
fadd qword [0x8677c8]
fstp dword [esi + 0x7dc]
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x32
idiv ecx
test edx, edx
jne 0x77c042
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77bfcb
fadd dword [0x871554]
fmul qword [0x867840]
push 0x168
fadd qword [0x8677c8]
fstp dword [esp + 0x66c]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77bffd
fadd dword [0x871554]
fstp dword [esp + 0x668]
push 3
fld1
lea edx, [esp + 0x668]
fstp dword [esp + 0x670]
push edx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35e
call fcn.0046eb30
movzx eax, word [esi + 0x184]
cmp ax, 0x2704
jg 0x77c061
add eax, 0xc
mov word [esi + 0x184], ax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov word [esi + 0x184], 0x2710
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x140
jl case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov dword [esi + 0x190], ebx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 2
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x77c0b2
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bx
jge 0x77c0e7
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x77c0e7
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
jmp 0x76c28b
cmp word [esi + 0x13e], 1
jne 0x77c0fe
cmp dword [esi + 0x144], 0x14
jg 0x7732b3
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77c113
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 3
jne 0x77c1c7
fldz
push 0x28
fst dword [esi + 0xf4]
mov ecx, esi
fst dword [esi + 0xf8]
fstp dword [esi + 0x100]
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85ba58]
movsx ecx, al
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
imul ecx, ecx, 0x2e
push 1
push eax
sub esp, 8
mov dword [esp + 0x24], ecx
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 6
jne case.default.0x77ef43
push 7
mov ecx, esi
call fcn.00464980
fld dword [0x85bc70]
fstp dword [esi + 0xf4]
push 4
fld dword [0x867810]
lea edx, [esp + 0x8cc]
fstp dword [esi + 0xf8]
push edx
fld dword [0x8677a8]
push 1
fstp dword [esi + 0x100]
fldz
fst dword [esp + 0x8d4]
fst dword [esp + 0x8d8]
fld1
fstp dword [esp + 0x8dc]
fstp dword [esp + 0x8e0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c170]
movsx eax, al
fstp dword [esp + 0x24]
mov ecx, eax
fld dword [esp + 0x24]
shl ecx, 4
sub ecx, eax
sub esp, 8
add ecx, ecx
mov dword [esp + 0x2c], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35f
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push edi
mov ecx, esi
call fcn.0046b370
movzx eax, word [esi + 0x13e]
cmp ax, 1
jne 0x77c2c4
cmp dword [esi + 0x144], 0x2d
jge 0x76713c
cmp ax, 4
jne 0x77c2d7
cmp dword [esi + 0x144], 0x5a
jge 0x76713c
cmp ax, 5
jne 0x77c2ea
cmp dword [esi + 0x144], 0x28
jge 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77c2ff
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne 0x77c378
cmp word [esi + 0x142], di
jne 0x77c378
cmp word [esi + 0x140], di
jne 0x77c378
cmp word [esi + 0x13e], 4
jne 0x77c378
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c208]
push edi
push edi
push 1
fstp dword [esp + 0x20]
push eax
fld dword [esp + 0x24]
movsx eax, al
sub esp, 8
lea ecx, [eax + eax*4]
shl ecx, 4
fstp dword [esp + 4]
mov dword [esp + 0x2c], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3de
call fcn.0046eb30
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 3
jne 0x77c418
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx eax, byte [esi + 0x104]
push 1
push eax
fstp dword [esp + 0x1c]
movsx edx, al
fld dword [esp + 0x1c]
sub esp, 8
shl edx, 4
mov dword [esp + 0x24], edx
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fisub dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push edi
push edi
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
fldz
push 3
fst dword [esp + 0x7c4]
lea ecx, [esp + 0x7c4]
fstp dword [esp + 0x7c8]
push ecx
fld dword [0x85c22c]
push 1
fstp dword [esp + 0x7d4]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c118]
movsx edx, al
imul edx, edx, 0x64
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x365
call fcn.0046eb30
push 0xa
mov ecx, esi
call fcn.00464980
add word [esi + 0x7d2], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77c4e1
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 4
jne case.default.0x77ef43
push 0x37
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx eax, byte [esi + 0x104]
push 1
push eax
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8c
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx ecx, byte [esi + 0x104]
push 1
push ecx
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8c
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx edx, byte [esi + 0x104]
push 1
push edx
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8c
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx eax, byte [esi + 0x104]
push 0xffffffffffffffff
push eax
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push 0xffffffffffffffff
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp byte [esi + 0x49a], 0
je 0x77c678
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x77c676
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x77c678
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77c68d
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 4
jne 0x77c70d
fldz
push 3
fst dword [esp + 0x680]
lea ecx, [esp + 0x680]
fstp dword [esp + 0x684]
push ecx
fld1
push 1
fstp dword [esp + 0x690]
mov ecx, esi
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
fld dword [0x871538]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
push 0xa
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne case.default.0x77ef43
push 0x1d
jmp 0x76aec9
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fld dword [0x858830]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x77c776
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x77c776
fstp dword [esi + 0xf4]
jmp 0x77c778
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x78174f
cmp word [esi + 0x13e], di
jne 0x77c84b
cmp word [esi + 0x142], di
jne 0x77c84b
cmp word [esi + 0x140], 3
jne 0x77c84b
fld dword [0x85b3b0]
push 1
fstp dword [esi + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x857938]
movsx eax, al
fstp dword [esp + 0x1c]
lea eax, [eax + eax*4]
fld dword [esp + 0x1c]
sub esp, 8
shl eax, 4
mov dword [esp + 0x24], eax
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857938]
movzx ecx, byte [esi + 0x104]
push 1
push ecx
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
cmp word [esi + 0x13e], 1
jne 0x77c901
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x77c8f4
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push 1
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x77c8a9
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x77c8db
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
cmp dword [esi + 0x144], 0x1e
jg 0x76713c
cmp word [esi + 0x13e], 2
jne case.default.0x77ef43
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x7678c0
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
cmp ax, di
je 0x77c95a
cmp ax, 2
jne 0x77c965
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
cmp word [esi + 0x13e], 2
jne 0x77c99a
fld dword [esi + 0xf4]
fadd qword [0x859910]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x77c99a
fstp dword [esi + 0xf4]
jmp 0x77c99c
fstp st(0)
mov ecx, esi
call fcn.00463530
test al, al
jne 0x77cab5
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x77ca48
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push 1
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x77c9fd
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x77ca2f
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp qword [esp + 0x20]
call fcn.004397f0
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 1
jne 0x77cab5
fldz
fcom dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x77cab3
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.004397f0
push 2
mov edx, dword [esi]
fstp dword [esi + 0xf0]
mov eax, dword [edx + 0xc]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x781444
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 1
jne case.default.0x77ef43
fld dword [0x85bc5c]
push 1
fstp dword [esi + 0xf4]
fld dword [0x867860]
fstp dword [esi + 0xf8]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x857938]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857938]
neg dl
push 1
fstp dword [esp + 0x18]
mov ecx, esi
fld dword [esp + 0x18]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x77ccfb
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x77cbc3
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x77cce8
movsx edx, word [esi + 0x7d0]
sub edx, 0x1e
cmp eax, edx
jg 0x77cce8
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77cbf7
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x278]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77cc1a
fadd dword [0x871554]
fadd qword [0x857948]
push 2
fstp dword [esp + 0x280]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77cc43
fadd dword [0x871554]
fstp dword [esp + 0x278]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0x270]
push 3
lea eax, [esp + 0x274]
fchs
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x288]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x288]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x28c]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
movsx edx, word [esi + 0x7d0]
cmp dword [esi + 0x144], edx
jge 0x76cb21
mov ebp, 3
cmp word [esi + 0x13e], bp
jne 0x77cd64
movzx eax, word [esi + 0x7d2]
cmp ax, di
jle 0x77cd3f
movsx ecx, word [esi + 0x7d4]
cmp dword [esi + 0x144], ecx
jl 0x77cd64
add eax, 0xffffffff
mov word [esi + 0x7d2], ax
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx ecx, word [esi + 0x7d6]
cmp dword [esi + 0x144], ecx
jl 0x77cd64
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2c7
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77cd79
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77cdb9
cmp word [esi + 0x140], di
jne case.default.0x77cdb9
cmp word [esi + 0x13e], bx
jne case.default.0x77cdb9
mov eax, dword [0x8971d4]
cmp eax, ebp
ja case.default.0x77cdb9
jmp dword [eax*4 + 0x781f78]
fld dword [0x85bc44]
mov word [esi + 0x7d0], 0x5a
mov word [esi + 0x7d2], 5
jmp 0x77ce1e
fld dword [0x85bc44]
mov word [esi + 0x7d0], 0x5a
mov word [esi + 0x7d2], 4
jmp 0x77ce1e
mov word [esi + 0x7d0], 0x5a
mov word [esi + 0x7d2], bp
jmp 0x77ce18
mov word [esi + 0x7d0], 0x78
mov word [esi + 0x7d2], 2
fld dword [0x867810]
mov eax, 0x3c
mov word [esi + 0x7d4], ax
mov word [esi + 0x7d6], ax
fstp dword [esi + 0x7dc]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x77cf7f
cmp word [esi + 0x140], di
jne 0x77cf7f
cmp word [esi + 0x13e], bp
jne 0x77cf7f
fldz
push 0xb4
fstp dword [esp + 0x3a4]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77ce8f
fadd dword [0x871554]
fadd qword [0x8581d0]
mov ecx, esi
fstp dword [esp + 0x3a8]
fld dword [esi + 0x7dc]
fstp dword [esp + 0x3ac]
fld dword [0x8596b8]
fstp dword [esp + 0x3b0]
fld dword [0x867810]
fstp dword [esp]
call fcn.00439470
movzx eax, byte [esi + 0x104]
fld dword [0x85b000]
mov edx, dword [esi + 0x170]
push 4
lea ecx, [esp + 0x3a4]
push ecx
push ebx
push eax
sub esp, 8
movsx eax, al
fstp dword [esp + 4]
fld dword [edx + 0xec]
mov dword [esp + 0x2c], eax
mov ecx, esi
fild dword [esp + 0x2c]
fmul dword [esp + 0x3bc]
fsubp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x384
call fcn.0046eb30
fld dword [0x85b000]
mov al, byte [esi + 0x104]
movzx edx, al
push 4
neg dl
lea ecx, [esp + 0x3a4]
push ecx
mov ecx, dword [esi + 0x170]
push ebx
movsx eax, al
push edx
sub esp, 8
mov dword [esp + 0x2c], eax
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fmul dword [esp + 0x3bc]
fadd dword [ecx + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x384
mov ecx, esi
call fcn.0046eb30
push 0x69
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 5
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x77d12e
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x77cff6
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x77d11b
movsx edx, word [esi + 0x7d0]
sub edx, 0x1e
cmp eax, edx
jg 0x77d11b
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77d02a
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x290]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77d04d
fadd dword [0x871554]
fadd qword [0x857948]
push 2
fstp dword [esp + 0x298]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77d076
fadd dword [0x871554]
fstp dword [esp + 0x290]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0x288]
push 3
lea eax, [esp + 0x28c]
fchs
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x2a0]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x2a0]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x2a4]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
movsx edx, word [esi + 0x7d0]
cmp dword [esi + 0x144], edx
jge 0x76cb21
cmp word [esi + 0x13e], 3
jne 0x77d14b
movsx eax, word [esi + 0x7d4]
cmp dword [esi + 0x144], eax
jge 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77d160
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77d199
cmp word [esi + 0x140], di
jne case.default.0x77d199
cmp word [esi + 0x13e], bx
jne case.default.0x77d199
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x77d199
jmp dword [eax*4 + 0x781f88]
fld dword [0x85c22c]
mov word [esi + 0x7d0], 0x78
mov ebp, 0xb4
mov word [esi + 0x7d4], bp
mov word [esi + 0x7d6], bp
fstp dword [esi + 0x7dc]
fld dword [0x86782c]
jmp 0x77d1f8
fld dword [0x86782c]
mov word [esi + 0x7d0], 0x78
mov ebp, 0xb4
mov word [esi + 0x7d4], bp
mov word [esi + 0x7d6], bp
fst dword [esi + 0x7dc]
fstp dword [esi + 0x7e0]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x77cf7f
cmp word [esi + 0x140], di
jne 0x77cf7f
cmp word [esi + 0x13e], 3
jne 0x77cf7f
fldz
push ecx
fstp dword [esp + 0x46c]
mov ecx, esi
fld dword [0x8575a4]
fstp dword [esp + 0x470]
fld dword [esi + 0x7dc]
fstp dword [esp + 0x474]
fld dword [esi + 0x7e0]
fstp dword [esp + 0x478]
fld dword [0x867810]
fstp dword [esp]
call fcn.00439470
fldz
movzx edx, byte [esi + 0x104]
push 4
lea ecx, [esp + 0x46c]
push ecx
push ebx
push edx
sub esp, 8
mov ecx, esi
fst dword [esp + 4]
fstp dword [esp]
push 0x384
call fcn.0046eb30
fldz
movzx ecx, byte [esi + 0x104]
push 4
neg cl
lea eax, [esp + 0x46c]
push eax
push ebx
push ecx
sub esp, 8
fstp dword [esp + 4]
fld dword [0x85b8f4]
jmp 0x77cf67
movzx eax, word [esi + 0x13e]
cmp ax, 2
jle 0x77d2da
cmp ax, 8
jne 0x77d2e5
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
movzx eax, word [esi + 0x13e]
cmp ax, 4
je 0x77d2f8
cmp ax, 5
jne 0x77d31a
fld dword [esi + 0xf4]
fld qword [0x85b978]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fmul dword [esi + 0xf8]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
cmp ax, 6
mov ebp, 3
jne 0x77d335
cmp word [esi + 0x140], bp
jge 0x77d33b
cmp ax, 7
jne 0x77d371
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x77d36f
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
push 8
jmp 0x77ca9c
fldz
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x77d4e2
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x77d398
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x77d4c0
movsx edx, word [esi + 0x7d0]
sub edx, 0x1e
cmp eax, edx
jg 0x77d4c0
push 0x168
fstp st(0)
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77d3ce
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x23c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77d3f1
fadd dword [0x871554]
fadd qword [0x857948]
push 2
fstp dword [esp + 0x244]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77d41a
fadd dword [0x871554]
fstp dword [esp + 0x23c]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0x234]
push ebp
lea eax, [esp + 0x238]
fchs
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x24c]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x24c]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x250]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
fldz
movsx edx, word [esi + 0x7d0]
cmp dword [esi + 0x144], edx
jl 0x77d4e2
mov eax, dword [esi]
fstp st(0)
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bp
fld dword [0x86782c]
jne 0x77d68b
mov eax, dword [esi + 0x144]
and eax, 0x80000007
jns 0x77d507
dec eax
or eax, 0xfffffff8
inc eax
jne 0x77d51e
fstp st(1)
push 0x1f
mov ecx, esi
fstp st(0)
call fcn.00464980
fldz
fld dword [0x86782c]
movsx ecx, word [esi + 0x7d0]
cmp dword [esi + 0x144], ecx
jl 0x77d549
fstp st(1)
mov ecx, esi
fstp st(0)
call fcn.00487c20
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0x7e8]
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf8]
fld dword [esi + 0xf4]
fadd dword [esi + 0x7e4]
fstp dword [esi + 0xf4]
fcom dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x77d580
fst dword [esi + 0xf8]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x77d595
fstp dword [esi + 0xf4]
jmp 0x77d597
fstp st(0)
fld dword [0x85b908]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x77d5b2
fstp dword [esi + 0xf4]
jmp 0x77d5b4
fstp st(0)
fld dword [esi + 0xf0]
fcomp qword [0x8581c0]
fnstsw ax
test ah, 0x41
jne 0x77d5e4
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x77d5e6
fld dword [esi + 0xf8]
fchs
fstp dword [esi + 0xf8]
jmp 0x77d5e6
fstp st(0)
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x77d603
fld dword [esi + 0xf8]
fmul qword [0x85e068]
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.004393b0
movsx edx, byte [esi + 0x104]
movsx ecx, al
imul ecx, edx
test ecx, ecx
jle 0x77d646
fldz
fcomp dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x77d646
fld dword [esi + 0xf4]
fchs
fstp dword [esi + 0xf4]
fld dword [esi + 0x7e4]
fchs
fstp dword [esi + 0x7e4]
mov ecx, esi
call fcn.004393b0
movsx ecx, byte [esi + 0x104]
movsx eax, al
imul eax, ecx
test eax, eax
jge 0x77d68f
fldz
fcomp dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x77d68f
fld dword [esi + 0xf4]
fchs
fstp dword [esi + 0xf4]
fld dword [esi + 0x7e4]
fchs
fstp dword [esi + 0x7e4]
jmp 0x77d68f
fstp st(1)
fstp st(0)
cmp word [esi + 0x13e], 5
jne 0x77d7e9
mov eax, dword [esi + 0x144]
mov edx, eax
and edx, 0x80000001
jns 0x77d6b2
dec edx
or edx, 0xfffffffe
inc edx
jne 0x77d7d6
movsx ecx, word [esi + 0x7d0]
sub ecx, 0x1e
cmp eax, ecx
jg 0x77d7d6
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77d6e6
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x26c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77d709
fadd dword [0x871554]
fadd qword [0x857948]
push 2
fstp dword [esp + 0x274]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77d732
fadd dword [0x871554]
fstp dword [esp + 0x26c]
movzx eax, byte [esi + 0x104]
fld dword [esp + 0x264]
push ebp
lea edx, [esp + 0x268]
fchs
push edx
push ebx
push eax
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x27c]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x27c]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x280]
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
mov dword [esp + 0x2c], eax
mov ecx, esi
fiadd dword [edx + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
movsx ecx, word [esi + 0x7d0]
cmp dword [esi + 0x144], ecx
jge 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77d7fe
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77d99c
cmp word [esi + 0x142], di
jne case.default.0x77d82e
cmp word [esi + 0x140], di
jne case.default.0x77d82e
cmp word [esi + 0x13e], bx
jne case.default.0x77d82e
mov eax, dword [0x8971d4]
cmp eax, ebp
ja case.default.0x77d82e
jmp dword [eax*4 + 0x781f98]
mov word [esi + 0x7d0], 0x3c
cmp dword [esi + 0x144], edi
jne case.default.0x77d99c
cmp word [esi + 0x142], di
jne 0x77d95b
cmp word [esi + 0x140], di
jne 0x77d95b
cmp word [esi + 0x13e], bp
jne 0x77d95b
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77d88a
fadd dword [0x871554]
fld qword [0x867840]
push 0xa
fmul st(1), st(0)
fmulp st(1)
fstp dword [esi + 0x7e4]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77d8b6
fadd dword [0x871554]
fmul qword [0x858c08]
fadd qword [0x85c070]
fstp dword [esi + 0x7e8]
mov eax, dword [0x8971d4]
cmp eax, ebp
ja case.default.0x77d8d1
jmp dword [eax*4 + 0x781fa8]
mov word [esi + 0x7d0], 0xf0
fldz
push ebp
fst dword [esp + 0x794]
lea edx, [esp + 0x794]
fst dword [esp + 0x798]
push edx
fstp dword [esp + 0x7a0]
push 0xffffffffffffffff
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x38e
call fcn.0046eb30
cmp dword [esi + 0x144], edi
jne case.default.0x77d99c
cmp word [esi + 0x142], di
jne case.default.0x77d99c
cmp word [esi + 0x140], di
jne case.default.0x77d99c
cmp word [esi + 0x13e], 5
jne case.default.0x77d99c
mov eax, dword [0x8971d4]
cmp eax, ebp
ja case.default.0x77d99c
jmp dword [eax*4 + 0x781fb8]
fld dword [0x85b870]
mov word [esi + 0x7d0], 0xb4
fstp dword [esi + 0x7dc]
fld dword [0x86782c]
jmp 0x77da15
fld dword [0x867860]
mov word [esi + 0x7d0], 0xb4
fstp dword [esi + 0x7dc]
fld dword [0x867810]
jmp 0x77da15
fld dword [0x871538]
mov word [esi + 0x7d0], 0xb4
fstp dword [esi + 0x7dc]
fld dword [0x85bca4]
jmp 0x77da15
fld dword [0x871538]
mov word [esi + 0x7d0], 0xb4
fstp dword [esi + 0x7dc]
fld dword [0x8589f0]
fstp dword [esi + 0x7e0]
cmp word [esi + 0x13e], 6
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 2
jne case.default.0x77ef43
fld dword [0x85b98c]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x85bdc4]
fstp dword [esp]
call fcn.004877c0
push 0x66
mov ecx, esi
call fcn.00464980
fldz
fstp dword [esp + 0x18]
fld dword [esi + 0x7dc]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x77db9b
fld dword [esp + 0x18]
fld1
jmp 0x77da91
fxch st(1)
fsubr dword [esi + 0x7dc]
push 4
lea ecx, [esp + 0x414]
push ecx
fmul qword [0x8677a0]
push 0xffffffffffffffff
fsubp st(1)
fmul qword [0x867830]
fadd dword [esi + 0x7f0]
fstp dword [esp + 0x41c]
fld dword [0x85882c]
fstp dword [esp + 0x420]
fldz
fstp dword [esp + 0x424]
fld dword [esi + 0x7e0]
fstp dword [esp + 0x428]
movzx edx, byte [esi + 0x104]
fld dword [esp + 0x41c]
push edx
fchs
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857938]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [eax + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x428]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857938]
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
mov dword [esp + 0x2c], edx
fiadd dword [ecx + 0x98]
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x38f
call fcn.0046eb30
fld dword [esp + 0x18]
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esi + 0x7dc]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x77da8f
fstp st(0)
fstp st(0)
fld dword [0x85ad04]
fstp dword [esi + 0x100]
fld dword [0x85b85c]
fstp dword [esi + 0xf4]
fld dword [0x86782c]
fstp dword [esi + 0xf8]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], edi
fstp st(0)
jne 0x77dc73
cmp word [esi + 0x142], di
jne 0x77dc73
cmp word [esi + 0x140], di
jne 0x77dc73
cmp word [esi + 0x13e], di
jne 0x77dc73
push 0x64
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77dc15
fadd dword [0x871554]
fadd qword [0x85ba58]
push 0x438
fstp dword [esi + 0x7dc]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77dc40
fadd dword [0x871554]
fadd qword [0x857b20]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7e0]
fld dword [esi + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x77dc6c
mov byte [esi + 0x104], 0xff
jmp 0x77dc73
mov byte [esi + 0x104], 1
movzx eax, word [esi + 0x13e]
cmp ax, 6
jne 0x77dec7
mov ecx, esi
call fcn.00487ca0
mov ebp, 1
cmp word [esi + 0x13e], bp
jg 0x77dfea
movsx eax, byte [esi + 0x104]
fld dword [esi + 0x7e0]
fsub dword [esi + 0xec]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmulp st(1)
fld qword [0x857f90]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fld dword [esi + 0x7dc]
fsub dword [esi + 0xf0]
fmulp st(1)
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], bp
jne 0x77dfea
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x77dd00
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x77de25
movsx edx, word [esi + 0x7d0]
sub edx, 0x1e
cmp eax, edx
jg 0x77de25
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77dd34
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x254]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77dd57
fadd dword [0x871554]
fadd qword [0x857948]
push 2
fstp dword [esp + 0x25c]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77dd80
fadd dword [0x871554]
fstp dword [esp + 0x254]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0x24c]
push 3
lea eax, [esp + 0x250]
fchs
push eax
push ebp
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x264]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x264]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x268]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0xa
idiv ecx
test edx, edx
jne 0x77dfb4
cmp word [esi + 0x7d2], di
jle 0x77dfb4
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77de64
fadd dword [0x871554]
push 0x96
fstp dword [esp + 0x1fc]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77de87
fadd dword [0x871554]
fadd qword [0x857b20]
add esp, 4
fstp dword [esp + 0x1fc]
fld dword [0x85bca4]
fstp dword [esp + 0x200]
fld dword [esp + 0x1f8]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x77df0f
mov eax, ebp
jmp 0x77df11
cmp ax, 4
je 0x77ded7
cmp ax, 5
jne 0x77dc8b
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x77dc8b
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 6
mov ecx, esi
call edx
mov byte [esi + 0x49b], 0
jmp 0x7670bf
xor eax, eax
fld dword [esp + 0x1f4]
mov ecx, 1
add al, al
fchs
sub cl, al
push 3
lea edx, [esp + 0x1f8]
push edx
movzx edx, byte [esi + 0x104]
push ecx
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x20c]
fmul qword [0x857f78]
fld dword [esi + 0xf0]
fadd qword [0x857b20]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x20c]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x210]
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x2c], eax
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x398
call fcn.0046eb30
add word [esi + 0x7d2], 0xffff
movsx ecx, word [esi + 0x7d0]
cmp dword [esi + 0x144], ecx
jl 0x77dfea
mov edx, dword [esi + 0x170]
cmp word [edx + 0x184], di
jle 0x77dfea
mov ecx, esi
call fcn.00487c20
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 3
mov ebx, 0x78
jne 0x77e005
cmp dword [esi + 0x144], ebx
jge 0x76cb21
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77e01a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77e04b
cmp word [esi + 0x140], di
jne case.default.0x77e04b
cmp word [esi + 0x13e], bp
jne case.default.0x77e04b
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x77e04b
jmp dword [eax*4 + 0x781fc8]
mov word [esi + 0x7d0], bx
mov word [esi + 0x7d2], 0xa
jmp case.default.0x77e04b
mov word [esi + 0x7d0], bx
mov word [esi + 0x7d2], 8
jmp case.default.0x77e04b
mov word [esi + 0x7d0], bx
mov word [esi + 0x7d2], 5
jmp case.default.0x77e04b
mov word [esi + 0x7d0], bx
mov word [esi + 0x7d2], 3
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 5
jne case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2db
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push edi
mov ecx, esi
call edx
push 0x64
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77e0fd
fadd dword [0x871554]
fadd qword [0x85ba58]
push 0x438
fstp dword [esi + 0x7dc]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77e128
fadd dword [0x871554]
fadd qword [0x857b20]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7e0]
fld dword [esi + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x7682d8
mov byte [esi + 0x104], 0xff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], edi
fstp st(0)
jne 0x77e20a
cmp word [esi + 0x142], di
jne 0x77e20a
cmp word [esi + 0x140], di
jne 0x77e20a
cmp word [esi + 0x13e], di
jne 0x77e20a
push 0x64
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77e1ac
fadd dword [0x871554]
fadd qword [0x85ba58]
push 0x438
fstp dword [esi + 0x7dc]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77e1d7
fadd dword [0x871554]
fadd qword [0x857b20]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7e0]
fld dword [esi + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x77e203
mov byte [esi + 0x104], 0xff
jmp 0x77e20a
mov byte [esi + 0x104], 1
movzx eax, word [esi + 0x13e]
cmp ax, 6
jne 0x77e220
mov ecx, esi
call fcn.00487ca0
jmp 0x77e24d
cmp ax, 4
je 0x77e22c
cmp ax, 5
jne 0x77e24d
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x77def8
mov ebx, 1
cmp word [esi + 0x13e], bx
jg 0x77e54d
movsx eax, byte [esi + 0x104]
fld dword [esi + 0x7e0]
fsub dword [esi + 0xec]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmulp st(1)
fld qword [0x857f90]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fld dword [esi + 0x7dc]
fsub dword [esi + 0xf0]
fmulp st(1)
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], bx
jne 0x77e54d
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x77e2c2
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x77e3e7
movsx edx, word [esi + 0x7d0]
sub edx, 0x1e
cmp eax, edx
jg 0x77e3e7
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77e2f6
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x284]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77e319
fadd dword [0x871554]
fadd qword [0x857948]
push 2
fstp dword [esp + 0x28c]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77e342
fadd dword [0x871554]
fstp dword [esp + 0x284]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0x27c]
push 3
lea eax, [esp + 0x280]
fchs
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x294]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x294]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x298]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0xa
idiv ecx
test edx, edx
jne 0x77e52b
cmp word [esi + 0x7d2], di
jle 0x77e52b
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77e426
fadd dword [0x871554]
push 0x96
fstp dword [esp + 0x218]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77e449
fadd dword [0x871554]
fadd qword [0x857b20]
add esp, 4
fstp dword [esp + 0x218]
fld dword [0x85882c]
fstp dword [esp + 0x21c]
fld dword [esp + 0x214]
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x77e489
mov eax, ebx
jmp 0x77e48b
xor eax, eax
fld dword [esp + 0x210]
mov ecx, ebx
add al, al
fchs
sub cl, al
push 3
lea edx, [esp + 0x214]
push edx
movzx edx, byte [esi + 0x104]
push ecx
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x228]
fmul qword [0x857f78]
fld dword [esi + 0xf0]
fadd qword [0x8591f8]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x228]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x22c]
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x2c], eax
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x398
call fcn.0046eb30
add word [esi + 0x7d2], 0xffff
movsx ecx, word [esi + 0x7d0]
cmp dword [esi + 0x144], ecx
jl 0x77e54d
mov edx, dword [esi + 0x170]
cmp word [edx + 0x184], di
jg 0x77dfd2
mov ebp, 3
cmp word [esi + 0x13e], bp
jne 0x77e568
cmp dword [esi + 0x144], 0x78
jge 0x76cb21
mov ecx, esi
call fcn.00438c60
test al, al
je 0x77e57d
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77e5ad
cmp word [esi + 0x140], di
jne case.default.0x77e5ad
cmp word [esi + 0x13e], bx
jne case.default.0x77e5ad
mov eax, dword [0x8971d4]
cmp eax, ebp
ja case.default.0x77e5ad
jmp dword [eax*4 + 0x781fd8]
mov word [esi + 0x7d0], 0x5a
mov word [esi + 0x7d2], 6
jmp case.default.0x77e5ad
mov word [esi + 0x7d0], 0x5a
mov word [esi + 0x7d2], 4
jmp case.default.0x77e5ad
mov word [esi + 0x7d0], 0x5a
mov word [esi + 0x7d2], bp
jmp case.default.0x77e5ad
mov word [esi + 0x7d0], 0x5a
mov word [esi + 0x7d2], 2
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 5
jne case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2da
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push edi
mov ecx, esi
call edx
push 0x64
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77e665
fadd dword [0x871554]
fadd qword [0x85ba58]
push 0x438
fstp dword [esi + 0x7dc]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77e690
fadd dword [0x871554]
fadd qword [0x857b20]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7e0]
fld dword [esi + 0xec]
fcompp
fnstsw ax
test ah, 0x41
je 0x77e14f
mov byte [esi + 0x104], bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
mov ebx, 1
cmp ax, bx
jle 0x77eb2a
cmp ax, 6
je 0x77eb2a
cmp ax, 2
je 0x77e6f4
cmp ax, 3
jne 0x77eb35
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x77eb33
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 4
mov ecx, esi
call edx
mov ecx, esi
mov byte [esi + 0x49b], 0
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
push 0x96
mov ecx, esi
call fcn.00464980
fld dword [0x85b870]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
fldz
fst dword [esp + 0x70]
push 3
fst dword [esp + 0x78]
lea eax, [esp + 0x74]
fstp dword [esp + 0x7c]
push eax
movzx ecx, byte [esi + 0x104]
push 0xffffffffffffffff
push ecx
mov ecx, esi
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
fld dword [0x871538]
push 3
fstp dword [esp + 0x7c]
movzx eax, byte [esi + 0x104]
lea edx, [esp + 0x74]
push edx
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
fld dword [0x867860]
push 3
fstp dword [esp + 0x7c]
movzx edx, byte [esi + 0x104]
lea ecx, [esp + 0x74]
push ecx
push 0xffffffffffffffff
push edx
mov ecx, esi
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
mov edi, 4
mov ebp, 0xb4
push ebp
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77e83a
fadd dword [0x871554]
fchs
push 3
fstp dword [esp + 0x78]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77e85c
fadd dword [0x871554]
fadd qword [0x858210]
push 3
lea eax, [esp + 0x74]
push eax
fstp dword [esp + 0x7c]
push 1
fld dword [0x8589f0]
fstp dword [esp + 0x84]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ecx
fld qword [0x871520]
push 0x14
fadd st(1), st(0)
fxch st(1)
fstp qword [esp + 0x34]
fadd dword [esi + 0xec]
fstp qword [esp + 0x2c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77e8bb
fadd dword [0x871554]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77e8e3
fadd dword [0x871554]
fsubr qword [esp + 0x30]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
sub edi, ebx
jne 0x77e822
cmp word [esi + 0x7d2], di
jle 0x77ea02
push 0x3c
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77e92c
fadd dword [0x871554]
fchs
push 7
fsub qword [0x858ef0]
fstp dword [esp + 0x78]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77e954
fadd dword [0x871554]
fld qword [0x871520]
push 3
fadd st(1), st(0)
lea edx, [esp + 0x74]
fxch st(1)
push edx
push 1
fstp dword [esp + 0x80]
fld1
fstp dword [esp + 0x84]
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd st(1)
push eax
push 0x14
fstp qword [esp + 0x34]
fadd dword [esi + 0xec]
fstp qword [esp + 0x2c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77e9ae
fadd dword [0x871554]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77e9d6
fadd dword [0x871554]
fsubr qword [esp + 0x30]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
movsx ecx, word [esi + 0x7d2]
add edi, ebx
cmp edi, ecx
jl 0x77e913
mov eax, dword [0x8971d4]
cmp eax, 2
je 0x77ea15
cmp eax, 3
jne case.default.0x77ef43
push 0xb
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77ea2e
fadd dword [0x871554]
fsubr qword [0x85e0d8]
push 3
fstp dword [esp + 0x78]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77ea54
fadd dword [0x871554]
cmp dword [0x8971d4], 3
fadd qword [0x858eb0]
fstp dword [esp + 0x74]
jne 0x77ea8d
push 8
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77ea83
fadd dword [0x871554]
fadd qword [0x8581f8]
fstp dword [esp + 0x74]
fld dword [0x85b870]
push 3
fstp dword [esp + 0x7c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
lea edx, [esp + 0x74]
fld qword [0x871520]
push edx
fadd st(1), st(0)
push 1
fxch st(1)
push eax
push 0x14
fstp qword [esp + 0x34]
fadd dword [esi + 0xec]
fstp qword [esp + 0x2c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77eadf
fadd dword [0x871554]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77eb07
fadd dword [0x871554]
fsubr qword [esp + 0x30]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
cmp word [esi + 0x13e], bx
jne 0x77ecc6
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x77eb57
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x77ec80
movsx edx, word [esi + 0x7d0]
sub edx, 0x1e
cmp eax, edx
jg 0x77ec80
push 0x168
fstp st(0)
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77eb8d
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x230]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77ebb0
fadd dword [0x871554]
fadd qword [0x857948]
push 2
fstp dword [esp + 0x238]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77ebd9
fadd dword [0x871554]
fstp dword [esp + 0x230]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0x228]
push 3
lea eax, [esp + 0x22c]
fchs
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x240]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x240]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x244]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
fldz
movsx edx, word [esi + 0x7d0]
cmp dword [esi + 0x144], edx
jl 0x77ecc6
mov eax, dword [esi]
fstp st(0)
fld dword [0x86782c]
mov edx, dword [eax + 0x14]
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x85bc30]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebp, 5
cmp word [esi + 0x13e], bp
jne 0x77ee41
fld dword [esi + 0xf4]
fsub qword [0x858ea0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
mov cl, byte [esi + 0x104]
movsx eax, cl
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmulp st(1)
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x77ed2d
fld dword [0x85ae90]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x77ed2d
neg cl
mov byte [esi + 0x104], cl
mov cl, byte [esi + 0x104]
fld dword [esi + 0xf4]
movsx edx, cl
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmulp st(1)
fcompp
fnstsw ax
test ah, 5
jp 0x77ed6a
fld dword [0x857dd8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 0x41
jne 0x77ed6a
neg cl
mov byte [esi + 0x104], cl
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x77ed7d
fst dword [esi + 0xf4]
movsx eax, word [esi + 0x7d0]
cmp dword [esi + 0x144], eax
jl 0x77ee41
mov edx, dword [esi]
fstp dword [esi + 0xf4]
mov eax, dword [edx + 8]
push 0x2e5
mov ecx, esi
call eax
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x77ef43
jmp dword [eax*4 + 0x781fe8]
mov word [esi + 0x7d0], 0x28
mov word [esi + 0x7d2], 8
mov word [esi + 0x7d4], 4
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov word [esi + 0x7d0], 0x32
mov word [esi + 0x7d2], 6
mov word [esi + 0x7d4], 3
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov word [esi + 0x7d0], 0x3c
mov word [esi + 0x7d2], 4
mov word [esi + 0x7d4], 2
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov word [esi + 0x7d0], 0x4b
mov word [esi + 0x7d2], di
mov word [esi + 0x7d4], bx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
je 0x77ee58
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ee95
cmp word [esi + 0x140], di
jne case.default.0x77ee95
cmp word [esi + 0x13e], bx
jne case.default.0x77ee95
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x77ee95
jmp dword [eax*4 + 0x781ff8]
mov byte [esi + 0x194], bl
mov dword [esi + 0x190], edi
mov word [esi + 0x7d0], 0x3c
mov word [esi + 0x7d2], 8
jmp case.default.0x77ee95
mov byte [esi + 0x194], bl
mov dword [esi + 0x190], edi
mov word [esi + 0x7d0], 0x3c
mov word [esi + 0x7d2], 6
jmp case.default.0x77ee95
mov word [esi + 0x7d0], 0x3c
mov word [esi + 0x7d2], 4
jmp case.default.0x77ee95
mov word [esi + 0x7d0], 0x3c
mov word [esi + 0x7d2], 3
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bp
jne case.default.0x77ef43
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x77ef43
jmp dword [eax*4 + 0x782008]
mov word [esi + 0x7d0], 0x1e
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
cmp ax, di
je 0x77f3b4
cmp ax, 6
je 0x77f3b4
cmp ax, 1
je 0x77ef85
cmp ax, 2
jne 0x77f3bf
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x77f3bd
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
mov ecx, esi
mov byte [esi + 0x49b], 0
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
push 0x96
mov ecx, esi
call fcn.00464980
fld dword [0x85b870]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
fldz
fst dword [esp + 0x4c]
push 3
fst dword [esp + 0x54]
lea ecx, [esp + 0x50]
push ecx
fstp dword [esp + 0x5c]
movzx edx, byte [esi + 0x104]
push 0xffffffffffffffff
push edx
mov ecx, esi
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
fld dword [0x871538]
push 3
fstp dword [esp + 0x58]
movzx ecx, byte [esi + 0x104]
lea eax, [esp + 0x50]
push eax
push 0xffffffffffffffff
push ecx
mov ecx, esi
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
fld dword [0x867860]
push 3
fstp dword [esp + 0x58]
movzx eax, byte [esi + 0x104]
lea edx, [esp + 0x50]
push edx
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
mov edi, 4
mov ebp, 0xb4
push ebp
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77f0cb
fadd dword [0x871554]
fchs
push 3
fstp dword [esp + 0x54]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77f0ed
fadd dword [0x871554]
fadd qword [0x858210]
push 3
lea ecx, [esp + 0x50]
push ecx
fstp dword [esp + 0x58]
push 1
fld dword [0x8589f0]
fstp dword [esp + 0x60]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fld qword [0x871520]
push 0x14
fadd st(1), st(0)
fxch st(1)
fstp qword [esp + 0x34]
fadd dword [esi + 0xec]
fstp qword [esp + 0x2c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77f149
fadd dword [0x871554]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77f171
fadd dword [0x871554]
fsubr qword [esp + 0x30]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
sub edi, 1
jne 0x77f0b3
cmp word [esi + 0x7d2], di
jle 0x77f28c
push 0x3c
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77f1bb
fadd dword [0x871554]
fchs
push 7
fsub qword [0x858ef0]
fstp dword [esp + 0x54]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77f1e3
fadd dword [0x871554]
fld qword [0x871520]
push 3
fadd st(1), st(0)
lea eax, [esp + 0x50]
fxch st(1)
push eax
push 1
fstp dword [esp + 0x5c]
fld1
fstp dword [esp + 0x60]
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd st(1)
push ecx
push 0x14
fstp qword [esp + 0x34]
fadd dword [esi + 0xec]
fstp qword [esp + 0x2c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77f237
fadd dword [0x871554]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77f25f
fadd dword [0x871554]
fsubr qword [esp + 0x30]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
movsx edx, word [esi + 0x7d2]
add edi, 1
cmp edi, edx
jl 0x77f1a2
mov eax, dword [0x8971d4]
cmp eax, 2
je 0x77f29f
cmp eax, 3
jne case.default.0x77ef43
push 0xb
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77f2b8
fadd dword [0x871554]
fsubr qword [0x85e0d8]
push 3
fstp dword [esp + 0x54]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77f2de
fadd dword [0x871554]
cmp dword [0x8971d4], 3
fadd qword [0x858eb0]
fstp dword [esp + 0x50]
jne 0x77f317
push 8
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77f30d
fadd dword [0x871554]
fadd qword [0x8581f8]
fstp dword [esp + 0x50]
fld dword [0x85b870]
push 3
fstp dword [esp + 0x58]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
lea eax, [esp + 0x50]
fld qword [0x871520]
push eax
fadd st(1), st(0)
push 1
fxch st(1)
push ecx
push 0x14
fstp qword [esp + 0x34]
fadd dword [esi + 0xec]
fstp qword [esp + 0x2c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77f369
fadd dword [0x871554]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77f391
fadd dword [0x871554]
fsubr qword [esp + 0x30]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
mov ebx, 4
cmp word [esi + 0x13e], bx
jne 0x77f4d8
fld dword [esi + 0xf4]
fsub qword [0x858ea0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
mov cl, byte [esi + 0x104]
movsx edx, cl
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmulp st(1)
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x77f426
fld dword [0x85c5ec]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x77f426
neg cl
mov byte [esi + 0x104], cl
mov cl, byte [esi + 0x104]
fld dword [esi + 0xf4]
movsx eax, cl
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmulp st(1)
fcompp
fnstsw ax
test ah, 5
jp 0x77f463
fld dword [0x87153c]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 0x41
jne 0x77f463
neg cl
mov byte [esi + 0x104], cl
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x77f476
fst dword [esi + 0xf4]
movsx ecx, word [esi + 0x7d0]
cmp dword [esi + 0x144], ecx
jl 0x77f4d8
fstp dword [esi + 0xf4]
movzx eax, word [esi + 0x7d4]
cmp ax, di
jle 0x77f4c2
mov edx, dword [esi + 0x170]
cmp word [edx + 0x184], di
jle 0x77f4c2
add eax, 0xffffffff
mov word [esi + 0x7d4], ax
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push edi
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2e6
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
je 0x77f4ef
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77f614
cmp word [esi + 0x140], di
jne case.default.0x77f614
cmp word [esi + 0x13e], 1
jne case.default.0x77f614
push 0x28
mov ecx, esi
call fcn.00464980
push 0x4b
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77f548
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea eax, [esp + 0x344]
push eax
fadd qword [0x871520]
push 0xffffffffffffffff
fstp dword [esi + 0xf4]
fld dword [0x85bc30]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
fldz
fst dword [esp + 0x34c]
fstp dword [esp + 0x350]
fld dword [0x871538]
fstp dword [esp + 0x354]
movzx ecx, byte [esi + 0x104]
push ecx
mov ecx, esi
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
fld dword [0x867860]
push 3
fstp dword [esp + 0x34c]
movzx eax, byte [esi + 0x104]
lea edx, [esp + 0x344]
push edx
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x77f614
jmp dword [eax*4 + 0x782018]
mov byte [esi + 0x194], 1
mov dword [esi + 0x190], edi
mov word [esi + 0x7d0], 0x28
mov word [esi + 0x7d2], 8
jmp case.default.0x77f614
mov byte [esi + 0x194], 1
mov dword [esi + 0x190], edi
mov word [esi + 0x7d0], 0x32
mov word [esi + 0x7d2], 6
jmp case.default.0x77f614
mov word [esi + 0x7d0], 0x3c
mov word [esi + 0x7d2], bx
jmp case.default.0x77f614
mov word [esi + 0x7d0], 0x4b
mov word [esi + 0x7d2], 3
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
push 0x64
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77f6d0
fadd dword [0x871554]
fmul qword [0x867840]
fadd qword [0x871520]
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
je 0x77f701
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
movzx eax, word [esi + 0x13e]
cmp ax, 1
je 0x77f916
cmp ax, di
jne 0x77f725
cmp word [esi + 0x140], 3
jge 0x77f916
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 3
jne case.default.0x77ef43
push 0x28
mov ecx, esi
call fcn.00464980
fldz
fst dword [esi + 0xf4]
push 3
fld dword [0x85b3b0]
lea ecx, [esp + 0x114]
fstp dword [esi + 0xf8]
push ecx
fld dword [0x85aae8]
push 0xffffffffffffffff
fstp dword [esi + 0x100]
mov ecx, esi
fst dword [esp + 0x11c]
fstp dword [esp + 0x120]
fld dword [0x871538]
fstp dword [esp + 0x124]
movzx edx, byte [esi + 0x104]
push edx
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
fld dword [0x867860]
push 3
fstp dword [esp + 0x11c]
movzx ecx, byte [esi + 0x104]
lea eax, [esp + 0x114]
push eax
push 0xffffffffffffffff
push ecx
mov ecx, esi
call fcn.004397f0
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
mov edi, 4
mov ebp, 0xb4
lea ecx, [ecx]
push ebp
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77f838
fadd dword [0x871554]
fchs
push 3
fstp dword [esp + 0x118]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77f85d
fadd dword [0x871554]
fadd qword [0x858210]
push 3
lea edx, [esp + 0x114]
push edx
fstp dword [esp + 0x11c]
push 1
fld dword [0x8589f0]
fstp dword [esp + 0x124]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fld qword [0x871520]
push 0x14
fadd st(1), st(0)
fxch st(1)
fstp qword [esp + 0x34]
fadd dword [esi + 0xec]
fstp qword [esp + 0x2c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x77f8c2
fadd dword [0x871554]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x77f8ea
fadd dword [0x871554]
fsubr qword [esp + 0x30]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
sub edi, 1
jne 0x77f820
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x77f72c
mov ecx, esi
call fcn.004636b0
jmp 0x77ca93
mov byte [esi + 0x4c4], 1
fstp st(0)
cmp word [esi + 0x13e], di
jne 0x77fb23
cmp word [esi + 0x7d0], 0
jne 0x77fb23
cmp dword [esi + 0x144], 0x1e
jne 0x77f97c
push 0x78
push 0xffffffffffffffff
call fcn.0043e280
add esp, 8
mov ebp, 0x96
cmp dword [esi + 0x144], ebp
mov edi, 0xd2
jne case.default.0x77fa6f
push str.data_bgm_st36.ogg
call fcn.0043ff10
add esp, 4
mov byte [esi + 0x574], 0
mov byte [esi + 0x577], 1
push 0xffffffffffffffff
mov ecx, esi
mov byte [esi + 0x6f5], 1
call fcn.00468de0
push 0xffffffffffffffff
xor ebx, ebx
push ebx
mov ecx, esi
call fcn.0046b370
mov ecx, esi
mov dword [esi + 0x188], ebx
call fcn.004639f0
mov byte [esi + 0x868], 1
mov word [esi + 0x820], bx
mov word [esi + 0x81e], 1
mov word [esi + 0x81a], bx
mov word [esi + 0x81c], bx
push 0x17
mov ecx, esi
mov word [esi + 0x818], bx
call fcn.00439490
fldz
push 3
mov eax, 0x3c
mov word [esi + 0x888], ax
lea ecx, [esp + 0x488]
push ecx
mov word [esi + 0x88a], ax
fst dword [esp + 0x48c]
fst dword [esp + 0x490]
push 3
fstp dword [esp + 0x498]
push 1
fld dword [0x85bca0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x87153c]
fstp dword [esp]
push 0x4b3
call fcn.0046eb30
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x77fa6f
jmp dword [eax*4 + 0x782028]
mov word [esi + 0x7d2], 0x78
mov word [esi + 0x7d4], 3
jmp case.default.0x77fa6f
mov word [esi + 0x7d2], bp
mov word [esi + 0x7d4], 5
jmp case.default.0x77fa6f
mov word [esi + 0x7d2], 0xb4
mov word [esi + 0x7d4], 0xa
jmp case.default.0x77fa6f
mov word [esi + 0x7d2], di
mov word [esi + 0x7d4], 0xf
cmp dword [esi + 0x144], edi
jne 0x77fb23
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2f7
mov ecx, esi
call eax
fldz
fst dword [esp + 0x490]
push 3
fst dword [esp + 0x498]
lea ecx, [esp + 0x494]
fstp dword [esp + 0x49c]
push ecx
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 1
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3b5
call fcn.0046eb30
mov ecx, esi
call fcn.00438c60
test al, al
je case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x888], di
fstp st(0)
jg 0x77fbb3
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2f6
mov ecx, esi
call edx
fldz
push 3
fst dword [esp + 0x4ac]
fstp dword [esp + 0x4b0]
lea eax, [esp + 0x4ac]
fld dword [0x85b870]
push eax
push 2
fstp dword [esp + 0x4bc]
fld dword [0x857d9c]
push 1
sub esp, 8
fstp dword [esp + 4]
fld dword [0x858978]
mov ecx, esi
fstp dword [esp]
push 0x4b3
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x77fd26
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x77fbda
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x77fcff
movsx edx, word [esi + 0x7d2]
sub edx, 0x1e
cmp eax, edx
jg 0x77fcff
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77fc0e
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x248]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x77fc31
fadd dword [0x871554]
fadd qword [0x857948]
push 2
fstp dword [esp + 0x250]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77fc5a
fadd dword [0x871554]
fstp dword [esp + 0x248]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0x240]
push 3
lea eax, [esp + 0x244]
fchs
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x258]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x258]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x25c]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
movsx edx, word [esi + 0x7d2]
cmp dword [esi + 0x144], edx
jl 0x77fd26
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 3
mov ebp, 0xb4
jne 0x780333
cmp dword [esi + 0x144], ebp
jg 0x76713c
fld dword [esi + 0x7dc]
fmul qword [0x85b978]
fstp dword [esi + 0x7dc]
mov eax, dword [esi + 0x144]
movsx ecx, word [esi + 0x7d4]
cdq
idiv ecx
test edx, edx
jne 0x77ff6d
push 0x67
mov ecx, esi
call fcn.00464980
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77fd91
fadd dword [0x871554]
fld dword [esi + 0x7dc]
push 0x32
fadd dword [esi + 0x7f0]
faddp st(1)
fsub qword [0x858210]
fstp dword [esp + 0x208]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77fdc8
fadd dword [0x871554]
fmul qword [0x867840]
push 4
fadd qword [0x871520]
fstp dword [esp + 0x208]
fldz
fstp dword [esp + 0x20c]
mov eax, dword [esi + 0x144]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
lea eax, [esp + 0x204]
push eax
push ebx
fstp dword [esp + 0x218]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0x20c]
push ecx
fchs
push ecx
fstp dword [esp]
call fcn.00409580
fld qword [0x857b20]
fmul st(1), st(0)
fadd dword [esi + 0xf0]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x218]
fchs
fstp dword [esp]
call fcn.004095f0
movsx edx, byte [esi + 0x104]
fmul qword [0x857b20]
mov dword [esp + 0x2c], edx
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ac
call fcn.0046eb30
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77fe9d
fadd dword [0x871554]
fld dword [esi + 0x7f0]
push 0xf
fsub dword [esi + 0x7dc]
faddp st(1)
fsub qword [0x858210]
fstp dword [esp + 0x208]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x77fed4
fadd dword [0x871554]
fmul qword [0x867840]
push 4
lea eax, [esp + 0x204]
push eax
fadd qword [0x857930]
push ebx
fstp dword [esp + 0x210]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0x20c]
push ecx
fchs
push ecx
fstp dword [esp]
call fcn.00409580
fld qword [0x857b20]
fmul st(1), st(0)
fadd dword [esi + 0xf0]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x218]
fchs
fstp dword [esp]
call fcn.004095f0
movsx edx, byte [esi + 0x104]
fmul qword [0x857b20]
mov dword [esp + 0x2c], edx
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ac
call fcn.0046eb30
mov eax, dword [esi + 0x144]
movsx ecx, word [esi + 0x7d4]
cdq
idiv ecx
test edx, edx
jne 0x7801b8
movsx edx, word [esi + 0x184]
movsx eax, word [esi + 0x186]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fdivp st(1)
fcomp qword [0x85b848]
fnstsw ax
test ah, 0x41
jp 0x7801b8
push 0x67
mov ecx, esi
call fcn.00464980
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x77ffd8
fadd dword [0x871554]
fld dword [esi + 0x7dc]
push 0x14
fadd dword [esi + 0x7f0]
faddp st(1)
fsub qword [0x858210]
fstp dword [esp + 0x1b0]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x78000f
fadd dword [0x871554]
fmul qword [0x867840]
push 4
lea edx, [esp + 0x1ac]
push edx
fadd qword [0x859910]
push ebx
fstp dword [esp + 0x1b8]
fld dword [0x867860]
fstp dword [esp + 0x1bc]
mov eax, dword [esi + 0x144]
lea ecx, [eax + eax*2]
add ecx, ecx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fstp dword [esp + 0x1c0]
movzx eax, byte [esi + 0x104]
fld dword [esp + 0x1b4]
push eax
fchs
push ecx
fstp dword [esp]
call fcn.00409580
fld qword [0x857b20]
fmul st(1), st(0)
fadd dword [esi + 0xf0]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x1c0]
fchs
fstp dword [esp]
call fcn.004095f0
movsx ecx, byte [esi + 0x104]
fmul qword [0x857b20]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ac
call fcn.0046eb30
push 0xa
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x7800e8
fadd dword [0x871554]
fld dword [esi + 0x7f0]
push 0xf
fsub dword [esi + 0x7dc]
faddp st(1)
fsub qword [0x858210]
fstp dword [esp + 0x1b0]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x78011f
fadd dword [0x871554]
fmul qword [0x867840]
push 4
lea edx, [esp + 0x1ac]
push edx
fadd qword [0x857930]
push ebx
fstp dword [esp + 0x1b8]
movzx eax, byte [esi + 0x104]
fld dword [esp + 0x1b4]
push eax
fchs
push ecx
fstp dword [esp]
call fcn.00409580
fld qword [0x857b20]
fmul st(1), st(0)
fadd dword [esi + 0xf0]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x1c0]
fchs
fstp dword [esp]
call fcn.004095f0
movsx ecx, byte [esi + 0x104]
fmul qword [0x857b20]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ac
call fcn.0046eb30
mov ecx, dword [esi + 0x144]
cmp ecx, 0x3c
jl 0x780327
movsx edx, word [esi + 0x184]
movsx eax, word [esi + 0x186]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fdivp st(1)
fcomp qword [0x85a280]
fnstsw ax
test ah, 0x41
jp 0x780327
movsx eax, word [esi + 0x7d4]
sub eax, ebx
mov dword [esp + 0x14], eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
cdq
idiv ecx
test edx, edx
jne 0x780327
push 0x67
mov ecx, esi
call fcn.00464980
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x780238
fadd dword [0x871554]
fadd dword [esi + 0x7f0]
push 0x64
fsub qword [0x871520]
fstp dword [esp + 0x3c8]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x780267
fadd dword [0x871554]
fmul qword [0x867840]
push 4
lea edx, [esp + 0x3c4]
push edx
fadd qword [0x859b00]
push ebx
fstp dword [esp + 0x3d0]
fld dword [0x85b870]
fstp dword [esp + 0x3d4]
mov eax, dword [esi + 0x144]
lea ecx, [eax + eax*2]
add ecx, ecx
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
fstp dword [esp + 0x3d8]
movzx eax, byte [esi + 0x104]
fld dword [esp + 0x3cc]
push eax
fchs
push ecx
fstp dword [esp]
call fcn.00409580
fld qword [0x857b20]
fmul st(1), st(0)
fadd dword [esi + 0xf0]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x3d8]
fchs
fstp dword [esp]
call fcn.004095f0
movsx ecx, byte [esi + 0x104]
fmul qword [0x857b20]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ac
call fcn.0046eb30
cmp dword [esi + 0x144], ebp
jge 0x76713c
mov ecx, esi
call fcn.00438c60
test al, al
je 0x78034c
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2f7
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne 0x780470
cmp word [esi + 0x140], di
jne 0x780470
cmp word [esi + 0x13e], bx
jne 0x780470
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x780389
jmp dword [eax*4 + 0x782038]
fld dword [0x85bcd8]
mov word [esi + 0x7d2], 0x78
mov word [esi + 0x7d4], 3
jmp 0x7803f4
fld dword [0x857d98]
mov word [esi + 0x7d2], 0x96
mov word [esi + 0x7d4], 5
jmp 0x7803f4
fld dword [0x87153c]
mov word [esi + 0x7d2], bp
mov word [esi + 0x7d4], 0xa
jmp 0x7803f4
fld dword [0x85b988]
mov word [esi + 0x7d2], 0xd2
mov word [esi + 0x7d4], 0xf
fstp dword [esi + 0x7dc]
movsx ecx, word [esi + 0x184]
movsx edx, word [esi + 0x186]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fdivp st(1)
fld qword [0x858ea0]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x780442
movsx eax, word [esi + 0x7d2]
fstp st(0)
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul qword [0x8677a0]
jmp 0x780464
fcomp qword [0x8677a0]
fnstsw ax
test ah, 0x41
jp 0x780470
movsx ecx, word [esi + 0x7d2]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x858820]
call fcn.00820230
mov word [esi + 0x7d2], ax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 3
jne case.default.0x77ef43
fld dword [0x85ba18]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x87153c]
fstp dword [esp]
call fcn.004877c0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x6f5], 0
cmp word [esi + 0x13e], 1
jne 0x78056d
fld dword [esi + 0xf4]
mov ebx, 0x3c
fmul qword [0x85b978]
fstp dword [esi + 0xf4]
fld dword [esi + 0xf8]
fadd qword [0x867840]
fstp dword [esi + 0xf8]
cmp dword [esi + 0x144], ebx
jne 0x78054c
fld1
push 3
lea edx, [esp + 0x4c4]
fstp dword [esp + 0x4c4]
push edx
push 2
push 1
fst dword [esp + 0x4d4]
sub esp, 8
fst dword [esp + 0x4e0]
fst dword [esp + 4]
mov ecx, esi
fstp dword [esp]
push 0x4e2
call fcn.0046eb30
jmp 0x78054e
fstp st(0)
cmp dword [esi + 0x144], ebx
jne 0x78056f
push edi
push 0xbb8
mov byte [esi + 0x574], 3
call fcn.0043e1b0
add esp, 8
jmp 0x78056f
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x888], di
jg 0x7805fa
push 3
fst dword [esp + 0x4dc]
fstp dword [esp + 0x4e0]
lea eax, [esp + 0x4dc]
fld dword [0x85b870]
push eax
push 2
fstp dword [esp + 0x4ec]
fld dword [0x857d9c]
push 1
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x858978]
fstp dword [esp]
push 0x4b3
call fcn.0046eb30
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2f6
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 1
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x780732
cmp dword [esi + 0x144], edi
jne 0x7806bd
mov ecx, esi
call fcn.00487c20
fld dword [0x8575a4]
fcomp dword [esi + 0xec]
push 0x140
fnstsw ax
test bl, ah
jne 0x78066f
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x78064f
fadd dword [0x871554]
fadd qword [0x8579a0]
push 0xc8
fstp dword [esi + 0x7dc]
call fcn.004099f0
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jmp 0x7806a4
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x780686
fadd dword [0x871554]
fsubr qword [0x8579a0]
push 0xc8
fstp dword [esi + 0x7dc]
call fcn.004099f0
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
add esp, 8
test eax, eax
jge 0x7806b1
fadd dword [0x871554]
fadd qword [0x857948]
fstp dword [esi + 0x7e0]
movsx ecx, word [esi + 0x7d2]
cmp dword [esi + 0x144], ecx
jl 0x7806f1
mov edx, dword [esi + 0x170]
cmp word [edx + 0x184], di
jle 0x7806f1
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2ef
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0x7dc]
movsx eax, byte [esi + 0x104]
fsub dword [esi + 0xec]
mov dword [esp + 0x14], eax
fld qword [0x85c108]
fmul st(1), st(0)
fild dword [esp + 0x14]
fmulp st(2)
fxch st(1)
fstp dword [esi + 0xf4]
fld dword [esi + 0x7e0]
fsub dword [esi + 0xf0]
fmulp st(1)
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.00438c60
test al, al
je 0x780747
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], bx
jne case.default.0x77ef43
mov ecx, esi
call fcn.00487c20
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x77ef43
jmp dword [eax*4 + 0x782048]
mov word [esi + 0x7d2], 0x5a
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
je 0x7807be
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 4
jne case.default.0x77ef43
push 0xffffffffffffffff
mov ecx, esi
mov byte [esi + 0x6f5], 1
call fcn.00468de0
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.0046b370
mov ecx, esi
mov dword [esi + 0x188], edi
call fcn.004639f0
mov byte [esi + 0x868], 1
mov word [esi + 0x820], di
mov ebx, 1
mov word [esi + 0x81e], bx
mov word [esi + 0x81a], di
mov word [esi + 0x81c], di
push 0x17
mov ecx, esi
mov word [esi + 0x818], di
call fcn.00439490
fldz
push 3
mov word [esi + 0x882], bx
lea ecx, [esp + 0x398]
push ecx
mov word [esi + 0x86a], bx
fst dword [esp + 0x39c]
fst dword [esp + 0x3a0]
push 2
fstp dword [esp + 0x3a8]
push ebx
fld dword [0x85bca0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x87153c]
fstp dword [esp]
push 0x4b1
call fcn.0046eb30
fld1
fstp dword [esp + 0x39c]
push 3
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857b20]
lea edx, [esp + 0x398]
push edx
push 0xffffffffffffffff
push eax
fstp dword [esp + 0x24]
sub esp, 8
fld dword [esp + 0x2c]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x4b2
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
je 0x780905
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
movzx eax, word [esi + 0x13e]
cmp ax, 2
je 0x780918
cmp ax, 3
jne 0x780953
fld dword [esi + 0x7dc]
mov ecx, 5
fadd qword [0x867840]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7dc]
mov eax, dword [esi + 0x144]
cdq
idiv ecx
test edx, edx
jne 0x780951
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
jmp 0x780953
fstp st(0)
movzx eax, word [esi + 0x13e]
cmp ax, di
mov ebx, 0x3c
jne 0x78098d
cmp dword [esi + 0x144], ebx
jl 0x78098d
mov edx, dword [esi + 0x170]
movzx ecx, word [edx + 0x13c]
cmp cx, di
je 0x76cb21
cmp cx, 0x2bc
je 0x76cb21
cmp ax, 2
jne 0x780b44
cmp word [esi + 0x142], di
jne 0x780a06
cmp word [esi + 0x140], di
jne 0x780a06
cmp dword [esi + 0x144], edi
jne 0x780a06
fldz
push 3
fst dword [esp + 0x4f4]
lea eax, [esp + 0x4f4]
fst dword [esp + 0x4f8]
push eax
fld dword [0x871538]
push 1
fstp dword [esp + 0x504]
push 1
fld dword [esi + 0xf0]
sub esp, 8
fsub qword [0x857948]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x780a1b
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x780b37
cmp eax, ebx
jg 0x780b37
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x780a45
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x260]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x780a68
fadd dword [0x871554]
fadd qword [0x857948]
push 2
fstp dword [esp + 0x268]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x780a91
fadd dword [0x871554]
fstp dword [esp + 0x260]
movzx eax, byte [esi + 0x104]
fld dword [esp + 0x258]
push 3
lea edx, [esp + 0x25c]
fchs
push edx
push 1
push eax
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x270]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x270]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x274]
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
mov dword [esp + 0x2c], eax
mov ecx, esi
fiadd dword [edx + 0x98]
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
cmp dword [esi + 0x144], 0x5a
jge 0x76713c
cmp dword [esi + 0x144], edi
jne 0x780b89
cmp word [esi + 0x142], di
jne 0x780b89
cmp word [esi + 0x140], di
jne 0x780b89
cmp word [esi + 0x13e], 4
jne case.default.0x77ef43
fld dword [0x85ae94]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
push 0xf
push 0xffffffffffffffff
call fcn.0043e2c0
add esp, 8
cmp word [esi + 0x13e], 4
jne case.default.0x77ef43
cmp dword [esi + 0x144], 0x14
jne 0x780c86
mov ecx, dword [esi + 0x170]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push edi
call eax
mov ecx, dword [esi + 0x170]
call fcn.004636b0
mov ecx, dword [esi + 0x170]
call fcn.004397f0
mov ecx, dword [esi + 0x170]
fstp dword [ecx + 0xf0]
mov edx, dword [esi + 0x170]
fld dword [0x8575a8]
mov ecx, esi
fstp dword [edx + 0xec]
fld dword [0x85afe8]
fstp dword [esi + 0xec]
mov byte [esi + 0x104], 0xff
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
push 3
fst dword [esp + 0x380]
lea eax, [esp + 0x380]
push eax
fst dword [esp + 0x388]
fld dword [0x867860]
push 0xfffffffffffffffe
fstp dword [esp + 0x390]
push 1
fld dword [0x8581a8]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
fld dword [0x8589f0]
push 3
fstp dword [esp + 0x388]
fldz
lea ecx, [esp + 0x380]
push ecx
push 0xffffffffffffffff
push 1
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x8575a4]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
cmp dword [esi + 0x144], ebx
jne 0x780c9a
push 0x78
push 0xffffffffffffffff
call fcn.0043e280
add esp, 8
cmp dword [esi + 0x144], 0xb4
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov byte [esi + 0x574], 0
mov byte [esi + 0x577], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
je 0x780ce0
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp dword [esi + 0x144], 0x3c
jl 0x780d20
mov ecx, dword [esi + 0x170]
movzx eax, word [ecx + 0x13c]
cmp ax, di
je 0x780d0e
cmp ax, 0x2bc
jne 0x780d20
cmp word [esi + 0x7d0], di
jne 0x780d20
mov word [esi + 0x7d0], 1
movzx eax, word [esi + 0x7d0]
cmp ax, di
jle case.default.0x77ef43
add eax, 1
cmp ax, 0x3c
mov word [esi + 0x7d0], ax
jne 0x780d81
fldz
push 3
fst dword [esp + 0x50c]
lea edx, [esp + 0x50c]
push edx
fst dword [esp + 0x514]
fld dword [0x871538]
push 0xfffffffffffffffe
push 1
fstp dword [esp + 0x520]
sub esp, 8
mov ecx, esi
fst dword [esp + 4]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
cmp word [esi + 0x7d0], 0xb4
jne 0x780d98
push 0x32
push 0xffffffffffffffff
call fcn.0043e2c0
add esp, 8
cmp word [esi + 0x7d0], 0xf0
jne 0x780db7
mov eax, dword [esi + 0x170]
mov byte [eax + 0x4c4], 1
mov byte [esi + 0x4c4], 1
cmp word [esi + 0x7d0], 0x10e
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2ee
mov ecx, esi
call eax
fld dword [0x857d9c]
mov word [esi + 0x7d0], di
fstp dword [esi + 0xf0]
fld dword [0x85afe8]
push 9
fstp dword [esi + 0xec]
mov byte [esi + 0x104], 0xff
mov ecx, dword [esi + 0x170]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
fld dword [0x857d9c]
mov ecx, dword [esi + 0x170]
fstp dword [ecx + 0xf0]
mov edx, dword [esi + 0x170]
fld dword [0x8575a8]
fstp dword [edx + 0xec]
mov eax, dword [esi + 0x170]
mov byte [eax + 0x104], 1
mov ecx, dword [esi + 0x170]
call fcn.004636b0
fldz
push 3
fst dword [esp + 0x35c]
lea ecx, [esp + 0x35c]
fst dword [esp + 0x360]
fld dword [0x85882c]
push ecx
push 0xfffffffffffffffe
fstp dword [esp + 0x36c]
push 1
sub esp, 8
fst dword [esp + 4]
mov ecx, esi
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
fld dword [0x85b870]
push 3
fstp dword [esp + 0x364]
lea edx, [esp + 0x35c]
push edx
fldz
push 0xfffffffffffffffe
push 1
sub esp, 8
fst dword [esp + 4]
mov ecx, esi
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
je 0x780fae
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2ee
mov ecx, esi
call edx
fld dword [0x857d9c]
mov word [esi + 0x7d0], di
fstp dword [esi + 0xf0]
fld dword [0x85afe8]
push 9
fstp dword [esi + 0xec]
mov byte [esi + 0x104], 0xff
mov ecx, dword [esi + 0x170]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
fld dword [0x857d9c]
mov eax, dword [esi + 0x170]
fstp dword [eax + 0xf0]
mov ecx, dword [esi + 0x170]
fld dword [0x8575a8]
fstp dword [ecx + 0xec]
mov ecx, dword [esi + 0x170]
call fcn.004636b0
fldz
mov edx, dword [esi + 0x170]
push 3
mov byte [edx + 0x4c4], 1
fst dword [esp + 0x38c]
lea eax, [esp + 0x38c]
fst dword [esp + 0x390]
fld dword [0x85882c]
push eax
push 0xfffffffffffffffe
fstp dword [esp + 0x39c]
push 1
sub esp, 8
fst dword [esp + 4]
mov ecx, esi
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
fld dword [0x85b870]
push 3
fstp dword [esp + 0x394]
lea ecx, [esp + 0x38c]
push ecx
jmp 0x780e9d
cmp word [esi + 0x13e], di
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 4
jne case.default.0x77ef43
push 0xf
push 0xffffffffffffffff
call fcn.0043e2c0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, word [esi + 0x13e]
add eax, 0xffffffff
cmp eax, 0xd
ja case.0x77d99c.47
movzx edx, byte [eax + 0x782078]
jmp dword [edx*4 + 0x782058]
fstp st(0)
fld dword [esi + 0xf8]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x781040
fstp dword [esi + 0xf8]
jmp 0x781042
fstp st(0)
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x7812e6
mov ecx, esi
mov byte [esi + 0x104], 0xff
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
mov ecx, esi
call edx
mov ecx, dword [esi + 0x170]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x314
call edx
mov ecx, dword [esi + 0x170]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
push 0x19
call edx
push 3
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
push 1
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 3
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x140]
cmp ax, 3
jge 0x78113a
fcom dword [esi + 0xf4]
fnstsw ax
fld qword [0x858820]
test ah, 5
jp 0x78111b
fld dword [esi + 0xf4]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x78111b
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x7812e2
fld dword [esi + 0xf4]
faddp st(2)
fxch st(1)
jmp 0x78115c
cmp ax, 8
fld dword [esi + 0xf4]
jg 0x781156
fadd qword [0x857f78]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x781164
fadd qword [0x858820]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne case.0x77d99c.47
fstp dword [esi + 0xf4]
jmp 0x7812e6
fcom dword [esi + 0xf4]
fnstsw ax
fld qword [0x858820]
test ah, 5
jp 0x7811be
fld dword [esi + 0xf4]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x7811be
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x7812e2
fld dword [esi + 0xf4]
faddp st(2)
fxch st(1)
jmp 0x78115c
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7812e6
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
push 7
jmp 0x77ca9c
fld dword [esi + 0xf4]
fsub qword [0x85b938]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp case.0x77d99c.47
fstp dword [esi + 0xf4]
jmp 0x7812e6
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7812e6
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x314
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7812e6
mov ecx, esi
call fcn.004636b0
fld dword [0x85afe8]
mov ecx, esi
fstp dword [esi + 0xec]
call fcn.004397f0
push 0xf
jmp 0x77ca9c
fstp st(0)
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x781444
cmp dword [esi + 0x144], edi
jne 0x78132d
cmp word [esi + 0x142], di
jne 0x78132d
cmp word [esi + 0x140], di
jne 0x78132d
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x781359
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2bc
mov ecx, esi
call eax
jmp 0x781332
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x781359
cmp word [esi + 0x142], di
jne 0x781359
cmp word [esi + 0x140], bx
jne 0x781359
fld dword [0x85c8ac]
fstp dword [esi + 0xf4]
mov eax, dword [esi + 0x144]
cmp eax, edi
jne 0x78141a
cmp word [esi + 0x142], di
jne 0x781387
cmp word [esi + 0x140], di
jne 0x781387
cmp word [esi + 0x13e], 4
je 0x781444
cmp eax, edi
jne 0x78141a
cmp word [esi + 0x142], di
jne 0x78141a
cmp word [esi + 0x140], di
jne 0x78141a
cmp word [esi + 0x13e], 5
jne 0x78141a
mov ecx, dword [esi + 0x170]
fld dword [0x85bdb8]
fstp dword [esi + 0xf8]
push ecx
fld dword [ecx + 0xec]
fsub dword [esi + 0xec]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409520
fsub qword [0x857968]
add esp, 4
fstp dword [esp + 0x18]
fldz
fcom dword [esp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x7813fc
fst dword [esp + 0x18]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
fld dword [esp + 0x18]
fdiv qword [0x85bb88]
fstp dword [esi + 0xf4]
jmp 0x78141c
fldz
mov eax, dword [esi + 0x144]
cmp eax, edi
jne 0x781496
cmp word [esi + 0x142], di
jne 0x78145a
cmp word [esi + 0x140], di
jne 0x78145a
cmp word [esi + 0x13e], 8
jne 0x78145a
fstp st(0)
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2bc
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edi
jne 0x781496
cmp word [esi + 0x142], di
jne 0x781496
cmp word [esi + 0x140], di
jne 0x781496
cmp word [esi + 0x13e], 9
jne 0x781496
fstp dword [esi + 0xf4]
fld1
fstp dword [esi + 0x100]
fld dword [0x867810]
fstp dword [esi + 0xf8]
jmp 0x781498
fstp st(0)
cmp dword [esi + 0x144], edi
jne 0x781532
cmp word [esi + 0x142], di
jne 0x7814f8
cmp word [esi + 0x140], di
jne 0x7814f8
cmp word [esi + 0x13e], 0xc
jne 0x7814f8
fld dword [esi + 0xec]
fsub qword [0x85b828]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fdiv qword [0x857938]
fstp dword [esi + 0xf4]
fld dword [0x858830]
fstp dword [esi + 0xf8]
fld dword [0x85aae8]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], edi
jne 0x781532
cmp word [esi + 0x142], di
jne 0x781532
cmp word [esi + 0x140], di
jne 0x781532
cmp word [esi + 0x13e], 0x10
jne 0x78155a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2bc
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 0x10
jne 0x78155a
cmp word [esi + 0x142], di
jne 0x78155a
cmp word [esi + 0x140], bx
jne 0x78155a
fld dword [0x85ad10]
fstp dword [esi + 0xf4]
cmp dword [esi + 0x144], edi
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], di
jne case.default.0x77ef43
cmp word [esi + 0x13e], 0x11
jne case.default.0x77ef43
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2bc
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
jne 0x781444
cmp word [esi + 0x13e], 6
jne case.default.0x77ef43
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 5
jne 0x781668
push 0xb
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x520]
push 3
fstp dword [esp + 0x528]
lea edx, [esp + 0x524]
fld dword [0x85882c]
push edx
fstp dword [esp + 0x530]
push 1
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push eax
movsx eax, al
fisub dword [ecx + 0x9c]
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x3dd
call fcn.0046eb30
cmp word [esi + 0x142], di
jne case.default.0x77ef43
cmp word [esi + 0x140], 0xc
jne case.default.0x77ef43
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
fldz
fst dword [esp + 0x420]
fst dword [esp + 0x424]
fstp dword [esp + 0x428]
cmp byte [esi + 0x6a6], 1
jl 0x7816c1
fld dword [0x85b870]
fstp dword [esp + 0x428]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x424]
push ecx
push 0xffffffffffffffff
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x334
call fcn.0046eb30
push 0x29
mov ecx, esi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
fstp st(0)
jne 0x781740
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x85a280]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x781740
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 1
mov ecx, esi
call edx
jmp 0x7670bf
mov ecx, esi
call fcn.00438c60
test al, al
je case.default.0x77ef43
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2bc
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
jne 0x7817b5
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x7817b3
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
fstp dword [esi + 0xf8]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fldz
mov ecx, 1
cmp word [esi + 0x13e], cx
jne 0x781823
fld dword [esi + 0xf4]
fsub qword [0x858820]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x781823
fstp dword [esi + 0xf4]
add word [esi + 0x7d0], cx
movzx eax, word [esi + 0x7d0]
cmp ax, 2
jl 0x781825
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
fld dword [0x85b858]
fstp dword [esi + 0xf4]
fld dword [0x85b870]
fstp dword [esi + 0xf8]
jmp 0x781825
fstp st(0)
movzx eax, word [esi + 0x13e]
cmp ax, 2
je 0x78183c
cmp ax, 3
jne 0x78056f
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x858ea0]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x78056f
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 4
mov ecx, esi
call edx
push 0x1e
mov ecx, esi
call fcn.00439490
fld dword [0x8575a8]
fstp dword [esi + 0xec]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
jne 0x7818c7
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x78178d
fldz
mov ecx, 1
cmp word [esi + 0x13e], cx
jne 0x781935
fld dword [esi + 0xf4]
fsub qword [0x858820]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x781935
fstp dword [esi + 0xf4]
add word [esi + 0x7d0], cx
movzx eax, word [esi + 0x7d0]
cmp ax, 2
jl 0x781937
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
fld dword [0x85b858]
fstp dword [esi + 0xf4]
fld dword [0x85b870]
fstp dword [esi + 0xf8]
jmp 0x781937
fstp st(0)
movzx eax, word [esi + 0x13e]
cmp ax, 2
je 0x78194e
cmp ax, 3
jne 0x781740
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x858ea0]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x781740
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 4
mov ecx, esi
call edx
push 0x1e
mov ecx, esi
call fcn.00439490
fld dword [0x85afe8]
fstp dword [esi + 0xec]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00483f40
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret