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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x598
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
mov word [esi + 0x88c], bx
mov word [esi + 0x88e], 0x75
cmp word [esi + 0x184], bx
push edi
jle 0x6879ac
mov eax, dword [esi + 0x170]
cmp word [eax + 0x184], bx
jge 0x6879b3
mov word [esi + 0x89c], bx
movzx eax, word [esi + 0x89c]
cmp ax, bx
jle 0x6879c9
add eax, 0xffffffff
mov word [esi + 0x89c], ax
movzx eax, word [esi + 0x89e]
cmp ax, bx
mov ebp, 3
lea edi, [ebp - 2]
jle 0x687a9c
add eax, 0xffffffff
mov word [esi + 0x89e], ax
mov ecx, dword [esi + 0x170]
cmp word [ecx + 0x184], bx
jle 0x687a03
cmp word [esi + 0x184], bx
jge 0x687a0a
mov word [esi + 0x89e], bx
cmp word [esi + 0x84e], bx
jne 0x687ac2
cmp word [esi + 0x852], bx
jne 0x687ac2
mov eax, dword [esi + 0x114]
cmp eax, edi
je 0x687ac2
cmp eax, ebx
jne 0x687a3c
mov dword [esi + 0x114], ebp
fld dword [esi + 0x7fc]
push ecx
fadd qword [0x858eb8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0x7fc]
fstp dword [esp]
call fcn.004095f0
fld qword [0x859768]
add esp, 4
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
fmul st(1), st(0)
or eax, 0xc00
mov dword [esp + 0x10], eax
fsubrp st(1)
fldcw word [esp + 0x10]
fistp dword [esp + 0x10]
mov al, byte [esp + 0x10]
mov byte [esi + 0x11a], al
mov byte [esi + 0x119], al
fldcw word [esp + 0x18]
jmp 0x687ac2
cmp word [esi + 0x84e], bx
jne 0x687ac2
cmp word [esi + 0x852], bx
jne 0x687ac2
mov eax, dword [esi + 0x114]
cmp eax, edi
je 0x687ac2
cmp eax, ebx
je 0x687ac2
mov dword [esi + 0x114], ebx
movzx eax, word [esi + 0x13c]
cmp ax, 0x95
jle 0x687c14
cmp ax, 0x9f
jge 0x687c14
cmp byte [esi + 0x7f5], bl
jne 0x687c14
mov byte [esi + 0x7f5], 1
movzx eax, word [esi + 0x13c]
cmp ax, 0x95
jle 0x687b54
cmp ax, 0x9a
jge 0x687b54
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85e368]
movsx edx, al
push ebx
imul edx, edx, 0x47
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ebx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3e6
call fcn.0046eb30
movzx eax, word [esi + 0x13c]
cmp ax, 0x99
jle 0x687bb8
cmp ax, 0x9e
jge 0x687bb8
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c1e8]
push ebx
push ebx
push edi
push eax
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
movsx eax, al
imul eax, eax, 0x3a
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3e6
call fcn.0046eb30
cmp word [esi + 0x13c], 0x9e
jne 0x687c14
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c5b0]
movsx ecx, al
push ebx
imul ecx, ecx, 0x2b
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ebx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], ecx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3e6
call fcn.0046eb30
cmp word [esi + 0x196], bx
jne 0x699e45
mov edx, dword [esi + 0x170]
cmp word [edx + 0x4a8], bx
jne 0x699e45
movsx eax, word [esi + 0x13c]
cmp eax, 0x12c
jg 0x68ac04
je case.0x68ac2c.330
cmp eax, 0xe2
ja case.0x699798.782
movzx eax, byte [eax + 0x699ed4]
jmp dword [eax*4 + 0x699e50]
mov ecx, esi
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x44
jp 0x687c81
mov byte [esi + 0x49a], bl
cmp byte [esi + 0x49a], bl
jne 0x687ca1
fstp st(0)
mov ecx, esi
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 0x687ce2
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 0x687ce2
mov ecx, esi
fstp st(0)
call fcn.004636b0
fldz
mov byte [esi + 0x49a], bl
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x69995e
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 0x699960
mov ecx, esi
call fcn.004636b0
mov ecx, esi
mov byte [esi + 0x49a], bl
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp byte [esi + 0x49a], bl
jne 0x687d51
mov ecx, esi
call fcn.004636b0
jmp 0x687dd5
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x687d94
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 0x687d94
mov ecx, esi
fstp st(0)
call fcn.004636b0
fldz
mov byte [esi + 0x49a], bl
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x687dd3
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 0x687dd5
mov ecx, esi
call fcn.004636b0
mov byte [esi + 0x49a], bl
jmp 0x687dd5
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
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
call fcn.00487ca0
cmp byte [esi + 0x49a], bl
je 0x687c8b
fldz
jmp 0x687ca1
mov ecx, esi
call fcn.00487ca0
cmp byte [esi + 0x49a], bl
jne 0x687e39
mov ecx, esi
call fcn.004636b0
jmp 0x687ebd
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x687e7c
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 0x687e7c
mov ecx, esi
fstp st(0)
call fcn.004636b0
fldz
mov byte [esi + 0x49a], bl
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x687ebb
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 0x687ebd
mov ecx, esi
call fcn.004636b0
mov byte [esi + 0x49a], bl
jmp 0x687ebd
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
mov edx, dword [esi]
mov eax, dword [edx + 8]
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.00487ca0
fld dword [0x85abe4]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
mov ecx, esi
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
fld dword [0x85b85c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
mov ecx, esi
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bx
jne 0x687f68
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bx
jne 0x687f68
cmp byte [esi + 0x49a], bl
jne 0x687f61
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], bx
jle 0x687f8b
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x688173
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fldz
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x858830]
fstp dword [esi + 0xf8]
fld dword [0x85bc68]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bx
jne 0x688027
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bx
jne 0x688027
cmp byte [esi + 0x49a], bl
jne 0x688020
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], bx
jle 0x68804a
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x688173
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x85ad0c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85c22c]
jmp 0x687fd8
cmp word [esi + 0x13e], bx
jne 0x6880cf
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bx
jne 0x6880cf
cmp byte [esi + 0x49a], bl
jne 0x6880c8
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], bx
jle 0x6880f2
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x688173
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x85e364]
jmp 0x68808a
fldz
fcomp dword [esi + 0x100]
fnstsw ax
test ah, 0x44
jp 0x688152
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 0x699960
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
mov ecx, esi
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
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x699e45
cmp dword [esi + 0x758], ebx
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
jne 0x6881d1
push ebx
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
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x6881ef
cmp ax, 2
jne 0x6881f6
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jne 0x688222
cmp dword [esi + 0x144], 0x28
jl 0x688222
mov ecx, esi
call fcn.004636b0
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
call fcn.00438c60
test al, al
je 0x68826f
cmp byte [esi + 0x7cc], 2
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
jne 0x68825a
push 0x2bc
call eax
mov word [esi + 0x51c], bp
mov word [esi + 0x520], bp
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call eax
cmp dword [esi + 0x758], ebx
jle 0x68826f
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], 2
jne 0x6882cf
cmp word [esi + 0x140], bp
jne 0x6882cf
cmp word [esi + 0x142], bx
jne 0x6882cf
fld dword [esi + 0xec]
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x6882ad
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 0x6882cf
mov byte [esi + 0x104], 1
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x85c230]
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, bx
je 0x688328
cmp ax, 2
jne 0x68832f
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jne 0x68835b
cmp dword [esi + 0x144], 0x28
jl 0x68835b
mov ecx, esi
call fcn.004636b0
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
mov ecx, esi
call fcn.00438c60
test al, al
je 0x6883a8
cmp byte [esi + 0x7cc], 2
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
jne 0x688393
push 0x2bc
call edx
mov word [esi + 0x51c], bp
mov word [esi + 0x520], bp
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
call edx
cmp dword [esi + 0x758], ebx
jle 0x6883a8
mov eax, dword [esi]
mov edx, dword [eax + 8]
push edi
mov ecx, esi
call edx
cmp word [esi + 0x13e], 2
jne 0x688408
cmp word [esi + 0x140], bp
jne 0x688408
cmp word [esi + 0x142], bx
jne 0x688408
mov eax, dword [esi + 0x170]
fld dword [esi + 0xec]
fld dword [eax + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x6883e6
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 0x688408
mov byte [esi + 0x104], 1
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x85b9c4]
fstp dword [esi + 0xf4]
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
je 0x68848a
cmp byte [esi + 0x7cc], 2
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
je 0x68823d
push ebx
call eax
cmp dword [esi + 0x758], ebx
jle 0x68848a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x140], 5
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
fld dword [esi + 0xec]
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x6884d4
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 0x699e45
mov byte [esi + 0x104], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x89c], 0
mov ebx, 2
jle 0x688518
mov word [esi + 0x51c], bx
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x49a], 1
call fcn.00438c60
cmp word [esi + 0x13e], di
jne 0x688655
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x6885d4
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push edi
push edx
fstp qword [esp + 0x20]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x688589
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x6885bb
fadd dword [0x871554]
fsubr qword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
cmp dword [esi + 0x758], 0
jge 0x688614
movsx edx, byte [esi + 0x104]
imul edx, dword [esi + 0x754]
mov eax, dword [esi]
test edx, edx
mov edx, dword [eax + 8]
mov ecx, esi
jle 0x688605
push 0xd4
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0xd3
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
add word [esi + 0x7d0], di
movsx ecx, byte [esi + 0x104]
imul ecx, dword [esi + 0x754]
test ecx, ecx
movzx eax, word [esi + 0x7d0]
jg 0x688639
cmp ax, di
jg 0x68863f
cmp ax, 0x2d
jle 0x688655
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xcc
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
fld dword [0x85bdb8]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857938]
push edi
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
lea ecx, [eax + eax*4]
sub esp, 8
shl ecx, 4
mov dword [esp + 0x20], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857938]
movzx edx, byte [esi + 0x104]
push edi
push edx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
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
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x89c], bx
jle 0x688740
cmp word [esi + 0x13e], bp
jge 0x688740
mov word [esi + 0x51c], 2
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x688751
cmp ax, bp
jne 0x688758
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bp
fldz
jne 0x68878e
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 0x68878e
fstp dword [esi + 0xf4]
jmp 0x688790
fstp st(0)
mov ecx, esi
call fcn.00463530
test al, al
jne 0x68883b
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x68883b
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push edi
fstp qword [esp + 0x1c]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x6887f0
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x688822
fadd dword [0x871554]
fsubr qword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
cmp word [esi + 0x13e], bp
jge 0x688888
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x688888
fldz
mov ecx, esi
fstp dword [esi + 0xf8]
call fcn.004397f0
fstp dword [esi + 0xf0]
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
mov ecx, esi
call fcn.00438c60
test al, al
je 0x6888ad
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
fldz
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x85c8b0]
add word [esi + 0x7d0], di
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x867860]
fstp dword [esi + 0xf8]
push edi
fld dword [0x8677a8]
fstp dword [esi + 0x100]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x857938]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
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 edi
fstp dword [esp + 0x14]
mov ecx, esi
fld dword [esp + 0x14]
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
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x6889d5
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 + 0x89c], 0
mov ebx, 2
jle 0x6889eb
mov word [esi + 0x51c], bx
movzx eax, word [esi + 0x13e]
cmp ax, di
je 0x688a00
cmp ax, bx
jne 0x688a9a
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x688a9a
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push edi
push edx
fstp qword [esp + 0x20]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x688a4f
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x688a81
fadd dword [0x871554]
fsubr qword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
cmp word [esi + 0x13e], 0
jne 0x688b8a
cmp word [esi + 0x142], 0
jne 0x688b8a
cmp word [esi + 0x140], bx
jne 0x688b8a
fld dword [0x85bc44]
push ecx
mov ecx, esi
fstp dword [esp]
mov word [esi + 0x7d0], 0
call fcn.00487740
fld dword [0x871538]
fstp dword [esi + 0xf8]
push edi
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 + 0x18]
lea edx, [eax + eax*4]
fld dword [esp + 0x18]
sub esp, 8
shl edx, 4
mov dword [esp + 0x20], edx
fstp dword [esp + 4]
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x85bc50]
movzx eax, byte [esi + 0x104]
push edi
push eax
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
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], 0
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 0
jne 0x699e45
cmp word [esi + 0x13e], bx
jne 0x699e45
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 0x688c13
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 + 0x89c], 0
mov ebx, 2
jle 0x688c29
mov word [esi + 0x51c], bx
cmp word [esi + 0x13e], bp
jge 0x688cd2
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x688cd2
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push edi
fstp qword [esp + 0x1c]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x688c87
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x688cb9
fadd dword [0x871554]
fsubr qword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
cmp word [esi + 0x13e], 0
jne 0x688da4
cmp word [esi + 0x142], 0
jne 0x688da4
cmp word [esi + 0x140], bx
jne 0x688da4
fld dword [0x85c8ac]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x871538]
fstp dword [esi + 0xf8]
push edi
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 + 0x14]
fld dword [esp + 0x14]
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 edi
fstp dword [esp + 0x14]
mov ecx, esi
fld dword [esp + 0x14]
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], 0
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 0
jne 0x699e45
cmp word [esi + 0x13e], bx
jne 0x699e45
mov ecx, esi
call fcn.00487c20
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 + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x688e25
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], bl
jmp 0x688e27
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x699e45
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
mov byte [esi + 0x49a], bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bx
jne 0x688e5e
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x688e77
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
jmp 0x68817c
call fcn.00463530
test al, al
mov ecx, 2
jne 0x688e94
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x688eab
cmp word [esi + 0x89c], bx
jle 0x688ea4
mov word [esi + 0x51c], cx
mov word [esi + 0x522], cx
cmp word [esi + 0x13e], bx
jle 0x688ee9
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 0x688ee7
fstp dword [esi + 0xf8]
jmp 0x688ee9
fstp st(0)
cmp word [esi + 0x13e], di
jne 0x688f0f
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x688f0f
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ecx
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fldz
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85bb28]
fstp dword [esi + 0xf8]
push edi
fld dword [0x8677a8]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], bl
movzx ecx, byte [esi + 0x104]
push ecx
fld dword [esi + 0xf0]
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 word [esi + 0x13e], bx
jne 0x688fb4
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x688e6b
call fcn.00463530
test al, al
mov ecx, 2
jne 0x688fe2
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x688ff9
cmp word [esi + 0x89c], bx
jle 0x688ff2
mov word [esi + 0x51c], cx
mov word [esi + 0x522], cx
cmp word [esi + 0x13e], bx
jle 0x689037
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 0x689035
fstp dword [esi + 0xf8]
jmp 0x689037
fstp st(0)
cmp word [esi + 0x13e], di
jne 0x68905d
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x68905d
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ecx
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x85882c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85b3b0]
jmp 0x688f5c
cmp word [esi + 0x13e], bx
jne 0x6890c3
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x688e6b
call fcn.00463530
test al, al
mov ecx, 2
jne 0x6890f1
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x689108
cmp word [esi + 0x89c], bx
jle 0x689101
mov word [esi + 0x51c], cx
mov word [esi + 0x522], cx
cmp word [esi + 0x13e], bx
jle 0x689146
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 0x689144
fstp dword [esi + 0xf8]
jmp 0x689146
fstp st(0)
cmp word [esi + 0x13e], di
jne 0x68916c
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x68916c
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ecx
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x85d150]
jmp 0x68909d
cmp word [esi + 0x13e], bx
jne 0x6891c1
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x688e6b
call fcn.00463530
test al, al
mov ecx, 2
jne 0x6891ef
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x689206
cmp word [esi + 0x89c], bx
jle 0x6891ff
mov word [esi + 0x51c], cx
mov word [esi + 0x522], cx
cmp word [esi + 0x13e], bx
jle 0x689244
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 0x689242
fstp dword [esi + 0xf8]
jmp 0x689244
fstp st(0)
cmp word [esi + 0x13e], di
jne 0x68926a
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x68926a
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ecx
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x8589f0]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85b9d0]
jmp 0x688f5c
cmp word [esi + 0x13e], bx
jne 0x6892d0
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x688e6b
call fcn.00463530
test al, al
mov ecx, 2
jne 0x6892fe
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x689315
cmp word [esi + 0x89c], bx
jle 0x68930e
mov word [esi + 0x51c], cx
mov word [esi + 0x522], cx
cmp word [esi + 0x13e], bx
jle 0x689353
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 0x689351
fstp dword [esi + 0xf8]
jmp 0x689353
fstp st(0)
cmp word [esi + 0x13e], di
jne 0x689379
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x689379
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ecx
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x867810]
jmp 0x68909d
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x68c022
cmp dword [esi + 0x144], ebx
jne 0x689477
cmp word [esi + 0x142], bx
jne 0x689477
cmp word [esi + 0x140], bx
jne 0x689477
cmp word [esi + 0x13e], di
jne 0x689477
push 0x1f
mov ecx, esi
call fcn.00439490
fld dword [0x85b988]
fcomp dword [esi + 0x7e0]
fnstsw ax
test ah, 0x41
jnp 0x689464
fld dword [0x85b994]
fcomp dword [esi + 0x7e0]
fnstsw ax
test ah, 1
je 0x689464
fld dword [0x85b98c]
fcomp dword [esi + 0x7e0]
fnstsw ax
test ah, 5
jnp 0x689451
fld dword [0x85b998]
fcomp dword [esi + 0x7e0]
fnstsw ax
test ah, 0x41
jne 0x689477
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 edx, dword [esi]
mov eax, dword [edx + 0xc]
push 6
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], 0
mov ebx, 5
jne 0x6894ad
cmp word [esi + 0x142], 0
jne 0x6894ad
cmp word [esi + 0x140], 0
jne 0x6894ad
cmp word [esi + 0x13e], 9
jne 0x6894ad
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
test eax, eax
mov ebp, 0xa
jne 0x6894ff
cmp word [esi + 0x142], ax
jne 0x6894db
cmp word [esi + 0x140], ax
jne 0x6894db
cmp word [esi + 0x13e], bp
je 0x68c022
test eax, eax
jne 0x6894ff
cmp word [esi + 0x142], ax
jne 0x6894ff
cmp word [esi + 0x140], ax
jne 0x6894ff
cmp word [esi + 0x13e], 0xb
je 0x68c022
mov eax, dword [esi + 0x758]
movsx ecx, byte [esi + 0x104]
test eax, eax
mov eax, dword [esi + 0x754]
jle 0x689540
imul eax, ecx
test eax, eax
jle 0x689528
mov word [esi + 0x7d2], 0xffd3
jmp 0x689589
xor edx, edx
test eax, eax
setge dl
sub edx, edi
and edx, 0xffffffd3
add edx, 0xffffffa6
mov word [esi + 0x7d2], dx
jmp 0x689589
jge 0x68956c
imul eax, ecx
test eax, eax
jle 0x689554
mov word [esi + 0x7d2], 0x2d
jmp 0x689589
xor edx, edx
test eax, eax
setge dl
sub edx, edi
and edx, 0x2d
add edx, 0x5a
mov word [esi + 0x7d2], dx
jmp 0x689589
imul eax, ecx
test eax, eax
jle 0x68957e
mov word [esi + 0x7d2], 0
jmp 0x689589
jge 0x689589
mov word [esi + 0x7d2], 0xb4
movzx eax, word [esi + 0x13e]
cmp ax, 9
je 0x6895b6
cmp ax, bp
je 0x6895b6
cmp ax, 0xb
je 0x6895b6
cmp word [esi + 0x89c], 0
jle 0x6895c8
mov word [esi + 0x51c], 2
jmp 0x6895c8
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
test ax, ax
jle 0x689c0e
cmp ax, 9
jge 0x689c0e
add word [esi + 0x7d6], di
fld dword [esi + 0x7e0]
call fcn.00820230
movzx ecx, word [esi + 0x7d2]
sub cx, ax
cmp cx, 0xb4
mov word [esi + 0x7d4], cx
jle 0x689619
add ecx, 0xfffffe98
mov word [esi + 0x7d4], cx
movzx eax, word [esi + 0x7d4]
cmp ax, 0xff4c
jge 0x689632
add eax, 0x168
mov word [esi + 0x7d4], ax
fld dword [0x87153c]
fcomp dword [esi + 0x7e0]
fnstsw ax
fld qword [0x8581e8]
test ah, 5
jp 0x689659
fld dword [esi + 0x7e0]
fsub st(1)
fstp dword [esi + 0x7e0]
fld dword [0x85ba18]
fcomp dword [esi + 0x7e0]
fnstsw ax
test ah, 0x41
jne 0x68967a
fadd dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x68967c
fstp st(0)
cmp word [esi + 0x7d4], 0
fld qword [0x85abe8]
fld qword [0x857f80]
jle 0x6896b5
cmp dword [esi + 0x52c], 0
fld dword [esi + 0x7e0]
jne 0x6896a5
fadd st(1)
jmp 0x6896a7
fadd st(2)
fstp dword [esi + 0x7e0]
cmp word [esi + 0x7d4], 0
jge 0x6896e0
cmp dword [esi + 0x52c], 0
jne 0x6896d0
fstp st(1)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x6896e4
fstp st(0)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x6896e4
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 + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf8]
fld dword [0x85bc40]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jp 0x68974c
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x68974c
fstp dword [esi + 0xf8]
jmp 0x68974e
fstp st(0)
cmp dword [esi + 0x52c], 0
mov edi, 8
push 1
mov ecx, esi
jne 0x689764
push 4
jmp 0x689765
push edi
call fcn.0047a9e0
movzx ecx, word [esi + 0x13e]
cmp cx, 1
je 0x68977d
cmp cx, 2
jne 0x6897ab
fld dword [esi + 0x7e0]
fcomp qword [0x858ef0]
fnstsw ax
test ah, 0x41
je 0x689bfb
fld dword [esi + 0x7e0]
fcomp qword [0x85c860]
fnstsw ax
test ah, 5
jnp 0x689bfb
cmp cx, 4
je 0x6897b6
cmp cx, bx
jne 0x68981d
fld dword [0x85b98c]
fcomp dword [esi + 0x7e0]
fnstsw ax
test ah, 1
jne 0x6897ef
fld dword [0x85b998]
fcomp dword [esi + 0x7e0]
fnstsw ax
test ah, 0x41
jp 0x6897ef
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 1
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [0x85b988]
fcomp dword [esi + 0x7e0]
fnstsw ax
test ah, 0x41
jnp 0x689be8
fld dword [0x85b994]
fcomp dword [esi + 0x7e0]
fnstsw ax
test ah, 1
je 0x689be8
cmp cx, 6
je 0x689829
cmp cx, 7
jne 0x689853
fld dword [esi + 0x7e0]
fcomp qword [0x85b900]
fnstsw ax
test ah, 5
jp 0x689853
fld dword [esi + 0x7e0]
fcomp qword [0x85c088]
fnstsw ax
test ah, 0x41
je 0x697eab
mov eax, dword [esi + 0x768]
test eax, eax
jne 0x689866
cmp word [esi + 0x7d6], bp
jg 0x689874
cmp word [esi + 0x49e], 0
jg 0x689c0e
test eax, eax
jne 0x689881
cmp word [esi + 0x7d6], bp
jg 0x68988f
cmp word [esi + 0x49e], 0
jg 0x689c0e
cmp cx, 1
je 0x68989b
cmp cx, 2
jne 0x689917
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
push 9
jne 0x6898e3
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x6898da
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xf4]
fchs
fstp dword [esi + 0xf4]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
call eax
jmp 0x689917
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x68990e
neg cl
mov byte [esi + 0x104], cl
fld dword [esi + 0xf4]
fchs
fstp dword [esi + 0xf4]
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 3
jne 0x6899c3
mov ax, word [esi + 0x140]
mov word [esi + 0x7d0], ax
fld dword [esi + 0xec]
mov cl, byte [esi + 0x104]
cmp cl, 1
push 9
jne 0x689988
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x6899ab
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xf4]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
fchs
fstp dword [esi + 0xf4]
call eax
movzx eax, word [esi + 0x7d0]
mov edx, dword [esi]
mov edx, dword [edx + 0x1c]
push eax
jmp 0x6899bf
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x6899a9
neg cl
mov byte [esi + 0x104], cl
mov ecx, esi
jmp 0x689964
mov ecx, esi
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
call edx
movzx ecx, word [esi + 0x7d0]
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
push ecx
mov ecx, esi
call edx
movzx eax, word [esi + 0x13e]
cmp ax, 4
je 0x6899d5
cmp ax, bx
jne 0x689a50
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
push ebp
jne 0x689a1c
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x689a13
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xf4]
fchs
fstp dword [esi + 0xf4]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
call eax
jmp 0x689a50
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x689a47
neg cl
mov byte [esi + 0x104], cl
fld dword [esi + 0xf4]
fchs
fstp dword [esi + 0xf4]
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
call edx
movzx eax, word [esi + 0x13e]
cmp ax, 6
je 0x689a63
cmp ax, 7
jne 0x689adf
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
push 0xb
jne 0x689aab
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x689aa2
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xf4]
fchs
fstp dword [esi + 0xf4]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
call eax
jmp 0x689adf
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x689ad6
neg cl
mov byte [esi + 0x104], cl
fld dword [esi + 0xf4]
fchs
fstp dword [esi + 0xf4]
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne 0x699e45
mov ax, word [esi + 0x140]
mov word [esi + 0x7d0], ax
fld dword [esi + 0xec]
mov cl, byte [esi + 0x104]
cmp cl, 1
push 0xb
jne 0x689b79
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x689b59
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xf4]
mov edx, dword [esi]
fchs
mov eax, dword [edx + 0xc]
fstp dword [esi + 0xf4]
call eax
movzx eax, word [esi + 0x7d0]
mov edx, dword [esi]
mov edx, dword [edx + 0x1c]
push eax
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]
call edx
movzx ecx, word [esi + 0x7d0]
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
push ecx
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x689bc6
neg cl
mov byte [esi + 0x104], cl
fld dword [esi + 0xf4]
mov edx, dword [esi]
fchs
mov eax, dword [edx + 0xc]
fstp dword [esi + 0xf4]
mov ecx, esi
call eax
movzx eax, word [esi + 0x7d0]
mov edx, dword [esi]
mov edx, dword [edx + 0x1c]
push eax
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]
mov ecx, esi
call edx
movzx ecx, word [esi + 0x7d0]
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
push ecx
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 eax, dword [esi]
mov edx, dword [eax + 0xc]
push 3
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 0x699e45
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
fst dword [esi + 0xf8]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], 9
jge 0x689c60
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 ebp
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
mov ecx, esi
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
fld qword [0x858820]
test ah, 5
jp 0x689cbe
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 0x689cbe
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x689cf6
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 0x689cf8
fstp dword [esi + 0xf4]
jmp 0x689cfa
fstp st(0)
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x699e45
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x68d35c
cmp dword [esi + 0x144], ebx
jne 0x689d7e
cmp word [esi + 0x142], bx
jne 0x689d56
cmp word [esi + 0x140], bx
jne 0x689d56
cmp word [esi + 0x13e], di
jne 0x689d56
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], ebx
jne 0x689d7e
cmp word [esi + 0x142], bx
jne 0x689d7e
cmp word [esi + 0x140], bx
jne 0x689d7e
cmp word [esi + 0x13e], 6
je 0x68d35c
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x10], ecx
sub esp, 8
fild dword [esp + 0x18]
fmulp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fadd qword [0x857b20]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409760
add esp, 8
call fcn.00820230
mov word [esi + 0x7d2], ax
movzx eax, word [esi + 0x13e]
mov ebx, 5
cmp ax, bx
je 0x689df8
cmp ax, 6
jne 0x689e0a
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
test ax, ax
jle 0x68a271
cmp ax, bx
jge 0x68a271
add word [esi + 0x7d6], di
fld dword [esi + 0x7e0]
call fcn.00820230
movzx ecx, word [esi + 0x7d2]
sub cx, ax
cmp cx, 0xb4
mov word [esi + 0x7d4], cx
jle 0x689e5a
add ecx, 0xfffffe98
mov word [esi + 0x7d4], cx
movzx eax, word [esi + 0x7d4]
cmp ax, 0xff4c
jge 0x689e73
add eax, 0x168
mov word [esi + 0x7d4], ax
cmp word [esi + 0x7d4], 0
fld1
fld qword [0x857f80]
jle 0x689ea8
cmp dword [esi + 0x52c], 0
fld dword [esi + 0x7e0]
jne 0x689e98
fadd st(1)
jmp 0x689e9a
fadd st(2)
fstp dword [esi + 0x7e0]
cmp word [esi + 0x7d4], 0
jge 0x689ed3
cmp dword [esi + 0x52c], 0
jne 0x689ec3
fstp st(1)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x689ed7
fstp st(0)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x689ed7
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 + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf8]
fld dword [0x85bc40]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jp 0x689f3f
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x689f3f
fstp dword [esi + 0xf8]
jmp 0x689f41
fstp st(0)
fld dword [esi + 0x7dc]
fadd qword [0x85a280]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0x7dc]
fld dword [0x86782c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x689f74
fstp dword [esi + 0x7dc]
jmp 0x689f76
fstp st(0)
cmp dword [esi + 0x52c], 0
mov ecx, esi
jne 0x689f86
push edi
push 4
jmp 0x689f8a
push 0x3c
push 8
call fcn.0047a9e0
fld dword [esi + 0x7e0]
fchs
fstp dword [esi + 0x12c]
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x689fbe
fld dword [esi + 0x7e0]
fsubr qword [0x871510]
fstp dword [esi + 0x12c]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x689fe2
cmp word [esi + 0x13e], di
jne 0x689fe2
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0xc]
push ebp
mov ecx, esi
call eax
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jp 0x68a006
cmp word [esi + 0x13e], bp
jne 0x68a006
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0xc]
push edi
mov ecx, esi
call eax
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x68a02c
cmp word [esi + 0x13e], 2
jne 0x68a02c
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 0x68a04e
cmp word [esi + 0x13e], 4
jne 0x68a04e
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
cdq
mov ecx, ebx
idiv ecx
cmp edx, edi
jne 0x68a0d2
movzx edx, byte [esi + 0x104]
fld dword [esi + 0x7e0]
push edi
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 + 0x1c]
fld dword [esp + 0x1c]
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 + 0x20], eax
mov ecx, esi
fild dword [esp + 0x20]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
mov eax, dword [esi + 0x768]
test eax, eax
mov ecx, 0x14
jne 0x68a0ea
cmp word [esi + 0x7d6], cx
jg 0x68a0f8
cmp word [esi + 0x49e], 0
jg 0x68a271
test eax, eax
jne 0x68a105
cmp word [esi + 0x7d6], cx
jg 0x68a113
cmp word [esi + 0x49e], 0
jg 0x68a271
lea ecx, [esi + 4]
call fcn.00438bb0
movzx eax, word [esi + 0x13e]
cmp ax, di
je 0x68a131
cmp ax, 2
jne 0x68a1bc
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
jne 0x68a183
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x68a179
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 0x68a1bc
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
call eax
jmp 0x68a1bc
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x68a1b2
neg cl
mov byte [esi + 0x104], cl
fld dword [esi + 0xf4]
fchs
push 6
fstp dword [esi + 0xf4]
jmp 0x68a1b3
push ebx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
call edx
movzx eax, word [esi + 0x13e]
cmp ax, bp
je 0x68a1d2
cmp ax, 4
jne 0x699e45
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
jne 0x68a230
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x68a21f
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xf4]
mov edx, dword [esi]
fchs
mov eax, dword [edx + 0xc]
fstp dword [esi + 0xf4]
push ebx
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 0x689be8
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 ebx
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 0x699e45
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
fst dword [esi + 0x100]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], bx
jl 0x689c42
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], bx
jne 0x68a2d2
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x68a2ed
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
call edx
jmp 0x68817e
call fcn.00463530
test al, al
mov ecx, 2
jne 0x68a30a
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x68a321
cmp word [esi + 0x89c], bx
jle 0x68a31a
mov word [esi + 0x51c], cx
mov word [esi + 0x522], cx
cmp word [esi + 0x13e], bx
jle 0x68a35f
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 0x68a35d
fstp dword [esi + 0xf8]
jmp 0x68a35f
fstp st(0)
cmp word [esi + 0x13e], di
jne 0x68a385
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x68a385
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ecx
mov ecx, esi
call edx
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fldz
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85bb28]
fstp dword [esi + 0xf8]
push edi
fld dword [0x8677a8]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], bl
movzx eax, byte [esi + 0x104]
push eax
jmp 0x688f7d
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x49a], 1
cmp word [esi + 0x89c], 0
mov ebx, 2
jle 0x68a41c
mov word [esi + 0x51c], bx
mov ecx, esi
call fcn.00438c60
cmp word [esi + 0x13e], di
jne 0x68a50c
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x68a4ca
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push edi
push edx
fstp qword [esp + 0x20]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x68a47f
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x68a4b1
fadd dword [0x871554]
fsubr qword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
add word [esi + 0x7d0], di
movsx edx, byte [esi + 0x104]
imul edx, dword [esi + 0x754]
test edx, edx
movzx eax, word [esi + 0x7d0]
jg 0x68a4f0
cmp ax, 0xb
jg 0x68a4f6
cmp ax, 0x2d
jle 0x68a50c
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
cmp word [esi + 0x13e], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
fld dword [0x85e360]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857938]
push edi
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
lea eax, [eax + eax*4]
sub esp, 8
shl eax, 4
mov dword [esp + 0x20], eax
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857938]
movzx ecx, byte [esi + 0x104]
push edi
push ecx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
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
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x89c], bx
jle 0x68a5f7
cmp word [esi + 0x13e], bp
jge 0x68a5f7
mov word [esi + 0x51c], 2
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x68a608
cmp ax, bp
jne 0x68a60f
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bp
fldz
jne 0x68a645
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 0x68a645
fstp dword [esi + 0xf4]
jmp 0x68a647
fstp st(0)
mov ecx, esi
call fcn.00463530
test al, al
jne 0x68a6f2
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x68a6f2
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push edi
fstp qword [esp + 0x1c]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x68a6a7
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x68a6d9
fadd dword [0x871554]
fsubr qword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
movzx eax, word [esi + 0x13e]
cmp ax, di
je 0x68a704
cmp ax, 2
jne 0x68a725
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x8677a0]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x688861
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x688893
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x85c8b0]
add word [esi + 0x7d0], di
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x867860]
fstp dword [esi + 0xf8]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x857938]
push edi
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
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 edi
fstp dword [esp + 0x14]
mov ecx, esi
fld dword [esp + 0x14]
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
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x6889ae
cmp word [esi + 0x89c], bx
jle 0x68a83f
mov word [esi + 0x51c], 2
cmp word [esi + 0x140], 7
jg 0x68a8e9
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x68a8e9
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push edi
fstp qword [esp + 0x1c]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x68a89e
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x68a8d0
fadd dword [0x871554]
fsubr qword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68a8ff
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x85c1bc]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85ad0c]
fstp dword [esi + 0xf8]
push edi
fld dword [0x85bc58]
fstp dword [esi + 0x100]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x85b900]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
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 edi
fstp dword [esp + 0x14]
mov ecx, esi
fld dword [esp + 0x14]
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
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x6889ae
cmp word [esi + 0x89c], 0
mov ebx, 2
jle 0x68aa13
mov word [esi + 0x51c], bx
cmp word [esi + 0x13e], bx
jne 0x68aaba
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x68aaba
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push edi
push edx
fstp qword [esp + 0x20]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x68aa6f
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x68aaa1
fadd dword [0x871554]
fsubr qword [esp + 0x24]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x68c022
cmp dword [esi + 0x144], 0
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x68abbf
cmp word [esi + 0x140], 0
jne 0x68abbf
cmp word [esi + 0x13e], di
jne 0x68abbf
fld dword [0x85bc44]
push ecx
mov ecx, esi
fstp dword [esp]
mov word [esi + 0x7d0], 0
call fcn.00487740
fld dword [0x871538]
fstp dword [esi + 0xf8]
push edi
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 + 0x18]
lea ecx, [eax + eax*4]
fld dword [esp + 0x18]
sub esp, 8
shl ecx, 4
mov dword [esp + 0x20], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x85bc50]
movzx edx, byte [esi + 0x104]
push edi
push edx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
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], 0
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 0
jne 0x699e45
cmp word [esi + 0x13e], bx
jne 0x699e45
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x208
jg 0x6906c7
je 0x6900bb
sub eax, 0x12d
cmp eax, 0xd2
ja case.0x699798.782
movzx eax, byte [eax + 0x69a04c]
jmp dword [eax*4 + 0x699fb8]
mov ecx, esi
call fcn.00487ca0
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x699e45
cmp byte [esi + 0x49a], bl
fldz
je 0x68ac85
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 0x68ac85
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], bl
jmp 0x68ac87
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68ac9c
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x699e45
fldz
push ebp
fst dword [esp + 0x4ec]
lea ecx, [esp + 0x4ec]
fstp dword [esp + 0x4f0]
push ecx
fld dword [0x85bca4]
push edi
fstp dword [esp + 0x4fc]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85dbf0]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax + eax*2]
fld dword [esp + 0x20]
sub esp, 8
shl edx, 5
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x383
call fcn.0046eb30
push 0x1b
mov ecx, esi
call fcn.00439490
mov byte [esi + 0x49a], bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x699e45
cmp byte [esi + 0x49a], bl
fldz
je 0x68ad96
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 0x68ad96
fst dword [esi + 0xf4]
mov byte [esi + 0x49a], bl
mov ebx, 4
cmp word [esi + 0x140], bx
jle 0x68adcf
fld dword [esi + 0xf4]
fsub qword [0x8581b8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x68adcf
fstp dword [esi + 0xf4]
jmp 0x68add1
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68ade7
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x68ae0a
fld dword [0x86782c]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
xor edi, edi
mov dword [esp + 0x18], edi
jmp 0x68ae30
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68ae4c
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x180]
fld dword [0x85b830]
fstp dword [esp + 0x184]
fld dword [0x8589f0]
fstp dword [esp + 0x188]
fldz
fld dword [esp + 0x180]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68aedc
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x68aede
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x184]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x9b
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68af1e
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x184]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x9b
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68ae30
fldz
push 3
fst dword [esp + 0x184]
lea eax, [esp + 0x184]
fstp dword [esp + 0x188]
push eax
fld dword [0x85bc44]
push 1
fstp dword [esp + 0x194]
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 0x383
call fcn.0046eb30
push 0x1c
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
call fcn.00487ca0
push edi
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x699e45
cmp dword [esi + 0x75c], ebx
jne 0x68afd0
mov byte [esi + 0x7f4], bl
cmp word [esi + 0x13e], bx
fldz
fld qword [0x85b848]
jne 0x68b013
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x68affe
fld dword [esi + 0xf4]
fsub st(2)
fstp dword [esi + 0xf4]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x68b011
fst dword [esi + 0xf4]
fxch st(1)
cmp word [esi + 0x13e], di
jne 0x68b054
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x68b03d
fld dword [esi + 0xf4]
fsubrp st(2)
fxch st(1)
fstp dword [esi + 0xf4]
jmp 0x68b03f
fstp st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x68b056
fstp dword [esi + 0xf4]
jmp 0x68b058
fstp st(1)
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68b06d
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x68b094
cmp word [esi + 0x142], bx
jne 0x68b094
cmp word [esi + 0x140], bx
jne 0x68b094
cmp word [esi + 0x13e], di
je 0x687ed9
cmp word [esi + 0x13e], bx
jne 0x68b2b6
cmp word [esi + 0x142], bx
jne 0x68b2b6
cmp word [esi + 0x140], bp
jne 0x68b128
cmp byte [esi + 0x7f4], bl
je 0x68b11c
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c538]
movsx ecx, al
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
imul ecx, ecx, 0xb
push edi
push eax
sub esp, 8
mov dword [esp + 0x20], ecx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [0x86782c]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], bx
jne 0x68b2b6
cmp word [esi + 0x140], 5
jne 0x68b2b6
push 0x1d
mov ecx, esi
call fcn.00439490
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68b16e
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x18c]
fld dword [0x85b830]
fstp dword [esp + 0x190]
fld dword [0x8589f0]
fstp dword [esp + 0x194]
fldz
fld dword [esp + 0x18c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68b1fb
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x68b1fd
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea edx, [esp + 0x190]
push edx
push 1
push eax
movsx eax, al
sub esp, 8
imul eax, eax, 0x7d
fstp dword [esp + 4]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68b23a
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x190]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x7d
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68b152
fldz
push 3
fst dword [esp + 0x190]
lea eax, [esp + 0x190]
fstp dword [esp + 0x194]
push eax
fld dword [0x85c22c]
push 1
fstp dword [esp + 0x1a0]
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 0x383
call fcn.0046eb30
mov edi, 1
xor ebx, ebx
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], di
jne 0x68b2e5
fld dword [0x858830]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x699e45
push 0x1d
mov ecx, esi
call fcn.00439490
xor edi, edi
mov dword [esp + 0x18], edi
mov edi, edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68b32c
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0xfc]
fld dword [0x85b830]
fstp dword [esp + 0x100]
fld dword [0x8589f0]
fstp dword [esp + 0x104]
fldz
fld dword [esp + 0xfc]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68b3b9
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x68b3bb
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea edx, [esp + 0x100]
push edx
push 1
push eax
movsx eax, al
sub esp, 8
imul eax, eax, 0x7d
fstp dword [esp + 4]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68b3f8
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x100]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x7d
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68b310
fldz
push 3
fst dword [esp + 0x100]
lea eax, [esp + 0x100]
fstp dword [esp + 0x104]
push eax
fld dword [0x85c22c]
push 1
fstp dword [esp + 0x110]
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 0x383
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x699e45
cmp byte [esi + 0x49a], bl
jle 0x68b4cb
fld dword [esi + 0xf4]
fsub qword [0x85b848]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x68b4c9
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], bl
jmp 0x68b4cb
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68b4e1
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 5
jne 0x699e45
push 0x1c
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.00487ca0
push edi
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x699e45
cmp dword [esi + 0x75c], ebx
jne 0x68b532
mov byte [esi + 0x7f4], bl
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 0x68b561
fstp dword [esi + 0xf4]
jmp 0x68b563
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68b579
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x68b5a0
cmp word [esi + 0x142], bx
jne 0x68b5a0
cmp word [esi + 0x140], bx
jne 0x68b5a0
cmp word [esi + 0x13e], di
je 0x687df1
cmp word [esi + 0x13e], bx
jne 0x68b6c0
movzx eax, word [esi + 0x142]
cmp ax, bx
jne 0x68b650
cmp word [esi + 0x140], bp
jne 0x68b62c
cmp byte [esi + 0x7f4], 1
jne 0x68b62c
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857940]
movsx ecx, al
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
imul ecx, ecx, 0xb
push edi
push eax
sub esp, 8
mov dword [esp + 0x20], ecx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp ax, bx
jne 0x68b650
cmp word [esi + 0x140], 4
jne 0x68b650
fld dword [0x85b3b0]
push 0x1d
mov ecx, esi
fstp dword [esi + 0xf4]
call fcn.00439490
cmp word [esi + 0x142], bx
jne 0x68b6c0
cmp word [esi + 0x140], 5
jne 0x68b6c0
fld dword [0x85bc30]
push ebp
fstp dword [esi + 0xf4]
lea edx, [esp + 0x588]
fldz
push edx
fst dword [esp + 0x58c]
push edi
fstp dword [esp + 0x594]
mov ecx, esi
fld dword [0x86782c]
fstp dword [esp + 0x598]
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 0x383
call fcn.0046eb30
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 2
jne 0x68b6f9
fld dword [0x85b830]
push 0x1d
mov ecx, esi
fstp dword [esi + 0xf4]
call fcn.00439490
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x699e45
fld dword [0x86782c]
xor edi, edi
fstp dword [esi + 0xf4]
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68b741
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x1a4]
fld dword [0x85b830]
fstp dword [esp + 0x1a8]
fld dword [0x8589f0]
fstp dword [esp + 0x1ac]
fldz
fld dword [esp + 0x1a4]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68b7d1
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x68b7d3
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x1a8]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x9b
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68b813
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x1a8]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x9b
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68b725
fldz
push 3
fst dword [esp + 0x1a8]
lea eax, [esp + 0x1a8]
fstp dword [esp + 0x1ac]
push eax
fld dword [0x86782c]
push 1
fstp dword [esp + 0x1b8]
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 0x383
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push edi
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x699e45
fldz
mov ebx, 4
cmp word [esi + 0x140], bx
jl 0x68b8e2
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 0x68b8e2
fstp dword [esi + 0xf4]
jmp 0x68b8e4
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68b8fa
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
push 0x1d
mov ecx, esi
call fcn.00439490
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68b940
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x114]
fld dword [0x85b830]
fstp dword [esp + 0x118]
fld dword [0x8589f0]
fstp dword [esp + 0x11c]
fldz
fld dword [esp + 0x114]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68b9d0
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x68b9d2
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x118]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x9b
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68ba12
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x118]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x9b
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68b924
fldz
push 3
fst dword [esp + 0x118]
lea eax, [esp + 0x118]
fstp dword [esp + 0x11c]
push eax
fld dword [0x85bc44]
push 1
fstp dword [esp + 0x128]
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 0x383
call fcn.0046eb30
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
mov ecx, esi
je 0x68bada
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
call eax
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
fst dword [esi + 0x100]
fstp dword [esi + 0xf8]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00438c60
test al, al
je 0x68baee
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
fldz
push ebp
fst dword [esp + 0x5a0]
lea ecx, [esp + 0x5a0]
fstp dword [esp + 0x5a4]
push ecx
fld dword [0x85bc44]
push edi
fstp dword [esp + 0x5b0]
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 0x383
call fcn.0046eb30
push 0x1c
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x75c], ebx
jne 0x68bb86
mov byte [esi + 0x7f4], bl
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x68a2df
call fcn.00438c60
test al, al
je 0x68bbbd
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x68bbe4
cmp word [esi + 0x142], bx
jne 0x68bbe4
cmp word [esi + 0x140], bx
jne 0x68bbe4
cmp word [esi + 0x13e], di
je 0x68d35c
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 2
jne 0x68bc2c
fld dword [0x871538]
fstp dword [esi + 0xf4]
fld dword [0x85b870]
fstp dword [esi + 0xf8]
fld dword [0x85aae8]
fstp dword [esi + 0x100]
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x68bc93
fldz
push ebp
fst dword [esp + 0x45c]
lea eax, [esp + 0x45c]
fstp dword [esp + 0x460]
push eax
fld dword [0x85882c]
push edi
fstp dword [esp + 0x46c]
movzx ecx, byte [esi + 0x104]
push ecx
fld dword [esi + 0xf0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x383
call fcn.0046eb30
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x68bcb3
push 0x1d
mov ecx, esi
call fcn.00439490
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 7
jne 0x699e45
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x75c], ebx
jne 0x68bcf0
mov byte [esi + 0x7f4], bl
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x688e6b
call fcn.00438c60
test al, al
je 0x68bd27
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x68bd4e
cmp word [esi + 0x142], bx
jne 0x68bd4e
cmp word [esi + 0x140], bx
jne 0x68bd4e
cmp word [esi + 0x13e], di
je 0x68c022
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x68bc93
fldz
push ebp
fst dword [esp + 0x324]
lea ecx, [esp + 0x324]
fstp dword [esp + 0x328]
push ecx
fld dword [0x867810]
push edi
fstp dword [esp + 0x334]
movzx edx, byte [esi + 0x104]
push edx
jmp 0x68bc71
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x68bdd6
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
mov ecx, esi
call edx
jmp 0x68817e
cmp word [esi + 0x13e], di
jne 0x68be8d
fld dword [esi + 0x7dc]
fmul qword [0x85a280]
fstp dword [esi + 0xf4]
fld dword [esi + 0x7dc]
fstp dword [esi + 0xf8]
fld dword [esi + 0x7dc]
fsub qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x7dc]
fld dword [0x867860]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68be34
fstp dword [esi + 0x7dc]
jmp 0x68be36
fstp st(0)
cmp byte [esi + 0x194], bl
jle 0x68be67
cmp dword [esi + 0x190], ebx
je 0x68be67
add word [esi + 0x7d0], di
movzx eax, word [esi + 0x7d0]
cmp ax, 4
jl 0x68be67
mov dword [esi + 0x190], ebx
mov word [esi + 0x7d0], bx
cmp dword [esi + 0x144], 0xf
jl 0x68be8d
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68bea3
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], di
jne 0x699e45
fld dword [0x85b3b0]
push 0x1d
fstp dword [esi + 0x7dc]
mov ecx, esi
fldz
fstp dword [esi + 0x100]
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
xor ebp, ebp
cmp dword [esi + 0x190], ebp
mov ebx, 5
je 0x68bf2a
add word [esi + 0x7d0], di
movzx eax, word [esi + 0x7d0]
cmp ax, bx
jle 0x68bf2a
mov dword [esi + 0x190], ebp
mov word [esi + 0x7d0], bp
cmp word [esi + 0x13e], di
jne 0x68bfc0
cmp dword [esi + 0x144], ebp
jne 0x68bf4b
fld dword [0x85b3b0]
fstp dword [esi + 0xf4]
mov eax, dword [esi + 0x144]
and eax, 0x80000007
jns 0x68bf5d
dec eax
or eax, 0xfffffff8
inc eax
jne 0x68bf68
push 0x1b
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x190], ebp
je 0x68bf90
add word [esi + 0x7d0], di
movzx eax, word [esi + 0x7d0]
cmp ax, bx
jle 0x68bf90
mov dword [esi + 0x190], ebp
mov word [esi + 0x7d0], bp
cmp dword [esi + 0x144], 0x1e
jle 0x68bfc0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [0x85bca4]
fstp dword [esi + 0xf8]
fld dword [esi + 0xf4]
fmul qword [0x8677a0]
fstp dword [esi + 0xf4]
cmp word [esi + 0x13e], 2
jne 0x68c037
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp qword [esp + 0x10]
call fcn.004397f0
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 1
jne 0x68c037
fldz
fcom dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x68c035
mov ecx, esi
fstp dword [esi + 0xf8]
call fcn.004397f0
fstp dword [esi + 0xf0]
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
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x699e45
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
call fcn.00487ca0
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x699e45
cmp word [esi + 0x140], di
jle 0x68c0aa
fld dword [esi + 0xf4]
fsub qword [0x859910]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x68c0a8
fstp dword [esi + 0xf4]
jmp 0x68c0aa
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68c0bf
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 5
jne 0x699e45
push 0x1c
mov ecx, esi
call fcn.00439490
mov byte [esi + 0x49a], bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x699e45
cmp word [esi + 0x140], bp
jle 0x68c142
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 0x68c140
fstp dword [esi + 0xf4]
jmp 0x68c142
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68c157
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x142], bx
jne 0x68c179
cmp word [esi + 0x140], 5
jne 0x68c179
push 0x1c
mov ecx, esi
call fcn.00439490
mov byte [esi + 0x49a], bl
cmp word [esi + 0x140], 7
jne 0x699e45
cmp dword [esi + 0x75c], ebx
jbe 0x699e45
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x142
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
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x699e45
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 0x68c1ef
fstp dword [esi + 0xf4]
jmp 0x68c1f1
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68c206
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x699e45
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
call fcn.00487ca0
push edi
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x699e45
fldz
mov ebx, 5
cmp word [esi + 0x140], bx
jle 0x68c282
fld dword [esi + 0xf4]
fsub qword [0x857f80]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test bl, ah
jp 0x68c282
fstp dword [esi + 0xf4]
jmp 0x68c284
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68c29a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x68c2cd
push 0x1d
mov ecx, esi
call fcn.00439490
fld dword [0x85b3b0]
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 6
jne 0x68c35d
fldz
push ebp
fst dword [esp + 0x504]
lea ecx, [esp + 0x504]
fstp dword [esp + 0x508]
push ecx
fld dword [0x85b870]
push edi
fstp dword [esp + 0x514]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85e368]
movsx edx, al
imul edx, edx, 0xa6
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x383
call fcn.0046eb30
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 7
jne 0x699e45
fldz
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], ebx
jne 0x68c39e
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68c3b3
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x68c3da
cmp word [esi + 0x142], bx
jne 0x68c3da
cmp word [esi + 0x140], bx
jne 0x68c3da
cmp word [esi + 0x13e], di
je 0x689d09
cmp word [esi + 0x13e], bx
jne 0x68c53e
cmp word [esi + 0x142], bx
jne 0x68c53e
cmp word [esi + 0x140], 4
jne 0x68c462
cmp byte [esi + 0x7f4], bl
je 0x68c462
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85b408]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub esp, 8
sub ecx, eax
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x142], bx
jne 0x68c53e
cmp word [esi + 0x140], 7
jne 0x68c53e
push 0
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
fld dword [0x867810]
mov dword [esi + 0x190], edi
fstp dword [esp + 0x33c]
fldz
xor edi, edi
fstp dword [esp + 0x340]
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
push 3
lea ecx, [esp + 0x33c]
push ecx
fsubr qword [0x858990]
push 1
mov ecx, esi
fstp dword [esp + 0x344]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c420]
movsx eax, al
mov edx, eax
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
shl edx, 4
sub edx, eax
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add edi, 0x14
cmp edi, 0x64
mov dword [esp + 0x18], edi
jl 0x68c4bf
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x699e45
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 0
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x867810]
fstp dword [esp + 0x474]
xor edi, edi
fldz
mov dword [esp + 0x18], edi
fstp dword [esp + 0x478]
fild dword [esp + 0x18]
push 3
lea ecx, [esp + 0x474]
push ecx
fsubr qword [0x858ef0]
push 1
mov ecx, esi
fstp dword [esp + 0x47c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c420]
movsx eax, al
mov edx, eax
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
shl edx, 4
sub edx, eax
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add edi, 0xf
cmp edi, 0x87
mov dword [esp + 0x18], edi
jl 0x68c5ad
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], ebx
jne 0x68c650
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68c665
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x68c68c
cmp word [esi + 0x142], bx
jne 0x68c68c
cmp word [esi + 0x140], bx
jne 0x68c68c
cmp word [esi + 0x13e], di
je 0x689d09
cmp word [esi + 0x13e], bx
jne 0x68c7f0
cmp word [esi + 0x142], bx
jne 0x68c7f0
cmp word [esi + 0x140], 4
jne 0x68c714
cmp byte [esi + 0x7f4], bl
je 0x68c714
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85b408]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub esp, 8
sub ecx, eax
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x142], bx
jne 0x68c7f0
cmp word [esi + 0x140], 7
jne 0x68c7f0
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
push 0
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x867810]
fstp dword [esp + 0x354]
xor edi, edi
fldz
mov dword [esp + 0x18], edi
fstp dword [esp + 0x358]
fild dword [esp + 0x18]
push 3
lea ecx, [esp + 0x354]
push ecx
fsubr qword [0x858990]
push 1
mov ecx, esi
fstp dword [esp + 0x35c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c420]
movsx eax, al
mov edx, eax
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
shl edx, 4
sub edx, eax
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add edi, 0x14
cmp edi, 0x64
mov dword [esp + 0x18], edi
jl 0x68c771
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x699e45
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 0
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x867810]
fstp dword [esp + 0x57c]
xor edi, edi
fldz
mov dword [esp + 0x18], edi
fstp dword [esp + 0x580]
fild dword [esp + 0x18]
push 3
lea ecx, [esp + 0x57c]
push ecx
fsubr qword [0x858ef0]
push 1
mov ecx, esi
fstp dword [esp + 0x584]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c420]
movsx eax, al
mov edx, eax
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
shl edx, 4
sub edx, eax
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add edi, 0xf
cmp edi, 0x87
mov dword [esp + 0x18], edi
jl 0x68c85f
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], ebx
jne 0x68c902
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68c918
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 2
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x68c94e
cmp word [esi + 0x142], bx
jne 0x68c94e
cmp word [esi + 0x140], bx
jne 0x68c94e
cmp word [esi + 0x13e], di
jne 0x68c94e
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
cmp word [esi + 0x13e], bx
jne 0x68caaa
cmp word [esi + 0x142], bx
jne 0x68caaa
cmp word [esi + 0x140], 4
jne 0x68c9d6
cmp byte [esi + 0x7f4], bl
je 0x68c9d6
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85bc28]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub esp, 8
sub ecx, eax
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x142], bx
jne 0x68caaa
cmp word [esi + 0x140], 7
jne 0x68caaa
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
push 0
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x867810]
fstp dword [esp + 0x36c]
xor edi, edi
fldz
mov dword [esp + 0x18], edi
fstp dword [esp + 0x370]
fild dword [esp + 0x18]
push 3
lea ecx, [esp + 0x36c]
push ecx
fsubr qword [0x858010]
push 1
mov ecx, esi
fstp dword [esp + 0x374]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d8]
imul edx, edx, 0x37
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add edi, 0xc
cmp edi, 0x24
mov dword [esp + 0x18], edi
jl 0x68ca33
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x699e45
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 0
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x867810]
fstp dword [esp + 0x48c]
xor edi, edi
fldz
mov dword [esp + 0x18], edi
fstp dword [esp + 0x490]
lea ebp, [edi + 0xa]
fild dword [esp + 0x18]
push 3
lea ecx, [esp + 0x48c]
push ecx
fsubr qword [0x871520]
push 1
mov ecx, esi
fstp dword [esp + 0x494]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d8]
imul edx, edx, 0x37
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add edi, ebp
cmp edi, 0x32
mov dword [esp + 0x18], edi
jl 0x68cb1c
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 2
cmp word [esi + 0x13e], bx
jne 0x68cbaf
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], 0
jne 0x68cbbf
mov byte [esi + 0x7f4], 0
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], bx
jge 0x68cbf4
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x68cbf4
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebx
mov ecx, esi
call edx
jmp 0x68817e
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68cc0a
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 0x68cc56
cmp word [esi + 0x142], ax
jne 0x68cc33
cmp word [esi + 0x140], ax
jne 0x68cc33
cmp word [esi + 0x13e], di
je 0x68d35c
test eax, eax
jne 0x68cc56
cmp word [esi + 0x142], ax
jne 0x68cc56
cmp word [esi + 0x140], ax
jne 0x68cc56
cmp word [esi + 0x13e], bx
je 0x68d35c
cmp word [esi + 0x13e], 0
jne 0x68cdd6
cmp word [esi + 0x142], 0
jne 0x68cdd6
cmp word [esi + 0x140], 4
jne 0x68cce1
cmp byte [esi + 0x7f4], 0
je 0x68cce1
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85bbf0]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub esp, 8
sub ecx, eax
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x68cdd6
cmp word [esi + 0x140], 7
jne 0x68cdb6
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
push 0
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x867810]
fstp dword [esp + 0x384]
xor edi, edi
fldz
mov dword [esp + 0x18], edi
fstp dword [esp + 0x388]
fild dword [esp + 0x18]
push 3
lea ecx, [esp + 0x384]
push ecx
fsubr qword [0x858990]
push 1
mov ecx, esi
fstp dword [esp + 0x38c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85ba58]
imul edx, edx, 0x34
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add edi, 0x14
cmp edi, 0x64
mov dword [esp + 0x18], edi
jl 0x68cd3f
cmp word [esi + 0x142], 0
jne 0x68cdd6
cmp word [esi + 0x140], 0xe
jne 0x68cdd6
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], 1
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x68cec0
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 0
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00464980
fld dword [0x867810]
fstp dword [esp + 0x51c]
xor edi, edi
fldz
mov dword [esp + 0x18], edi
fstp dword [esp + 0x520]
fild dword [esp + 0x18]
push 3
lea ecx, [esp + 0x51c]
push ecx
fsubr qword [0x858ef0]
push 1
mov ecx, esi
fstp dword [esp + 0x524]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85ba58]
imul edx, edx, 0x34
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add edi, 0xf
cmp edi, 0x87
mov dword [esp + 0x18], edi
jl 0x68ce46
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 0xb
jne 0x699e45
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 2
cmp word [esi + 0x13e], bx
jne 0x68cf05
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], 0
jne 0x68cf15
mov byte [esi + 0x7f4], 0
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], bx
jge 0x68cf3f
mov ecx, esi
call fcn.00487ea0
test al, al
jne 0x68cbe5
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68cf55
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 0x68cfa1
cmp word [esi + 0x142], ax
jne 0x68cf7e
cmp word [esi + 0x140], ax
jne 0x68cf7e
cmp word [esi + 0x13e], di
je 0x68d35c
test eax, eax
jne 0x68cfa1
cmp word [esi + 0x142], ax
jne 0x68cfa1
cmp word [esi + 0x140], ax
jne 0x68cfa1
cmp word [esi + 0x13e], bx
je 0x68d35c
cmp word [esi + 0x13e], 0
jne 0x68d121
cmp word [esi + 0x142], 0
jne 0x68d121
cmp word [esi + 0x140], 4
jne 0x68d02c
cmp byte [esi + 0x7f4], 0
je 0x68d02c
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85bbf0]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub esp, 8
sub ecx, eax
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x68d121
cmp word [esi + 0x140], 7
jne 0x68d101
push 0
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
fld dword [0x867810]
mov dword [esi + 0x190], edi
fstp dword [esp + 0x39c]
fldz
xor edi, edi
fstp dword [esp + 0x3a0]
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
push 3
lea ecx, [esp + 0x39c]
push ecx
fsubr qword [0x858990]
push 1
mov ecx, esi
fstp dword [esp + 0x3a4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85ba58]
imul edx, edx, 0x34
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add edi, 0x14
cmp edi, 0x64
mov dword [esp + 0x18], edi
jl 0x68d08a
cmp word [esi + 0x142], 0
jne 0x68d121
cmp word [esi + 0x140], 0xe
jne 0x68d121
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], 1
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x68cec0
push 0
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x867810]
mov dword [esi + 0x190], 1
fstp dword [esp + 0x4a4]
fldz
xor edi, edi
fstp dword [esp + 0x4a8]
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
push 3
lea ecx, [esp + 0x4a4]
push ecx
fsubr qword [0x858ef0]
push 1
mov ecx, esi
fstp dword [esp + 0x4ac]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85ba58]
imul edx, edx, 0x34
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x320
call fcn.0046eb30
add edi, 0xf
cmp edi, 0x87
mov dword [esp + 0x18], edi
jl 0x68d191
jmp 0x68cec0
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x140], 7
jl 0x68d233
fld dword [esi + 0xf4]
fsub qword [0x858820]
fstp dword [esi + 0xf4]
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x68d24a
fstp dword [esi + 0xf4]
jmp 0x68d24c
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68d261
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 6
jne 0x699e45
fldz
push ebp
fst dword [esp + 0x3b4]
lea ecx, [esp + 0x3b4]
fstp dword [esp + 0x3b8]
push ecx
fld dword [0x867860]
push edi
fstp dword [esp + 0x3c4]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85e368]
movsx edx, al
imul edx, edx, 0xa6
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x383
call fcn.0046eb30
push 0x1d
mov ecx, esi
call fcn.00439490
mov byte [esi + 0x49a], bl
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
mov ecx, esi
je 0x68d34f
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
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
call fcn.00438c60
test al, al
je 0x699e45
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
call fcn.00487ca0
cmp dword [esi + 0x764], ebx
jne 0x68d384
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68d399
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x68d3c0
cmp word [esi + 0x142], bx
jne 0x68d3c0
cmp word [esi + 0x140], bx
jne 0x68d3c0
cmp word [esi + 0x13e], di
je 0x689d09
cmp word [esi + 0x13e], bx
jne 0x68d4e3
cmp word [esi + 0x142], bx
jne 0x68d4e3
cmp word [esi + 0x140], 5
jne 0x68d42b
cmp byte [esi + 0x7f4], bl
je 0x68d42b
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857f98]
push edi
push eax
sub esp, 8
fstp dword [esp + 0x20]
mov ecx, esi
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x142], bx
jne 0x68d4e3
cmp word [esi + 0x140], 6
jne 0x68d4e3
push 0x3c
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x560]
push ebp
fld dword [0x85b3b0]
lea ecx, [esp + 0x564]
fstp dword [esp + 0x568]
push ecx
push edi
mov ecx, esi
fstp dword [esp + 0x574]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
imul edx, edx, 0x82
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 2
jne 0x699e45
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fldz
fst dword [esp + 0x3c8]
push ebp
fld dword [0x85bb30]
lea ecx, [esp + 0x3cc]
fstp dword [esp + 0x3d0]
push ecx
push edi
mov ecx, esi
fstp dword [esp + 0x3dc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
imul edx, edx, 0x82
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
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
call fcn.00487ca0
cmp dword [esi + 0x764], ebx
jne 0x68d5c5
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68d5da
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x68d601
cmp word [esi + 0x142], bx
jne 0x68d601
cmp word [esi + 0x140], bx
jne 0x68d601
cmp word [esi + 0x13e], di
je 0x689d09
cmp word [esi + 0x13e], bx
jne 0x68d85a
cmp word [esi + 0x142], bx
jne 0x68d85a
cmp word [esi + 0x140], 5
jne 0x68d66c
cmp byte [esi + 0x7f4], bl
je 0x68d66c
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857f98]
push edi
push eax
sub esp, 8
fstp dword [esp + 0x20]
mov ecx, esi
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x142], bx
jne 0x68d85a
cmp word [esi + 0x140], 6
jne 0x68d85a
push 0x3c
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
call fcn.00464980
fld dword [0x86782c]
fstp dword [esp + 0x1bc]
push ebp
fld dword [0x85bc10]
lea ecx, [esp + 0x1c0]
fstp dword [esp + 0x1c4]
push ecx
fld dword [0x871538]
push edi
fstp dword [esp + 0x1d0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
imul edx, edx, 0x46
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85b908]
fstp dword [esp + 0x1bc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
push ebp
imul edx, edx, 0x46
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x1c0]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85ae94]
fstp dword [esp + 0x1bc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x85c898]
lea ecx, [esp + 0x1c0]
push ecx
push edi
fstp dword [esp + 0x1c]
push eax
fld dword [esp + 0x20]
movsx edx, al
sub esp, 8
imul edx, edx, 0x46
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
mov ecx, esi
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85b9e0]
fstp dword [esp + 0x1bc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
push ebp
imul edx, edx, 0x46
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x1c0]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 2
jne 0x699e45
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x85b3b0]
fstp dword [esp + 0x9c]
push ebp
fld dword [0x85bc10]
lea ecx, [esp + 0xa0]
fstp dword [esp + 0xa4]
push ecx
fld dword [0x871538]
push edi
fstp dword [esp + 0xb0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
imul edx, edx, 0x46
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fldz
fstp dword [esp + 0x9c]
push ebp
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c898]
movsx edx, al
imul edx, edx, 0x46
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0xa0]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85b9e8]
fstp dword [esp + 0x9c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x85c898]
lea ecx, [esp + 0xa0]
push ecx
push edi
fstp dword [esp + 0x1c]
push eax
fld dword [esp + 0x20]
movsx edx, al
sub esp, 8
imul edx, edx, 0x46
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
mov ecx, esi
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85bc10]
fstp dword [esp + 0x9c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
push ebp
imul edx, edx, 0x46
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0xa0]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85bc14]
fstp dword [esp + 0x9c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
push ebp
imul edx, edx, 0x46
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0xa0]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
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]
test ax, ax
mov ebx, 2
jne 0x68dad8
cmp word [esi + 0x140], bx
jge 0x68dadd
cmp ax, di
jne 0x68db51
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
fld dword [esi + 0xf4]
fsub qword [0x867840]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x68db1e
fstp dword [esi + 0xf4]
jmp 0x68db20
fstp st(0)
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x68db58
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 ebx
mov ecx, esi
call edx
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
je 0x68db6e
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x68dbb1
fld dword [0x85bca4]
fst dword [esi + 0xf4]
fstp dword [esi + 0xf8]
fld dword [0x85bae8]
fstp dword [esi + 0x100]
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 9
jne 0x699e45
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 0x10
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x85b9e0]
fstp dword [esp + 0x1d4]
push 3
fld dword [0x85bae4]
lea ecx, [esp + 0x1d8]
fstp dword [esp + 0x1dc]
push ecx
fldz
push 1
fstp dword [esp + 0x1e8]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85e358]
movsx edx, al
imul edx, edx, 0x4b
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x322
call fcn.0046eb30
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68dc92
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x1d4]
fld dword [0x85b3b0]
fstp dword [esp + 0x1d8]
fld dword [0x8589f0]
fstp dword [esp + 0x1dc]
fldz
fld dword [esp + 0x1d4]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68dcf6
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x68dcf8
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0x1d8]
push eax
push 1
push ecx
jmp 0x68dd0c
fstp st(0)
movzx eax, byte [esi + 0x104]
push 3
lea edx, [esp + 0x1d8]
push edx
push 0xffffffffffffffff
push eax
mov ecx, esi
call fcn.004397f0
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x322
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68dc76
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebp, 2
cmp word [esi + 0x13e], bp
jne 0x68dd5f
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], ebx
jne 0x68dd6d
mov byte [esi + 0x7f4], bl
cmp word [esi + 0x13e], bp
jge 0x68dd9e
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x68dd9e
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebp
jmp 0x68817a
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68ddb4
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x68de00
cmp word [esi + 0x142], bx
jne 0x68dddd
cmp word [esi + 0x140], bx
jne 0x68dddd
cmp word [esi + 0x13e], di
je 0x68c022
test eax, eax
jne 0x68de00
cmp word [esi + 0x142], bx
jne 0x68de00
cmp word [esi + 0x140], bx
jne 0x68de00
cmp word [esi + 0x13e], bp
je 0x68c022
cmp word [esi + 0x13e], 0
mov ebx, 5
jne 0x68df4c
cmp word [esi + 0x142], 0
jne 0x68df4c
cmp word [esi + 0x140], bx
jne 0x68de72
cmp byte [esi + 0x7f4], 0
je 0x68de72
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x85c538]
push edi
push ecx
sub esp, 8
fstp dword [esp + 0x20]
mov ecx, esi
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x68df4c
cmp word [esi + 0x140], 6
jne 0x68df2c
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fldz
fst dword [esp + 0x4b8]
push 3
fld dword [0x85b3b0]
lea ecx, [esp + 0x4bc]
fstp dword [esp + 0x4c0]
push ecx
push edi
mov ecx, esi
fstp dword [esp + 0x4cc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x82
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
cmp word [esi + 0x142], 0
jne 0x68df4c
cmp word [esi + 0x140], 9
jne 0x68df4c
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x68e012
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fldz
fst dword [esp + 0x3e0]
push 3
fld dword [0x85bb30]
lea ecx, [esp + 0x3e4]
fstp dword [esp + 0x3e8]
push ecx
push edi
fstp dword [esp + 0x3f4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push eax
sub esp, 8
imul edx, edx, 0x82
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
mov ecx, esi
call fcn.0046eb30
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jmp 0x68ced6
mov ebp, 2
cmp word [esi + 0x13e], bp
jne 0x68e041
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], ebx
jne 0x68e04f
mov byte [esi + 0x7f4], bl
cmp word [esi + 0x13e], bp
jge 0x68e084
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x68e084
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebp
mov ecx, esi
call edx
jmp 0x68817e
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68e09a
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 0x68e0e6
cmp word [esi + 0x142], bx
jne 0x68e0c3
cmp word [esi + 0x140], bx
jne 0x68e0c3
cmp word [esi + 0x13e], di
je 0x68d35c
test eax, eax
jne 0x68e0e6
cmp word [esi + 0x142], bx
jne 0x68e0e6
cmp word [esi + 0x140], bx
jne 0x68e0e6
cmp word [esi + 0x13e], bp
je 0x68d35c
cmp word [esi + 0x13e], 0
mov ebx, 5
jne 0x68e36b
cmp word [esi + 0x142], 0
jne 0x68e36b
cmp word [esi + 0x140], bx
jne 0x68e158
cmp byte [esi + 0x7f4], 0
je 0x68e158
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c538]
push edi
push eax
sub esp, 8
fstp dword [esp + 0x20]
mov ecx, esi
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x68e36b
cmp word [esi + 0x140], 6
jne 0x68e34b
push 0x3c
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
call fcn.00464980
fld dword [0x86782c]
fstp dword [esp + 0x138]
push 3
fld dword [0x85bc10]
lea ecx, [esp + 0x13c]
fstp dword [esp + 0x140]
push ecx
fld dword [0x871538]
push edi
fstp dword [esp + 0x14c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
imul edx, edx, 0x46
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85b908]
fstp dword [esp + 0x138]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
push 3
imul edx, edx, 0x46
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x13c]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85ae94]
fstp dword [esp + 0x138]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c898]
lea ecx, [esp + 0x13c]
push ecx
push edi
fstp dword [esp + 0x1c]
push eax
fld dword [esp + 0x20]
movsx edx, al
sub esp, 8
imul edx, edx, 0x46
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
mov ecx, esi
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85b9e0]
fstp dword [esp + 0x138]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
push 3
imul edx, edx, 0x46
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x13c]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
cmp word [esi + 0x142], 0
jne 0x68e36b
cmp word [esi + 0x140], 9
jne 0x68e36b
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x68e012
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x85b3b0]
fstp dword [esp + 0xc0]
push 3
fld dword [0x85bc10]
lea ecx, [esp + 0xc4]
fstp dword [esp + 0xc8]
push ecx
fld dword [0x871538]
push edi
fstp dword [esp + 0xd4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
imul edx, edx, 0x46
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fldz
fstp dword [esp + 0xc0]
push 3
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c898]
movsx edx, al
imul edx, edx, 0x46
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0xc4]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85b9e8]
fstp dword [esp + 0xc0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c898]
lea ecx, [esp + 0xc4]
push ecx
push edi
fstp dword [esp + 0x1c]
push eax
fld dword [esp + 0x20]
movsx edx, al
sub esp, 8
imul edx, edx, 0x46
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
mov ecx, esi
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85bc10]
fstp dword [esp + 0xc0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
push 3
imul edx, edx, 0x46
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0xc4]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85bc14]
fstp dword [esp + 0xc0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c898]
lea ecx, [esp + 0xc4]
push ecx
push edi
movsx edx, al
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
imul edx, edx, 0x46
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68e003
mov ebx, 2
cmp word [esi + 0x13e], bx
jne 0x68e5d7
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x68e5e7
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], bx
jge 0x68e61c
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x68e61c
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebx
mov ecx, esi
call edx
jmp 0x68817e
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68e632
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 0x68e67e
cmp word [esi + 0x142], ax
jne 0x68e65b
cmp word [esi + 0x140], ax
jne 0x68e65b
cmp word [esi + 0x13e], di
je 0x68d35c
test eax, eax
jne 0x68e67e
cmp word [esi + 0x142], ax
jne 0x68e67e
cmp word [esi + 0x140], ax
jne 0x68e67e
cmp word [esi + 0x13e], bx
je 0x68d35c
cmp word [esi + 0x13e], 0
jne 0x68e7eb
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x68e7cb
cmp word [esi + 0x140], bp
jne 0x68e70a
cmp byte [esi + 0x7f4], al
je 0x68e70a
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c420]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
sub esp, 8
imul eax, eax, 0x2f
fstp dword [esp + 4]
fld dword [esi + 0xec]
mov dword [esp + 0x20], eax
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
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
test ax, ax
jne 0x68e7cb
cmp word [esi + 0x140], 4
jne 0x68e7cb
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x85bbe4]
fstp dword [esp + 0x530]
push ebp
fld dword [0x85b3b0]
lea ecx, [esp + 0x534]
fstp dword [esp + 0x538]
push ecx
fld dword [0x85b870]
push edi
fstp dword [esp + 0x544]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c178]
movsx eax, al
fstp dword [esp + 0x20]
mov edx, eax
fld dword [esp + 0x20]
shl edx, 5
sub edx, eax
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
cmp word [esi + 0x142], 0
jne 0x68e7eb
cmp word [esi + 0x140], 7
jne 0x68e7eb
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x68e942
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x85bbe4]
fstp dword [esp + 0x240]
push ebp
fld dword [0x85b3b0]
lea ecx, [esp + 0x244]
fstp dword [esp + 0x248]
push ecx
fld dword [0x85b870]
push edi
fstp dword [esp + 0x254]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c178]
movsx eax, al
fstp dword [esp + 0x20]
mov edx, eax
fld dword [esp + 0x20]
shl edx, 5
sub edx, eax
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85bb54]
fstp dword [esp + 0x240]
push ebp
fld dword [0x85b3b0]
lea ecx, [esp + 0x244]
fstp dword [esp + 0x248]
push ecx
fld dword [0x85b870]
push edi
fstp dword [esp + 0x254]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c178]
movsx eax, al
fstp dword [esp + 0x20]
mov edx, eax
fld dword [esp + 0x20]
shl edx, 5
sub esp, 8
sub edx, eax
add edx, edx
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
mov ecx, esi
call fcn.0046eb30
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 6
jmp 0x68ced6
mov ebx, 2
cmp word [esi + 0x13e], bx
jne 0x68e972
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x68e982
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], bx
jge 0x68e9ac
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x68e60d
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68e9c2
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 0x68ea0e
cmp word [esi + 0x142], ax
jne 0x68e9eb
cmp word [esi + 0x140], ax
jne 0x68e9eb
cmp word [esi + 0x13e], di
je 0x68d35c
test eax, eax
jne 0x68ea0e
cmp word [esi + 0x142], ax
jne 0x68ea0e
cmp word [esi + 0x140], ax
jne 0x68ea0e
cmp word [esi + 0x13e], bx
je 0x68d35c
cmp word [esi + 0x13e], 0
jne 0x68eb5d
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x68eb3d
cmp word [esi + 0x140], bp
jne 0x68ea82
cmp byte [esi + 0x7f4], al
je 0x68ea82
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c420]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
sub esp, 8
imul eax, eax, 0x2f
fstp dword [esp + 4]
fld dword [esi + 0xec]
mov dword [esp + 0x20], eax
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
jmp 0x68e6ed
test ax, ax
jne 0x68eb3d
cmp word [esi + 0x140], 4
jne 0x68eb3d
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x85bb54]
fstp dword [esp + 0x3f8]
push ebp
fld dword [0x85b3b0]
lea ecx, [esp + 0x3fc]
fstp dword [esp + 0x400]
push ecx
fld dword [0x85b870]
push edi
fstp dword [esp + 0x40c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c138]
imul edx, edx, 0x2e
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
cmp word [esi + 0x142], 0
jne 0x68eb5d
cmp word [esi + 0x140], 7
jne 0x68eb5d
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x68e942
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push edi
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x85bb54]
fstp dword [esp + 0x204]
push ebp
fld dword [0x85b3b0]
lea ecx, [esp + 0x208]
fstp dword [esp + 0x20c]
push ecx
fld dword [0x85b870]
push edi
fstp dword [esp + 0x218]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c138]
imul edx, edx, 0x2e
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
fld dword [0x85c500]
fstp dword [esp + 0x204]
push ebp
fld dword [0x85b3b0]
lea ecx, [esp + 0x208]
fstp dword [esp + 0x20c]
push ecx
fld dword [0x85b870]
push edi
fstp dword [esp + 0x218]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c138]
push eax
sub esp, 8
imul edx, edx, 0x2e
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68e933
mov ebx, 2
cmp word [esi + 0x13e], bx
jne 0x68ecb3
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00463530
test al, al
je 0x68ecd0
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esi + 0xf4]
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x68ece7
fstp dword [esi + 0xf4]
jmp 0x68ece9
fstp st(0)
cmp word [esi + 0x13e], bx
jge 0x68ed04
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x68db2d
call fcn.00438c60
test al, al
je 0x68ed29
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x68ed72
fld dword [0x85bc30]
fstp dword [esi + 0xf4]
fld dword [0x85b870]
fstp dword [esi + 0xf8]
fld dword [0x85aae8]
fstp dword [esi + 0x100]
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 8
jne 0x68eddb
fldz
push ebp
fst dword [esp + 0x4d4]
lea eax, [esp + 0x4d4]
fstp dword [esp + 0x4d8]
push eax
fld dword [0x867810]
push edi
fstp dword [esp + 0x4e4]
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 0x383
call fcn.0046eb30
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 9
jne 0x699e45
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
call fcn.00487ca0
mov byte [esi + 0x18c], bl
xor ebp, ebp
cmp word [esi + 0x13e], bp
mov ebx, 5
lea edi, [ebx + 3]
jne 0x68eea2
cmp word [esi + 0x140], di
jl 0x68eea2
fld dword [esi + 0xf4]
fsub qword [0x858820]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
cmp word [esi + 0x140], 0xb
jg 0x68ee6a
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x68ee6e
fstp dword [esi + 0xf4]
jmp 0x68ee70
fldz
jmp 0x68ee57
fstp st(0)
cmp dword [esi + 0x190], ebp
je 0x68eea2
add word [esi + 0x7d0], 1
cmp byte [esi + 0x194], 0
movzx eax, word [esi + 0x7d0]
jle 0x68eea2
cmp ax, bx
jl 0x68eea2
mov word [esi + 0x7d0], bp
mov dword [esi + 0x190], ebp
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68eeb7
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x699e45
cmp word [esi + 0x142], bp
jne 0x68ef97
cmp word [esi + 0x140], 7
jne 0x68eeed
cmp byte [esi + 0x6a4], 1
jl 0x68eeed
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x68ef97
cmp word [esi + 0x140], 9
jne 0x68ef59
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857968]
movsx ecx, al
push ebp
imul ecx, ecx, 0x82
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ebp
push 1
push eax
sub esp, 8
mov dword [esp + 0x28], ecx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32a
call fcn.0046eb30
cmp word [esi + 0x142], bp
jne 0x68ef97
cmp word [esi + 0x140], di
jne 0x68ef97
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x86782c]
push 0xa
fstp dword [esi + 0xf4]
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x140], 0xd
jne 0x699e45
cmp byte [esi + 0x6a4], 3
jl 0x699e45
cmp word [esi + 0x142], bx
jl 0x699e45
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
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], bl
xor ebx, ebx
cmp word [esi + 0x13e], bx
mov edi, 8
jne 0x68f067
cmp word [esi + 0x140], di
jl 0x68f067
fld dword [esi + 0xf4]
fsub qword [0x858820]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
cmp word [esi + 0x140], 0xb
jg 0x68f02f
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x68f033
fstp dword [esi + 0xf4]
jmp 0x68f035
fldz
jmp 0x68f01c
fstp st(0)
cmp dword [esi + 0x190], ebx
je 0x68f067
add word [esi + 0x7d0], 1
cmp byte [esi + 0x194], bl
movzx eax, word [esi + 0x7d0]
jle 0x68f067
cmp ax, 5
jl 0x68f067
mov word [esi + 0x7d0], bx
mov dword [esi + 0x190], ebx
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68f07c
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x68f11a
cmp word [esi + 0x140], 7
jne 0x68f0b2
cmp byte [esi + 0x6a4], 1
jl 0x68f0b2
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
mov ecx, esi
call eax
cmp word [esi + 0x142], bx
jne 0x68f11a
cmp word [esi + 0x140], 9
jne 0x68f11a
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857968]
movsx ecx, al
push ebx
imul ecx, ecx, 0x82
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ebx
push 1
push eax
sub esp, 8
mov dword [esp + 0x28], ecx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32a
call fcn.0046eb30
cmp word [esi + 0x142], bx
mov ebp, 0xa
jne 0x68f15c
cmp word [esi + 0x140], di
jne 0x68f15c
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b3b0]
push ebp
fstp dword [esi + 0xf4]
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x140], 0xd
jne 0x699e45
cmp byte [esi + 0x6a4], 3
jl 0x699e45
cmp word [esi + 0x142], bp
jl 0x699e45
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
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], 4
cmp dword [esi + 0x760], ebx
jne 0x68f1b1
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68f1c6
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x68f1f3
cmp word [esi + 0x142], bx
jne 0x68f1f3
cmp word [esi + 0x140], bx
jne 0x68f1f3
cmp word [esi + 0x13e], di
jne 0x68f1f3
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
fldz
jne 0x68f44c
movzx eax, word [esi + 0x142]
cmp ax, bx
jne 0x68f44c
cmp word [esi + 0x140], 7
jne 0x68f284
cmp byte [esi + 0x7f4], 1
jne 0x68f284
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857998]
movsx ecx, al
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
imul ecx, ecx, 0x29
push edi
push eax
sub esp, 8
mov dword [esp + 0x20], ecx
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp ax, bx
jne 0x68f44c
cmp word [esi + 0x140], 0xa
jne 0x68f44c
fst dword [esp + 0x1b0]
push 3
fst dword [esp + 0x1b8]
lea edx, [esp + 0x1b4]
fstp dword [esp + 0x1bc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x85b900]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x96
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
xor edi, edi
mov dword [esp + 0x18], edi
lea ebx, [ebx]
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68f34c
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x1b0]
fld dword [0x85ae94]
fstp dword [esp + 0x1b4]
fld dword [0x8589f0]
fstp dword [esp + 0x1b8]
fldz
fld dword [esp + 0x1b0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68f3d9
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x68f3db
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x1b4]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68f418
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x1b4]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68f330
push 0x13
mov ecx, esi
call fcn.00464980
fldz
mov edi, 1
xor ebx, ebx
cmp word [esi + 0x13e], di
jne 0x699e43
cmp word [esi + 0x142], bx
jne 0x699e43
cmp word [esi + 0x140], 4
jne 0x699e43
fst dword [esp + 0x150]
push 3
fstp dword [esp + 0x158]
lea ecx, [esp + 0x154]
fld1
push ecx
fstp dword [esp + 0x160]
push 1
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85b900]
movsx edx, al
imul edx, edx, 0x96
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68f521
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x150]
fld dword [0x85ae94]
fstp dword [esp + 0x154]
fld dword [0x8589f0]
fstp dword [esp + 0x158]
fldz
fld dword [esp + 0x150]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68f5ae
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x68f5b0
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x154]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68f5ed
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x154]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68f505
push 0x13
mov ecx, esi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 4
cmp dword [esi + 0x764], ebx
jne 0x68f63c
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x68f651
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x68f67e
cmp word [esi + 0x142], bx
jne 0x68f67e
cmp word [esi + 0x140], bx
jne 0x68f67e
cmp word [esi + 0x13e], di
jne 0x68f67e
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp word [esi + 0x13e], bx
fldz
jne 0x68f8dc
movzx eax, word [esi + 0x142]
cmp ax, bx
jne 0x68f8dc
cmp word [esi + 0x140], 7
jne 0x68f70f
cmp byte [esi + 0x7f4], 1
jne 0x68f70f
mov eax, dword [esi]
fstp st(0)
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857998]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
imul eax, eax, 0x29
sub esp, 8
mov dword [esp + 0x20], eax
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp ax, bx
jne 0x68f8dc
cmp word [esi + 0x140], 0xa
jne 0x68f8dc
fst dword [esp + 0xd8]
push 3
fstp dword [esp + 0xe0]
lea ecx, [esp + 0xdc]
fld dword [0x871538]
push ecx
fstp dword [esp + 0xe8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85e350]
imul edx, edx, 0x96
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push 1
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
xor edi, edi
mov dword [esp + 0x18], edi
jmp 0x68f7c0
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68f7dc
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0xd8]
fld dword [0x85ae94]
fstp dword [esp + 0xdc]
fld dword [0x8589f0]
fstp dword [esp + 0xe0]
fldz
fld dword [esp + 0xd8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68f869
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x68f86b
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0xdc]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68f8a8
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0xdc]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68f7c0
push 0x13
mov ecx, esi
call fcn.00464980
fldz
mov edi, 1
xor ebx, ebx
cmp word [esi + 0x13e], di
jne 0x699e43
cmp word [esi + 0x142], bx
jne 0x699e43
cmp word [esi + 0x140], 4
jne 0x699e43
fst dword [esp + 0x198]
push 3
fstp dword [esp + 0x1a0]
lea ecx, [esp + 0x19c]
fld dword [0x867860]
push ecx
fstp dword [esp + 0x1a8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85e350]
imul edx, edx, 0x96
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push 1
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
xor edi, edi
mov dword [esp + 0x18], edi
lea esp, [esp]
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68f9bc
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x198]
fld dword [0x85ae94]
fstp dword [esp + 0x19c]
fld dword [0x8589f0]
fstp dword [esp + 0x1a0]
fldz
fld dword [esp + 0x198]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68fa49
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x68fa4b
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x19c]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68fa88
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x19c]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68f9a0
push 0x13
mov ecx, esi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
fldz
mov byte [esi + 0x18c], 8
cmp word [esi + 0x13e], 2
jne 0x68fb88
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, 5
jp 0x68fb04
fstp dword [esi + 0xf4]
jmp 0x68fb06
fstp st(0)
cmp word [esi + 0x49e], 0xc8
jl 0x68fb8a
mov dl, byte [esi + 0x6ac]
cmp dl, 2
jl 0x68fb8a
mov eax, dword [esi + 0x7c8]
test al, 4
je 0x68fb56
cmp dl, 1
jl 0x68fb56
movzx ecx, word [esi + 0x13c]
cmp cx, 0x1fe
je 0x68fb40
cmp cx, 0x1ff
jne 0x68fb56
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x1ff
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
test al, 2
je 0x68fb8a
cmp dl, 1
jl 0x68fb8a
movzx eax, word [esi + 0x13c]
cmp ax, 0x1fe
je 0x68fb72
cmp ax, 0x1ff
jne 0x68fb8a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x1fe
mov ecx, esi
call edx
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
je 0x68fb9f
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x68fd71
cmp word [esi + 0x140], bx
jne 0x68fd71
cmp word [esi + 0x13e], di
jne 0x68fd71
push 0x14
mov ecx, esi
call fcn.00487870
mov al, byte [esi + 0x6ac]
cmp al, 4
jl 0x68fbe9
push 0x2d
jmp 0x68fbf3
cmp al, 3
jl 0x68fbf1
push 0x3c
jmp 0x68fbf3
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85ae94]
push 0x18
fstp dword [esi + 0xf4]
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x168]
push 3
fst dword [esp + 0x170]
lea eax, [esp + 0x16c]
fstp dword [esp + 0x174]
push eax
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x334
call fcn.0046eb30
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68fc83
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x168]
fld dword [0x85b830]
fstp dword [esp + 0x16c]
fld dword [0x8589f0]
fstp dword [esp + 0x170]
fldz
fld dword [esp + 0x168]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x68fd10
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x68fd12
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea edx, [esp + 0x16c]
push edx
push 1
push eax
movsx eax, al
sub esp, 8
imul eax, eax, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x68fd4f
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x16c]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68fc67
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], 2
jne 0x699e45
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x86782c]
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
fldz
mov byte [esi + 0x18c], 8
cmp word [esi + 0x13e], 2
jne 0x68fe81
fld dword [esi + 0xf4]
fadd qword [0x858820]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x68fe0b
fstp dword [esi + 0xf4]
jmp 0x68fe0d
fstp st(0)
cmp word [esi + 0x49e], 0xc8
jl 0x68fe83
mov dl, byte [esi + 0x6ac]
cmp dl, 2
jl 0x68fe83
mov eax, dword [esi + 0x7c8]
test al, 4
je 0x68fe4f
cmp dl, 1
jl 0x68fe4f
movzx ecx, word [esi + 0x13c]
cmp cx, 0x1fe
je 0x68fb40
cmp cx, 0x1ff
je 0x68fb40
test al, 2
je 0x68fe83
cmp dl, 1
jl 0x68fe83
movzx eax, word [esi + 0x13c]
cmp ax, 0x1fe
je 0x68fe6b
cmp ax, 0x1ff
jne 0x68fe83
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x1fe
mov ecx, esi
call edx
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
je 0x68fe98
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x69006a
cmp word [esi + 0x140], bx
jne 0x69006a
cmp word [esi + 0x13e], di
jne 0x69006a
push 0x14
mov ecx, esi
call fcn.00487870
mov al, byte [esi + 0x6ac]
cmp al, 4
jl 0x68fee2
push 0x2d
jmp 0x68feec
cmp al, 3
jl 0x68feea
push 0x3c
jmp 0x68feec
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fld dword [0x85b9e0]
push 0x18
fstp dword [esi + 0xf4]
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x1c8]
push 3
fst dword [esp + 0x1d0]
lea eax, [esp + 0x1cc]
fstp dword [esp + 0x1d4]
push eax
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x334
call fcn.0046eb30
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x68ff7c
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x1c8]
fld dword [0x85b830]
fstp dword [esp + 0x1cc]
fld dword [0x8589f0]
fstp dword [esp + 0x1d0]
fldz
fld dword [esp + 0x1c8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x690009
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x69000b
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea edx, [esp + 0x1cc]
push edx
push 1
push eax
movsx eax, al
sub esp, 8
imul eax, eax, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x690048
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x1cc]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x68ff60
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp word [esi + 0x13e], 2
jne 0x699e45
push 0x11
mov ecx, esi
call fcn.00464980
fld dword [0x85b908]
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 1
cmp word [esi + 0x140], 5
jne 0x6900ec
cmp byte [esi + 0x49d], bl
je 0x6900ec
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x690101
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp word [esi + 0x13e], bx
mov ebp, 0xa
jne 0x6902c8
cmp word [esi + 0x142], bx
jne 0x6902c8
cmp word [esi + 0x140], 3
jne 0x690138
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp word [esi + 0x142], bx
jne 0x6902c8
cmp word [esi + 0x140], bp
jne 0x6902c8
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x690174
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x120]
fld dword [0x85b830]
fstp dword [esp + 0x124]
fld dword [0x8589f0]
fstp dword [esp + 0x128]
fldz
fld dword [esp + 0x120]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x690201
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x690203
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x124]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x690240
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x124]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x690158
fldz
push 0x32
fst dword [esp + 0x124]
mov ecx, esi
fstp dword [esp + 0x128]
fld1
fstp dword [esp + 0x12c]
call fcn.00487870
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0x124]
push eax
push 0xffffffffffffffff
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call fcn.0046eb30
push 0xb
mov ecx, esi
call fcn.00464980
mov edi, 1
cmp dword [esi + 0x144], ebx
jne 0x6902fa
cmp word [esi + 0x142], bx
jne 0x6902fa
cmp word [esi + 0x140], bx
jne 0x6902fa
cmp word [esi + 0x13e], di
jne 0x6904bf
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x6904bf
cmp word [esi + 0x142], bx
jne 0x6904bf
cmp word [esi + 0x140], 3
jne 0x69032c
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp word [esi + 0x142], bx
jne 0x6904bf
cmp word [esi + 0x140], bp
jne 0x6904bf
xor edi, edi
mov dword [esp + 0x18], edi
lea esp, [esp]
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x69036c
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x12c]
fld dword [0x85b830]
fstp dword [esp + 0x130]
fld dword [0x8589f0]
fstp dword [esp + 0x134]
fldz
fld dword [esp + 0x12c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x6903f9
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x6903fb
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x130]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x690438
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x130]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x690350
fldz
push 0x32
fst dword [esp + 0x130]
mov ecx, esi
fstp dword [esp + 0x134]
fld dword [0x8589f0]
fstp dword [esp + 0x138]
call fcn.00487870
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0x130]
push eax
push 0xffffffffffffffff
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call fcn.0046eb30
push 0xb
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x144], 0
mov ebx, 2
jne 0x6904f9
cmp word [esi + 0x142], 0
jne 0x6904f9
cmp word [esi + 0x140], 0
jne 0x6904f9
cmp word [esi + 0x13e], bx
jne 0x699e45
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 3
jne 0x69052c
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x699e45
xor edi, edi
mov dword [esp + 0x18], edi
lea ecx, [ecx]
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x69056c
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x144]
fld dword [0x85b830]
fstp dword [esp + 0x148]
fld dword [0x8589f0]
fstp dword [esp + 0x14c]
fldz
fld dword [esp + 0x144]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x6905f9
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x6905fb
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x148]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x690638
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x148]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x690550
fldz
push 0x32
fst dword [esp + 0x148]
mov ecx, esi
fstp dword [esp + 0x14c]
fld dword [0x871538]
fstp dword [esp + 0x150]
call fcn.00487870
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0x148]
push eax
push 0xffffffffffffffff
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call fcn.0046eb30
push 0xb
mov ecx, esi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x30c
jg 0x699783
je 0x699405
sub eax, 0x209
cmp eax, 0xf9
ja case.0x699798.782
movzx edx, byte [eax + 0x69a1e0]
jmp dword [edx*4 + 0x69a120]
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 1
call fcn.00438c60
test al, al
je 0x690719
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp word [esi + 0x13e], bx
mov ebp, 0xa
jne 0x6908e0
cmp word [esi + 0x142], bx
jne 0x6908e0
cmp word [esi + 0x140], 3
jne 0x690750
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp word [esi + 0x142], bx
jne 0x6908e0
cmp word [esi + 0x140], bp
jne 0x6908e0
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x69078c
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x15c]
fld dword [0x85b830]
fstp dword [esp + 0x160]
fld dword [0x8589f0]
fstp dword [esp + 0x164]
fldz
fld dword [esp + 0x15c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x690819
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x69081b
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x160]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x690858
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x160]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x690770
fldz
push 0x32
fst dword [esp + 0x160]
mov ecx, esi
fstp dword [esp + 0x164]
fld1
fstp dword [esp + 0x168]
call fcn.00487870
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0x160]
push eax
push 0xffffffffffffffff
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call fcn.0046eb30
push 0xb
mov ecx, esi
call fcn.00464980
mov edi, 1
cmp dword [esi + 0x144], ebx
jne 0x690912
cmp word [esi + 0x142], bx
jne 0x690912
cmp word [esi + 0x140], bx
jne 0x690912
cmp word [esi + 0x13e], di
jne 0x690ad3
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x690ad3
cmp word [esi + 0x142], bx
jne 0x690ad3
cmp word [esi + 0x140], 3
jne 0x690944
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp word [esi + 0x142], bx
jne 0x690ad3
cmp word [esi + 0x140], bp
jne 0x690ad3
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x690980
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x174]
fld dword [0x85b830]
fstp dword [esp + 0x178]
fld dword [0x8589f0]
fstp dword [esp + 0x17c]
fldz
fld dword [esp + 0x174]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x690a0d
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x690a0f
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x178]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x690a4c
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x178]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x690964
fldz
push 0x32
fst dword [esp + 0x178]
mov ecx, esi
fstp dword [esp + 0x17c]
fld dword [0x8589f0]
fstp dword [esp + 0x180]
call fcn.00487870
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0x178]
push eax
push 0xffffffffffffffff
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call fcn.0046eb30
push 0xb
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x144], 0
mov ebx, 2
jne 0x690b0d
cmp word [esi + 0x142], 0
jne 0x690b0d
cmp word [esi + 0x140], 0
jne 0x690b0d
cmp word [esi + 0x13e], bx
jne 0x699e45
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 3
jne 0x690b40
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x699e45
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x690b7d
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0xe4]
fld dword [0x85b830]
fstp dword [esp + 0xe8]
fld dword [0x8589f0]
fstp dword [esp + 0xec]
fldz
fld dword [esp + 0xe4]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x690c0a
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x690c0c
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0xe8]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x690c49
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0xe8]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x690b61
fldz
push 0x32
fst dword [esp + 0xe8]
mov ecx, esi
fstp dword [esp + 0xec]
fld dword [0x871538]
fstp dword [esp + 0xf0]
call fcn.00487870
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0xe8]
push eax
push 0xffffffffffffffff
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call fcn.0046eb30
push 0xb
mov ecx, esi
call fcn.00464980
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], 5
call fcn.00438c60
test al, al
je 0x690cfb
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x699e45
fldz
push ebp
fst dword [esp + 0x414]
lea ecx, [esp + 0x414]
fld dword [0x86782c]
push ecx
fstp dword [esp + 0x41c]
push edi
fstp dword [esp + 0x424]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c118]
push eax
sub esp, 8
imul edx, edx, 0x5a
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x330
mov ecx, esi
call fcn.0046eb30
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x10
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], edi
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], 5
call fcn.00438c60
test al, al
je 0x690de9
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x699e45
fldz
push ebp
fstp dword [esp + 0x594]
lea ecx, [esp + 0x594]
fld dword [0x86782c]
push ecx
fstp dword [esp + 0x59c]
push edi
fld dword [0x85bca4]
fstp dword [esp + 0x5a4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c118]
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x5a
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x690d89
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x690fb6
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 5
call fcn.00438c60
test al, al
je 0x690eb2
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x690ed9
cmp word [esi + 0x142], bx
jne 0x690ed9
cmp word [esi + 0x140], bx
jne 0x690ed9
cmp word [esi + 0x13e], di
je 0x68d35c
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x690f9c
fldz
push ebp
fst dword [esp + 0x42c]
lea ecx, [esp + 0x42c]
fld dword [0x86782c]
push ecx
fstp dword [esp + 0x434]
push edi
fstp dword [esp + 0x43c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c118]
push eax
sub esp, 8
imul edx, edx, 0x5a
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x330
mov ecx, esi
call fcn.0046eb30
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x10
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], edi
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 8
jmp 0x68ced6
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x690e96
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
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], di
mov ecx, esi
jne 0x69100c
call fcn.00487ca0
jmp 0x691027
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x690fd5
mov ecx, esi
mov byte [esi + 0x18c], 5
call fcn.00438c60
test al, al
je 0x691043
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x69106a
cmp word [esi + 0x142], bx
jne 0x69106a
cmp word [esi + 0x140], bx
jne 0x69106a
cmp word [esi + 0x13e], di
je 0x68d35c
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x690f9c
fldz
push ebp
fstp dword [esp + 0x300]
lea ecx, [esp + 0x300]
fld dword [0x86782c]
push ecx
fstp dword [esp + 0x308]
push edi
fld dword [0x85bca4]
fstp dword [esp + 0x310]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c118]
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x5a
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x690f67
cmp word [esi + 0x13e], bx
jne 0x691113
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 9
movzx eax, word [esi + 0x13e]
cmp ax, bx
jne 0x69126f
cmp dword [esi + 0x190], edi
jne 0x69126f
mov eax, dword [esi + 0x170]
mov byte [eax + 0x571], bl
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov ecx, dword [esi + 0x170]
call fcn.004636b0
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x170]
movzx eax, word [eax + 0xa4]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push eax
call edx
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
neg al
mov byte [ecx + 0x104], al
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
imul eax, dword [edx + 0x98]
mov ecx, dword [esi + 0x170]
mov dword [esp + 0x10], eax
push ebp
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ecx + 0xec]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
mov eax, dword [esi + 0x170]
fisub dword [edx + 0x9c]
lea edx, [esp + 0x444]
push edx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [eax + 0xf0]
fldz
fst dword [esp + 0x44c]
fstp dword [esp + 0x450]
fld dword [0x871538]
fstp dword [esp + 0x454]
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]
fsub qword [0x85bbd8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x335
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fldz
mov ebp, 4
cmp ax, bp
jne 0x6914c7
cmp dword [esi + 0x190], edi
jne 0x6913c7
mov ecx, dword [esi + 0x170]
fstp st(0)
mov byte [ecx + 0x571], bl
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov ecx, dword [esi + 0x170]
call fcn.004636b0
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x170]
movzx eax, word [eax + 0xa4]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push eax
call edx
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
neg al
mov byte [ecx + 0x104], al
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
imul eax, dword [edx + 0x98]
mov ecx, dword [esi + 0x170]
mov dword [esp + 0x10], eax
push 3
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ecx + 0xec]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
mov eax, dword [esi + 0x170]
fisub dword [edx + 0x9c]
lea edx, [esp + 0x54c]
push edx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [eax + 0xf0]
fldz
fst dword [esp + 0x554]
fstp dword [esp + 0x558]
fld dword [0x871538]
fstp dword [esp + 0x55c]
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]
fsub qword [0x85bbd8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x335
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x140], bp
jl 0x6914c7
cmp word [esi + 0x7d2], 6
jg 0x6914c7
fst dword [esp + 0x308]
push 0x1e
fstp dword [esp + 0x310]
fld dword [0x85b870]
fstp dword [esp + 0x314]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x691416
fadd dword [0x871554]
movsx ecx, word [esi + 0x7d2]
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
push 0x4b
fild dword [esp + 0x18]
mov dword [esp + 0x18], edx
fmul qword [0x858990]
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [esi + 0xec]
faddp st(1)
fstp dword [esp + 0x20]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x691464
fadd dword [0x871554]
movsx eax, word [esi + 0x7d2]
fld dword [esi + 0xf0]
fadd qword [0x857968]
movzx edx, byte [esi + 0x104]
mov dword [esp + 0x10], eax
push 3
lea ecx, [esp + 0x30c]
fild dword [esp + 0x14]
push ecx
push edi
push edx
fmul qword [0x859b00]
sub esp, 8
mov ecx, esi
faddp st(1)
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x335
call fcn.0046eb30
add word [esi + 0x7d2], di
jmp 0x6914c9
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x6914df
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
movzx eax, word [esi + 0x13e]
test ax, ax
mov ebx, 5
je 0x6914f5
cmp ax, bp
jne 0x691528
cmp word [esi + 0x142], 0
jne 0x691528
cmp word [esi + 0x140], bx
jne 0x691528
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x10
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x144], 0
jne 0x69158a
cmp word [esi + 0x142], 0
jne 0x691559
cmp word [esi + 0x140], 0
jne 0x691559
cmp word [esi + 0x13e], di
jne 0x691559
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x69158a
cmp word [esi + 0x142], 0
jne 0x69158a
cmp word [esi + 0x140], 0
jne 0x69158a
cmp word [esi + 0x13e], bp
jne 0x69158a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 2
jne 0x691839
mov edx, dword [esi + 0x158]
mov ecx, dword [esi + 0x170]
movzx edx, word [edx + 0xa4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push edx
call eax
mov cl, byte [esi + 0x104]
mov edx, dword [esi + 0x170]
neg cl
mov byte [edx + 0x104], cl
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
imul ecx, dword [eax + 0x98]
mov edx, dword [esi + 0x170]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fadd dword [esi + 0xec]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [edx + 0xec]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x170]
fisub dword [eax + 0x9c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [ecx + 0xf0]
mov ecx, dword [esi + 0x144]
mov eax, ecx
cdq
idiv ebx
test edx, edx
jne 0x69182c
cmp ecx, 0x50
jg 0x69182c
cmp ecx, 0x1e
jl 0x69182c
push 3
mov ecx, esi
call fcn.00439490
xor edx, edx
cmp byte [esi + 0x6ad], 4
push edi
setge dl
xor eax, eax
cmp dword [esi + 0x52c], ebp
push edi
sete al
push 0x3de
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul qword [0x857f78]
mov dword [esp + 0x1c], eax
fld1
fadd st(1), st(0)
fxch st(1)
fmul qword [0x857b20]
fild dword [esp + 0x1c]
fmul qword [0x858ea0]
faddp st(2)
fmulp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.00820230
push eax
mov ecx, esi
call fcn.004649b0
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
fisub dword [ecx + 0x9c]
movsx eax, byte [esi + 0x104]
mov edx, ecx
imul eax, dword [edx + 0x98]
fadd qword [0x857990]
fstp qword [esp + 0x18]
movzx ecx, byte [esi + 0x104]
mov dword [esp + 0x10], eax
push edi
push ecx
fild dword [esp + 0x18]
push 0x96
fadd dword [esi + 0xec]
fadd qword [0x857b20]
fstp qword [esp + 0x6c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x691719
fadd dword [0x871554]
fsubr qword [esp + 0x24]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push 0xc8
call fcn.004099f0
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x691744
fadd dword [0x871554]
fsubr qword [esp + 0x70]
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 2
call fcn.00438ce0
fldz
fst dword [esp + 0x314]
push 3
fst dword [esp + 0x31c]
fstp dword [esp + 0x320]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
movsx ecx, byte [esi + 0x104]
mov eax, edx
lea edx, [esp + 0x318]
imul ecx, dword [eax + 0x98]
fadd qword [0x857990]
fstp qword [esp + 0x64]
movzx eax, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
push edx
push edi
fild dword [esp + 0x1c]
push eax
push 0x96
fadd dword [esi + 0xec]
fadd qword [0x857b20]
fstp qword [esp + 0x2c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x6917e6
fadd dword [0x871554]
fsubr qword [esp + 0x74]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0xc8
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x691811
fadd dword [0x871554]
fsubr qword [esp + 0x30]
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x335
call fcn.0046eb30
cmp dword [esi + 0x144], 0x64
jge 0x68e6f9
cmp word [esi + 0x13e], 3
jne 0x699e45
cmp word [esi + 0x140], 0
jne 0x6918e0
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x170]
movzx eax, word [eax + 0xa4]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push eax
call edx
mov al, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
neg al
mov byte [ecx + 0x104], al
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
imul eax, dword [edx + 0x98]
mov ecx, dword [esi + 0x170]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [esi + 0xec]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [ecx + 0xec]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
mov eax, dword [esi + 0x170]
fisub dword [edx + 0x9c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [eax + 0xf0]
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], di
jne 0x699e45
push 0x1d
mov ecx, esi
call fcn.00439490
fld dword [0x858ffc]
mov ecx, dword [esi + 0x170]
fstp dword [ecx + 0x1a4]
mov edx, dword [esi + 0x170]
fld dword [0x85bb58]
push 0x49
fstp dword [edx + 0x1a8]
mov eax, dword [esi + 0x170]
mov word [eax + 0x4ba], 0x1770
mov ecx, dword [esi + 0x170]
mov word [ecx + 0x4be], 0x64
mov ecx, dword [esi + 0x170]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov cl, byte [esi + 0x104]
mov edx, dword [esi + 0x170]
neg cl
mov byte [edx + 0x104], cl
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
imul ecx, dword [eax + 0x98]
mov edx, dword [esi + 0x170]
mov dword [esp + 0x10], ecx
push 1
push 1
fild dword [esp + 0x18]
push 0x352
fadd dword [esi + 0xec]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [edx + 0xec]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x170]
fisub dword [eax + 0x9c]
xor edx, edx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [ecx + 0xf0]
cmp byte [esi + 0x6ad], 4
setge dl
xor eax, eax
cmp dword [esi + 0x52c], ebp
sete al
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul qword [0x857f78]
mov dword [esp + 0x1c], eax
fld1
fadd st(1), st(0)
fxch st(1)
fmul qword [0x85c438]
fild dword [esp + 0x1c]
fmul qword [0x858ea0]
faddp st(2)
fmulp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.00820230
push eax
mov ecx, esi
call fcn.004649b0
xor edi, edi
mov dword [esp + 0x18], edi
lea esp, [esp]
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x691a49
fadd dword [0x871554]
fild dword [esp + 0x1c]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x2c4]
fld dword [0x85b830]
fstp dword [esp + 0x2c8]
fld dword [0x8589f0]
fstp dword [esp + 0x2cc]
fld dword [esp + 0x2c4]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x691a9e
mov eax, 1
jmp 0x691aa0
xor eax, eax
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea edx, [esp + 0x2c4]
push edx
add al, al
mov edx, 1
sub dl, al
movsx eax, cl
imul eax, eax, 0x37
push edx
push ecx
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
add edi, 0x1e
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x691a30
mov ecx, dword [esi + 0x170]
mov byte [ecx + 0x571], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bx
jne 0x691b2c
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 9
movzx eax, word [esi + 0x13e]
cmp ax, bx
jne 0x691c88
cmp dword [esi + 0x190], edi
jne 0x691c88
mov edx, dword [esi + 0x170]
mov byte [edx + 0x571], bl
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push edi
mov ecx, esi
call edx
mov ecx, dword [esi + 0x170]
call fcn.004636b0
mov edx, dword [esi + 0x158]
mov ecx, dword [esi + 0x170]
movzx edx, word [edx + 0xa4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push edx
call eax
mov cl, byte [esi + 0x104]
mov edx, dword [esi + 0x170]
neg cl
mov byte [edx + 0x104], cl
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
imul ecx, dword [eax + 0x98]
mov edx, dword [esi + 0x170]
mov dword [esp + 0x10], ecx
push ebp
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [edx + 0xec]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x170]
fisub dword [eax + 0x9c]
lea edx, [esp + 0x330]
push edx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [ecx + 0xf0]
fldz
fst dword [esp + 0x338]
fstp dword [esp + 0x33c]
fld dword [0x871538]
fstp dword [esp + 0x340]
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]
fsub qword [0x85bbd8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x335
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fldz
mov ebp, 4
cmp ax, bp
jne 0x691ee1
cmp dword [esi + 0x190], edi
jne 0x691de1
mov ecx, dword [esi + 0x170]
fstp st(0)
mov byte [ecx + 0x571], bl
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push edi
mov ecx, esi
call eax
mov ecx, dword [esi + 0x170]
call fcn.004636b0
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x170]
movzx eax, word [eax + 0xa4]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push eax
call edx
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
neg al
mov byte [ecx + 0x104], al
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
imul eax, dword [edx + 0x98]
mov ecx, dword [esi + 0x170]
mov dword [esp + 0x10], eax
push 3
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ecx + 0xec]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
mov eax, dword [esi + 0x170]
fisub dword [edx + 0x9c]
lea edx, [esp + 0x348]
push edx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [eax + 0xf0]
fldz
fst dword [esp + 0x350]
fstp dword [esp + 0x354]
fld dword [0x871538]
fstp dword [esp + 0x358]
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]
fsub qword [0x85bbd8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x335
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x140], bp
jl 0x691ee1
cmp word [esi + 0x7d2], 6
jg 0x691ee1
fst dword [esp + 0x35c]
push 0x1e
fstp dword [esp + 0x364]
fld dword [0x85b870]
fstp dword [esp + 0x368]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x691e30
fadd dword [0x871554]
movsx ecx, word [esi + 0x7d2]
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
push 0x4b
fild dword [esp + 0x18]
mov dword [esp + 0x18], edx
fmul qword [0x858990]
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [esi + 0xec]
faddp st(1)
fstp dword [esp + 0x20]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x691e7e
fadd dword [0x871554]
movsx eax, word [esi + 0x7d2]
fld dword [esi + 0xf0]
fadd qword [0x857968]
movzx edx, byte [esi + 0x104]
mov dword [esp + 0x10], eax
push 3
lea ecx, [esp + 0x360]
fild dword [esp + 0x14]
push ecx
push edi
push edx
fmul qword [0x859b00]
sub esp, 8
mov ecx, esi
faddp st(1)
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x335
call fcn.0046eb30
add word [esi + 0x7d2], di
jmp 0x691ee3
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x691ef9
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
movzx eax, word [esi + 0x13e]
test ax, ax
mov ebx, 5
je 0x691f0f
cmp ax, bp
jne 0x691f42
cmp word [esi + 0x142], 0
jne 0x691f42
cmp word [esi + 0x140], bx
jne 0x691f42
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x10
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x144], 0
jne 0x691fa4
cmp word [esi + 0x142], 0
jne 0x691f73
cmp word [esi + 0x140], 0
jne 0x691f73
cmp word [esi + 0x13e], di
jne 0x691f73
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x691fa4
cmp word [esi + 0x142], 0
jne 0x691fa4
cmp word [esi + 0x140], 0
jne 0x691fa4
cmp word [esi + 0x13e], bp
jne 0x691fa4
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 2
jne 0x692253
mov edx, dword [esi + 0x158]
mov ecx, dword [esi + 0x170]
movzx edx, word [edx + 0xa4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push edx
call eax
mov cl, byte [esi + 0x104]
mov edx, dword [esi + 0x170]
neg cl
mov byte [edx + 0x104], cl
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
imul ecx, dword [eax + 0x98]
mov edx, dword [esi + 0x170]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fadd dword [esi + 0xec]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [edx + 0xec]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x170]
fisub dword [eax + 0x9c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [ecx + 0xf0]
mov ecx, dword [esi + 0x144]
mov eax, ecx
cdq
idiv ebx
test edx, edx
jne 0x692246
cmp ecx, 0x50
jg 0x692246
cmp ecx, 0x1e
jl 0x692246
push 3
mov ecx, esi
call fcn.00439490
xor edx, edx
cmp byte [esi + 0x6ad], 4
push edi
setge dl
xor eax, eax
cmp dword [esi + 0x52c], ebp
push edi
sete al
push 0x3de
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul qword [0x857f78]
mov dword [esp + 0x1c], eax
fld1
fadd st(1), st(0)
fxch st(1)
fmul qword [0x857b20]
fild dword [esp + 0x1c]
fmul qword [0x858ea0]
faddp st(2)
fmulp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.00820230
push eax
mov ecx, esi
call fcn.004649b0
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
fisub dword [ecx + 0x9c]
movsx eax, byte [esi + 0x104]
mov edx, ecx
imul eax, dword [edx + 0x98]
fadd qword [0x857990]
fstp qword [esp + 0x60]
movzx ecx, byte [esi + 0x104]
mov dword [esp + 0x10], eax
push edi
push ecx
fild dword [esp + 0x18]
push 0x96
fadd dword [esi + 0xec]
fadd qword [0x857b20]
fstp qword [esp + 0x24]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x692133
fadd dword [0x871554]
fsubr qword [esp + 0x6c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push 0xc8
call fcn.004099f0
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x69215e
fadd dword [0x871554]
fsubr qword [esp + 0x28]
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 2
call fcn.00438ce0
fldz
fst dword [esp + 0x374]
push 3
fst dword [esp + 0x37c]
fstp dword [esp + 0x380]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
movsx ecx, byte [esi + 0x104]
mov eax, edx
lea edx, [esp + 0x378]
imul ecx, dword [eax + 0x98]
fadd qword [0x857990]
fstp qword [esp + 0x64]
movzx eax, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
push edx
push edi
fild dword [esp + 0x1c]
push eax
push 0x96
fadd dword [esi + 0xec]
fadd qword [0x857b20]
fstp qword [esp + 0x2c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x692200
fadd dword [0x871554]
fsubr qword [esp + 0x74]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0xc8
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x69222b
fadd dword [0x871554]
fsubr qword [esp + 0x30]
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x335
call fcn.0046eb30
cmp dword [esi + 0x144], 0x64
jge 0x68e6f9
cmp word [esi + 0x13e], 3
jne 0x699e45
cmp word [esi + 0x140], 0
jne 0x6922fa
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x170]
movzx eax, word [eax + 0xa4]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push eax
call edx
mov al, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
neg al
mov byte [ecx + 0x104], al
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
imul eax, dword [edx + 0x98]
mov ecx, dword [esi + 0x170]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fadd dword [esi + 0xec]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [ecx + 0xec]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
mov eax, dword [esi + 0x170]
fisub dword [edx + 0x9c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [eax + 0xf0]
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], di
jne 0x699e45
push 0x1d
mov ecx, esi
call fcn.00439490
fld dword [0x858ffc]
mov ecx, dword [esi + 0x170]
fstp dword [ecx + 0x1a4]
mov edx, dword [esi + 0x170]
fld dword [0x85bb58]
push 0x49
fstp dword [edx + 0x1a8]
mov eax, dword [esi + 0x170]
mov word [eax + 0x4ba], 0x1770
mov ecx, dword [esi + 0x170]
mov word [ecx + 0x4be], 0x64
mov ecx, dword [esi + 0x170]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov cl, byte [esi + 0x104]
mov edx, dword [esi + 0x170]
neg cl
mov byte [edx + 0x104], cl
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
imul ecx, dword [eax + 0x98]
mov edx, dword [esi + 0x170]
mov dword [esp + 0x10], ecx
push 1
push 1
fild dword [esp + 0x18]
push 0x352
fadd dword [esi + 0xec]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [edx + 0xec]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x170]
fisub dword [eax + 0x9c]
xor edx, edx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [ecx + 0xf0]
cmp byte [esi + 0x6ad], 4
setge dl
xor eax, eax
cmp dword [esi + 0x52c], ebp
sete al
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fmul qword [0x857f78]
mov dword [esp + 0x1c], eax
fld1
fadd st(1), st(0)
fxch st(1)
fmul qword [0x85b940]
fild dword [esp + 0x1c]
fmul qword [0x858ea0]
faddp st(2)
fmulp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.00820230
push eax
mov ecx, esi
call fcn.004649b0
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x69245f
fadd dword [0x871554]
fild dword [esp + 0x1c]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x2f4]
fld dword [0x85b830]
fstp dword [esp + 0x2f8]
fld dword [0x8589f0]
fstp dword [esp + 0x2fc]
fld dword [esp + 0x2f4]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 1
jne 0x6924b4
mov eax, 1
jmp 0x6924b6
xor eax, eax
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea edx, [esp + 0x2f4]
push edx
add al, al
mov edx, 1
sub dl, al
movsx eax, cl
imul eax, eax, 0x37
push edx
push ecx
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
add edi, 0x1e
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x692446
mov ecx, dword [esi + 0x170]
mov byte [ecx + 0x571], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 2
cmp dword [esi + 0x760], ebx
jne 0x69254e
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x692563
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x69258a
cmp word [esi + 0x142], bx
jne 0x69258a
cmp word [esi + 0x140], bx
jne 0x69258a
cmp word [esi + 0x13e], di
je 0x687ed9
cmp word [esi + 0x13e], bx
jne 0x69281e
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x6925b9
cmp word [esi + 0x140], bp
jne 0x6925b9
cmp byte [esi + 0x6a6], 3
jge 0x68efbf
movzx ecx, word [esi + 0x140]
cmp cx, 4
jne 0x6925d9
cmp byte [esi + 0x6a6], 1
jl 0x6925d9
cmp ax, 2
jge 0x68efbf
test ax, ax
jne 0x692662
cmp cx, 8
jne 0x692662
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
fst dword [esp + 0x38c]
push 3
fstp dword [esp + 0x394]
lea ecx, [esp + 0x390]
fld1
push ecx
fstp dword [esp + 0x39c]
push 1
fld dword [esi + 0xf0]
mov ecx, esi
fadd qword [0x8581d0]
movzx edx, byte [esi + 0x104]
push edx
sub esp, 8
fadd qword [0x85b3a8]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
cmp word [esi + 0x142], bx
jne 0x69281e
cmp word [esi + 0x140], 0xc
jne 0x69281e
fldz
mov dword [esi + 0x190], edi
fst dword [esp + 0xa8]
push 3
fstp dword [esp + 0xb0]
lea eax, [esp + 0xac]
fld dword [0x8589f0]
push eax
fstp dword [esp + 0xb8]
push 1
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x8581d0]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
fld dword [0x871538]
fstp dword [esp + 0xb0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x8581d0]
neg al
lea edx, [esp + 0xac]
push edx
push 1
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov ecx, esi
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
push 0xd
mov ecx, esi
call fcn.00464980
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x69275f
fadd dword [0x871554]
xor edi, edi
fstp dword [esi + 0x7dc]
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
fadd qword [0x85c578]
fadd dword [esi + 0x7dc]
fstp dword [esp + 0xa8]
fld dword [0x85bbe4]
fstp dword [esp + 0xac]
fld dword [0x867860]
fstp dword [esp + 0xb0]
fldz
fld dword [esp + 0xa8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x6927d3
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x6927d5
movzx edx, byte [esi + 0x104]
push 3
lea ecx, [esp + 0xac]
push ecx
push 1
push edx
jmp 0x6927e9
fstp st(0)
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0xac]
push eax
push 0xffffffffffffffff
push ecx
fld dword [esi + 0xf0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
add edi, 0x2d
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x69276b
cmp word [esi + 0x13e], 1
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp byte [esi + 0x7f4], bl
jne 0x699e45
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 0
mov ecx, esi
call eax
mov word [esi + 0x140], 7
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 2
cmp dword [esi + 0x764], ebx
jne 0x69287d
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x692892
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x6928b9
cmp word [esi + 0x142], bx
jne 0x6928b9
cmp word [esi + 0x140], bx
jne 0x6928b9
cmp word [esi + 0x13e], di
je 0x687ed9
cmp word [esi + 0x13e], bx
jne 0x69281e
movzx eax, word [esi + 0x140]
mov ecx, 2
cmp ax, cx
jl 0x6928ed
cmp ax, 0xd
jg 0x6928ed
cmp byte [esi + 0x6a6], 4
jl 0x6928ed
mov word [esi + 0x51c], cx
movzx eax, word [esi + 0x140]
cmp ax, 6
jl 0x69290f
cmp ax, 0xd
jg 0x69290f
cmp byte [esi + 0x6a6], cl
jl 0x69290f
mov word [esi + 0x51c], cx
cmp word [esi + 0x142], bx
jne 0x69281e
cmp word [esi + 0x140], 8
jne 0x6929a0
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
fst dword [esp + 0x3a4]
push 3
fstp dword [esp + 0x3ac]
lea ecx, [esp + 0x3a8]
fld1
push ecx
fstp dword [esp + 0x3b4]
push 1
fld dword [esi + 0xf0]
mov ecx, esi
fadd qword [0x8581d0]
movzx edx, byte [esi + 0x104]
push edx
sub esp, 8
fadd qword [0x85b3a8]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
cmp word [esi + 0x142], bx
jne 0x69281e
cmp word [esi + 0x140], 0xc
jne 0x69281e
fldz
mov dword [esi + 0x190], edi
fst dword [esp + 0xb4]
push 3
fstp dword [esp + 0xbc]
lea eax, [esp + 0xb8]
fld dword [0x8589f0]
push eax
fstp dword [esp + 0xc4]
push 1
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x8581d0]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
fld dword [0x871538]
fstp dword [esp + 0xbc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x8581d0]
neg al
lea edx, [esp + 0xb8]
push edx
push 1
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov ecx, esi
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
push 0xd
mov ecx, esi
call fcn.00464980
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x692a9d
fadd dword [0x871554]
xor edi, edi
fstp dword [esi + 0x7dc]
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
fadd qword [0x85c578]
fadd dword [esi + 0x7dc]
fstp dword [esp + 0xb4]
fld dword [0x85bbe4]
fstp dword [esp + 0xb8]
fld dword [0x867860]
fstp dword [esp + 0xbc]
fldz
fld dword [esp + 0xb4]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x692b11
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x692b13
movzx edx, byte [esi + 0x104]
push 3
lea ecx, [esp + 0xb8]
push ecx
push 1
push edx
jmp 0x692b27
fstp st(0)
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0xb8]
push eax
push 0xffffffffffffffff
push ecx
fld dword [esi + 0xf0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
add edi, 0x2d
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x692aa9
jmp 0x69281e
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 6
call fcn.00438c60
test al, al
je 0x692b84
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
cmp eax, ebx
jne 0x692bd5
cmp word [esi + 0x142], bx
jne 0x692bad
cmp word [esi + 0x140], bx
jne 0x692bad
cmp word [esi + 0x13e], di
je 0x687ed9
cmp eax, ebx
jne 0x692bd5
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x692bd5
cmp word [esi + 0x13e], 2
je 0x687ed9
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 0xc
jne 0x699e45
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
mov dword [esi + 0x190], edi
fst dword [esp + 0x24c]
fst dword [esp + 0x250]
push ebp
fstp dword [esp + 0x258]
lea ecx, [esp + 0x250]
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x8581d0]
push ecx
push edi
push edx
sub esp, 8
fstp dword [esp + 0x28]
mov ecx, esi
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x331
call fcn.0046eb30
fld dword [0x85b870]
fstp dword [esp + 0x254]
lea eax, [esp + 0x24c]
fld dword [esi + 0xf0]
fadd qword [0x8581d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
movzx ecx, byte [esi + 0x104]
push ebp
push eax
push edi
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x331
call fcn.0046eb30
push 0x11
mov ecx, esi
call fcn.00464980
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], 6
call fcn.00438c60
test al, al
je 0x692ce9
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
cmp eax, ebx
jne 0x692d3a
cmp word [esi + 0x142], bx
jne 0x692d12
cmp word [esi + 0x140], bx
jne 0x692d12
cmp word [esi + 0x13e], di
je 0x687ed9
cmp eax, ebx
jne 0x692d3a
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x692d3a
cmp word [esi + 0x13e], 2
je 0x687ed9
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 0xc
jne 0x699e45
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
mov dword [esi + 0x190], edi
fst dword [esp + 0x264]
fld1
push ebp
fstp dword [esp + 0x26c]
lea ecx, [esp + 0x268]
push ecx
push edi
mov ecx, esi
fstp dword [esp + 0x278]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x8581d0]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x331
call fcn.0046eb30
fld dword [0x85b870]
fstp dword [esp + 0x26c]
lea eax, [esp + 0x264]
fld dword [esi + 0xf0]
fadd qword [0x8581d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
jmp 0x692c8e
mov ebx, 2
cmp word [esi + 0x13e], bx
jne 0x692e0f
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], bl
cmp word [esi + 0x13e], bx
jge 0x692e89
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp qword [esp + 0x60]
call fcn.004397f0
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
jne 0x692e89
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x692e89
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
call fcn.004397f0
fstp dword [esi + 0xf0]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
jg 0x692ea2
cmp dword [esi + 0x760], 0
jne 0x692ea2
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x692eb8
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x692ee2
cmp word [esi + 0x142], 0
jne 0x692ee2
cmp word [esi + 0x140], 0
jne 0x692ee2
cmp word [esi + 0x13e], di
je 0x68c022
cmp word [esi + 0x13e], 0
jne 0x699e45
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x699e45
cmp word [esi + 0x140], 8
jne 0x692f17
cmp byte [esi + 0x7f4], 1
je 0x68e6f9
test ax, ax
jne 0x699e45
cmp word [esi + 0x140], 6
jne 0x699e45
push 7
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fld dword [0x85bc70]
fstp dword [esi + 0xf4]
push 0
fld dword [0x867810]
push 0
fstp dword [esi + 0xf8]
push edi
fld dword [0x8677a8]
fstp dword [esi + 0x100]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c170]
movsx eax, al
fstp dword [esp + 0x20]
mov ecx, eax
fld dword [esp + 0x20]
shl ecx, 4
sub ecx, eax
sub esp, 8
add ecx, ecx
mov dword [esp + 0x28], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x330
call fcn.0046eb30
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 ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 0xa
cmp dword [esi + 0x760], ebx
jne 0x692ff5
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x69300a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x6930e2
cmp word [esi + 0x142], bx
jne 0x6930e2
cmp word [esi + 0x140], bx
jne 0x6930e2
cmp word [esi + 0x13e], di
jne 0x699e45
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
mov dword [esi + 0x190], edi
fst dword [esp + 0x3bc]
fstp dword [esp + 0x3c0]
push ebp
fld dword [0x8589f0]
lea edx, [esp + 0x3c0]
fstp dword [esp + 0x3c8]
push edx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push edi
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x336
call fcn.0046eb30
push 0xe
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x13e], di
jne 0x699e45
cmp dword [esi + 0x144], ebx
jne 0x6931b0
fldz
fst dword [esp + 0x2a4]
fld dword [0x85ad04]
fstp dword [esp + 0x2a8]
cmp byte [esi + 0x6ae], 2
jl 0x693127
fld dword [0x85aae8]
fstp dword [esp + 0x2a8]
cmp byte [esi + 0x6ae], 4
jl 0x69313d
fld dword [0x85bc68]
fstp dword [esp + 0x2a8]
fld1
push 4
fstp dword [esp + 0x2b0]
lea edx, [esp + 0x2a8]
push edx
push edi
fstp dword [esp + 0x2bc]
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 + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x336
call fcn.0046eb30
cmp dword [esi + 0x144], 0x3c
jl 0x699e45
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.00487ca0
mov byte [esi + 0x18c], 0xa
cmp dword [esi + 0x764], ebx
jne 0x6931ea
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x6931ff
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x6932d7
cmp word [esi + 0x142], bx
jne 0x6932d7
cmp word [esi + 0x140], bx
jne 0x6932d7
cmp word [esi + 0x13e], di
jne 0x699e45
push 0x32
mov ecx, esi
call fcn.00487870
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
fldz
mov dword [esi + 0x190], edi
fst dword [esp + 0x3d4]
fstp dword [esp + 0x3d8]
push ebp
fld dword [0x8589f0]
lea edx, [esp + 0x3d8]
fstp dword [esp + 0x3e0]
push edx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push edi
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x336
call fcn.0046eb30
push 0xe
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x13e], di
jne 0x699e45
cmp dword [esi + 0x144], ebx
jne 0x6933a5
fldz
fst dword [esp + 0x294]
fld dword [0x85ad04]
fstp dword [esp + 0x298]
cmp byte [esi + 0x6ae], 2
jl 0x69331c
fld dword [0x85aae8]
fstp dword [esp + 0x298]
cmp byte [esi + 0x6ae], 4
jl 0x693332
fld dword [0x85bc68]
fstp dword [esp + 0x298]
fld1
push 4
fstp dword [esp + 0x2a0]
lea edx, [esp + 0x298]
push edx
push edi
fstp dword [esp + 0x2ac]
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 + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x336
call fcn.0046eb30
mov al, byte [esi + 0x6ae]
cmp al, 2
mov ecx, 0x5a
jl 0x6933b9
mov ecx, 0x6e
cmp al, 3
jl 0x6933c2
mov ecx, 0x8c
cmp al, 4
jl 0x6933cb
mov ecx, 0xb4
cmp dword [esi + 0x144], ecx
jl 0x699e45
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.00487ca0
mov byte [esi + 0x18c], 3
cmp dword [esi + 0x760], ebx
jne 0x693404
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x693419
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x693440
cmp word [esi + 0x142], bx
jne 0x693440
cmp word [esi + 0x140], bx
jne 0x693440
cmp word [esi + 0x13e], di
je 0x687ed9
cmp word [esi + 0x13e], bx
jne 0x699e45
movzx eax, word [esi + 0x142]
cmp ax, bx
jne 0x6935d5
cmp word [esi + 0x140], 5
jne 0x693474
cmp byte [esi + 0x6a7], 1
jge 0x68efbf
cmp ax, bx
jne 0x6935d5
cmp word [esi + 0x140], 7
jne 0x6935d5
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x10], ecx
sub esp, 8
fild dword [esp + 0x18]
fmulp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409760
fchs
add esp, 8
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0x7e4]
fld dword [0x85b908]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x693505
fstp dword [esi + 0x7e4]
jmp 0x693507
fstp st(0)
fld dword [0x86782c]
fcom dword [esi + 0x7e4]
fnstsw ax
test ah, 5
jp 0x693522
fstp dword [esi + 0x7e4]
jmp 0x693524
fstp st(0)
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x2cc]
fld dword [0x85b9d0]
fstp dword [esp + 0x2d0]
fstp dword [esp + 0x2d4]
cmp byte [esi + 0x6a7], 2
jl 0x693560
fld dword [0x85bca4]
fstp dword [esp + 0x2d4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857980]
push ebp
lea edx, [esp + 0x2d0]
push edx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
movsx eax, al
sub esp, 8
imul eax, eax, 0x63
fstp dword [esp + 4]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32d
mov ecx, esi
call fcn.0046eb30
push 0xe
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 8
jne 0x699e45
cmp byte [esi + 0x7f4], bl
je 0x699e45
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.00487ca0
mov byte [esi + 0x18c], 3
cmp dword [esi + 0x764], ebx
jne 0x693629
mov byte [esi + 0x7f4], bl
mov ecx, esi
call fcn.00438c60
test al, al
je 0x69363e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x693665
cmp word [esi + 0x142], bx
jne 0x693665
cmp word [esi + 0x140], bx
jne 0x693665
cmp word [esi + 0x13e], di
je 0x687ed9
cmp word [esi + 0x13e], bx
jne 0x699e45
movzx eax, word [esi + 0x142]
cmp ax, bx
jne 0x6935d5
cmp word [esi + 0x140], 5
jne 0x693699
cmp byte [esi + 0x6a7], 1
jge 0x68efbf
cmp ax, bx
jne 0x6935d5
cmp word [esi + 0x140], 7
jne 0x6935d5
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x10], ecx
sub esp, 8
fild dword [esp + 0x18]
fmulp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409760
fchs
add esp, 8
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0x7e4]
fcomp qword [0x85c860]
fnstsw ax
test ah, 5
jp 0x69372a
fld dword [0x85bb80]
fstp dword [esi + 0x7e4]
fld dword [0x85b998]
fcom dword [esi + 0x7e4]
fnstsw ax
test ah, 5
jp 0x693745
fstp dword [esi + 0x7e4]
jmp 0x693747
fstp st(0)
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85b998]
fstp dword [esp + 0x2d8]
fld dword [0x85b9d0]
fstp dword [esp + 0x2dc]
fldz
fstp dword [esp + 0x2e0]
cmp byte [esi + 0x6a7], 2
jl 0x693789
fld dword [0x85bca4]
fstp dword [esp + 0x2e0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857980]
push ebp
lea edx, [esp + 0x2dc]
push edx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
movsx eax, al
sub esp, 8
imul eax, eax, 0x63
fstp dword [esp + 4]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x6935a9
mov ebx, 2
cmp word [esi + 0x13e], bx
jne 0x6937ec
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 3
cmp dword [esi + 0x760], 0
jne 0x693803
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], bx
jge 0x69384f
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x69384f
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 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 0x693865
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x6938b1
cmp word [esi + 0x142], ax
jne 0x69388e
cmp word [esi + 0x140], ax
jne 0x69388e
cmp word [esi + 0x13e], di
je 0x68c022
test eax, eax
jne 0x6938b1
cmp word [esi + 0x142], ax
jne 0x6938b1
cmp word [esi + 0x140], ax
jne 0x6938b1
cmp word [esi + 0x13e], bx
je 0x68c022
cmp word [esi + 0x13e], 0
jne 0x693a83
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x693a46
cmp word [esi + 0x140], 5
jne 0x6938e6
cmp byte [esi + 0x6a7], 1
jge 0x68efbf
test ax, ax
jne 0x693a46
cmp word [esi + 0x140], 7
jne 0x693a46
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x10], ecx
sub esp, 8
fild dword [esp + 0x18]
fmulp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409760
fchs
add esp, 8
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0x7e4]
fld dword [0x85b908]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x693977
fstp dword [esi + 0x7e4]
jmp 0x693979
fstp st(0)
fld dword [0x86782c]
fcom dword [esi + 0x7e4]
fnstsw ax
test ah, 5
jp 0x693994
fstp dword [esi + 0x7e4]
jmp 0x693996
fstp st(0)
push 0x32
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x2e4]
fld dword [0x85b9d0]
fstp dword [esp + 0x2e8]
fstp dword [esp + 0x2ec]
cmp byte [esi + 0x6a7], bl
jl 0x6939d1
fld dword [0x85bca4]
fstp dword [esp + 0x2ec]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857980]
push ebp
lea edx, [esp + 0x2e8]
push edx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
movsx eax, al
sub esp, 8
imul eax, eax, 0x63
fstp dword [esp + 4]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32d
mov ecx, esi
call fcn.0046eb30
push 0xe
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x693a83
cmp word [esi + 0x140], 8
jne 0x693a68
cmp byte [esi + 0x7f4], al
jne 0x68e6f9
test ax, ax
jne 0x693a83
cmp word [esi + 0x140], 9
jne 0x693a83
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], di
jne 0x699e45
jmp 0x68e012
mov ebx, 2
cmp word [esi + 0x13e], bx
jne 0x693aaa
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 3
cmp dword [esi + 0x764], 0
jne 0x693ac1
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], bx
jge 0x693aeb
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x693829
mov ecx, esi
call fcn.00438c60
test al, al
je 0x693b01
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x693b4d
cmp word [esi + 0x142], ax
jne 0x693b2a
cmp word [esi + 0x140], ax
jne 0x693b2a
cmp word [esi + 0x13e], di
je 0x68c022
test eax, eax
jne 0x693b4d
cmp word [esi + 0x142], ax
jne 0x693b4d
cmp word [esi + 0x140], ax
jne 0x693b4d
cmp word [esi + 0x13e], bx
je 0x68c022
cmp word [esi + 0x13e], 0
jne 0x693a83
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x693a46
cmp word [esi + 0x140], 5
jne 0x693b82
cmp byte [esi + 0x6a7], 1
jge 0x68efbf
test ax, ax
jne 0x693a46
cmp word [esi + 0x140], 7
jne 0x693a46
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x10], ecx
sub esp, 8
fild dword [esp + 0x18]
fmulp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409760
fchs
add esp, 8
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0x7e4]
fld dword [0x85b98c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x693c13
fstp dword [esi + 0x7e4]
jmp 0x693c15
fstp st(0)
fld dword [esi + 0x7e4]
fcomp qword [0x858ef0]
fnstsw ax
test ah, 0x41
jne 0x693c34
fld dword [0x871540]
fstp dword [esi + 0x7e4]
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85b98c]
fstp dword [esp + 0x2b4]
fld dword [0x85b9d0]
fstp dword [esp + 0x2b8]
fldz
fstp dword [esp + 0x2bc]
cmp byte [esi + 0x6a7], bl
jl 0x693c75
fld dword [0x85bca4]
fstp dword [esp + 0x2bc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857980]
push ebp
lea edx, [esp + 0x2b8]
push edx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
movsx eax, al
sub esp, 8
imul eax, eax, 0x63
fstp dword [esp + 4]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x693a1a
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 7
cmp dword [esi + 0x760], ebx
jne 0x693cdf
mov byte [esi + 0x7f4], bl
cmp word [esi + 0x7d0], di
mov ebx, 2
jne 0x694350
cmp word [esi + 0x13e], 0
jne 0x693fb6
movsx eax, word [esi + 0x7d2]
cdq
mov ecx, 6
idiv ecx
test edx, edx
jne 0x693faf
cmp word [esi + 0x7d4], bp
jge 0x693faf
fldz
fstp dword [esp + 0x74]
cmp word [esi + 0x7d4], dx
jne 0x693dfe
fld dword [0x85bb84]
push ebp
fstp dword [esp + 0x70]
lea edx, [esp + 0x70]
fld dword [0x86782c]
push edx
fstp dword [esp + 0x78]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edi
fadd qword [0x857980]
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x63
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b9e8]
fstp dword [esp + 0x6c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x70]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], di
jne 0x693ed3
fld dword [0x85b9e0]
push ebp
fstp dword [esp + 0x70]
lea ecx, [esp + 0x70]
fld dword [0x85ae94]
push ecx
fstp dword [esp + 0x78]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b908]
fstp dword [esp + 0x6c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x70]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], bx
jne 0x693fa8
fld dword [0x85b908]
push ebp
fstp dword [esp + 0x70]
lea ecx, [esp + 0x70]
fld dword [0x85bbe4]
push ecx
fstp dword [esp + 0x78]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b858]
fstp dword [esp + 0x6c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x70]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
add word [esi + 0x7d4], di
add word [esi + 0x7d2], di
cmp word [esi + 0x13e], di
jne 0x694350
movsx eax, word [esi + 0x7d2]
cdq
mov ecx, 6
idiv ecx
test edx, edx
jne 0x694349
cmp word [esi + 0x7d4], 4
jge 0x694349
fldz
fstp dword [esp + 0x44]
cmp word [esi + 0x7d4], dx
jne 0x6940c3
fld dword [0x85bb84]
push ebp
fstp dword [esp + 0x40]
lea edx, [esp + 0x40]
fld dword [0x86782c]
push edx
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edi
fadd qword [0x857980]
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x63
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b9e8]
fstp dword [esp + 0x3c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x40]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], di
jne 0x694198
fld dword [0x85b9e0]
push ebp
fstp dword [esp + 0x40]
lea ecx, [esp + 0x40]
fld dword [0x85ae94]
push ecx
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b908]
fstp dword [esp + 0x3c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x40]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], bx
jne 0x69426d
fld dword [0x85b908]
push ebp
fstp dword [esp + 0x40]
lea ecx, [esp + 0x40]
fld dword [0x85bbe4]
push ecx
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b858]
fstp dword [esp + 0x3c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x40]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], bp
jne 0x694342
fld dword [0x85b858]
push ebp
fstp dword [esp + 0x40]
lea ecx, [esp + 0x40]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85bac8]
fstp dword [esp + 0x3c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x40]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
add word [esi + 0x7d4], di
add word [esi + 0x7d2], di
mov ecx, esi
call fcn.00438c60
test al, al
je 0x694366
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x69439f
cmp word [esi + 0x142], 0
jne 0x69439f
cmp word [esi + 0x140], 0
jne 0x69439f
cmp word [esi + 0x13e], di
jne 0x69439f
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 + 0x13e], 0
jne 0x69443a
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x69443a
cmp word [esi + 0x140], 5
jne 0x6943fe
cmp byte [esi + 0x7f4], al
je 0x6943fe
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85ba58]
push edi
push eax
sub esp, 8
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esi + 0xec]
jmp 0x68e6ed
test ax, ax
jne 0x69443a
cmp word [esi + 0x140], 6
jne 0x69443a
push 0x78
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], di
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 0x12
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
push 0x78
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], di
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 0x12
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 7
cmp dword [esi + 0x764], ebx
jne 0x6944b3
mov byte [esi + 0x7f4], bl
cmp word [esi + 0x7d0], di
mov ebx, 2
jne 0x694b54
cmp word [esi + 0x13e], 0
jne 0x6947ba
movsx eax, word [esi + 0x7d2]
cdq
mov ecx, 6
idiv ecx
test edx, edx
jne 0x6947b3
cmp word [esi + 0x7d4], bp
jge 0x6947b3
fldz
fstp dword [esp + 0x8c]
cmp word [esi + 0x7d4], dx
jne 0x6945e4
fld dword [0x85bb84]
push ebp
fstp dword [esp + 0x88]
lea edx, [esp + 0x88]
fld dword [0x86782c]
push edx
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edi
fadd qword [0x857980]
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x63
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b9e8]
fstp dword [esp + 0x84]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x88]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], di
jne 0x6946c8
fld dword [0x85b9e0]
push ebp
fstp dword [esp + 0x88]
lea ecx, [esp + 0x88]
fld dword [0x85ae94]
push ecx
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b908]
fstp dword [esp + 0x84]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x88]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], bx
jne 0x6947ac
fld dword [0x85b908]
push ebp
fstp dword [esp + 0x88]
lea ecx, [esp + 0x88]
fld dword [0x85bbe4]
push ecx
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b858]
fstp dword [esp + 0x84]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x88]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
add word [esi + 0x7d4], di
add word [esi + 0x7d2], di
cmp word [esi + 0x13e], di
jne 0x694b54
movsx eax, word [esi + 0x7d2]
cdq
mov ecx, 6
idiv ecx
test edx, edx
jne 0x694b4d
cmp word [esi + 0x7d4], 4
jge 0x694b4d
fldz
fstp dword [esp + 0x38]
cmp word [esi + 0x7d4], dx
jne 0x6948c7
fld dword [0x85bb84]
push ebp
fstp dword [esp + 0x34]
lea edx, [esp + 0x34]
fld dword [0x86782c]
push edx
fstp dword [esp + 0x3c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edi
fadd qword [0x857980]
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x63
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b9e8]
fstp dword [esp + 0x30]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x34]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], di
jne 0x69499c
fld dword [0x85b9e0]
push ebp
fstp dword [esp + 0x34]
lea ecx, [esp + 0x34]
fld dword [0x85ae94]
push ecx
fstp dword [esp + 0x3c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b908]
fstp dword [esp + 0x30]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x34]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], bx
jne 0x694a71
fld dword [0x85b908]
push ebp
fstp dword [esp + 0x34]
lea ecx, [esp + 0x34]
fld dword [0x85bbe4]
push ecx
fstp dword [esp + 0x3c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b858]
fstp dword [esp + 0x30]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x34]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], bp
jne 0x694b46
fld dword [0x85b858]
push ebp
fstp dword [esp + 0x34]
lea ecx, [esp + 0x34]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x3c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85bac8]
fstp dword [esp + 0x30]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push ebp
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x34]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
add word [esi + 0x7d4], di
add word [esi + 0x7d2], di
mov ecx, esi
call fcn.00438c60
test al, al
je 0x694b6a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x694b94
cmp word [esi + 0x142], 0
jne 0x694b94
cmp word [esi + 0x140], 0
jne 0x694b94
cmp word [esi + 0x13e], di
je 0x69438c
cmp word [esi + 0x13e], 0
jne 0x694c2f
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x694c2f
cmp word [esi + 0x140], 5
jne 0x694bf3
cmp byte [esi + 0x7f4], al
je 0x694bf3
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85ba58]
push edi
push eax
sub esp, 8
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esi + 0xec]
jmp 0x68e6ed
test ax, ax
jne 0x694c2f
cmp word [esi + 0x140], 6
jne 0x694c2f
push 0x78
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], di
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00487870
push 0x12
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
push 0x78
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], di
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00487870
push 0x12
mov ecx, esi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 2
cmp word [esi + 0x13e], bx
mov ecx, esi
jne 0x694ca3
call fcn.00487ca0
jmp 0x694cc2
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x693829
mov byte [esi + 0x18c], 7
cmp dword [esi + 0x760], 0
jne 0x694cd9
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x7d0], di
mov ebp, 6
jne 0x695360
cmp word [esi + 0x13e], 0
jne 0x694fc0
movsx eax, word [esi + 0x7d2]
cdq
mov ecx, ebp
idiv ecx
test edx, edx
jne 0x694fb9
cmp word [esi + 0x7d4], 3
jge 0x694fb9
fldz
fstp dword [esp + 0x80]
cmp word [esi + 0x7d4], dx
jne 0x694dfe
fld dword [0x85bb84]
push 3
fstp dword [esp + 0x7c]
lea edx, [esp + 0x7c]
fld dword [0x86782c]
push edx
fstp dword [esp + 0x84]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edi
fadd qword [0x857980]
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x63
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b9e8]
fstp dword [esp + 0x78]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], di
jne 0x694ed8
fld dword [0x85b9e0]
push 3
fstp dword [esp + 0x7c]
lea ecx, [esp + 0x7c]
fld dword [0x85ae94]
push ecx
fstp dword [esp + 0x84]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b908]
fstp dword [esp + 0x78]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], bx
jne 0x694fb2
fld dword [0x85b908]
push 3
fstp dword [esp + 0x7c]
lea ecx, [esp + 0x7c]
fld dword [0x85bbe4]
push ecx
fstp dword [esp + 0x84]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b858]
fstp dword [esp + 0x78]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
add word [esi + 0x7d4], di
add word [esi + 0x7d2], di
cmp word [esi + 0x13e], di
jne 0x695360
movsx eax, word [esi + 0x7d2]
cdq
mov ecx, ebp
idiv ecx
test edx, edx
jne 0x695359
cmp word [esi + 0x7d4], 4
jge 0x695359
fldz
fstp dword [esp + 0x5c]
cmp word [esi + 0x7d4], dx
jne 0x6950cc
fld dword [0x85bb84]
push 3
fstp dword [esp + 0x58]
lea edx, [esp + 0x58]
fld dword [0x86782c]
push edx
fstp dword [esp + 0x60]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edi
fadd qword [0x857980]
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x63
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b9e8]
fstp dword [esp + 0x54]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x58]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], di
jne 0x6951a3
fld dword [0x85b9e0]
push 3
fstp dword [esp + 0x58]
lea ecx, [esp + 0x58]
fld dword [0x85ae94]
push ecx
fstp dword [esp + 0x60]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b908]
fstp dword [esp + 0x54]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x58]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], bx
jne 0x69527a
fld dword [0x85b908]
push 3
fstp dword [esp + 0x58]
lea ecx, [esp + 0x58]
fld dword [0x85bbe4]
push ecx
fstp dword [esp + 0x60]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b858]
fstp dword [esp + 0x54]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x58]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], 3
jne 0x695352
fld dword [0x85b858]
push 3
fstp dword [esp + 0x58]
lea ecx, [esp + 0x58]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x60]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85bac8]
fstp dword [esp + 0x54]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x58]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
add word [esi + 0x7d4], di
add word [esi + 0x7d2], di
mov ecx, esi
call fcn.00438c60
test al, al
je 0x695376
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 0x6953c2
cmp word [esi + 0x142], ax
jne 0x69539f
cmp word [esi + 0x140], ax
jne 0x69539f
cmp word [esi + 0x13e], di
je 0x68d35c
test eax, eax
jne 0x6953c2
cmp word [esi + 0x142], ax
jne 0x6953c2
cmp word [esi + 0x140], ax
jne 0x6953c2
cmp word [esi + 0x13e], bx
je 0x68d35c
cmp word [esi + 0x13e], 0
jne 0x69547c
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x69545c
cmp word [esi + 0x140], 5
jne 0x695421
cmp byte [esi + 0x7f4], al
je 0x695421
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85ba58]
push edi
push eax
sub esp, 8
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esi + 0xec]
jmp 0x68e6ed
test ax, ax
jne 0x69545c
cmp word [esi + 0x140], bp
jne 0x69545c
push 0x78
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], di
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 0x12
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
cmp word [esi + 0x142], 0
jne 0x69547c
cmp word [esi + 0x140], 0xa
jne 0x69547c
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x6954cd
push 0x78
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], di
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
mov dword [esi + 0x190], edi
push 0x12
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bp
jmp 0x68bcc8
mov ebx, 2
cmp word [esi + 0x13e], bx
mov ecx, esi
jne 0x6954fe
call fcn.00487ca0
jmp 0x69551d
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x693829
mov byte [esi + 0x18c], 7
cmp dword [esi + 0x764], 0
jne 0x695534
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x7d0], di
mov ebp, 6
jne 0x695bdf
cmp word [esi + 0x13e], 0
jne 0x69583f
movsx eax, word [esi + 0x7d2]
cdq
mov ecx, ebp
idiv ecx
test edx, edx
jne 0x695838
cmp word [esi + 0x7d4], 3
jge 0x695838
fldz
fstp dword [esp + 0x98]
cmp word [esi + 0x7d4], dx
jne 0x695665
fld dword [0x85bb84]
push 3
fstp dword [esp + 0x94]
lea edx, [esp + 0x94]
fld dword [0x86782c]
push edx
fstp dword [esp + 0x9c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edi
fadd qword [0x857980]
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x63
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b9e8]
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x94]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], di
jne 0x69574b
fld dword [0x85b9e0]
push 3
fstp dword [esp + 0x94]
lea ecx, [esp + 0x94]
fld dword [0x85ae94]
push ecx
fstp dword [esp + 0x9c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b908]
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x94]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], bx
jne 0x695831
fld dword [0x85b908]
push 3
fstp dword [esp + 0x94]
lea ecx, [esp + 0x94]
fld dword [0x85bbe4]
push ecx
fstp dword [esp + 0x9c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b858]
fstp dword [esp + 0x90]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x94]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
add word [esi + 0x7d4], di
add word [esi + 0x7d2], di
cmp word [esi + 0x13e], di
jne 0x695bdf
movsx eax, word [esi + 0x7d2]
cdq
mov ecx, ebp
idiv ecx
test edx, edx
jne 0x695bd8
cmp word [esi + 0x7d4], 4
jge 0x695bd8
fldz
fstp dword [esp + 0x50]
cmp word [esi + 0x7d4], dx
jne 0x69594b
fld dword [0x85bb84]
push 3
fstp dword [esp + 0x4c]
lea edx, [esp + 0x4c]
fld dword [0x86782c]
push edx
fstp dword [esp + 0x54]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edi
fadd qword [0x857980]
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x63
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b9e8]
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x4c]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], di
jne 0x695a22
fld dword [0x85b9e0]
push 3
fstp dword [esp + 0x4c]
lea ecx, [esp + 0x4c]
fld dword [0x85ae94]
push ecx
fstp dword [esp + 0x54]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b908]
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x4c]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], bx
jne 0x695af9
fld dword [0x85b908]
push 3
fstp dword [esp + 0x4c]
lea ecx, [esp + 0x4c]
fld dword [0x85bbe4]
push ecx
fstp dword [esp + 0x54]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85b858]
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x4c]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
cmp word [esi + 0x7d4], 3
jne 0x695bd1
fld dword [0x85b858]
push 3
fstp dword [esp + 0x4c]
lea ecx, [esp + 0x4c]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x54]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
fld dword [0x85bac8]
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push 3
imul edx, edx, 0x63
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x4c]
push ecx
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x332
call fcn.0046eb30
add word [esi + 0x7d4], di
add word [esi + 0x7d2], di
mov ecx, esi
call fcn.00438c60
test al, al
je 0x695bf5
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 0x695c41
cmp word [esi + 0x142], ax
jne 0x695c1e
cmp word [esi + 0x140], ax
jne 0x695c1e
cmp word [esi + 0x13e], di
je 0x68d35c
test eax, eax
jne 0x695c41
cmp word [esi + 0x142], ax
jne 0x695c41
cmp word [esi + 0x140], ax
jne 0x695c41
cmp word [esi + 0x13e], bx
je 0x68d35c
cmp word [esi + 0x13e], 0
jne 0x695cfb
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x695cdb
cmp word [esi + 0x140], 5
jne 0x695ca0
cmp byte [esi + 0x7f4], al
je 0x695ca0
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85ba58]
push edi
push eax
sub esp, 8
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esi + 0xec]
jmp 0x68e6ed
test ax, ax
jne 0x695cdb
cmp word [esi + 0x140], bp
jne 0x695cdb
push 0x78
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], di
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00487870
push 0x12
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x142], 0
jne 0x695cfb
cmp word [esi + 0x140], 0xa
jne 0x695cfb
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], di
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x6954cd
push 0x78
push 0xc8
mov ecx, esi
mov word [esi + 0x7d0], di
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00487870
jmp 0x6954c4
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 0xb
call fcn.00438c60
test al, al
je 0x695d6f
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 7
jne 0x699e45
fld dword [0x8589f0]
push ebp
fst dword [esp + 0x3f0]
lea ecx, [esp + 0x3f0]
fldz
push ecx
fstp dword [esp + 0x3f8]
push edi
fstp dword [esp + 0x400]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
push eax
sub esp, 8
imul edx, edx, 0x63
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x337
mov ecx, esi
call fcn.0046eb30
push 0x32
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00487870
push 0x16
mov ecx, esi
call fcn.00464980
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
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 0xb
call fcn.00438c60
test al, al
je 0x695e5d
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 7
jne 0x699e45
fld dword [0x85ad10]
push ebp
fstp dword [esp + 0x408]
lea ecx, [esp + 0x408]
fldz
push ecx
fstp dword [esp + 0x410]
push edi
fld dword [0x8589f0]
fstp dword [esp + 0x418]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857980]
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x63
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x695dfd
cmp word [esi + 0x13e], di
jne 0x695f06
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 0xb
cmp word [esi + 0x13e], di
jge 0x695f59
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x695f59
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 edi
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x695f6e
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x695f95
cmp word [esi + 0x142], bx
jne 0x695f95
cmp word [esi + 0x140], bx
jne 0x695f95
cmp word [esi + 0x13e], di
je 0x68d35c
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 7
jne 0x696058
fld dword [0x8589f0]
push ebp
fst dword [esp + 0x420]
lea ecx, [esp + 0x420]
fldz
push ecx
fstp dword [esp + 0x428]
push edi
mov ecx, esi
fstp dword [esp + 0x430]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x857980]
imul edx, edx, 0x63
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x337
call fcn.0046eb30
push 0x32
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00487870
push 0x16
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 9
jmp 0x68ced6
cmp word [esi + 0x13e], di
jne 0x696082
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 0xb
cmp word [esi + 0x13e], di
jge 0x6960b3
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x695f33
mov ecx, esi
call fcn.00438c60
test al, al
je 0x6960c8
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x6960ef
cmp word [esi + 0x142], bx
jne 0x6960ef
cmp word [esi + 0x140], bx
jne 0x6960ef
cmp word [esi + 0x13e], di
je 0x68d35c
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 7
jne 0x696058
fld dword [0x85ad10]
push ebp
fstp dword [esp + 0x438]
lea ecx, [esp + 0x438]
fldz
push ecx
fstp dword [esp + 0x440]
push edi
fld dword [0x8589f0]
mov ecx, esi
fstp dword [esp + 0x448]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857980]
movsx edx, al
imul edx, edx, 0x63
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x337
call fcn.0046eb30
push 0x16
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
push 0x32
mov ecx, esi
call fcn.00487870
jmp 0x69604a
movzx eax, word [esi + 0x7d0]
test ax, ax
mov ebx, 5
jle 0x696347
cmp word [esi + 0x140], 7
jge 0x696347
cmp ax, 0xc
jge 0x696347
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 + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x234]
call fcn.004098d0
xor edx, edx
mov ecx, ebx
div ecx
push ebp
lea eax, [esp + 0x238]
push eax
push edi
add edx, 0xa
movsx edx, dx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fstp dword [esp + 0x244]
fldz
fstp dword [esp + 0x248]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx eax, word [esi + 0x7d0]
push ecx
movsx ecx, cl
add eax, edi
imul eax, ecx
lea edx, [eax + eax*4]
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
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 + 0x10], edx
fild dword [esp + 0x10]
jge 0x6962ad
fadd dword [0x871554]
fstp dword [esp + 0x234]
push ebp
fldz
lea edx, [esp + 0x238]
fstp dword [esp + 0x23c]
push edx
fld1
push edi
fstp dword [esp + 0x248]
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
movsx eax, word [esi + 0x7d0]
push ecx
movsx ecx, cl
add eax, edi
imul eax, ecx
lea edx, [eax + eax*4]
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
cmp word [esi + 0x7d0], di
jne 0x696340
push 0
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
add word [esi + 0x7d0], di
mov ecx, esi
call fcn.00438c60
test al, al
je 0x69635d
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
mov word [esi + 0x7d0], di
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 2
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x6963ae
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x696433
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x85c538]
movzx eax, byte [esi + 0x104]
push edi
push eax
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebx
push ebx
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 6
jne 0x699e45
push 0x32
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fldz
fst dword [esp + 0x44c]
push ebp
fld dword [0x85b830]
lea ecx, [esp + 0x450]
fstp dword [esp + 0x454]
push ecx
push edi
mov ecx, esi
fstp dword [esp + 0x460]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c898]
imul edx, edx, 0x82
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x352
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00487ca0
fldz
cmp word [esi + 0x13e], 0
mov ebx, 7
jne 0x696593
cmp word [esi + 0x140], bx
jl 0x696593
fld dword [esi + 0xf4]
fsub qword [0x858820]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
cmp word [esi + 0x140], 0xb
jg 0x69654c
fstp st(1)
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x69655d
fstp dword [esi + 0xf4]
jmp 0x69655f
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x69655d
fstp dword [esi + 0xf4]
jmp 0x69655f
fstp st(0)
xor ecx, ecx
cmp dword [esi + 0x190], ecx
je 0x696595
add word [esi + 0x7d0], di
cmp byte [esi + 0x194], cl
movzx eax, word [esi + 0x7d0]
jle 0x696595
cmp ax, bp
jl 0x696595
mov word [esi + 0x7d0], cx
mov dword [esi + 0x190], ecx
jmp 0x696595
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x6965ab
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x696654
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]
fadd qword [0x85cbc8]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea eax, [eax + eax*4]
add eax, eax
sub esp, 8
add eax, eax
add eax, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], eax
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push 0
push 0
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 8
jne 0x6966c2
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857968]
movsx ecx, al
push 0
imul ecx, ecx, 0x82
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push 0
push edi
push eax
sub esp, 8
mov dword [esp + 0x28], ecx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x353
call fcn.0046eb30
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
fld dword [0x85ae94]
push 0xa
mov ecx, esi
fstp dword [esi + 0xf4]
call fcn.00464980
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x696714
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x288]
fld dword [0x85ae94]
fstp dword [esp + 0x28c]
fld dword [0x8589f0]
fstp dword [esp + 0x290]
fldz
fld dword [esp + 0x288]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x6967a1
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x6967a3
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea edx, [esp + 0x28c]
push edx
push 1
push eax
movsx eax, al
sub esp, 8
imul eax, eax, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x6967e0
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x28c]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x2d
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x6966f8
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x696831
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebx
jne 0x69685a
cmp word [esi + 0x142], bx
jne 0x69685a
cmp word [esi + 0x140], bx
jne 0x69685a
cmp word [esi + 0x13e], di
jne 0x69685a
mov dword [esi + 0x144], ebx
cmp word [esi + 0x13e], bx
fldz
jne 0x696b1c
cmp word [esi + 0x142], bx
jne 0x696b1c
cmp word [esi + 0x140], 4
jne 0x696902
push 0x28
fstp st(0)
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c1d8]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
imul eax, eax, 0x3a
sub esp, 8
mov dword [esp + 0x20], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push 0
push 0
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
fldz
cmp word [esi + 0x142], bx
jne 0x696b1c
cmp word [esi + 0x140], 8
jne 0x69697c
fst dword [esp + 0x464]
push 3
fstp dword [esp + 0x46c]
lea ecx, [esp + 0x468]
fld1
push ecx
fstp dword [esp + 0x474]
push 1
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x8581d0]
push edx
sub esp, 8
mov ecx, esi
fadd qword [0x85b3a8]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fldz
cmp word [esi + 0x142], bx
jne 0x696b1c
cmp word [esi + 0x140], 0xc
jne 0x696b1c
mov dword [esi + 0x190], edi
fst dword [esp + 0xcc]
fstp dword [esp + 0xd0]
push 3
fld dword [0x8589f0]
lea eax, [esp + 0xd0]
fstp dword [esp + 0xd8]
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 0x354
call fcn.0046eb30
fld dword [0x871538]
fstp dword [esp + 0xd4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
neg al
lea edx, [esp + 0xd0]
push edx
push 1
mov ecx, esi
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call fcn.0046eb30
push 0xc
mov ecx, esi
call fcn.00464980
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x696a5b
fadd dword [0x871554]
xor edi, edi
fstp dword [esi + 0x7dc]
mov dword [esp + 0x18], edi
fild dword [esp + 0x18]
fadd qword [0x85c578]
fadd dword [esi + 0x7dc]
fstp dword [esp + 0xcc]
fld dword [0x8596b8]
fstp dword [esp + 0xd0]
fld dword [0x867860]
fstp dword [esp + 0xd4]
fldz
fld dword [esp + 0xcc]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x696acf
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x696ad1
movzx edx, byte [esi + 0x104]
push 3
lea ecx, [esp + 0xd0]
push ecx
push 1
push edx
jmp 0x696ae5
fstp st(0)
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0xd0]
push eax
push 0xffffffffffffffff
push ecx
fld dword [esi + 0xf0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call fcn.0046eb30
add edi, 0x2d
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x696a67
fldz
cmp word [esi + 0x13e], 1
jne 0x699e43
mov eax, dword [esi + 0x144]
cdq
mov ecx, 6
idiv ecx
test edx, edx
jne 0x696bdc
fst dword [esp + 0x47c]
push 3
fstp dword [esp + 0x484]
lea edx, [esp + 0x480]
fld dword [0x85b870]
push edx
fstp dword [esp + 0x48c]
movzx eax, byte [esi + 0x104]
push 1
push eax
push 0x1f4
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x696b8b
fadd dword [0x871554]
fadd dword [esi + 0xf0]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x190
call fcn.004099f0
sub eax, 0xc8
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x696bbd
fadd dword [0x871554]
fadd dword [esi + 0xec]
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x354
call fcn.0046eb30
jmp 0x696bde
fstp st(0)
cmp dword [esi + 0x144], 0x3c
jl 0x699e45
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
push 2
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jne 0x696c24
cmp dword [esi + 0x144], 0x20
jge 0x68e6f9
mov ecx, esi
call fcn.00438c60
test al, al
je 0x696c39
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x696c62
cmp word [esi + 0x142], bx
jne 0x696c62
cmp word [esi + 0x140], bx
jne 0x696c62
cmp word [esi + 0x13e], di
jne 0x696c62
mov dword [esi + 0x144], ebx
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x696d09
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]
fadd qword [0x85c1d8]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
sub esp, 8
add ecx, ecx
mov dword [esp + 0x20], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebx
push ebx
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 0xc
jne 0x699e45
push 0x17
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x494]
push ebp
fst dword [esp + 0x49c]
lea edx, [esp + 0x498]
fstp dword [esp + 0x4a0]
push edx
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x8581e8]
push edi
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x355
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x696db5
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x696ddc
cmp word [esi + 0x142], bx
jne 0x696ddc
cmp word [esi + 0x140], bx
jne 0x696ddc
cmp word [esi + 0x13e], di
je 0x687ed9
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x696e61
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x85c538]
movzx ecx, byte [esi + 0x104]
push edi
push ecx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebx
push ebx
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 7
jne 0x699e45
fldz
push ebp
fst dword [esp + 0x4b0]
lea edx, [esp + 0x4b0]
fld dword [0x85ae94]
push edx
fstp dword [esp + 0x4b8]
push edi
mov ecx, esi
fstp dword [esp + 0x4c0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x857980]
movsx eax, al
imul eax, eax, 0x63
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x358
call fcn.0046eb30
push 0xd
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bx
jne 0x696fb8
cmp word [esi + 0x142], bx
jne 0x696fb8
cmp word [esi + 0x140], bp
jne 0x696fb8
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]
fadd qword [0x85dc00]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea ecx, [eax + eax*2]
add ecx, ecx
sub esp, 8
add ecx, ecx
mov dword [esp + 0x20], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebx
push ebx
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x699e45
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
fldz
fst dword [esp + 0x4c4]
push ebp
fst dword [esp + 0x4cc]
lea ecx, [esp + 0x4c8]
fstp dword [esp + 0x4d0]
push ecx
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edi
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x359
call fcn.0046eb30
push 0x10
mov ecx, esi
mov word [esi + 0x89c], 0x384
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push 2
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], bp
mov ecx, esi
jg 0x697176
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x68d35c
cmp dword [esi + 0x144], ebx
fldz
jne 0x6971f1
cmp word [esi + 0x142], bx
jne 0x6971f1
cmp word [esi + 0x140], bx
jne 0x6971f1
cmp word [esi + 0x13e], di
jne 0x6971f1
fst dword [esp + 0x1e0]
push 3
fld dword [0x85ad04]
lea eax, [esp + 0x1e4]
fstp dword [esp + 0x1e8]
push eax
push 1
fstp dword [esp + 0x1f4]
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 0x35a
call fcn.0046eb30
fldz
mov word [esi + 0x89e], 0x258
fstp dword [esi + 0x7fc]
push 0x10
mov ecx, esi
call fcn.00464980
xor edi, edi
mov dword [esp + 0x18], edi
lea ebx, [ebx]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x697129
fadd dword [0x871554]
fiadd dword [esp + 0x1c]
fstp dword [esp + 0x1e4]
fld dword [0x858830]
fstp dword [esp + 0x1e8]
fld dword [0x8589f0]
fstp dword [esp + 0x1ec]
fld dword [esp + 0x1e4]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x69719c
mov eax, 1
jmp 0x69719e
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x697055
mov ecx, esi
jmp 0x68d32a
xor eax, eax
fld dword [esi + 0xf0]
mov ecx, 1
add al, al
push 3
sub cl, al
lea edx, [esp + 0x1e4]
push edx
movzx edx, byte [esi + 0x104]
push ecx
push edx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
add edi, 0x1e
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x697110
fldz
xor ebp, ebp
cmp word [esi + 0x13e], bp
jne 0x69729b
cmp word [esi + 0x142], bp
jne 0x69729b
cmp word [esi + 0x140], 3
jne 0x69729b
push 0x28
fstp st(0)
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x871510]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea eax, [eax + eax*4]
sub esp, 8
add eax, eax
add eax, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], eax
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebp
push ebp
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
fldz
cmp dword [esi + 0x144], ebp
jne 0x6972d3
cmp word [esi + 0x142], bp
jne 0x6972d3
cmp word [esi + 0x140], bp
jne 0x6972d3
cmp word [esi + 0x13e], 3
jne 0x6972d3
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 3
mov ebx, 5
jne 0x69749f
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 bl, ah
jp 0x69730e
fst dword [esi + 0xf4]
cmp word [esi + 0x142], bp
jne 0x69749f
cmp word [esi + 0x140], bx
jne 0x69749f
push 0x1d
fstp st(0)
mov ecx, esi
call fcn.00439490
xor edi, edi
mov dword [esp + 0x18], edi
lea esp, [esp]
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x69735c
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0xf0]
fld dword [0x85b830]
fstp dword [esp + 0xf4]
fld dword [0x8589f0]
fstp dword [esp + 0xf8]
fldz
fld dword [esp + 0xf0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x6973e9
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x6973eb
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0xf4]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x7d
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x697428
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0xf4]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x7d
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x697340
fldz
push 3
fst dword [esp + 0xf4]
lea eax, [esp + 0xf4]
fstp dword [esp + 0xf8]
push eax
fld dword [0x85c22c]
push 1
fstp dword [esp + 0x104]
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 0x383
call fcn.0046eb30
fldz
mov eax, dword [esi + 0x144]
cmp eax, ebp
jne 0x697505
cmp word [esi + 0x142], bp
jne 0x6974c9
cmp word [esi + 0x140], bp
jne 0x6974c9
cmp word [esi + 0x13e], 4
je 0x6972bf
cmp eax, ebp
jne 0x697505
cmp word [esi + 0x142], bp
jne 0x697505
cmp word [esi + 0x140], bp
jne 0x697505
cmp word [esi + 0x13e], bx
jne 0x697505
fld dword [0x85b3b0]
push 0x1d
fstp dword [esi + 0x7dc]
mov ecx, esi
fstp dword [esi + 0x100]
call fcn.00439490
jmp 0x697507
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x699e45
fld dword [esi + 0x7dc]
fmul qword [0x85a280]
fstp dword [esi + 0xf4]
fld dword [esi + 0x7dc]
fstp dword [esi + 0xf8]
fld dword [esi + 0x7dc]
fsub qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x7dc]
fld dword [0x867860]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x697565
fstp dword [esi + 0x7dc]
jmp 0x697567
fstp st(0)
cmp byte [esi + 0x194], 0
jle 0x69759a
cmp dword [esi + 0x190], ebp
je 0x69759a
add word [esi + 0x7d0], 1
movzx eax, word [esi + 0x7d0]
cmp ax, 4
jl 0x69759a
mov dword [esi + 0x190], ebp
mov word [esi + 0x7d0], bp
cmp dword [esi + 0x144], 0xf
jl 0x699e45
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jne 0x6975ec
cmp dword [esi + 0x144], 0x14
jge 0x68e6f9
mov ecx, esi
call fcn.00438c60
test al, al
je 0x697601
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x6976e9
cmp word [esi + 0x142], bx
jne 0x6976e9
cmp word [esi + 0x140], bx
jne 0x6976e9
cmp word [esi + 0x13e], di
jne 0x6976e9
fldz
push ebp
fst dword [esp + 0x280]
lea ecx, [esp + 0x280]
fstp dword [esp + 0x284]
push ecx
fld1
push 0xffffffffffffffff
fstp dword [esp + 0x290]
mov ecx, esi
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx edx, byte [esi + 0x104]
push edx
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35b
call fcn.0046eb30
fld dword [0x8589f0]
fstp dword [esp + 0x284]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x857b20]
lea eax, [esp + 0x280]
push eax
push 0xffffffffffffffff
fstp dword [esp + 0x1c]
push ecx
fld dword [esp + 0x20]
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35b
call fcn.0046eb30
push 0xd
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x699e45
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]
fadd qword [0x871510]
push edi
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
lea edx, [eax + eax*4]
sub esp, 8
add edx, edx
add edx, edx
fstp dword [esp + 4]
mov dword [esp + 0x20], edx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebx
push ebx
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jne 0x697a40
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x14
idiv ecx
test edx, edx
jne 0x6978f1
push 0xe
mov ecx, esi
call fcn.00464980
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x6977f0
fadd dword [0x871554]
fstp dword [esp + 0x21c]
push ebp
fld dword [0x858830]
lea edx, [esp + 0x220]
fstp dword [esp + 0x224]
push edx
fldz
push edi
fstp dword [esp + 0x230]
mov ecx, esi
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c148]
push eax
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
fld dword [0x85b870]
fstp dword [esp + 0x224]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x85c148]
neg dl
lea ecx, [esp + 0x220]
push ecx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov ecx, esi
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
fld dword [0x85bca4]
fstp dword [esp + 0x224]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x85c148]
neg cl
lea eax, [esp + 0x220]
push eax
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 0xa
jne 0x697a33
push 0xe
mov ecx, esi
call fcn.00464980
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x697930
fadd dword [0x871554]
fstp dword [esp + 0x1f8]
push ebp
fld dword [0x858830]
lea edx, [esp + 0x1fc]
fstp dword [esp + 0x200]
push edx
fldz
push edi
fstp dword [esp + 0x20c]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c148]
neg al
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
fld dword [0x85b870]
fstp dword [esp + 0x200]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x85c148]
neg dl
lea ecx, [esp + 0x1fc]
push ecx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov ecx, esi
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
fld dword [0x85bca4]
fstp dword [esp + 0x200]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x85c148]
neg cl
lea eax, [esp + 0x1fc]
push eax
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
cmp dword [esi + 0x144], 0x78
jge 0x68e6f9
mov ecx, esi
call fcn.00438c60
test al, al
je 0x697a55
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x697af4
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]
fadd qword [0x871510]
push edi
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
lea ecx, [eax + eax*4]
sub esp, 8
add ecx, ecx
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebx
push ebx
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 6
jne 0x699e45
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x697b2e
fadd dword [0x871554]
fstp dword [esp + 0x4dc]
lea edx, [esp + 0x4dc]
fldz
fstp dword [esp + 0x4e0]
fld dword [0x867860]
fstp dword [esp + 0x4e4]
fld dword [esi + 0xf0]
fadd qword [0x85c148]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
movzx eax, byte [esi + 0x104]
push ebp
push edx
push edi
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 2
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x697bbc
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x697c41
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x85c538]
movzx ecx, byte [esi + 0x104]
push edi
push ecx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebx
push ebx
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 6
jne 0x699e45
push 0x33
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fldz
fstp dword [esp + 0x4f4]
push ebp
fld dword [0x871538]
lea edx, [esp + 0x4f8]
fstp dword [esp + 0x4fc]
push edx
fld dword [0x867860]
push edi
fstp dword [esp + 0x508]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c898]
push eax
movsx eax, al
imul eax, eax, 0x82
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x35d
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x697e78
call fcn.00487ca0
push 2
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x697d25
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x697d4c
cmp word [esi + 0x142], bx
jne 0x697d4c
cmp word [esi + 0x140], bx
jne 0x697d4c
cmp word [esi + 0x13e], di
je 0x68c022
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x697dd1
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x857f98]
movzx ecx, byte [esi + 0x104]
push edi
push ecx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebx
push ebx
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 6
jne 0x696058
push 0x32
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fldz
fst dword [esp + 0x50c]
push ebp
fld dword [0x85b830]
lea edx, [esp + 0x510]
fstp dword [esp + 0x514]
push edx
push edi
mov ecx, esi
fstp dword [esp + 0x520]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x857980]
movsx eax, al
imul eax, eax, 0x82
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x352
call fcn.0046eb30
jmp 0x696058
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x697d05
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 edi
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push 2
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], di
jne 0x698163
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x14
idiv ecx
test edx, edx
jne 0x698014
push 0xe
mov ecx, esi
call fcn.00464980
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x697f13
fadd dword [0x871554]
fstp dword [esp + 0x210]
push ebp
fld dword [0x858830]
lea edx, [esp + 0x214]
fstp dword [esp + 0x218]
push edx
fldz
push edi
fstp dword [esp + 0x224]
mov ecx, esi
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c148]
push eax
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
fld dword [0x85b870]
fstp dword [esp + 0x218]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x85c148]
neg dl
lea ecx, [esp + 0x214]
push ecx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov ecx, esi
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
fld dword [0x85bca4]
fstp dword [esp + 0x218]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x85c148]
neg cl
lea eax, [esp + 0x214]
push eax
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 0xa
jne 0x698156
push 0xe
mov ecx, esi
call fcn.00464980
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x698053
fadd dword [0x871554]
fstp dword [esp + 0x228]
push ebp
fld dword [0x858830]
lea edx, [esp + 0x22c]
fstp dword [esp + 0x230]
push edx
fldz
push edi
fstp dword [esp + 0x23c]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c148]
neg al
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
fld dword [0x85b870]
fstp dword [esp + 0x230]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x85c148]
neg dl
lea ecx, [esp + 0x22c]
push ecx
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov ecx, esi
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
fld dword [0x85bca4]
fstp dword [esp + 0x230]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x85c148]
neg cl
lea eax, [esp + 0x22c]
push eax
push edi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
cmp dword [esi + 0x144], 0x78
jge 0x68e6f9
mov ecx, esi
call fcn.00438c60
test al, al
je 0x69818d
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
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], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x69822b
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]
fadd qword [0x871510]
push edi
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
lea ecx, [eax + eax*4]
sub esp, 8
add ecx, ecx
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebx
push ebx
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 5
jne 0x699e45
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x698265
fadd dword [0x871554]
fstp dword [esp + 0x524]
lea edx, [esp + 0x524]
fldz
fstp dword [esp + 0x528]
fld dword [0x867860]
fstp dword [esp + 0x52c]
fld dword [esi + 0xf0]
fadd qword [0x85c148]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
jmp 0x697b66
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x6982b4
call fcn.00487ca0
jmp 0x6982d3
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x697e97
push 2
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x6982f3
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebx
jne 0x69831a
cmp word [esi + 0x142], bx
jne 0x69831a
cmp word [esi + 0x140], bx
jne 0x69831a
cmp word [esi + 0x13e], di
je 0x68c022
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x69839f
push 0x28
mov ecx, esi
call fcn.00483cd0
push 0x17
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x857f98]
movzx ecx, byte [esi + 0x104]
push edi
push ecx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebx
push ebx
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 6
jne 0x696058
push 0x33
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00464980
fldz
fstp dword [esp + 0x53c]
push ebp
fld dword [0x871538]
lea edx, [esp + 0x540]
fstp dword [esp + 0x544]
push edx
fld dword [0x867860]
push edi
fstp dword [esp + 0x550]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857980]
push eax
movsx eax, al
imul eax, eax, 0x82
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x35d
call fcn.0046eb30
jmp 0x696058
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x698468
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 9
jne 0x699e45
push 0x37
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx ecx, byte [esi + 0x104]
push edi
push ecx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
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 edi
push edx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
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 edi
push eax
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
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 0xffffffffffffffff
push ecx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
push 0xffffffffffffffff
push edx
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
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x6985f3
fld dword [esi + 0xf4]
fsub qword [0x85a298]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x6985f3
fstp dword [esi + 0xf4]
jmp 0x6985f5
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x69860a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bp
jne 0x698639
fld dword [0x85b3b0]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 4
jne 0x699e45
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
call fcn.00438c60
test al, al
je 0x698685
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2bc
mov ecx, esi
call edx
mov ecx, esi
call fcn.00487c20
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 7
jne 0x699e45
fldz
push ebp
fst dword [esp + 0x558]
lea ecx, [esp + 0x558]
fstp dword [esp + 0x55c]
push ecx
fld dword [0x85b870]
push edi
fstp dword [esp + 0x568]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857980]
movsx edx, al
imul edx, edx, 0x63
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x384
call fcn.0046eb30
push 0xd
mov ecx, esi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x698753
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2bc
mov ecx, esi
call edx
mov ecx, esi
call fcn.00487c20
movzx eax, word [esi + 0x13e]
cmp ax, di
jne 0x69876c
cmp dword [esi + 0x144], 0x78
jge 0x690fe9
cmp dword [esi + 0x144], ebx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], bx
jne 0x699e45
cmp ax, di
jne 0x699e45
fldz
xor edi, edi
mov dword [esi + 0x144], edi
fst dword [esp + 0x108]
movsx eax, word [esi + 0x820]
mov dword [esp + 0x10], eax
push 3
lea ecx, [esp + 0x10c]
fild dword [esp + 0x14]
push ecx
push 1
mov ecx, esi
fstp dword [esp + 0x118]
fstp dword [esp + 0x11c]
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 0x38e
call fcn.0046eb30
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x69881f
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x108]
fld dword [0x85b830]
fstp dword [esp + 0x10c]
fld dword [0x8589f0]
fstp dword [esp + 0x110]
fldz
fld dword [esp + 0x108]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x698883
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x698885
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0x10c]
push eax
push 1
push ecx
jmp 0x698899
fstp st(0)
movzx eax, byte [esi + 0x104]
push 3
lea edx, [esp + 0x10c]
push edx
push 0xffffffffffffffff
push eax
fld dword [esi + 0xf0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x698803
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
cmp ax, 2
je 0x6988e8
cmp ax, bp
jne 0x6988fa
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
mov ebx, 5
cmp ax, bx
jne 0x698918
cmp dword [esi + 0x144], 0x3c
jge 0x68e6f9
cmp ax, 7
mov edi, 8
je 0x69892c
cmp ax, di
jne 0x698a8f
add word [esi + 0x7d4], 1
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x10], ecx
sub esp, 8
fild dword [esp + 0x18]
fmulp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409760
fchs
add esp, 4
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7e4]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x8677a0]
fadd dword [esi + 0xf4]
fstp dword [esi + 0xf4]
fld dword [esi + 0x7e4]
fchs
fstp dword [esp]
call fcn.00409580
fmul qword [0x8677a0]
add esp, 4
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf8]
mov eax, dword [0x8971d4]
cmp eax, 3
jne 0x698a01
fld dword [0x85bca4]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x6989f9
fst dword [esi + 0xf4]
fld dword [0x85b9cc]
jmp 0x698a24
test eax, eax
jne 0x698a65
fld dword [0x867860]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x698a1e
fst dword [esi + 0xf4]
fld dword [0x85bc70]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x698a37
fst dword [esi + 0xf4]
fxch st(1)
fcom dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x698a4e
fstp dword [esi + 0xf8]
jmp 0x698a50
fstp st(0)
fcom dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x698a86
fstp dword [esi + 0xf8]
jmp 0x698a88
fld dword [0x85b870]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x698a7e
fst dword [esi + 0xf4]
fld dword [0x85b858]
jmp 0x698a24
fstp st(0)
mov ecx, esi
call fcn.00487c20
movzx eax, word [esi + 0x13e]
cmp ax, 9
mov ebp, 0xa
je 0x698aaa
cmp ax, bp
jne 0x698c01
add word [esi + 0x7d4], 1
mov eax, dword [esi + 0x170]
movsx edx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x10], edx
sub esp, 8
fild dword [esp + 0x18]
fmulp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409760
fchs
add esp, 4
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7e4]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x8677a0]
add esp, 4
fadd dword [esi + 0xf4]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fld dword [0x85b870]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x698b53
fstp dword [esi + 0xf4]
jmp 0x698b55
fstp st(0)
fld dword [0x85b858]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x698b70
fstp dword [esi + 0xf4]
jmp 0x698b72
fstp st(0)
fld dword [esi + 0x7e4]
push ecx
fchs
fstp dword [esp]
call fcn.00409580
fmul qword [0x8677a0]
add esp, 4
fadd dword [esi + 0xf8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf8]
fld dword [0x85b870]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x698bb9
fstp dword [esi + 0xf8]
jmp 0x698bbb
fstp st(0)
fld dword [0x85b858]
fcom dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x698bd6
fstp dword [esi + 0xf8]
jmp 0x698bd8
fstp st(0)
mov ecx, esi
call fcn.00487c20
fldz
fcomp dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x698c01
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 7
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x7d4], 0x168
jl 0x698c37
cmp word [esi + 0x13e], bp
jg 0x698c37
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2c0
mov ecx, esi
call edx
fld dword [0x85bae8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x698c57
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2bc
mov ecx, esi
call edx
mov ecx, esi
call fcn.00487c20
cmp dword [esi + 0x144], 0
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x698cc1
cmp word [esi + 0x140], 0
jne 0x698cc1
cmp word [esi + 0x13e], 1
jne 0x698cc1
fld dword [0x86782c]
push edi
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x698cb5
fadd dword [0x871554]
fsubr qword [0x857f50]
fstp dword [esi + 0xf4]
cmp dword [esi + 0x144], 0
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x698cf3
cmp word [esi + 0x140], 0
jne 0x698cf3
cmp word [esi + 0x13e], 4
jne 0x698cf3
mov ecx, esi
call fcn.004636b0
cmp dword [esi + 0x144], 0
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x69917c
cmp word [esi + 0x140], 0
jne 0x69917c
cmp word [esi + 0x13e], bx
jne 0x69917c
fldz
mov dword [esi + 0x144], 0
fst dword [esp + 0x24]
push 3
fstp dword [esp + 0x2c]
lea eax, [esp + 0x28]
fld1
push eax
fstp dword [esp + 0x34]
push 0xffffffffffffffff
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx ecx, byte [esi + 0x104]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x398
call fcn.0046eb30
fld dword [0x8589f0]
fstp dword [esp + 0x2c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x857b20]
lea edx, [esp + 0x28]
push edx
push 0xffffffffffffffff
fstp dword [esp + 0x1c]
push eax
fld dword [esp + 0x20]
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x398
call fcn.0046eb30
mov eax, dword [0x8971d4]
sub eax, 1
je 0x6990e1
sub eax, 1
je 0x698fb4
sub eax, 1
jne 0x699173
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x867830]
push 3
lea ecx, [esp + 0x28]
push ecx
fstp dword [esp + 0x2c]
push 1
fld dword [0x85bca4]
mov ecx, esi
fstp dword [esp + 0x34]
fld dword [0x85882c]
fstp dword [esp + 0x38]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x857b20]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x398
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x858830]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x698df9
fstp st(0)
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x867830]
push 3
lea eax, [esp + 0x28]
push eax
fadd qword [0x871520]
push 1
fstp dword [esp + 0x30]
fld dword [0x867860]
fstp dword [esp + 0x34]
fld dword [0x85882c]
fstp dword [esp + 0x38]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ecx
fadd qword [0x857b20]
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x398
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x858830]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x698e8b
fstp st(0)
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x867830]
push 3
lea edx, [esp + 0x28]
push edx
fadd qword [0x8581f8]
push 1
mov ecx, esi
fstp dword [esp + 0x30]
fld dword [0x8589f0]
fstp dword [esp + 0x34]
fld dword [0x85882c]
fstp dword [esp + 0x38]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x857b20]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x398
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x858830]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x698f23
jmp 0x699171
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x867830]
push 3
lea ecx, [esp + 0x28]
push ecx
fstp dword [esp + 0x2c]
push 1
fld dword [0x85bca4]
mov ecx, esi
fstp dword [esp + 0x34]
fld dword [0x85882c]
fstp dword [esp + 0x38]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x857b20]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x398
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x858830]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x698fbe
fstp st(0)
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x867830]
push 3
lea eax, [esp + 0x28]
push eax
fadd qword [0x871520]
push 1
fstp dword [esp + 0x30]
fld dword [0x867860]
fstp dword [esp + 0x34]
fld dword [0x85882c]
fstp dword [esp + 0x38]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ecx
fadd qword [0x857b20]
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x398
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x858830]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x699050
jmp 0x699171
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x867830]
push 3
lea edx, [esp + 0x28]
push edx
fstp dword [esp + 0x2c]
push 1
fld dword [0x85bca4]
mov ecx, esi
fstp dword [esp + 0x34]
fld dword [0x85882c]
fstp dword [esp + 0x38]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x857b20]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x398
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x858830]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x6990eb
fstp st(0)
push 0xd
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x144], 0
jne 0x699e45
cmp word [esi + 0x142], 0
jne 0x699e45
cmp word [esi + 0x140], 0
jne 0x699e45
cmp word [esi + 0x13e], 7
jne 0x699e45
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, word [esi + 0x13e]
add eax, 0xffffffff
mov ebp, 2
cmp eax, ebp
ja 0x699263
add word [esi + 0x7d0], di
movzx eax, word [esi + 0x7d0]
mov ebx, 0x3c
cmp ax, bx
jl 0x699243
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
push 0xffffffffffffffff
mov ecx, esi
mov byte [esi + 0x6f5], 1
call fcn.00468de0
push 0xffffffffffffffff
push ebp
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.004639f0
push 0x17
mov ecx, esi
call fcn.00439490
mov ecx, esi
call fcn.004636b0
mov word [esi + 0x51c], bx
mov word [esi + 0x520], bx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov word [esi + 0x51c], bp
mov word [esi + 0x520], bp
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.00438c60
test al, al
je 0x69927c
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2bc
mov ecx, esi
call eax
xor ebx, ebx
cmp dword [esi + 0x144], ebx
jne 0x699960
cmp word [esi + 0x142], bx
jne 0x699317
cmp word [esi + 0x140], bx
jne 0x699317
cmp word [esi + 0x13e], di
jne 0x699317
fld dword [0x8575a4]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 0x41
jp 0x6992c5
mov byte [esi + 0x104], 0xff
jmp 0x6992cc
mov byte [esi + 0x104], 1
fld dword [esi + 0xec]
push ecx
fsubr qword [0x8579a0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
call fcn.00409520
fdiv qword [0x858ef0]
add esp, 4
fstp dword [esi + 0xf4]
fld dword [0x86782c]
fstp dword [esi + 0xf8]
fld dword [0x85ad04]
fstp dword [esi + 0x100]
mov word [esi + 0x7d0], bx
cmp dword [esi + 0x144], ebx
jne 0x699960
cmp word [esi + 0x142], bx
jne 0x699960
cmp word [esi + 0x140], bx
jne 0x699960
cmp word [esi + 0x13e], 5
jne 0x699960
mov word [esi + 0x7d0], bx
mov word [esi + 0x7d4], bx
mov ecx, esi
mov dword [esi + 0x144], ebx
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x699387
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2bc
mov ecx, esi
call eax
cmp word [esi + 0x13e], bx
jne 0x699e45
cmp word [esi + 0x142], bx
jne 0x699e45
cmp word [esi + 0x140], 0xa
jne 0x699e45
push 0xffffffffffffffff
mov ecx, esi
mov byte [esi + 0x6f5], 1
call fcn.00468de0
push 0xffffffffffffffff
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.004639f0
mov word [esi + 0x820], bx
mov word [esi + 0x81e], di
mov word [esi + 0x81a], bx
mov word [esi + 0x81c], bx
push 0x17
mov ecx, esi
mov word [esi + 0x818], bx
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bp
jg 0x69975e
add word [esi + 0x7d6], di
movsx ecx, word [esi + 0x7d8]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x8581d8]
call fcn.00820230
mov word [esi + 0x7d8], ax
cmp word [esi + 0x7d6], 0xb4
mov ebx, 2
jg 0x699492
add word [esi + 0x7d2], bx
movzx eax, word [esi + 0x7d2]
movsx edx, ax
mov dword [esp + 0x10], edx
push ecx
fild dword [esp + 0x14]
fstp dword [esp]
call fcn.00409580
movsx eax, word [esi + 0x7d8]
fmul qword [0x8581f8]
add esp, 4
add eax, 0x64
mov dword [esp + 0x10], eax
fiadd dword [esp + 0x10]
fstp dword [esi + 0xf0]
jmp 0x699539
cmp word [esi + 0x7d0], bp
jge 0x6994d4
add word [esi + 0x7d2], bx
movzx eax, word [esi + 0x7d2]
movsx ecx, ax
mov dword [esp + 0x10], ecx
push ecx
fild dword [esp + 0x14]
fstp dword [esp]
call fcn.00409580
fmul qword [0x8581f8]
add esp, 4
fadd qword [0x857b20]
fstp dword [esi + 0xf0]
jmp 0x699539
add word [esi + 0x7d2], bx
fld dword [esi + 0xf0]
fsub qword [0x8677c8]
mov ecx, esi
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf0]
fstp qword [esp + 0x60]
call fcn.004397f0
fcomp qword [esp + 0x60]
fnstsw ax
test ah, 1
jne 0x699539
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 0x2bc
mov ecx, esi
call eax
fld dword [0x85afe8]
fstp dword [esi + 0xec]
fld dword [esi + 0x7dc]
push ecx
fadd qword [0x859910]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7dc]
fstp dword [esp]
call fcn.004095f0
fmul dword [esi + 0x7e0]
add esp, 4
fadd qword [0x85b828]
fstp dword [esi + 0xec]
cmp word [esi + 0x13e], di
jne 0x6995ae
fld dword [esi + 0x7dc]
push ecx
fstp dword [esp]
call fcn.00409580
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
add esp, 4
fild dword [esp + 0x10]
fmulp st(1)
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
je 0x68e6f9
cmp word [esi + 0x13e], bp
jne 0x6995fa
fld dword [esi + 0x7dc]
push ecx
fstp dword [esp]
call fcn.00409580
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
add esp, 4
fild dword [esp + 0x10]
fmulp st(1)
fcomp qword [0x8677b0]
fnstsw ax
test ah, 5
jp 0x6995fa
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 0
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x7d0]
test ax, ax
jle 0x69975e
cmp ax, di
fldz
jne 0x6996ef
mov word [esi + 0x7d0], bx
fst dword [esp + 0x1ec]
fst dword [esp + 0x1f0]
push ebp
fstp dword [esp + 0x1f8]
movzx edx, byte [esi + 0x104]
fld dword [0x85b230]
lea ecx, [esp + 0x1f0]
push ecx
push edi
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [0x85afe8]
fstp dword [esp]
push 0x382
call fcn.0046eb30
fld1
push ebp
fstp dword [esp + 0x1f8]
movzx ecx, byte [esi + 0x104]
fld dword [0x85b230]
lea eax, [esp + 0x1f0]
push eax
push 0xffffffffffffffff
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [0x85afe8]
fstp dword [esp]
push 0x382
call fcn.0046eb30
fld dword [0x8589f0]
push ebp
fstp dword [esp + 0x1f8]
movzx eax, byte [esi + 0x104]
fld dword [0x85b230]
lea edx, [esp + 0x1f0]
push edx
push edi
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [0x85afe8]
fstp dword [esp]
push 0x382
call fcn.0046eb30
push 0x17
mov ecx, esi
call fcn.00464980
fldz
mov al, byte [esi + 0x112]
cmp al, 0xf0
jae 0x699711
add al, 0xf
mov byte [esi + 0x112], al
add byte [esi + 0x111], 0xf
add byte [esi + 0x110], 0xf
jmp 0x699728
mov ecx, 0xff
mov byte [esi + 0x112], cl
mov byte [esi + 0x111], cl
mov byte [esi + 0x110], cl
cmp word [esi + 0x7d0], bp
jne 0x69975c
fld dword [esi + 0x7e0]
fsub qword [0x859910]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0x7e0]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x69975c
fstp dword [esi + 0x7e0]
jmp 0x69975e
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x699e45
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
sub eax, 0x30d
cmp eax, 0x11
ja case.0x699798.782
movzx ecx, byte [eax + 0x69a2f0]
jmp dword [ecx*4 + 0x69a2dc]
add word [esi + 0x8a0], di
movzx eax, word [esi + 0x8a0]
mov ecx, 0xff
cmp ax, cx
jle 0x6997be
mov word [esi + 0x8a0], cx
movsx eax, word [esi + 0x13e]
sub eax, ebx
je 0x6998a7
sub eax, edi
jne 0x699960
fld dword [0x8575a4]
push ecx
fstp dword [esp]
push edi
mov ecx, esi
mov word [esi + 0x86c], di
call fcn.00486fc0
fldz
push ecx
fstp dword [esp]
push edi
mov ecx, esi
call fcn.00486fe0
fld1
push ecx
fstp dword [esp]
push edi
mov ecx, esi
call fcn.00487000
cmp word [esi + 0x7d2], bx
jne 0x699867
fld dword [esi + 0x7dc]
fadd dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
fld dword [esi + 0x7dc]
fsub qword [0x8677a0]
fstp dword [esi + 0x7dc]
fld dword [esi + 0x7e0]
fstp dword [esi + 0x8a4]
fldz
fcom dword [esi + 0x7e0]
fnstsw ax
test ah, 1
jne 0x699869
fst dword [esi + 0x7e0]
mov word [esi + 0x7d2], di
fst dword [esi + 0x8a4]
jmp 0x699869
fldz
fld dword [esi + 0x8a4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 0x130]
fstp dword [esp]
call fcn.004388b0
cmp word [esi + 0x7d2], di
jne 0x699960
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 eax, dword [esi + 0x144]
cdq
mov ecx, 0xf
idiv ecx
test edx, edx
jne 0x699960
fldz
push 2
fst dword [esp + 0x570]
fstp dword [esp + 0x574]
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x6998e9
fadd dword [0x871554]
fadd qword [0x8677c8]
push ebp
lea edx, [esp + 0x570]
push edx
push edi
fstp dword [esp + 0x580]
push 0x64
call fcn.004099f0
fld dword [0x867814]
add esp, 4
cmp eax, 0x32
setb al
mov ecx, 1
add al, al
sub cl, al
push ecx
push ecx
fstp dword [esp]
push 0x280
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x699940
fadd dword [0x871554]
fstp dword [esp]
push 0x3e3
mov ecx, esi
call fcn.0046eb30
mov ecx, esi
call fcn.00438c60
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
cmp word [esi + 0x13e], bx
jne 0x69975e
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x85a280]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x69975e
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push edi
jmp 0x68817a
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x6999bd
cmp ax, di
jne 0x699b05
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x699af3
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
xor edi, edi
mov dword [esp + 0x18], edi
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x6999fd
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x258]
fld dword [0x85b3b0]
fstp dword [esp + 0x25c]
fld dword [0x8589f0]
fstp dword [esp + 0x260]
fldz
fld dword [esp + 0x258]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x699a8a
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x699a8c
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x25c]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x699ac9
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x25c]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x6999e1
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]
movzx eax, word [esi + 0x13e]
cmp ax, 2
je 0x699b17
cmp ax, bp
jne 0x699b8b
fld dword [esi + 0xf4]
fmul qword [0x85b918]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp dword [0x8589f0]
fnstsw ax
test ah, 5
jp 0x699b65
add word [esi + 0x7d0], di
movzx eax, word [esi + 0x7d0]
cmp ax, 0x14
jl 0x699b65
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 4
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0x100]
fmul qword [0x8581d8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x100]
fsubr dword [esi + 0xf8]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
cmp ax, 4
je 0x699ba2
cmp ax, 5
jne 0x699960
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x85ba70]
fstp dword [esi + 0xf8]
fld dword [esi + 0xf4]
fsub qword [0x867840]
fstp dword [esi + 0xf4]
call fcn.00487ea0
test al, al
je 0x699960
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
mov ecx, esi
call edx
fld dword [0x8575a8]
fstp dword [esi + 0xec]
jmp 0x68817e
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x699c06
cmp ax, di
jne 0x699d54
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x699d42
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
mov ecx, esi
call edx
xor edi, edi
mov dword [esp + 0x18], edi
lea ebx, [ebx]
push 0x1e
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x699c4c
fadd dword [0x871554]
fild dword [esp + 0x18]
fadd qword [0x867830]
faddp st(1)
fstp dword [esp + 0x270]
fld dword [0x85b3b0]
fstp dword [esp + 0x274]
fld dword [0x8589f0]
fstp dword [esp + 0x278]
fldz
fld dword [esp + 0x270]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x699cd9
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x699cdb
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x274]
push ecx
push 1
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x699d18
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x274]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x37
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x18], edi
jl 0x699c30
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]
movzx eax, word [esi + 0x13e]
cmp ax, 2
je 0x699d66
cmp ax, bp
jne 0x699dcb
fld dword [esi + 0xf4]
fmul qword [0x85b918]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp dword [0x8589f0]
fnstsw ax
test ah, 5
jp 0x699da5
add word [esi + 0x7d0], di
movzx eax, word [esi + 0x7d0]
cmp ax, 0x14
jge 0x699b52
fld dword [esi + 0x100]
fmul qword [0x8581d8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x100]
fsubr dword [esi + 0xf8]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
cmp ax, 4
je 0x699de2
cmp ax, 5
jne 0x699960
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x85ba70]
fstp dword [esi + 0xf8]
fld dword [esi + 0xf4]
fsub qword [0x867840]
fstp dword [esi + 0xf4]
call fcn.00487ea0
test al, al
je 0x699960
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2c5
mov ecx, esi
call edx
fld dword [0x85afe8]
fstp dword [esi + 0xec]
jmp 0x68817e
mov ecx, esi
call fcn.00483f40
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret