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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x368
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push edi
mov word [esi + 0x88c], bp
mov edi, 0x5a
mov word [esi + 0x88e], di
movzx eax, word [esi + 0x8d4]
mov ebx, 1
cmp ax, bx
jl 0x56cc22
add eax, 0xffffffff
mov word [esi + 0x8d4], ax
cmp word [esi + 0x8d6], bp
fldz
jle 0x56cc9d
cmp word [esi + 0x8d8], bp
jle 0x56cc3c
fst dword [esi + 0x54c]
add word [esi + 0x8d6], 0xffff
cmp word [esi + 0x184], bp
jle 0x56cc5c
mov eax, dword [esi + 0x170]
cmp word [eax + 0x184], bp
jg 0x56cc63
mov word [esi + 0x8d6], bp
movzx eax, word [esi + 0x13c]
cmp ax, 0x258
jl 0x56cca4
cmp ax, 0x2bb
jg 0x56cca4
cmp ax, 0x25a
je 0x56cc8b
cmp ax, 0x25d
je 0x56cc8b
mov word [esi + 0x8d6], bp
jmp 0x56cca4
cmp word [esi + 0x13e], bp
jne 0x56cca4
mov word [esi + 0x8d6], bp
jmp 0x56cca4
mov word [esi + 0x8d8], bp
cmp word [esi + 0x196], bp
jne 0x578efd
mov ecx, dword [esi + 0x170]
cmp word [ecx + 0x4a8], bp
jne 0x578efd
movsx eax, word [esi + 0x13c]
cmp eax, 0x12c
jg 0x56f6d5
je case.0x56f6fd.330
cmp eax, 0xe2
ja case.0x573b57.547
movzx edx, byte [eax + 0x578f88]
jmp dword [edx*4 + 0x578f08]
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x44
jp 0x56cd14
mov byte [esi + 0x49a], 0
cmp byte [esi + 0x49a], 0
jne 0x56cd35
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 0x56cd77
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 0x56cd77
mov ecx, esi
fstp st(0)
call fcn.004636b0
fldz
mov byte [esi + 0x49a], 0
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x56d230
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 0x56d232
mov ecx, esi
call fcn.004636b0
mov ecx, esi
mov byte [esi + 0x49a], 0
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp byte [esi + 0x49a], 0
jne 0x56cdea
mov ecx, esi
call fcn.004636b0
jmp 0x56ce70
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x56ce2e
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 0x56ce2e
mov ecx, esi
fstp st(0)
call fcn.004636b0
fldz
mov byte [esi + 0x49a], 0
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x56ce6e
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 0x56ce70
mov ecx, esi
call fcn.004636b0
mov byte [esi + 0x49a], 0
jmp 0x56ce70
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 2
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp byte [esi + 0x49a], 0
je 0x56cd1f
fldz
jmp 0x56cd35
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp byte [esi + 0x49a], 0
jne 0x56ceda
mov ecx, esi
call fcn.004636b0
jmp 0x56cf60
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x56cf1e
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 0x56cf1e
mov ecx, esi
fstp st(0)
call fcn.004636b0
fldz
mov byte [esi + 0x49a], 0
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x56cf5e
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 0x56cf60
mov ecx, esi
call fcn.004636b0
mov byte [esi + 0x49a], 0
jmp 0x56cf60
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fld dword [0x867860]
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
fstp st(0)
call fcn.00487ca0
fld dword [0x85bc70]
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], bp
fstp st(0)
jne 0x56d012
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bp
jne 0x56d012
cmp byte [esi + 0x49a], 0
jne 0x56d00b
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], bp
jle 0x56d035
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x56d209
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fldz
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x859f00]
fstp dword [esi + 0xf8]
fld dword [0x85ace8]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bp
fstp st(0)
jne 0x56d0d5
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bp
jne 0x56d0d5
cmp byte [esi + 0x49a], 0
jne 0x56d0ce
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], bp
jle 0x56d0f8
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x56d209
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fld dword [0x85bbbc]
jmp 0x56d071
cmp word [esi + 0x13e], bp
fstp st(0)
jne 0x56d16f
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bp
jne 0x56d16f
cmp byte [esi + 0x49a], 0
jne 0x56d168
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], bp
jle 0x56d18e
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x56d209
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fld dword [0x85ceac]
jmp 0x56d071
fcomp dword [esi + 0x100]
fnstsw ax
test ah, 0x44
jp 0x56d1ec
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 0x56d232
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
mov ecx, esi
call edx
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x578eff
cmp dword [esi + 0x758], ebp
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
jne 0x56d27a
push ebp
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, bp
mov edi, 3
je 0x56d29e
cmp ax, di
jne 0x56d2a5
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jge 0x56d2f1
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x56d2f1
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 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 0x56d33e
cmp byte [esi + 0x7cc], 2
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
jne 0x56d329
push 0x2bc
call edx
mov word [esi + 0x51c], di
mov word [esi + 0x520], di
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push ebp
call edx
cmp dword [esi + 0x758], ebp
jle 0x56d33e
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp word [esi + 0x13e], di
jne 0x56d39d
cmp word [esi + 0x140], 2
jne 0x56d39d
cmp word [esi + 0x142], bp
jne 0x56d39d
mov eax, dword [esi + 0x170]
fld dword [esi + 0xec]
fld dword [eax + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x56d37c
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 0x56d39d
mov byte [esi + 0x104], bl
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fld dword [0x867810]
fstp dword [esi + 0xf8]
fld dword [0x85c5b8]
fstp dword [esi + 0xf4]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, bp
mov edi, 3
je 0x56d414
cmp ax, di
jne 0x56d41b
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jge 0x56d467
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x56d467
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push edi
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x56d4b4
cmp byte [esi + 0x7cc], 2
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
jne 0x56d49f
push 0x2bc
call eax
mov word [esi + 0x51c], di
mov word [esi + 0x520], di
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push ebp
call eax
cmp dword [esi + 0x758], ebp
jle 0x56d4b4
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebx
mov ecx, esi
call eax
cmp word [esi + 0x13e], di
jne 0x56d513
cmp word [esi + 0x140], 2
jne 0x56d513
cmp word [esi + 0x142], bp
jne 0x56d513
fld dword [esi + 0xec]
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x56d4f2
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 0x56d513
mov byte [esi + 0x104], bl
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fld dword [0x867810]
fstp dword [esi + 0xf8]
fld dword [0x85cea8]
jmp 0x56d3e2
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x56d5b8
cmp byte [esi + 0x7cc], 2
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
jne 0x56d5a3
push 0x2bc
call edx
mov eax, 3
mov word [esi + 0x51c], ax
mov word [esi + 0x520], ax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push ebp
call edx
cmp dword [esi + 0x758], ebp
jle 0x56d5b8
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x140], 6
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
mov eax, dword [esi + 0x170]
fld dword [esi + 0xec]
fld dword [eax + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x56d602
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 0x578eff
mov byte [esi + 0x104], bl
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 0xffff00
push 4
push 3
mov ecx, esi
mov byte [esi + 0x49a], bl
call fcn.0046a750
mov ecx, esi
call fcn.00438c60
cmp word [esi + 0x13e], bx
jne 0x56d77d
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x56d6fc
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push ebx
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x56d6b1
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x56d6e3
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
cmp dword [esi + 0x758], ebp
jge 0x56d73b
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 0x56d72c
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], bx
movsx ecx, byte [esi + 0x104]
imul ecx, dword [esi + 0x754]
test ecx, ecx
movzx eax, word [esi + 0x7d0]
jg 0x56d761
cmp ax, 5
jg 0x56d767
cmp ax, 0x3c
jle 0x56d77d
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 dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fld dword [0x85b3b0]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857938]
push ebx
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov ecx, eax
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 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857938]
movzx edx, byte [esi + 0x104]
push ebx
push edx
fstp dword [esp + 0x20]
sub esp, 8
fld dword [esp + 0x28]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fadd qword [0x85cea0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x56d892
fstp dword [esi + 0xf4]
jmp 0x56d894
fstp st(0)
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x56d930
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push ebx
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x56d8e5
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x56d917
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x56d955
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
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 word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bx
jne 0x578eff
fld dword [0x85b9e4]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x857938]
neg cl
push ebx
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 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857938]
neg dl
push ebx
fstp dword [esp + 0x1c]
mov ecx, esi
fld dword [esp + 0x1c]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x56da47
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
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x56da5d
cmp ax, 2
jne 0x56daf7
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x56daf7
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push ebx
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x56daac
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x56dade
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
cmp word [esi + 0x13e], bp
jne 0x56dbdc
cmp word [esi + 0x142], bp
jne 0x56dbdc
cmp word [esi + 0x140], bx
jne 0x56dbdc
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85b870]
fstp dword [esi + 0xf8]
push ebx
fld dword [0x8677a8]
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 + 0x20]
lea edx, [eax + eax*4]
fld dword [esp + 0x20]
sub esp, 8
shl edx, 4
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 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x85bc50]
movzx eax, byte [esi + 0x104]
push ebx
push eax
fstp dword [esp + 0x20]
sub esp, 8
fld dword [esp + 0x28]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], 2
jne 0x578eff
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x56dc65
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 3
jge 0x56dd0f
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x56dd0f
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push ebx
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x56dcc4
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x56dcf6
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x56ddeb
cmp word [esi + 0x140], bp
jne 0x56ddeb
cmp word [esi + 0x13e], bx
jne 0x56ddeb
fld dword [0x85b908]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85b870]
fstp dword [esi + 0xf8]
push ebx
fld dword [0x8677a8]
mov ecx, esi
fstp dword [esi + 0x100]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg dl
fadd qword [0x85b900]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
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 ebx
fstp dword [esp + 0x1c]
mov ecx, esi
fld dword [esp + 0x1c]
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], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], 2
jne 0x578eff
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fsub qword [0x858820]
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 0x56de6d
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x56de6f
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x578eff
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bp
fstp st(0)
jne 0x56dea9
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x56dedb
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
call eax
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00463530
test al, al
jne 0x56def3
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x56defc
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], bp
jle 0x56df3a
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 0x56df38
fstp dword [esi + 0xf8]
jmp 0x56df3a
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x56df61
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x56df61
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fldz
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85c160]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
movzx ecx, byte [esi + 0x104]
push ebx
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], bp
fstp st(0)
jne 0x56e009
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x56deb6
call fcn.00463530
test al, al
jne 0x56e032
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x56e03b
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], bp
jle 0x56e079
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 0x56e077
fstp dword [esi + 0xf8]
jmp 0x56e079
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x56e0a0
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x56e0a0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fld dword [0x85c22c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85b9d0]
fstp dword [esi + 0xf8]
fld dword [0x85ace8]
jmp 0x56dfba
cmp word [esi + 0x13e], bp
fstp st(0)
jne 0x56e114
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x56deb6
call fcn.00463530
test al, al
jne 0x56e13d
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x56e146
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], bp
jle 0x56e184
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 0x56e182
fstp dword [esi + 0xf8]
jmp 0x56e184
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x56e1ab
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x56e1ab
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fld dword [0x85b9d8]
jmp 0x56e0e0
cmp word [esi + 0x13e], bp
fstp st(0)
jne 0x56e202
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x56deb6
call fcn.00463530
test al, al
jne 0x56e22b
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x56e234
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], bp
jle 0x56e272
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 0x56e270
fstp dword [esi + 0xf8]
jmp 0x56e272
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x56e299
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x56e299
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fld dword [0x871538]
jmp 0x56df9d
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
jne 0x57037e
cmp dword [esi + 0x144], ebp
jne 0x56e343
cmp word [esi + 0x142], bp
jne 0x56e31b
cmp word [esi + 0x140], bp
jne 0x56e31b
cmp word [esi + 0x13e], bx
jne 0x56e31b
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], ebp
jne 0x56e343
cmp word [esi + 0x142], bp
jne 0x56e343
cmp word [esi + 0x140], bp
jne 0x56e343
cmp word [esi + 0x13e], 6
je 0x57037e
mov eax, dword [esi + 0x758]
movsx ecx, byte [esi + 0x104]
cmp eax, ebp
mov eax, dword [esi + 0x754]
jle 0x56e384
imul eax, ecx
cmp eax, ebp
jle 0x56e36c
mov word [esi + 0x7d2], 0xffd3
jmp 0x56e3ca
xor edx, edx
cmp eax, ebp
setge dl
sub edx, ebx
and edx, 0xffffffd3
add edx, 0xffffffa6
mov word [esi + 0x7d2], dx
jmp 0x56e3ca
jge 0x56e3af
imul eax, ecx
cmp eax, ebp
jle 0x56e398
mov word [esi + 0x7d2], 0x2d
jmp 0x56e3ca
xor edx, edx
cmp eax, ebp
setge dl
sub edx, ebx
and edx, 0x2d
add edx, edi
mov word [esi + 0x7d2], dx
jmp 0x56e3ca
imul eax, ecx
cmp eax, ebp
jle 0x56e3bf
mov word [esi + 0x7d2], bp
jmp 0x56e3ca
jge 0x56e3ca
mov word [esi + 0x7d2], 0xb4
movzx eax, word [esi + 0x13e]
cmp ax, 5
je 0x56e3dd
cmp ax, 6
jne 0x56e3ef
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
cmp ax, bp
mov edi, 0xa
jle 0x56e832
cmp ax, 5
jge 0x56e832
add word [esi + 0x7d6], bx
fld dword [esi + 0x7e0]
call fcn.00820230
movzx ecx, word [esi + 0x7d2]
sub cx, ax
cmp cx, 0xb4
mov word [esi + 0x7d4], cx
jle 0x56e445
add ecx, 0xfffffe98
mov word [esi + 0x7d4], cx
movzx eax, word [esi + 0x7d4]
cmp ax, 0xff4c
jge 0x56e45e
add eax, 0x168
mov word [esi + 0x7d4], ax
cmp word [esi + 0x7d4], bp
fld qword [0x858ea0]
fld1
jle 0x56e490
cmp dword [esi + 0x52c], ebp
fld dword [esi + 0x7e0]
jne 0x56e481
fadd st(1)
jmp 0x56e483
fadd st(2)
fstp dword [esi + 0x7e0]
cmp word [esi + 0x7d4], bp
jge 0x56e4ba
cmp dword [esi + 0x52c], ebp
jne 0x56e4aa
fstp st(1)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x56e4be
fstp st(0)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x56e4be
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 + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fld dword [0x85bc40]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jp 0x56e526
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x56e526
fstp dword [esi + 0xf8]
jmp 0x56e528
fstp st(0)
cmp dword [esi + 0x52c], ebp
push ebx
mov ecx, esi
jne 0x56e537
push 6
jmp 0x56e539
push 0xc
call fcn.0047a9e0
fld dword [esi + 0x7e0]
fchs
fstp dword [esi + 0x12c]
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x56e56d
fld dword [esi + 0x7e0]
fsubr qword [0x871510]
fstp dword [esi + 0x12c]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x56e592
cmp word [esi + 0x13e], bx
jne 0x56e592
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jp 0x56e5b7
cmp word [esi + 0x13e], 3
jne 0x56e5b7
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x56e5dd
cmp word [esi + 0x13e], 2
jne 0x56e5dd
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 0x56e5ff
cmp word [esi + 0x13e], 4
jne 0x56e5ff
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
cmp edx, ebx
jne 0x56e686
movzx edx, byte [esi + 0x104]
fld dword [esi + 0x7e0]
push ebx
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fld qword [0x857b20]
fmul st(1), st(0)
fld dword [esi + 0xf0]
faddp st(2)
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
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 + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
mov eax, dword [esi + 0x768]
cmp eax, ebp
jne 0x56e699
cmp word [esi + 0x7d6], di
jg 0x56e6a6
cmp word [esi + 0x49e], bp
jg 0x56e832
cmp eax, ebp
jne 0x56e6b3
cmp word [esi + 0x7d6], di
jg 0x56e6c0
cmp word [esi + 0x49e], bp
jg 0x56e832
lea ecx, [esi + 4]
call fcn.00438bb0
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x56e6de
cmp ax, 2
jne 0x56e76b
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
jne 0x56e731
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x56e726
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 0x56e76b
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 5
call eax
jmp 0x56e76b
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x56e760
neg cl
mov byte [esi + 0x104], cl
fld dword [esi + 0xf4]
fchs
push 6
fstp dword [esi + 0xf4]
jmp 0x56e762
push 5
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
call edx
movzx eax, word [esi + 0x13e]
cmp ax, 3
je 0x56e782
cmp ax, 4
jne 0x578eff
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
jne 0x56e7e1
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x56e7d0
mov byte [esi + 0x104], 0xff
fld dword [esi + 0xf4]
mov edx, dword [esi]
fchs
mov eax, dword [edx + 0xc]
fstp dword [esi + 0xf4]
push 5
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 6
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x56e81f
neg cl
mov byte [esi + 0x104], cl
fld dword [esi + 0xf4]
mov eax, dword [esi]
fchs
mov edx, dword [eax + 0xc]
fstp dword [esi + 0xf4]
push 5
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 6
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x578eff
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
fst dword [esi + 0x100]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], 5
jge 0x56e884
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 edi
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
fstp st(0)
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
fld qword [0x858820]
test ah, 5
jp 0x56e8e4
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 0x56e8e4
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x56e91c
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 0x56e91e
fstp dword [esi + 0xf4]
jmp 0x56e920
fstp st(0)
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x578eff
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
jne 0x570f96
cmp dword [esi + 0x144], ebp
jne 0x56e9a6
cmp word [esi + 0x142], bp
jne 0x56e97e
cmp word [esi + 0x140], bp
jne 0x56e97e
cmp word [esi + 0x13e], bx
jne 0x56e97e
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], ebp
jne 0x56e9a6
cmp word [esi + 0x142], bp
jne 0x56e9a6
cmp word [esi + 0x140], bp
jne 0x56e9a6
cmp word [esi + 0x13e], 6
je 0x570f96
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x18], ecx
sub esp, 8
fild dword [esp + 0x20]
fmulp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fadd qword [0x857b20]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.00409760
add esp, 8
call fcn.00820230
mov word [esi + 0x7d2], ax
movzx eax, word [esi + 0x13e]
cmp ax, 5
je 0x56ea1c
cmp ax, 6
jne 0x56ea2e
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
cmp ax, bp
jle 0x56ed35
cmp ax, 5
jge 0x56ed35
add word [esi + 0x7d6], bx
fld dword [esi + 0x7e0]
call fcn.00820230
movzx ecx, word [esi + 0x7d2]
sub cx, ax
cmp cx, 0xb4
mov word [esi + 0x7d4], cx
jle 0x56ea7f
add ecx, 0xfffffe98
mov word [esi + 0x7d4], cx
movzx eax, word [esi + 0x7d4]
cmp ax, 0xff4c
jge 0x56ea98
add eax, 0x168
mov word [esi + 0x7d4], ax
cmp word [esi + 0x7d4], bp
fld qword [0x857f78]
fld qword [0x85b848]
jle 0x56eace
cmp dword [esi + 0x52c], ebp
fld dword [esi + 0x7e0]
jne 0x56eabf
fadd st(1)
jmp 0x56eac1
fadd st(2)
fstp dword [esi + 0x7e0]
cmp word [esi + 0x7d4], bp
jge 0x56eaf8
cmp dword [esi + 0x52c], ebp
jne 0x56eae8
fstp st(1)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x56eafc
fstp st(0)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x56eafc
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 + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fld dword [0x85bc40]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jp 0x56eb64
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x56eb64
fstp dword [esi + 0xf8]
jmp 0x56eb66
fstp st(0)
fld dword [esi + 0x7dc]
fadd qword [0x85a280]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x7dc]
fcomp qword [0x85ce98]
fnstsw ax
test ah, 0x41
jne 0x56eb99
fld dword [0x85c230]
fstp dword [esi + 0x7dc]
cmp dword [esi + 0x52c], ebp
mov ecx, esi
jne 0x56eba8
push ebx
push 0xf
jmp 0x56ebac
push 0x3c
push 0x14
call fcn.0047a9e0
fld dword [esi + 0x7e0]
fchs
fstp dword [esi + 0x12c]
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x56ebe0
fld dword [esi + 0x7e0]
fsubr qword [0x871510]
fstp dword [esi + 0x12c]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x56ec05
cmp word [esi + 0x13e], bx
jne 0x56ec05
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jp 0x56ec2a
cmp word [esi + 0x13e], 3
jne 0x56ec2a
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x56ec50
cmp word [esi + 0x13e], 2
jne 0x56ec50
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 0x56ec72
cmp word [esi + 0x13e], 4
jne 0x56ec72
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
cmp edx, ebx
jne 0x56ecf9
movzx edx, byte [esi + 0x104]
fld dword [esi + 0x7e0]
push ebx
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fld qword [0x857b20]
fmul st(1), st(0)
fld dword [esi + 0xf0]
faddp st(2)
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
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 + 0x28], eax
mov ecx, esi
fild dword [esp + 0x28]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
mov eax, dword [esi + 0x768]
cmp eax, ebp
jne 0x56ed0d
cmp word [esi + 0x7d6], 0x14
jg 0x56ed16
cmp word [esi + 0x49e], bp
jg 0x56ed35
cmp eax, ebp
jne 0x56ed28
cmp word [esi + 0x7d6], 0x14
jg 0x56e6c0
cmp word [esi + 0x49e], bp
jle 0x56e6c0
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x578eff
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
fst dword [esi + 0x100]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], 5
jl 0x56e866
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], bp
fstp st(0)
jne 0x56ed99
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x56edb2
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
jmp 0x56d212
call fcn.00463530
test al, al
jne 0x56edca
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x56edd3
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], bp
jle 0x56ee11
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 0x56ee0f
fstp dword [esi + 0xf8]
jmp 0x56ee11
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x56ee38
fld dword [0x867860]
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 0x41
jne 0x56ee38
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
mov ecx, esi
call edx
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fldz
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85c160]
fstp dword [esi + 0xf8]
push ebx
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
movzx eax, byte [esi + 0x104]
push eax
jmp 0x56dfd0
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x49a], bl
call fcn.00438c60
cmp word [esi + 0x13e], bx
jne 0x56efab
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x56ef69
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push ebx
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x56ef1e
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x56ef50
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
add word [esi + 0x7d0], bx
movsx edx, byte [esi + 0x104]
imul edx, dword [esi + 0x754]
test edx, edx
movzx eax, word [esi + 0x7d0]
jg 0x56ef8f
cmp ax, 0xf
jg 0x56ef95
cmp ax, 0x3c
jle 0x56efab
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 dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fld dword [0x85bc30]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857938]
push ebx
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov ecx, eax
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 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857938]
movzx edx, byte [esi + 0x104]
push ebx
push edx
fstp dword [esp + 0x20]
sub esp, 8
fld dword [esp + 0x28]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 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
movzx eax, word [esi + 0x13e]
cmp ax, bp
mov edi, 3
je 0x56f09e
cmp ax, di
jne 0x56f0a9
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
cmp word [esi + 0x13e], di
jne 0x56f0dd
fld dword [esi + 0xf4]
fadd qword [0x859910]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x56f0dd
fstp dword [esi + 0xf4]
jmp 0x56f0df
fstp st(0)
mov ecx, esi
call fcn.00463530
test al, al
jne 0x56f18a
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x56f18a
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push ebx
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x56f13f
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x56f171
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
cmp word [esi + 0x13e], di
jge 0x56f1dd
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x56f1dd
fldz
mov ecx, esi
fst dword [esi + 0xf8]
fstp dword [esi + 0x100]
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push edi
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x56d93b
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
fld dword [0x85b9e8]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85b870]
fstp dword [esi + 0xf8]
push ebx
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x857938]
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 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857938]
neg dl
push ebx
fstp dword [esp + 0x1c]
mov ecx, esi
fld dword [esp + 0x1c]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x56da20
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x56f302
cmp ax, 2
jne 0x56f39c
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x56f39c
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push ebx
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x56f351
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x56f383
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x56f3b2
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x56f497
cmp word [esi + 0x142], bp
jne 0x56f497
cmp word [esi + 0x140], bx
jne 0x56f497
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
mov word [esi + 0x7d0], bp
call fcn.00487740
fld dword [0x85b870]
fstp dword [esi + 0xf8]
push ebx
fld dword [0x8677a8]
fstp dword [esi + 0x100]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85bc50]
movsx eax, al
fstp dword [esp + 0x20]
lea ecx, [eax + eax*4]
fld dword [esp + 0x20]
sub esp, 8
shl ecx, 4
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 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x85bc50]
movzx edx, byte [esi + 0x104]
push ebx
push edx
fstp dword [esp + 0x20]
sub esp, 8
fld dword [esp + 0x28]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], 2
jne 0x578eff
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x56da20
cmp word [esi + 0x13e], 3
jge 0x56f5a7
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x56f5a7
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push ebx
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x56f55c
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
jge 0x56f58e
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x56f5bd
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x56f692
cmp word [esi + 0x140], bp
jne 0x56f692
cmp word [esi + 0x13e], bx
jne 0x56f692
fld dword [0x85b908]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85b870]
fstp dword [esi + 0xf8]
push ebx
fld dword [0x8677a8]
fstp dword [esi + 0x100]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x85b900]
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 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x85b900]
neg dl
push ebx
fstp dword [esp + 0x1c]
mov ecx, esi
fld dword [esp + 0x1c]
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
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], 2
jne 0x578eff
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x221
jg 0x573b40
je 0x573936
sub eax, 0x12d
cmp eax, 0xf0
ja case.0x573b57.547
movzx eax, byte [eax + 0x579124]
jmp dword [eax*4 + 0x57906c]
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push ebp
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x578eff
cmp byte [esi + 0x49a], al
je 0x56f75d
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 0x56f75b
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x56f75d
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x56f772
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 2
jne 0x578eff
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
fstp st(0)
call fcn.00487ca0
push ebp
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x578eff
cmp byte [esi + 0x49a], al
je 0x56f7fc
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 0x56f7fe
fst dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x56f7fe
fldz
mov edi, 4
cmp word [esi + 0x140], di
jl 0x56f837
fld dword [esi + 0xf4]
fsub qword [0x8581b8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x56f837
fstp dword [esi + 0xf4]
jmp 0x56f839
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x56f84e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x56f86c
cmp word [esi + 0x140], di
jne 0x56f86c
fld dword [0x85b870]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], bp
mov edi, 3
jne 0x56f89f
cmp word [esi + 0x140], di
jne 0x56f8a6
fld dword [0x86782c]
push 0x1b
mov ecx, esi
fstp dword [esi + 0xf4]
call fcn.00439490
mov byte [esi + 0x49a], 0
cmp word [esi + 0x140], di
jle 0x578eff
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
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 0x578efd
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x578eff
cmp dword [esi + 0x75c], ebp
jne 0x56f90c
mov byte [esi + 0x7f4], al
cmp byte [esi + 0x49a], 0
je 0x56f94d
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 0x56f94b
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x56f94d
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x572e5a
cmp dword [esi + 0x144], ebp
jne 0x56f983
cmp word [esi + 0x142], bp
jne 0x56f983
cmp word [esi + 0x140], bp
jne 0x56f983
cmp word [esi + 0x13e], bx
je 0x572e5a
cmp word [esi + 0x13e], bp
jne 0x56fab9
cmp word [esi + 0x142], bp
jne 0x56fa15
cmp word [esi + 0x140], 4
jne 0x56fa15
cmp byte [esi + 0x7f4], bl
jne 0x56fa02
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 [0x85c138]
movsx ecx, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
imul ecx, ecx, 0x46
push ebx
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 0x3e
call fcn.00438ce0
jmp 0x56fa15
fld dword [0x85ae94]
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
cmp word [esi + 0x142], bp
mov edi, 5
jne 0x56fa81
cmp word [esi + 0x140], di
jne 0x56fa88
push 0x1d
mov ecx, esi
call fcn.00439490
fldz
fst dword [esp + 0x1b0]
push 3
fst dword [esp + 0x1b8]
lea edx, [esp + 0x1b4]
fstp dword [esp + 0x1bc]
push edx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x350
call fcn.0046eb30
cmp word [esi + 0x140], di
jl 0x56fab9
fld dword [esi + 0xf4]
fsub qword [0x859910]
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 0x56fabb
fst dword [esi + 0xf4]
jmp 0x56fabb
fldz
cmp word [esi + 0x13e], bx
jne 0x578efd
cmp word [esi + 0x142], bp
mov edi, 2
jne 0x56fb4b
cmp word [esi + 0x140], di
jne 0x56fb52
fstp st(0)
push 0x1d
fld dword [0x85bbe4]
mov ecx, esi
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
call fcn.00439490
fldz
fst dword [esp + 0x234]
push 3
fst dword [esp + 0x23c]
lea ecx, [esp + 0x238]
fstp dword [esp + 0x240]
push ecx
movzx edx, byte [esi + 0x104]
push ebx
push edx
fld dword [esi + 0xf0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x350
call fcn.0046eb30
fldz
cmp word [esi + 0x140], di
jl 0x578efd
fld dword [esi + 0xf4]
fsub qword [0x859910]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x578efd
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push ebp
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x578eff
cmp byte [esi + 0x49a], al
jle 0x56fbe6
fld dword [esi + 0xf4]
fsub qword [0x85b848]
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 0x56fbe4
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x56fbe6
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x56fbfc
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 2
mov ecx, esi
call edx
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bx
jne 0x578eff
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
fstp st(0)
call fcn.00487ca0
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x578eff
cmp dword [esi + 0x75c], ebp
jne 0x56fc4e
mov byte [esi + 0x7f4], al
cmp byte [esi + 0x49a], 0
je 0x56fc8f
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 0x56fc8d
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x56fc8f
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x56cf7c
cmp dword [esi + 0x144], ebp
jne 0x56fcc5
cmp word [esi + 0x142], bp
jne 0x56fcc5
cmp word [esi + 0x140], bp
jne 0x56fcc5
cmp word [esi + 0x13e], bx
je 0x56cf7c
cmp word [esi + 0x13e], bp
jne 0x56fe01
cmp word [esi + 0x142], bp
mov edi, 5
jne 0x56fdc9
cmp word [esi + 0x140], di
jne 0x56fd5f
cmp byte [esi + 0x7f4], bl
jne 0x56fd4c
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c598]
push ebx
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x5f
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
jmp 0x56fd5f
fld dword [0x86782c]
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
cmp word [esi + 0x142], bp
jne 0x56fdc9
cmp word [esi + 0x140], 6
jne 0x56fdc9
push 0x1d
mov ecx, esi
call fcn.00439490
fldz
fst dword [esp + 0x24c]
push 3
fstp dword [esp + 0x254]
lea ecx, [esp + 0x250]
fld1
push ecx
fstp dword [esp + 0x25c]
push ebx
fld dword [esi + 0xf0]
mov ecx, esi
movzx edx, byte [esi + 0x104]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x350
call fcn.0046eb30
cmp word [esi + 0x140], di
jl 0x56fe01
fld dword [esi + 0xf4]
fsub qword [0x859910]
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 0x56fe03
fst dword [esi + 0xf4]
jmp 0x56fe03
fldz
cmp word [esi + 0x13e], bx
jne 0x578efd
cmp word [esi + 0x142], bp
jne 0x56fe42
cmp word [esi + 0x140], bx
jne 0x56fe42
fstp st(0)
push 0x1d
fld dword [0x85b3b0]
mov ecx, esi
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
call fcn.00439490
fldz
cmp word [esi + 0x142], bp
mov edi, 2
jne 0x56fb4b
cmp word [esi + 0x140], di
jne 0x56fb52
fst dword [esp + 0x264]
push 3
fstp dword [esp + 0x26c]
lea eax, [esp + 0x268]
fld1
push eax
fstp dword [esp + 0x274]
push ebx
movzx ecx, byte [esi + 0x104]
push ecx
jmp 0x56fb27
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x578eff
cmp dword [esi + 0x144], ebp
jne 0x56feec
cmp word [esi + 0x142], bp
jne 0x56feec
cmp word [esi + 0x140], bp
jne 0x56feec
cmp word [esi + 0x13e], bp
jne 0x56feec
fldz
fst dword [esi + 0xf8]
fld dword [0x85b9bc]
fstp dword [esi + 0xf4]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], al
mov ecx, esi
call fcn.00438c60
test al, al
je 0x56ff01
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebp
jne 0x56ff28
cmp word [esi + 0x142], bp
jne 0x56ff28
cmp word [esi + 0x140], bp
jne 0x56ff28
cmp word [esi + 0x13e], bx
je 0x572e5a
cmp word [esi + 0x13e], bp
jne 0x56ff86
cmp word [esi + 0x142], bp
jne 0x56ff4d
cmp word [esi + 0x140], 3
jne 0x56ff4d
push 0x1c
mov ecx, esi
call fcn.00439490
cmp word [esi + 0x140], 4
jl 0x56ff86
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 0x56ff88
fst dword [esi + 0xf4]
jmp 0x56ff88
fldz
cmp word [esi + 0x13e], bx
jne 0x578efd
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 0x56ffc0
fstp dword [esi + 0xf4]
jmp 0x56ffc2
fstp st(0)
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 6
jne 0x578eff
fld dword [0x85b3b0]
push 0x1b
mov ecx, esi
fstp dword [esi + 0xf4]
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x56deb6
call fcn.00438c60
test al, al
je 0x570033
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 3
jne 0x578eff
push 0x1b
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bx
fstp st(0)
jne 0x5700a2
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fsub qword [0x85a288]
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 0x5700a0
fstp dword [esi + 0xf4]
jmp 0x5700a2
fstp st(0)
cmp word [esi + 0x13e], bp
jne 0x570107
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x570107
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]
fldz
fst dword [esi + 0xf8]
fstp dword [esi + 0x100]
fld dword [esi + 0xf4]
fmul qword [0x8677a0]
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x57011c
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebp
jne 0x57014a
cmp word [esi + 0x142], bp
jne 0x57014a
cmp word [esi + 0x140], bp
jne 0x57014a
cmp word [esi + 0x13e], bx
jne 0x57014a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x578eff
movzx eax, word [esi + 0x140]
cmp ax, 3
jl 0x5701bd
cmp ax, 5
jg 0x5701bd
fld dword [esi + 0x7dc]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [0x85b3b0]
fstp dword [esp]
call fcn.00438c00
fld dword [esi + 0x7dc]
fsub qword [0x85abe8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x7dc]
fld dword [0x8589f0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x5701bb
fstp dword [esi + 0x7dc]
jmp 0x5701bd
fstp st(0)
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 3
jne 0x5701e9
push 0x1d
mov ecx, esi
call fcn.00439490
fld dword [0x85bbe4]
fstp dword [esi + 0x7dc]
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 6
jne 0x578eff
fld dword [0x85c110]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bp
fstp st(0)
jne 0x570250
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x570250
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
mov ecx, esi
call eax
jmp 0x56d214
cmp word [esi + 0x13e], bx
jne 0x570289
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x570289
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
cmp dword [esi + 0x190], ebp
je 0x56d214
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
mov ecx, esi
call eax
jmp 0x56d214
mov ecx, esi
call fcn.00438c60
test al, al
je 0x57029e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 4
jne 0x578eff
push 0x1d
mov ecx, esi
call fcn.00439490
fld dword [0x85c000]
fstp dword [esi + 0xf8]
fldz
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x56deb6
call fcn.00438c60
test al, al
je 0x570324
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x570364
cmp word [esi + 0x140], 3
jne 0x570364
push 0x1d
mov ecx, esi
call fcn.00439490
fld dword [0x859f00]
fstp dword [esi + 0xf8]
fld dword [0x871538]
fstp dword [esi + 0xf4]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], bx
jne 0x578eff
cmp dword [esi + 0x144], 0xf
jl 0x578eff
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], ebp
jne 0x5703e2
cmp word [esi + 0x142], bp
jne 0x5703e2
cmp word [esi + 0x140], bp
jne 0x5703e2
cmp word [esi + 0x13e], bp
jne 0x5703e2
fst dword [esi + 0xf4]
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
mov word [esi + 0x7d0], bp
mov byte [esi + 0x194], 0x63
mov dword [esi + 0x190], ebp
jmp 0x5703e4
fstp st(0)
cmp dword [esi + 0x190], ebp
je 0x57040d
add word [esi + 0x7d0], bx
movzx eax, word [esi + 0x7d0]
cmp ax, 5
jle 0x57040d
mov dword [esi + 0x190], ebp
mov word [esi + 0x7d0], bp
cmp word [esi + 0x13e], bx
jne 0x5704a5
cmp dword [esi + 0x144], ebp
jne 0x57042e
fld dword [0x85b9d0]
fstp dword [esi + 0xf4]
mov ecx, dword [esi + 0x144]
and ecx, 0x80000007
jns 0x570441
dec ecx
or ecx, 0xfffffff8
inc ecx
jne 0x57044c
push 0x1b
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x190], ebp
je 0x570475
add word [esi + 0x7d0], bx
movzx eax, word [esi + 0x7d0]
cmp ax, 5
jle 0x570475
mov dword [esi + 0x190], ebp
mov word [esi + 0x7d0], bp
cmp dword [esi + 0x144], 0x1e
jle 0x5704a5
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 0x57050d
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 + 0x20]
call fcn.004397f0
fcomp qword [esp + 0x20]
fnstsw ax
test ah, 1
jne 0x57050d
fldz
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
mov ecx, esi
call fcn.00438c60
test al, al
je 0x578eff
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push ebp
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x578eff
cmp byte [esi + 0x49a], al
jle 0x570588
fld dword [esi + 0xf4]
fsub qword [0x85b848]
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 0x570586
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x570588
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x57059e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x5705c6
cmp word [esi + 0x140], 2
jne 0x5705c6
push 0x1d
mov ecx, esi
call fcn.00439490
fld dword [0x86782c]
fstp dword [esi + 0xf4]
cmp word [esi + 0x140], 3
jl 0x578eff
fld dword [esi + 0xf4]
fsub qword [0x859910]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x56f8c0
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push ebp
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x578eff
cmp word [esi + 0x140], bx
jle 0x56f75d
fld dword [esi + 0xf4]
fsub qword [0x859910]
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 0x56f75b
fstp dword [esi + 0xf4]
jmp 0x56f75d
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x578eff
mov edi, 3
cmp word [esi + 0x140], di
jle 0x5706a1
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 0x57069f
fstp dword [esi + 0xf4]
jmp 0x5706a1
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5706b6
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], di
jne 0x578eff
push 0x1c
mov ecx, esi
call fcn.00439490
fld dword [0x85bc30]
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x578eff
mov edi, 5
cmp word [esi + 0x140], di
jle 0x57074c
fld dword [esi + 0xf4]
fsub qword [0x857f80]
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 0x57074a
fstp dword [esi + 0xf4]
jmp 0x57074c
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x570761
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], di
jne 0x570783
fld dword [0x85b3b0]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 6
jne 0x578eff
push 0x1d
jmp 0x56f78f
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push ebx
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x578eff
mov edi, 3
cmp word [esi + 0x140], di
jle 0x5707fd
fld dword [esi + 0xf4]
fsub qword [0x857f80]
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 0x5707fb
fstp dword [esi + 0xf4]
jmp 0x5707fd
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x570812
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], di
jne 0x570834
fld dword [0x85b3b0]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 2
jne 0x578eff
push 0x1d
jmp 0x56f78f
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x13e], 2
jge 0x570878
cmp dword [esi + 0x760], ebp
jne 0x570878
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x57088d
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebp
jne 0x5708b8
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x5708b8
cmp word [esi + 0x13e], bx
je 0x572e5a
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 3
jne 0x578eff
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85bc10]
fstp dword [esp + 0x350]
push 5
fld dword [0x8596b8]
lea ecx, [esp + 0x354]
fstp dword [esp + 0x358]
push ecx
fldz
push ebx
fst dword [esp + 0x364]
mov ecx, esi
fld dword [0x85b870]
fstp dword [esp + 0x368]
fstp dword [esp + 0x36c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85bcd0]
movsx eax, al
fstp dword [esp + 0x28]
sub esp, 8
fld dword [esp + 0x30]
lea edx, [eax + eax*4]
shl edx, 4
fstp dword [esp + 4]
mov dword [esp + 0x30], edx
fld dword [esi + 0xec]
fisub dword [esp + 0x30]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x320
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x13e], 2
jge 0x5709a7
cmp dword [esi + 0x760], ebp
jne 0x5709a7
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5709bc
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x5709e7
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x5709e7
cmp word [esi + 0x13e], bx
je 0x56cf7c
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 4
jne 0x578eff
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85bc14]
fstp dword [esp + 0x314]
push 5
fld dword [0x8596b8]
lea ecx, [esp + 0x318]
fstp dword [esp + 0x31c]
push ecx
fldz
push ebx
fst dword [esp + 0x328]
mov ecx, esi
fld dword [0x85b870]
fstp dword [esp + 0x32c]
fstp dword [esp + 0x330]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x859b00]
imul edx, edx, 0x96
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
push eax
sub esp, 8
mov dword [esp + 0x30], edx
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x30]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x320
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x13e], 2
jge 0x570ad6
cmp dword [esi + 0x760], ebp
jne 0x570ad6
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x570aec
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 2
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x570b17
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x570b17
cmp word [esi + 0x13e], bx
je 0x56cf7c
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 4
jne 0x578eff
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85ce90]
fstp dword [esp + 0x328]
push 5
fld dword [0x85bbe4]
lea ecx, [esp + 0x32c]
fstp dword [esp + 0x330]
push ecx
fldz
push ebx
fstp dword [esp + 0x33c]
mov ecx, esi
fld dword [0x85b870]
fstp dword [esp + 0x340]
fld dword [0x85b9e4]
fstp dword [esp + 0x344]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x859b00]
movsx edx, al
imul edx, edx, 0xaa
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
push eax
sub esp, 8
mov dword [esp + 0x30], edx
fstp dword [esp + 4]
fild dword [esp + 0x30]
fadd dword [esi + 0xec]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x320
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bx
fstp st(0)
jne 0x570bfc
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bp
jne 0x570c37
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x570c37
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
mov byte [esi + 0x49b], 0
jmp 0x56d214
mov ecx, esi
call fcn.00438c60
test al, al
je 0x570c4c
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x570c73
cmp word [esi + 0x142], bp
jne 0x570c73
cmp word [esi + 0x140], bp
jne 0x570c73
cmp word [esi + 0x13e], bx
je 0x570f96
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 4
jne 0x578eff
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85c500]
fstp dword [esp + 0x33c]
push 5
fld dword [0x85bbe4]
lea ecx, [esp + 0x340]
fstp dword [esp + 0x344]
push ecx
fldz
push ebx
fstp dword [esp + 0x350]
mov ecx, esi
fld dword [0x85b870]
fstp dword [esp + 0x354]
fld dword [0x86782c]
fstp dword [esp + 0x358]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85ce88]
movsx edx, al
imul edx, edx, 0x2d
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
push eax
sub esp, 8
mov dword [esp + 0x30], edx
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x30]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x320
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bx
fstp st(0)
jne 0x570d62
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bp
jne 0x570d8c
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x570c22
mov ecx, esi
call fcn.00438c60
test al, al
je 0x570da1
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x570dc8
cmp word [esi + 0x142], bp
jne 0x570dc8
cmp word [esi + 0x140], bp
jne 0x570dc8
cmp word [esi + 0x13e], bx
je 0x570f96
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 4
jne 0x578eff
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85c500]
fstp dword [esp + 0x364]
push 5
fld dword [0x85bbe4]
lea ecx, [esp + 0x368]
fstp dword [esp + 0x36c]
push ecx
fldz
push ebx
fstp dword [esp + 0x378]
mov ecx, esi
fld dword [0x85b870]
fstp dword [esp + 0x37c]
fld dword [0x871540]
fstp dword [esp + 0x380]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85ce88]
movsx edx, al
imul edx, edx, 0x2d
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
push eax
sub esp, 8
mov dword [esp + 0x30], edx
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x30]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x320
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fsub qword [0x858820]
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 0x570edd
fstp dword [esi + 0xf4]
jmp 0x570edf
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x570ef4
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 4
jne 0x570f17
fld dword [0x85ce80]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 5
jne 0x578eff
push 0x1d
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x570f89
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 0x578eff
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x570fc7
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
push 0x32
mov ecx, esi
call fcn.00487870
push 0x3c
mov byte [esi + 0x8d1], bl
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], bx
call fcn.0047a9e0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x13e], bx
jne 0x571045
cmp dword [esi + 0x144], 0xf
jge 0x573ae9
mov ecx, esi
call fcn.00438c60
test al, al
je 0x57105a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 5
jne 0x578eff
push 0x32
mov ecx, esi
call fcn.00487870
push 0x3c
mov byte [esi + 0x8d1], bl
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], 2
call fcn.0047a9e0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5710ce
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 5
jne 0x578eff
push 0x32
mov ecx, esi
call fcn.00487870
push 0x3c
mov byte [esi + 0x8d1], bl
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], 3
call fcn.0047a9e0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 4
fstp st(0)
cmp word [esi + 0x13e], di
jne 0x571142
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], di
jge 0x571177
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x571177
push edi
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
call edx
mov byte [esi + 0x49b], 0
jmp 0x56d214
cmp word [esi + 0x13e], 2
jge 0x571190
cmp dword [esi + 0x764], ebp
jne 0x571190
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5711a5
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x5711f0
cmp word [esi + 0x140], bp
jne 0x5711f0
cmp word [esi + 0x13e], bx
jne 0x5711f0
push 0x32
mov ecx, esi
call fcn.00487870
push 0x3c
mov byte [esi + 0x8d1], bl
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], bx
call fcn.0047a9e0
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x571224
cmp word [esi + 0x140], bp
jne 0x571224
cmp word [esi + 0x13e], 3
jne 0x571224
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], di
jne 0x578eff
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 ebx, 3
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x571288
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bx
jge 0x5712ad
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x5712ad
push ebx
jmp 0x571162
mov edi, 2
cmp word [esi + 0x13e], di
jge 0x5712ca
cmp dword [esi + 0x764], ebp
jne 0x5712ca
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5712df
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x571320
cmp word [esi + 0x142], bp
jne 0x571320
cmp word [esi + 0x140], 4
jne 0x571320
push 0x32
mov ecx, esi
call fcn.00487870
push 0x3c
mov byte [esi + 0x8d1], 1
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], di
call fcn.0047a9e0
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x571353
cmp word [esi + 0x140], bp
jne 0x571353
cmp word [esi + 0x13e], di
jne 0x571353
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jmp 0x571251
mov ebx, 4
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x5713a3
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], bx
jge 0x5713c6
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x5712a7
cmp word [esi + 0x13e], 2
jge 0x5713df
cmp dword [esi + 0x764], ebp
jne 0x5713df
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5713f4
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
mov edi, 3
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x571320
cmp word [esi + 0x140], bp
jne 0x571320
cmp word [esi + 0x13e], 1
jmp 0x5712f9
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x140], 8
jl 0x571470
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
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 0x57146e
fstp dword [esi + 0xf4]
jmp 0x571470
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x571485
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 6
jne 0x578eff
push 0x1d
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 0
call fcn.00438c60
test al, al
je 0x5714d6
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 3
jne 0x578eff
fldz
fst dword [esp + 0x70]
fst dword [esp + 0x74]
fstp dword [esp + 0x78]
cmp byte [esi + 0x6a4], bl
jl 0x57150d
fld1
fstp dword [esp + 0x78]
cmp byte [esi + 0x6a4], 3
jl 0x571520
fld dword [0x8589f0]
fstp dword [esp + 0x78]
cmp byte [esi + 0x6a4], 4
jl 0x571533
fld dword [0x871538]
fstp dword [esp + 0x78]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85ba58]
push 3
lea ecx, [esp + 0x74]
push ecx
push ebx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
push eax
movsx eax, al
mov edx, eax
shl edx, 4
sub esp, 8
sub edx, eax
add edx, edx
fstp dword [esp + 4]
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fadd dword [esi + 0xec]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x32a
mov ecx, esi
call fcn.0046eb30
push 3
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00464980
push 0xffffffffffffffff
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7f
call fcn.00438ce0
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
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 0
call fcn.00438c60
test al, al
je 0x57160b
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 3
jne 0x578eff
fldz
fst dword [esp + 0x7c]
fst dword [esp + 0x80]
fstp dword [esp + 0x84]
cmp byte [esi + 0x6a4], bl
jl 0x57164b
fld1
fstp dword [esp + 0x84]
cmp byte [esi + 0x6a4], 3
jl 0x571661
fld dword [0x8589f0]
fstp dword [esp + 0x84]
cmp byte [esi + 0x6a4], 4
jl 0x571677
fld dword [0x871538]
fstp dword [esp + 0x84]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85ba58]
push 3
lea ecx, [esp + 0x80]
push ecx
push ebx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
push eax
movsx eax, al
mov edx, eax
shl edx, 4
sub esp, 8
sub edx, eax
add edx, edx
fstp dword [esp + 4]
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fadd dword [esi + 0xec]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
jmp 0x571580
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 4
call fcn.00438c60
test al, al
je 0x5716f1
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 6
jne 0x578eff
fld dword [0x86782c]
fstp dword [esp + 0x100]
fldz
fst dword [esp + 0x104]
fstp dword [esp + 0x108]
fld dword [0x857dd4]
fstp dword [esp + 0x10c]
cmp byte [esi + 0x6a8], 2
jl 0x57174c
fld dword [0x871538]
fstp dword [esp + 0x108]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fsub qword [0x859b00]
push 4
lea ecx, [esp + 0x104]
push ecx
push ebx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
push eax
movsx eax, al
sub esp, 8
lea edx, [eax + eax*4]
shl edx, 4
fstp dword [esp + 4]
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fadd dword [esi + 0xec]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
push 7
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00464980
push ebx
jmp 0x5715a0
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 4
call fcn.00438c60
test al, al
je 0x5717e2
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 6
jne 0x578eff
fld dword [0x85b9d0]
fstp dword [esp + 0x110]
fldz
fst dword [esp + 0x114]
fstp dword [esp + 0x118]
fld dword [0x857dd4]
fstp dword [esp + 0x11c]
cmp byte [esi + 0x6a8], 2
jl 0x57183d
fld dword [0x871538]
fstp dword [esp + 0x118]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fsub qword [0x859b00]
push 4
lea ecx, [esp + 0x114]
push ecx
push ebx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
push eax
movsx eax, al
sub esp, 8
lea edx, [eax + eax*4]
shl edx, 4
fstp dword [esp + 4]
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fadd dword [esi + 0xec]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
jmp 0x571799
cmp word [esi + 0x13e], bx
fstp st(0)
mov ecx, esi
jne 0x571a01
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 4
call fcn.00438c60
test al, al
je 0x5718c1
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebp
jne 0x5718e8
cmp word [esi + 0x142], bp
jne 0x5718e8
cmp word [esi + 0x140], bp
jne 0x5718e8
cmp word [esi + 0x13e], bx
je 0x57037e
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 7
jne 0x5719d2
fld dword [0x86782c]
fstp dword [esp + 0x120]
fldz
fst dword [esp + 0x124]
fstp dword [esp + 0x128]
fld dword [0x85b3b0]
fstp dword [esp + 0x12c]
cmp byte [esi + 0x6a8], 2
jl 0x571950
fld dword [0x871538]
fstp dword [esp + 0x128]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fsub qword [0x859b00]
push 4
lea ecx, [esp + 0x124]
push ecx
push ebx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
push eax
movsx eax, al
sub esp, 8
lea edx, [eax + eax*4]
shl edx, 4
fstp dword [esp + 4]
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fadd dword [esi + 0xec]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp]
push 0x32f
mov ecx, esi
call fcn.0046eb30
push 7
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 0xa
jne 0x578eff
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x5718a5
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bx
fstp st(0)
mov ecx, esi
jne 0x571b59
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x18c], 4
call fcn.00438c60
test al, al
je 0x571a78
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x571a9f
cmp word [esi + 0x142], bp
jne 0x571a9f
cmp word [esi + 0x140], bp
jne 0x571a9f
cmp word [esi + 0x13e], bx
je 0x570f96
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 7
jne 0x5719d2
fld dword [0x85b9d0]
fstp dword [esp + 0x140]
fldz
fst dword [esp + 0x144]
fstp dword [esp + 0x148]
fld dword [0x85b3b0]
fstp dword [esp + 0x14c]
cmp byte [esi + 0x6a8], 2
jl 0x571b07
fld dword [0x871538]
fstp dword [esp + 0x148]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fsub qword [0x859b00]
push 4
lea ecx, [esp + 0x144]
push ecx
push ebx
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
push eax
movsx eax, al
sub esp, 8
lea edx, [eax + eax*4]
shl edx, 4
fstp dword [esp + 4]
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fadd dword [esi + 0xec]
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
jmp 0x57199d
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x571a5c
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebx
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ebx, 8
mov byte [esi + 0x18c], bl
cmp word [esi + 0x13e], bp
jne 0x571ccc
cmp word [esi + 0x142], bp
jne 0x571ccc
cmp word [esi + 0x140], 6
jne 0x571ccc
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.0047a9e0
push ebx
mov ecx, esi
call fcn.00464980
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x858ef0]
fsubr qword [0x867830]
fstp dword [esp + 0xd0]
fld dword [0x85ae94]
fstp dword [esp + 0xd4]
fldz
fstp dword [esp + 0xd8]
cmp byte [esi + 0x6ac], 3
jl 0x571c3f
fld1
fstp dword [esp + 0xd8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push 3
lea edx, [esp + 0xd4]
fisub dword [ecx + 0x9c]
push edx
push 1
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x8589f0]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x571c04
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x578eff
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ebx, 8
mov byte [esi + 0x18c], bl
cmp word [esi + 0x13e], bp
jne 0x571ccc
cmp word [esi + 0x142], bp
jne 0x571ccc
cmp word [esi + 0x140], 6
jne 0x571ccc
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.0047a9e0
push ebx
mov ecx, esi
call fcn.00464980
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x858990]
fsubr qword [0x858ef0]
fstp dword [esp + 0xc4]
fld dword [0x85ae94]
fstp dword [esp + 0xc8]
fldz
fstp dword [esp + 0xcc]
cmp byte [esi + 0x6ac], 3
jl 0x571d83
fld1
fstp dword [esp + 0xcc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push 3
lea edx, [esp + 0xc8]
fisub dword [ecx + 0x9c]
push edx
push 1
push eax
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
mov dword [esp + 0x2c], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x867860]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x571d48
jmp 0x571cca
movzx eax, word [esi + 0x13e]
cmp ax, bp
je 0x571e25
cmp ax, 3
jne 0x571e30
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
mov byte [esi + 0x18c], bl
cmp dword [esi + 0x760], ebp
jne 0x571e45
mov byte [esi + 0x7f4], 0
movzx eax, word [esi + 0x13e]
cmp ax, bp
je 0x571e6b
cmp ax, bx
je 0x571e62
cmp ax, 4
je 0x571e62
cmp ax, 5
jne 0x571e7c
cmp word [esi + 0x140], bx
jg 0x571e7c
cmp byte [esi + 0x6a5], bl
jl 0x571e7c
mov word [esi + 0x51c], 2
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x571e9a
cmp ax, 2
je 0x571e9a
cmp ax, 4
je 0x571e9a
cmp ax, 5
jne 0x571f0b
fld dword [esi + 0xf4]
fsub qword [0x858ea8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x571ec5
fstp dword [esi + 0xf4]
jmp 0x571ec7
fstp st(0)
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x571f0d
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x5720ac
cmp word [esi + 0x13e], bp
jne 0x571f84
cmp word [esi + 0x142], bp
jne 0x571f84
cmp word [esi + 0x140], 3
jne 0x571f84
fldz
push 3
fst dword [esp + 0x280]
lea ecx, [esp + 0x280]
fst dword [esp + 0x284]
push ecx
fstp dword [esp + 0x28c]
push ebx
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call fcn.0046eb30
mov eax, dword [esi + 0x144]
cmp eax, ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x572054
cmp word [esi + 0x140], bp
jne 0x572054
cmp word [esi + 0x13e], bx
jne 0x572054
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 4
mov ecx, esi
call fcn.00464980
fld dword [0x85b3b0]
fst dword [esi + 0xf4]
push 0xffffffffffffffff
fstp dword [esi + 0xf8]
mov ecx, esi
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
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 0x7f
call fcn.00438ce0
cmp byte [esi + 0x6a5], 2
jl 0x572034
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
cmp byte [esi + 0x6a5], 4
jl 0x578eff
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 5
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x57207c
cmp word [esi + 0x140], bp
jne 0x57207c
cmp word [esi + 0x13e], 4
je 0x572e5a
cmp eax, ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], 5
jne 0x578eff
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
cmp ax, bp
je 0x5720d1
cmp ax, 3
jne 0x5720dc
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
mov byte [esi + 0x18c], bl
cmp dword [esi + 0x760], ebp
jne 0x5720f1
mov byte [esi + 0x7f4], 0
cmp dword [esi + 0x144], ebp
jne 0x57219f
cmp word [esi + 0x142], bp
jne 0x57219f
cmp word [esi + 0x140], bp
jne 0x57219f
cmp word [esi + 0x13e], bp
jne 0x5721d1
push 0x78
fstp st(0)
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
movsx ecx, byte [esi + 0x6a5]
mov dword [esp + 0x14], ecx
push 0xffffffffffffffff
mov ecx, esi
fild dword [esp + 0x18]
fadd qword [0x858eb0]
fstp dword [esi + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
imul edx, edx, 0xc8
push eax
sub esp, 8
mov dword [esp + 0x24], edx
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x80
call fcn.00438ce0
fldz
cmp word [esi + 0x13e], bp
jne 0x5721d1
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 0x5721d1
fst dword [esi + 0xf4]
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x5721e3
cmp ax, 2
jne 0x572254
fld dword [esi + 0xf4]
fsub qword [0x858ea8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x57220e
fstp dword [esi + 0xf4]
jmp 0x572210
fstp st(0)
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x572256
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 3
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 0x57226b
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x572345
cmp word [esi + 0x142], bp
jne 0x572345
cmp word [esi + 0x140], 3
jne 0x5722e6
push 4
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x294]
push 3
fstp dword [esp + 0x29c]
lea eax, [esp + 0x298]
fld1
push eax
fstp dword [esp + 0x2a4]
push ebx
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call fcn.0046eb30
cmp word [esi + 0x142], bp
jne 0x572345
cmp word [esi + 0x140], 0xe
jne 0x572345
fldz
push 3
fst dword [esp + 0x16c]
lea edx, [esp + 0x16c]
fst dword [esp + 0x170]
push edx
fstp dword [esp + 0x178]
push ebx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call fcn.0046eb30
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
push 4
mov ecx, esi
call fcn.00464980
fld dword [0x85b3b0]
mov dword [esi + 0x190], ebp
mov byte [esi + 0x194], bl
mov byte [esi + 0x8b9], bl
fstp dword [esi + 0xf4]
fld dword [0x85b9d0]
push 0xffffffffffffffff
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
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 0x7f
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
test ax, ax
mov edi, 2
lea ebx, [edi + 1]
lea ebp, [edi + 2]
je 0x572420
cmp ax, di
je 0x572420
cmp ax, bx
je 0x572420
cmp ax, bp
je 0x572420
cmp ax, 1
jne 0x572427
cmp word [esi + 0x140], 6
jl 0x572427
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 5
cmp dword [esi + 0x760], 0
jne 0x57243e
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x571cdb
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x5724e4
cmp word [esi + 0x142], ax
jne 0x57247b
cmp word [esi + 0x140], ax
jne 0x57247b
cmp word [esi + 0x13e], 1
je 0x571cdb
test eax, eax
jne 0x5724e4
cmp word [esi + 0x142], ax
jne 0x57249e
cmp word [esi + 0x140], ax
jne 0x57249e
cmp word [esi + 0x13e], di
je 0x571cdb
test eax, eax
jne 0x5724e4
cmp word [esi + 0x142], ax
jne 0x5724c1
cmp word [esi + 0x140], ax
jne 0x5724c1
cmp word [esi + 0x13e], bx
je 0x571cdb
test eax, eax
jne 0x5724e4
cmp word [esi + 0x142], ax
jne 0x5724e4
cmp word [esi + 0x140], ax
jne 0x5724e4
cmp word [esi + 0x13e], bp
je 0x571cdb
movzx eax, word [esi + 0x13e]
test ax, ax
je 0x572503
cmp ax, di
je 0x572503
cmp ax, bx
je 0x572503
cmp ax, bp
jne 0x5725c7
cmp word [esi + 0x142], 0
jne 0x572542
cmp word [esi + 0x140], di
jne 0x572542
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x19
mov ecx, esi
call fcn.00487870
mov ecx, dword [esi + 0x170]
call fcn.00463530
test al, al
jne 0x572542
mov byte [esi + 0x194], al
mov eax, dword [esi + 0x190]
cmp eax, 1
je 0x572552
cmp eax, 7
jne 0x5725c7
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov ecx, dword [esi + 0x170]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0x64
call eax
mov ecx, dword [esi + 0x170]
call fcn.004636b0
mov cl, byte [esi + 0x104]
mov edx, dword [esi + 0x170]
neg cl
mov byte [edx + 0x104], cl
movsx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
imul eax, eax, 0x5f
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ecx + 0xec]
mov edx, dword [esi + 0x170]
fld dword [esi + 0xf0]
fstp dword [edx + 0xf0]
mov eax, 1
cmp word [esi + 0x13e], ax
jne 0x578eff
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], ax
jne 0x57262b
mov ecx, dword [esi + 0x170]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x66
call edx
movsx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
imul eax, eax, 0x37
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ecx + 0xec]
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], di
jne 0x57266e
movsx edx, byte [esi + 0x104]
mov eax, dword [esi + 0x170]
imul edx, edx, 0x19
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [eax + 0xec]
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], bx
jne 0x5726b5
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x170]
lea ecx, [eax + eax*4]
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [edx + 0xec]
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x572707
mov ecx, dword [esi + 0x170]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x64
call edx
movsx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
imul eax, eax, 0x19
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ecx + 0xec]
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], 5
jne 0x5727cf
mov ecx, dword [esi + 0x170]
cmp word [ecx + 0x184], 0
jg 0x57279a
movsx edx, byte [esi + 0x104]
imul edx, edx, 0x2d
mov dword [esp + 0x14], edx
push 0x47
fild dword [esp + 0x18]
fadd dword [esi + 0xec]
fstp dword [ecx + 0xec]
mov eax, dword [esi + 0x170]
fld dword [0x85b908]
fstp dword [eax + 0x1a4]
mov ecx, dword [esi + 0x170]
fld dword [0x85bc30]
fstp dword [ecx + 0x1a8]
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
jmp 0x5727cf
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x35
call edx
movsx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
imul eax, eax, 0x2d
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ecx + 0xec]
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], 7
jne 0x578eff
cmp byte [esi + 0x7f4], 0
je 0x578eff
mov ecx, esi
call fcn.00487c20
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x211
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, bp
je 0x572832
cmp ax, bx
jne 0x572839
cmp word [esi + 0x140], 6
jl 0x572839
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 5
cmp dword [esi + 0x764], ebp
jne 0x57284f
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x572e5a
mov eax, dword [esi + 0x144]
cmp eax, ebp
jne 0x572887
cmp word [esi + 0x142], bp
jne 0x572887
cmp word [esi + 0x140], bp
jne 0x572887
cmp word [esi + 0x13e], bx
je 0x572e5a
test eax, eax
mov ebp, 2
jne 0x5728af
cmp word [esi + 0x142], ax
jne 0x5728af
cmp word [esi + 0x140], ax
jne 0x5728af
cmp word [esi + 0x13e], bp
je 0x571cdb
test eax, eax
mov ebx, 3
jne 0x5728d7
cmp word [esi + 0x142], ax
jne 0x5728d7
cmp word [esi + 0x140], ax
jne 0x5728d7
cmp word [esi + 0x13e], bx
je 0x571cdb
test eax, eax
mov edi, 4
jne 0x5728ff
cmp word [esi + 0x142], ax
jne 0x5728ff
cmp word [esi + 0x140], ax
jne 0x5728ff
cmp word [esi + 0x13e], di
je 0x571cdb
movzx eax, word [esi + 0x13e]
test ax, ax
je 0x57291e
cmp ax, bp
je 0x57291e
cmp ax, bx
je 0x57291e
cmp ax, di
jne 0x5729e2
cmp word [esi + 0x142], 0
jne 0x57295d
cmp word [esi + 0x140], bp
jne 0x57295d
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x19
mov ecx, esi
call fcn.00487870
mov ecx, dword [esi + 0x170]
call fcn.00463530
test al, al
jne 0x57295d
mov byte [esi + 0x194], al
mov eax, dword [esi + 0x190]
cmp eax, 1
je 0x57296d
cmp eax, 7
jne 0x5729e2
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov ecx, dword [esi + 0x170]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0x64
call eax
mov ecx, dword [esi + 0x170]
call fcn.004636b0
mov cl, byte [esi + 0x104]
mov edx, dword [esi + 0x170]
neg cl
mov byte [edx + 0x104], cl
movsx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
imul eax, eax, 0x5f
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ecx + 0xec]
mov edx, dword [esi + 0x170]
fld dword [esi + 0xf0]
fstp dword [edx + 0xf0]
mov eax, 1
cmp word [esi + 0x13e], ax
jne 0x578eff
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], ax
jne 0x572a46
mov ecx, dword [esi + 0x170]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x66
call edx
movsx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
imul eax, eax, 0x37
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ecx + 0xec]
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x572a89
movsx edx, byte [esi + 0x104]
mov eax, dword [esi + 0x170]
imul edx, edx, 0x19
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [eax + 0xec]
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], bx
jne 0x572ad0
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x170]
lea ecx, [eax + eax*4]
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fadd dword [esi + 0xec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [edx + 0xec]
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], di
jne 0x572b25
movsx eax, byte [esi + 0x104]
fld dword [esi + 0xec]
mov ecx, dword [esi + 0x170]
lea eax, [eax + eax*4]
mov dword [esp + 0x14], eax
fisub dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ecx + 0xec]
mov edx, dword [esi + 0x170]
mov al, byte [esi + 0x104]
mov byte [edx + 0x104], al
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], 5
jne 0x572beb
mov ecx, dword [esi + 0x170]
cmp word [ecx + 0x184], 0
jg 0x572bb6
movsx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
imul edx, edx, 0x19
mov dword [esp + 0x14], edx
push 0x47
fisub dword [esp + 0x18]
fstp dword [ecx + 0xec]
mov eax, dword [esi + 0x170]
fld dword [0x85b908]
fstp dword [eax + 0x1a4]
mov ecx, dword [esi + 0x170]
fld dword [0x85bc30]
fstp dword [ecx + 0x1a8]
mov ecx, dword [esi + 0x170]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esi + 0x170]
mov dl, byte [esi + 0x104]
mov byte [ecx + 0x104], dl
jmp 0x572beb
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x35
call edx
fld dword [esi + 0xec]
movsx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x170]
imul eax, eax, 0x19
mov dword [esp + 0x14], eax
fisub dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [ecx + 0xec]
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], 7
jne 0x578eff
mov ecx, esi
call fcn.00487c20
cmp byte [esi + 0x7f4], 0
je 0x578eff
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x211
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
cmp ax, bp
je 0x572c43
cmp ax, 2
jne 0x572c4e
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x572c86
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x572c86
fstp dword [esi + 0xf4]
jmp 0x572c88
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x572ce6
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x572ce6
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fld dword [esi + 0xf4]
fmul qword [0x8677a0]
fstp dword [esi + 0xf4]
fldz
fstp dword [esi + 0xf8]
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x572cfb
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebp
jne 0x572d77
cmp word [esi + 0x142], bp
jne 0x572d4b
cmp word [esi + 0x140], bp
jne 0x572d4b
cmp word [esi + 0x13e], bx
jne 0x572d4b
fld dword [0x85b830]
push 0x1d
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x85bdb8]
fstp dword [esi + 0xf8]
fld dword [0x85c228]
fstp dword [esi + 0x100]
call fcn.00439490
cmp dword [esi + 0x144], ebp
jne 0x572d77
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x572d77
cmp word [esi + 0x13e], 2
je 0x57037e
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 4
jne 0x578eff
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
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 9
cmp word [esi + 0x13e], bp
jne 0x572e1e
cmp word [esi + 0x142], bp
jne 0x572def
cmp word [esi + 0x140], 2
jne 0x572def
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
push 0xa
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x190], 3
jne 0x572e1e
mov byte [esi + 0x194], bl
mov dword [esi + 0x190], ebp
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
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.00438c60
test al, al
je 0x572e33
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebp
jne 0x572e6c
cmp word [esi + 0x142], bp
jne 0x572e6c
cmp word [esi + 0x140], bp
jne 0x572e6c
cmp word [esi + 0x13e], bx
jne 0x578eff
mov edx, dword [esi]
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], bx
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x572e98
cmp word [esi + 0x140], 0xa
jne 0x572e98
fld dword [0x85ae94]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], bp
mov edi, 0xc
jne 0x578eff
cmp word [esi + 0x140], 0xb
jne 0x572ed6
fldz
push edi
mov ecx, esi
fstp dword [esi + 0xf4]
call fcn.00464980
mov dword [esi + 0x190], ebp
mov byte [esi + 0x194], bl
mov byte [esi + 0x8b9], bl
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], di
jne 0x578eff
fld dword [0x871540]
push 3
fstp dword [esp + 0x25c]
lea ecx, [esp + 0x25c]
fldz
push ecx
fst dword [esp + 0x264]
push ebx
fstp dword [esp + 0x26c]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c1f0]
movsx edx, al
imul edx, edx, 0x96
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x335
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
test ax, ax
mov ebp, 2
je 0x572f9e
cmp ax, 1
je 0x572f9e
cmp ax, bp
jne 0x572f98
cmp word [esi + 0x140], bp
jle 0x572f9e
cmp ax, 4
jne 0x572fa5
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 2
cmp dword [esi + 0x144], 0
jne 0x572fdf
cmp word [esi + 0x142], 0
jne 0x572fdf
cmp word [esi + 0x140], 0
jne 0x572fdf
cmp word [esi + 0x13e], 0xa
jne 0x572fdf
fld dword [0x85bb84]
fstp dword [esi + 0xf4]
cmp dword [esi + 0x760], 0
jne 0x572fef
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x573005
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
mov edi, 9
lea ebx, [edi - 1]
jne 0x573063
cmp word [esi + 0x142], 0
jne 0x573063
cmp word [esi + 0x140], bx
jne 0x57303e
cmp byte [esi + 0x6a6], 3
jl 0x57303e
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
push 0xa
mov ecx, esi
call edx
cmp word [esi + 0x142], 0
jne 0x573063
cmp word [esi + 0x140], di
jne 0x573063
cmp byte [esi + 0x6a6], 1
jl 0x573063
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x57309d
cmp word [esi + 0x142], 0
jne 0x57309d
cmp word [esi + 0x140], 0
jne 0x57309d
cmp word [esi + 0x13e], 1
jne 0x5730f3
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], 1
jne 0x5730f3
cmp word [esi + 0x142], 0
jne 0x5730f3
cmp word [esi + 0x140], 7
jne 0x5730ce
cmp byte [esi + 0x6a6], 3
jl 0x5730ce
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
push edi
mov ecx, esi
call edx
cmp word [esi + 0x142], 0
jne 0x5730f3
cmp word [esi + 0x140], bx
jne 0x5730f3
cmp byte [esi + 0x6a6], 1
jl 0x5730f3
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x57311d
cmp word [esi + 0x142], 0
jne 0x57311d
cmp word [esi + 0x140], 0
jne 0x57311d
cmp word [esi + 0x13e], bp
je 0x57308a
cmp word [esi + 0x13e], 4
jne 0x573174
cmp word [esi + 0x142], 0
jne 0x573174
cmp word [esi + 0x140], 1
jne 0x57314f
cmp byte [esi + 0x6a6], 3
jl 0x57314f
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
push 3
mov ecx, esi
call edx
cmp word [esi + 0x142], 0
jne 0x573174
cmp word [esi + 0x140], bp
jne 0x573174
cmp byte [esi + 0x6a6], 1
jl 0x573174
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x57319f
cmp word [esi + 0x142], 0
jne 0x57319f
cmp word [esi + 0x140], 0
jne 0x57319f
cmp word [esi + 0x13e], 5
je 0x57308a
cmp word [esi + 0x13e], bx
jne 0x5731f5
cmp word [esi + 0x142], 0
jne 0x5731f5
cmp word [esi + 0x140], bp
jne 0x5731cf
cmp byte [esi + 0x6a6], 4
jl 0x5731cf
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
push 4
mov ecx, esi
call edx
cmp word [esi + 0x142], 0
jne 0x5731f5
cmp word [esi + 0x140], 3
jne 0x5731f5
cmp byte [esi + 0x6a6], 3
jl 0x5731f5
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
mov ecx, esi
call edx
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x573266
cmp word [esi + 0x142], ax
jne 0x57321e
cmp word [esi + 0x140], ax
jne 0x57321e
cmp word [esi + 0x13e], di
je 0x57308a
test eax, eax
jne 0x573266
cmp word [esi + 0x142], ax
jne 0x573242
cmp word [esi + 0x140], ax
jne 0x573242
cmp word [esi + 0x13e], 0xa
je 0x57308a
test eax, eax
jne 0x573266
cmp word [esi + 0x142], ax
jne 0x573266
cmp word [esi + 0x140], ax
jne 0x573266
cmp word [esi + 0x13e], 0xb
je 0x57308a
test eax, eax
mov edi, 0xc
jne 0x57328e
cmp word [esi + 0x142], ax
jne 0x57328e
cmp word [esi + 0x140], ax
jne 0x57328e
cmp word [esi + 0x13e], di
je 0x57308a
cmp word [esi + 0x13e], 0
mov ebp, 6
jne 0x5733c1
cmp word [esi + 0x140], bp
jl 0x5732bc
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esi + 0xf4]
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x5732d1
fst dword [esi + 0xf4]
cmp word [esi + 0x142], 0
jne 0x5733c3
cmp word [esi + 0x140], 4
jne 0x5733c3
push 0x78
fstp st(0)
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x19
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x180]
push 3
fst dword [esp + 0x188]
lea eax, [esp + 0x184]
fstp dword [esp + 0x18c]
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 0x32c
call fcn.0046eb30
fld dword [0x85b9bc]
fstp dword [esi + 0xf4]
cmp word [esi + 0x13c], 0x21d
jne 0x573376
fld dword [0x85b9d0]
fstp dword [esi + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
imul edx, edx, 0x64
push 0xffffffffffffffff
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x80
call fcn.00438ce0
push 5
mov ecx, esi
call fcn.00464980
fldz
cmp word [esi + 0x13e], 1
jne 0x5734b5
mov ecx, 3
cmp word [esi + 0x140], cx
jl 0x5733f1
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
fstp dword [esi + 0xf4]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x573404
fst dword [esi + 0xf4]
cmp word [esi + 0x142], 0
jne 0x5734b5
cmp word [esi + 0x140], cx
jne 0x5734b5
fst dword [esp + 0x2ac]
push 3
fstp dword [esp + 0x2b4]
lea eax, [esp + 0x2b0]
fld1
push eax
fstp dword [esp + 0x2bc]
push 1
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 0x32c
call fcn.0046eb30
fld dword [0x85b9bc]
fstp dword [esi + 0xf4]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 0xffffffffffffffff
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7f
call fcn.00438ce0
push 0x19
mov ecx, esi
call fcn.00487870
push 5
mov ecx, esi
call fcn.00464980
fldz
movzx eax, word [esi + 0x13e]
cmp ax, 2
je 0x5734d2
cmp ax, 3
je 0x5734d2
cmp ax, 4
jne 0x5735f0
cmp ax, 4
fstp st(0)
jge 0x5734ec
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x573503
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 4
jmp 0x56d210
cmp word [esi + 0x13e], 2
jne 0x5735ee
cmp word [esi + 0x142], 0
jne 0x5735ee
cmp word [esi + 0x140], 3
jne 0x573576
fld dword [0x85b9bc]
push 0xffffffffffffffff
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x86782c]
fstp dword [esi + 0xf8]
fld dword [0x85b9c0]
fstp dword [esi + 0x100]
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 0x7f
call fcn.00438ce0
cmp word [esi + 0x142], 0
jne 0x5735ee
cmp word [esi + 0x140], 7
jne 0x5735ee
push ebp
mov ecx, esi
call fcn.00464980
push 0x19
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x198]
push 3
fstp dword [esp + 0x1a0]
lea ecx, [esp + 0x19c]
fld dword [0x8589f0]
push ecx
fstp dword [esp + 0x1a8]
push 1
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
fldz
movzx eax, word [esi + 0x13e]
cmp ax, bp
je 0x57360b
cmp ax, 7
je 0x57360b
cmp ax, bx
jne 0x57372c
cmp ax, bp
fstp st(0)
je 0x573618
cmp ax, 7
jne 0x57362a
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x573640
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebx
jmp 0x56d210
cmp word [esi + 0x13e], bp
jne 0x57372a
cmp word [esi + 0x142], 0
jne 0x57372a
cmp word [esi + 0x140], 3
jne 0x5736b2
fld dword [0x85b870]
push 0xffffffffffffffff
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x858828]
fstp dword [esi + 0xf8]
fld dword [0x85b954]
fstp dword [esi + 0x100]
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 0x7f
call fcn.00438ce0
cmp word [esi + 0x142], 0
jne 0x57372a
cmp word [esi + 0x140], 7
jne 0x57372a
push ebp
mov ecx, esi
call fcn.00464980
push 0x19
mov ecx, esi
call fcn.00487870
fldz
fst dword [esp + 0x270]
push 3
fstp dword [esp + 0x278]
lea ecx, [esp + 0x274]
fld dword [0x8589f0]
push ecx
fstp dword [esp + 0x280]
push 1
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
fldz
cmp word [esi + 0x13e], 0xa
jne 0x5737ee
fld dword [esi + 0xf4]
mov ecx, 4
cmp word [esi + 0x140], cx
jl 0x57376d
fsub qword [0x8581b8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x573790
jmp 0x57378a
fadd qword [0x857f80]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x573790
fst dword [esi + 0xf4]
cmp word [esi + 0x142], 0
jne 0x5737ee
cmp word [esi + 0x140], cx
jne 0x5737ee
fstp st(0)
push 0xffffffffffffffff
fld dword [0x85c1c0]
mov ecx, esi
fstp dword [esi + 0xf4]
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 0x7f
call fcn.00438ce0
push 0x19
mov ecx, esi
call fcn.00487870
push 5
mov ecx, esi
call fcn.00464980
fldz
cmp word [esi + 0x13e], 0xb
mov ebx, 3
jne 0x57388d
cmp word [esi + 0x140], bx
jl 0x57381c
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
fstp dword [esi + 0xf4]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x57382f
fst dword [esi + 0xf4]
cmp word [esi + 0x142], 0
jne 0x57388d
cmp word [esi + 0x140], bx
jne 0x57388d
fstp st(0)
push 0xffffffffffffffff
fld dword [0x85b9d0]
fstp dword [esi + 0xf4]
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 0x7f
call fcn.00438ce0
push 0x19
mov ecx, esi
call fcn.00487870
push 5
mov ecx, esi
call fcn.00464980
fldz
cmp word [esi + 0x13e], di
jne 0x578efd
cmp word [esi + 0x140], bx
jl 0x5738b5
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
fstp dword [esi + 0xf4]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x5738ca
fstp dword [esi + 0xf4]
jmp 0x5738cc
fstp st(0)
cmp word [esi + 0x142], 0
jne 0x578eff
cmp word [esi + 0x140], bx
jne 0x578eff
fld dword [0x85b9bc]
push 0xffffffffffffffff
fstp dword [esi + 0xf4]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7f
call fcn.00438ce0
push 0x19
mov ecx, esi
call fcn.00487870
push 5
mov ecx, esi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 6
cmp dword [esi + 0x760], ebp
jne 0x573955
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x57396a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x573991
cmp word [esi + 0x142], bp
jne 0x573991
cmp word [esi + 0x140], bp
jne 0x573991
cmp word [esi + 0x13e], bx
je 0x56cf7c
cmp word [esi + 0x13e], bp
jne 0x573afa
mov edi, 7
cmp word [esi + 0x140], di
jle 0x5739db
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 0x5739dd
fst dword [esi + 0xf4]
jmp 0x5739dd
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x5739f2
fstp dword [esi + 0xf4]
jmp 0x5739f4
fstp st(0)
cmp word [esi + 0x142], bp
jne 0x573add
cmp word [esi + 0x140], 5
jne 0x573ab9
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85bbe4]
fstp dword [esi + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 0xffffffffffffffff
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7f
call fcn.00438ce0
push 9
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x2f4]
push 4
fst dword [esp + 0x2fc]
lea ecx, [esp + 0x2f8]
fstp dword [esp + 0x300]
push ecx
fld1
push ebx
fstp dword [esp + 0x30c]
mov ecx, esi
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x331
call fcn.0046eb30
cmp word [esi + 0x142], bp
jne 0x573add
cmp word [esi + 0x140], di
jne 0x573add
fld dword [esi + 0xf4]
fmul qword [0x8677a0]
fstp dword [esi + 0xf4]
cmp dword [esi + 0x190], ebp
je 0x578eff
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 + 0x142], bp
fld qword [0x8677a0]
jne 0x573b20
cmp word [esi + 0x140], bx
jne 0x573b27
fld dword [esi + 0xf4]
fmul st(1)
fstp dword [esi + 0xf4]
cmp word [esi + 0x140], bx
jle 0x578efd
fsubr dword [esi + 0xf4]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x56f8c0
sub eax, 0x222
cmp eax, 0xfc
ja case.0x573b57.547
movzx eax, byte [eax + 0x5792a0]
jmp dword [eax*4 + 0x579218]
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov byte [esi + 0x18c], 6
cmp dword [esi + 0x760], ebp
jne 0x573b7d
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x573b92
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebp
jne 0x573bb9
cmp word [esi + 0x142], bp
jne 0x573bb9
cmp word [esi + 0x140], bp
jne 0x573bb9
cmp word [esi + 0x13e], bx
je 0x572e5a
cmp word [esi + 0x13e], bp
jne 0x573d22
mov edi, 7
cmp word [esi + 0x140], di
jle 0x573c03
fld dword [esi + 0xf4]
fsub qword [0x85b938]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x573c05
fst dword [esi + 0xf4]
jmp 0x573c05
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x573c1a
fstp dword [esi + 0xf4]
jmp 0x573c1c
fstp st(0)
cmp word [esi + 0x142], bp
jne 0x573d05
cmp word [esi + 0x140], 5
jne 0x573ce1
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
fld dword [0x85b98c]
fstp dword [esi + 0xf4]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 0xffffffffffffffff
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7f
call fcn.00438ce0
push 9
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x304]
push 4
fst dword [esp + 0x30c]
lea edx, [esp + 0x308]
fstp dword [esp + 0x310]
push edx
fld1
push ebx
fstp dword [esp + 0x31c]
mov ecx, esi
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x331
call fcn.0046eb30
cmp word [esi + 0x142], bp
jne 0x573d05
cmp word [esi + 0x140], di
jne 0x573d05
fld dword [esi + 0xf4]
fmul qword [0x85b938]
fstp dword [esi + 0xf4]
cmp dword [esi + 0x190], ebp
je 0x578eff
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
cmp word [esi + 0x142], bp
jne 0x573d46
cmp word [esi + 0x140], bx
jne 0x573d4d
fld dword [esi + 0xf4]
fmul qword [0x85b938]
fstp dword [esi + 0xf4]
cmp word [esi + 0x140], bx
jle 0x578eff
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x56f8c0
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, bp
je 0x573d80
cmp ax, 6
jne 0x573d87
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 0xa
cmp dword [esi + 0x760], ebp
jne 0x573d9d
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], bx
jne 0x573dda
cmp dword [esi + 0x144], 6
jl 0x573dda
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [esi + 0xf4]
fld qword [0x858ea0]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fmul dword [esi + 0xf8]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], 2
jne 0x573e06
fld dword [esi + 0xf4]
fld qword [0x8581d8]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fmul dword [esi + 0xf8]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
cmp ax, 3
je 0x573e2f
cmp ax, 4
je 0x573e2f
cmp ax, 5
je 0x573e2f
cmp ax, 9
je 0x573e2f
cmp ax, 0xa
jne 0x573f66
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x8677a0]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x573f66
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 6
mov ecx, esi
call eax
fldz
fstp dword [esp + 0x18]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x573e8e
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x14
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0xfc]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x573eba
fadd dword [0x871554]
fmul qword [0x867840]
add esp, 4
fadd qword [0x871520]
fstp dword [esp + 0xfc]
fldz
fstp dword [esp + 0x100]
fld dword [esp + 0xf8]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x573efe
mov eax, ebx
jmp 0x573f00
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, ebx
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0xf8]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x573e75
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x573f7b
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
cmp eax, ebp
jne 0x574044
cmp word [esi + 0x142], bp
jne 0x573fa9
cmp word [esi + 0x140], bp
jne 0x573fa9
cmp word [esi + 0x13e], 7
je 0x572e5a
cmp eax, ebp
jne 0x574044
cmp word [esi + 0x142], bp
jne 0x574044
cmp word [esi + 0x140], bp
jne 0x574044
cmp word [esi + 0x13e], bx
jne 0x574044
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 5
mov ecx, esi
call fcn.00464980
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
movsx ecx, al
imul ecx, ecx, 0x64
push 0xffffffffffffffff
push eax
sub esp, 8
mov dword [esp + 0x24], ecx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x80
call fcn.00438ce0
fld dword [0x85b830]
fst dword [esi + 0xf4]
fstp dword [esi + 0xf8]
cmp dword [esi + 0x144], ebp
jne 0x57410f
cmp word [esi + 0x142], bp
jne 0x57410f
cmp word [esi + 0x140], bp
jne 0x57410f
cmp word [esi + 0x13e], 3
jne 0x57410f
cmp byte [esi + 0x7f4], 0
je 0x5740f2
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push ebx
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 7
mov ecx, esi
call edx
fldz
fst dword [esi + 0xf4]
fst dword [esi + 0xf8]
jmp 0x574111
fldz
push 9
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x85bb84]
fstp dword [esi + 0xf8]
call fcn.00464980
fldz
cmp dword [esi + 0x144], ebp
jne 0x578efd
cmp word [esi + 0x142], bp
jne 0x5741d9
cmp word [esi + 0x140], bp
jne 0x5741d9
cmp word [esi + 0x13e], 4
jne 0x5741d9
cmp byte [esi + 0x6ae], 3
mov ecx, esi
jl 0x57418d
mov eax, dword [esi]
fstp st(0)
mov edx, dword [eax + 0x14]
call edx
fldz
fst dword [esp + 0x150]
push 3
fstp dword [esp + 0x158]
lea eax, [esp + 0x154]
fld dword [0x8589f0]
push eax
fstp dword [esp + 0x160]
push ebx
movzx ecx, byte [esi + 0x104]
push ecx
mov ecx, esi
jmp 0x5741b7
fst dword [esp + 0x2b8]
push 3
fstp dword [esp + 0x2c0]
lea edx, [esp + 0x2bc]
fld1
push edx
fstp dword [esp + 0x2c8]
push ebx
movzx eax, byte [esi + 0x104]
push eax
fld dword [esi + 0xf0]
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call fcn.0046eb30
fldz
cmp dword [esi + 0x144], ebp
jne 0x578efd
cmp word [esi + 0x142], bp
jne 0x57421e
cmp word [esi + 0x140], bp
jne 0x57421e
cmp word [esi + 0x13e], 8
jne 0x57421e
fstp dword [esi + 0xf4]
push 9
fld dword [0x85c000]
mov ecx, esi
fstp dword [esi + 0xf8]
call fcn.00464980
fldz
cmp dword [esi + 0x144], ebp
jne 0x578efd
cmp word [esi + 0x142], bp
jne 0x578efd
cmp word [esi + 0x140], bp
jne 0x578efd
cmp word [esi + 0x13e], 9
jne 0x578efd
cmp byte [esi + 0x6ae], 3
jl 0x574298
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fldz
fst dword [esp + 0x1c8]
push 3
fstp dword [esp + 0x1d0]
lea ecx, [esp + 0x1cc]
fld dword [0x8589f0]
push ecx
fstp dword [esp + 0x1d8]
push ebx
movzx edx, byte [esi + 0x104]
push edx
jmp 0x5742c2
fst dword [esp + 0x288]
push 3
fstp dword [esp + 0x290]
lea eax, [esp + 0x28c]
fld1
push eax
fstp dword [esp + 0x298]
push ebx
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 0x336
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
fstp st(0)
cmp ax, bp
je 0x574300
cmp ax, 6
jne 0x574307
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 0xa
cmp dword [esi + 0x764], ebp
jne 0x57431d
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], bx
jne 0x57435a
cmp dword [esi + 0x144], 0xc
jl 0x57435a
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [esi + 0xf4]
fld qword [0x858ea0]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fmul dword [esi + 0xf8]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], 2
jne 0x574386
fld dword [esi + 0xf4]
fld qword [0x8581d8]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fmul dword [esi + 0xf8]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
cmp ax, 3
je 0x5743af
cmp ax, 4
je 0x5743af
cmp ax, 5
je 0x5743af
cmp ax, 9
je 0x5743af
cmp ax, 0xa
jne 0x5744e6
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x8677a0]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x5744e6
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 6
mov ecx, esi
call eax
fldz
fstp dword [esp + 0x18]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x57440e
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x14
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0xe4]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x57443a
fadd dword [0x871554]
fmul qword [0x867840]
add esp, 4
fadd qword [0x871520]
fstp dword [esp + 0xe4]
fldz
fstp dword [esp + 0xe8]
fld dword [esp + 0xe0]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x57447e
mov eax, ebx
jmp 0x574480
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, ebx
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0xe0]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x5743f5
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5744fb
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebp
jne 0x5745c1
cmp word [esi + 0x142], bp
jne 0x5745c1
cmp word [esi + 0x140], bp
jne 0x5745c1
cmp word [esi + 0x13e], 4
jne 0x5745c1
cmp byte [esi + 0x6ae], 3
jl 0x574573
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fldz
fst dword [esp + 0x1e0]
push 3
fstp dword [esp + 0x1e8]
lea ecx, [esp + 0x1e4]
fld dword [0x8589f0]
push ecx
fstp dword [esp + 0x1f0]
push ebx
movzx edx, byte [esi + 0x104]
push edx
jmp 0x57459f
fldz
push 3
fst dword [esp + 0x2d4]
lea eax, [esp + 0x2d4]
fstp dword [esp + 0x2d8]
push eax
fld1
push ebx
fstp dword [esp + 0x2e4]
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 0x336
call fcn.0046eb30
mov eax, dword [esi + 0x144]
cmp eax, ebp
jne 0x5746b1
cmp word [esi + 0x142], bp
jne 0x5745ef
cmp word [esi + 0x140], bp
jne 0x5745ef
cmp word [esi + 0x13e], 7
je 0x572e5a
cmp eax, ebp
jne 0x5746b1
cmp word [esi + 0x142], bp
jne 0x5746b1
cmp word [esi + 0x140], bp
jne 0x5746b1
cmp word [esi + 0x13e], 9
jne 0x5746b1
cmp byte [esi + 0x6ae], 3
jl 0x574663
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fldz
fst dword [esp + 0x1f8]
push 3
fstp dword [esp + 0x200]
lea ecx, [esp + 0x1fc]
fld dword [0x8589f0]
push ecx
fstp dword [esp + 0x208]
push ebx
movzx edx, byte [esi + 0x104]
push edx
jmp 0x57468f
fldz
push 3
fst dword [esp + 0x2a4]
lea eax, [esp + 0x2a4]
fstp dword [esp + 0x2a8]
push eax
fld1
push ebx
fstp dword [esp + 0x2b4]
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 0x336
call fcn.0046eb30
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x574750
cmp word [esi + 0x140], bp
jne 0x574750
cmp word [esi + 0x13e], bx
jne 0x574750
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 5
mov ecx, esi
call fcn.00464980
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
movsx edx, al
imul edx, edx, 0x64
push 0xffffffffffffffff
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x80
call fcn.00438ce0
fld dword [0x85b830]
fst dword [esi + 0xf4]
fstp dword [esi + 0xf8]
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x57481b
cmp word [esi + 0x140], bp
jne 0x57481b
cmp word [esi + 0x13e], 3
jne 0x57481b
cmp byte [esi + 0x7f4], 0
je 0x5747fe
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
push ebx
push eax
fisub dword [ecx + 0x9c]
movsx eax, al
imul eax, dword [ecx + 0x98]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 7
mov ecx, esi
call eax
fldz
fst dword [esi + 0xf4]
fstp dword [esi + 0xf8]
jmp 0x57481b
fldz
push 9
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x85c000]
fstp dword [esi + 0xf8]
call fcn.00464980
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], 8
jne 0x578eff
fldz
push 9
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x85c000]
fstp dword [esi + 0xf8]
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 5
fstp st(0)
jne 0x574887
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 0xa
cmp dword [esi + 0x760], ebp
jne 0x57489d
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], bx
mov edi, 6
jne 0x5748de
cmp dword [esi + 0x144], edi
jl 0x5748de
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [esi + 0xf4]
fld qword [0x858ea0]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fmul dword [esi + 0xf8]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], 2
jne 0x57490a
fld dword [esi + 0xf4]
fld qword [0x8581d8]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fmul dword [esi + 0xf8]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
cmp ax, 3
mov ebx, 8
je 0x574931
cmp ax, 4
je 0x574931
cmp ax, 7
je 0x574931
cmp ax, bx
jne 0x574a6e
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x8677a0]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x574a6e
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 5
mov ecx, esi
call eax
fldz
fstp dword [esp + 0x18]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x574990
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x14
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0xb4]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x5749bc
fadd dword [0x871554]
fmul qword [0x867840]
add esp, 4
fadd qword [0x871520]
fstp dword [esp + 0xb4]
fldz
fstp dword [esp + 0xb8]
fld dword [esp + 0xb0]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x574a03
mov eax, 1
jmp 0x574a05
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0xb0]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x574977
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x574a83
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
mov eax, dword [esi + 0x144]
cmp eax, ebp
jne 0x574afe
cmp word [esi + 0x142], bp
jne 0x574aac
cmp word [esi + 0x140], bp
jne 0x574aac
cmp word [esi + 0x13e], di
je 0x572e5a
cmp eax, ebp
jne 0x574afe
cmp word [esi + 0x142], bp
jne 0x574afe
cmp word [esi + 0x140], bp
jne 0x574afe
cmp word [esi + 0x13e], 1
jne 0x574afe
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 5
mov ecx, esi
call fcn.00464980
fld dword [0x85b830]
fst dword [esi + 0xf4]
fstp dword [esi + 0xf8]
cmp dword [esi + 0x144], ebp
jne 0x574bc9
cmp word [esi + 0x142], bp
jne 0x574bc9
cmp word [esi + 0x140], bp
jne 0x574bc9
cmp word [esi + 0x13e], 3
jne 0x574bc9
cmp byte [esi + 0x7f4], 0
je 0x574bac
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push 1
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push edi
mov ecx, esi
call edx
fldz
fst dword [esi + 0xf4]
fst dword [esi + 0xf8]
jmp 0x574bcb
fldz
push 9
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x85bb84]
fstp dword [esi + 0xf8]
call fcn.00464980
fldz
cmp dword [esi + 0x144], ebp
jne 0x578efd
cmp word [esi + 0x142], bp
jne 0x574c42
cmp word [esi + 0x140], bp
jne 0x574c42
cmp word [esi + 0x13e], 4
jne 0x574c42
fst dword [esp + 0x210]
push 3
fstp dword [esp + 0x218]
lea eax, [esp + 0x214]
fld1
push eax
fstp dword [esp + 0x220]
push 1
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 0x336
call fcn.0046eb30
fldz
cmp dword [esi + 0x144], ebp
jne 0x578efd
cmp word [esi + 0x142], bp
jne 0x574c87
cmp word [esi + 0x140], bp
jne 0x574c87
cmp word [esi + 0x13e], 7
jne 0x574c87
fstp dword [esi + 0xf4]
push 9
fld dword [0x85c000]
mov ecx, esi
fstp dword [esi + 0xf8]
call fcn.00464980
fldz
cmp dword [esi + 0x144], ebp
jne 0x578efd
cmp word [esi + 0x142], bp
jne 0x578efd
cmp word [esi + 0x140], bp
jne 0x578efd
cmp word [esi + 0x13e], bx
jne 0x578efd
fst dword [esp + 0x2e8]
push 3
fstp dword [esp + 0x2f0]
lea edx, [esp + 0x2ec]
fld1
push edx
fstp dword [esp + 0x2f8]
push 1
movzx eax, byte [esi + 0x104]
push eax
jmp 0x5742c2
cmp word [esi + 0x13e], 5
fstp st(0)
jne 0x574cfd
mov ecx, esi
call fcn.00487ca0
mov byte [esi + 0x18c], 0xa
cmp dword [esi + 0x764], ebp
jne 0x574d13
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], bx
jne 0x574d50
cmp dword [esi + 0x144], 0xc
jl 0x574d50
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [esi + 0xf4]
fld qword [0x858ea0]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fmul dword [esi + 0xf8]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], 2
jne 0x574d7c
fld dword [esi + 0xf4]
fld qword [0x8581d8]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fmul dword [esi + 0xf8]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
cmp ax, 3
mov ebx, 8
je 0x574da3
cmp ax, 4
je 0x574da3
cmp ax, 7
je 0x574da3
cmp ax, bx
jne 0x574ee7
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x8677a0]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x574ee7
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 5
mov ecx, esi
call eax
fldz
fstp dword [esp + 0x18]
lea esp, [esp]
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x574e09
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x14
fmul qword [0x85c068]
faddp st(1)
fstp dword [esp + 0xf0]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
jge 0x574e35
fadd dword [0x871554]
fmul qword [0x867840]
add esp, 4
fadd qword [0x871520]
fstp dword [esp + 0xf0]
fldz
fstp dword [esp + 0xf4]
fld dword [esp + 0xec]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x574e7c
mov eax, 1
jmp 0x574e7e
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0xec]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x86782c]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x574df0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x574efc
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebp
jne 0x574f6f
cmp word [esi + 0x142], bp
jne 0x574f6f
cmp word [esi + 0x140], bp
jne 0x574f6f
cmp word [esi + 0x13e], 4
jne 0x574f6f
fldz
push 3
fst dword [esp + 0x22c]
lea ecx, [esp + 0x22c]
fstp dword [esp + 0x230]
push ecx
fld1
push 1
fstp dword [esp + 0x23c]
mov ecx, esi
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call fcn.0046eb30
mov eax, dword [esi + 0x144]
cmp eax, ebp
jne 0x57500b
cmp word [esi + 0x142], bp
jne 0x574f9d
cmp word [esi + 0x140], bp
jne 0x574f9d
cmp word [esi + 0x13e], 6
je 0x56cf7c
cmp eax, ebp
jne 0x57500b
cmp word [esi + 0x142], bp
jne 0x57500b
cmp word [esi + 0x140], bp
jne 0x57500b
cmp word [esi + 0x13e], bx
jne 0x57500b
fldz
push 3
fst dword [esp + 0x2e0]
lea eax, [esp + 0x2e0]
fstp dword [esp + 0x2e4]
push eax
fld1
push 1
fstp dword [esp + 0x2f0]
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call fcn.0046eb30
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x575065
cmp word [esi + 0x140], bp
jne 0x575065
cmp word [esi + 0x13e], 1
jne 0x575065
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
push 5
mov ecx, esi
call fcn.00464980
fld dword [0x85b830]
fst dword [esi + 0xf4]
fstp dword [esi + 0xf8]
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x575131
cmp word [esi + 0x140], bp
jne 0x575131
cmp word [esi + 0x13e], 3
jne 0x575131
cmp byte [esi + 0x7f4], 0
je 0x575114
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push 1
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 6
mov ecx, esi
call edx
fldz
fst dword [esi + 0xf4]
fstp dword [esi + 0xf8]
jmp 0x575131
fldz
push 9
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x85c000]
fstp dword [esi + 0xf8]
call fcn.00464980
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], 7
jne 0x578eff
fldz
push 9
fstp dword [esi + 0xf4]
mov ecx, esi
fld dword [0x85bb84]
fstp dword [esi + 0xf8]
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x13e], bx
jne 0x5751a9
cmp dword [esi + 0x144], 0xf
jge 0x573ae9
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5751be
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 5
jne 0x578eff
push 0x78
mov byte [esi + 0x8d1], bl
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], 4
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x13e], bx
jne 0x575239
cmp dword [esi + 0x144], 0xf
jge 0x573ae9
mov ecx, esi
call fcn.00438c60
test al, al
je 0x57524e
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 5
jne 0x578eff
push 0x78
mov byte [esi + 0x8d1], bl
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], 7
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x13e], 2
jne 0x5752ca
cmp dword [esi + 0x144], 0x18
jge 0x573ae9
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5752df
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
push 0x78
mov byte [esi + 0x8d1], bl
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], 5
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x13e], 2
jne 0x575366
cmp dword [esi + 0x144], 0x18
jge 0x573ae9
mov ecx, esi
call fcn.00438c60
test al, al
je 0x57537b
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
push 0x78
mov byte [esi + 0x8d1], bl
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], 6
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
cmp word [esi + 0x13e], 2
jne 0x575402
cmp dword [esi + 0x144], 0x18
jge 0x573ae9
mov ecx, esi
call fcn.00438c60
test al, al
je 0x575417
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], bx
jne 0x578eff
push 0x78
mov byte [esi + 0x8d1], bl
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], 8
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 4
fstp st(0)
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x575497
call fcn.00487ca0
jmp 0x5754b6
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x56d2cb
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5754cb
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
mov eax, dword [esi + 0x144]
cmp eax, ebp
jne 0x57553f
cmp word [esi + 0x142], bp
jne 0x5754f4
cmp word [esi + 0x140], bp
jne 0x5754f4
cmp word [esi + 0x13e], di
je 0x570f96
cmp eax, ebp
jne 0x57553f
cmp word [esi + 0x142], bp
jne 0x57553f
cmp word [esi + 0x140], bp
jne 0x57553f
cmp word [esi + 0x13e], bx
jne 0x57553f
push 0x78
mov byte [esi + 0x8d1], bl
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], 6
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00487870
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], 3
jne 0x578eff
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 4
fstp st(0)
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x5755a0
call fcn.00487ca0
jmp 0x5755bf
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x56d2cb
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5755d4
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
mov eax, dword [esi + 0x144]
cmp eax, ebp
jne 0x575648
cmp word [esi + 0x142], bp
jne 0x5755fd
cmp word [esi + 0x140], bp
jne 0x5755fd
cmp word [esi + 0x13e], di
je 0x570f96
cmp eax, ebp
jne 0x575648
cmp word [esi + 0x142], bp
jne 0x575648
cmp word [esi + 0x140], bp
jne 0x575648
cmp word [esi + 0x13e], bx
jne 0x575648
push 0x78
mov byte [esi + 0x8d1], bl
push 0xc8
mov ecx, esi
mov word [esi + 0x8d2], 8
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00487870
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], 3
jne 0x578eff
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x140]
fstp st(0)
cmp ax, 6
jle 0x5756a5
cmp ax, 0xb
jl 0x5756ac
mov ecx, esi
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x7d0], bp
jne 0x57576d
cmp dword [esi + 0x190], ebx
jne 0x575736
fldz
mov word [esi + 0x7d0], bx
fst dword [esp + 0x240]
push 3
fst dword [esp + 0x248]
lea eax, [esp + 0x244]
fstp dword [esp + 0x24c]
push eax
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x857b20]
push ebx
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x352
call fcn.0046eb30
push 0x33
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x7d0], bp
jne 0x57576d
cmp dword [esi + 0x190], ebp
je 0x57576d
mov word [esi + 0x7d0], bx
mov edx, dword [esi]
mov eax, dword [edx + 0x1c]
push 9
mov ecx, esi
call eax
fld dword [0x85b830]
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x575782
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x575821
cmp word [esi + 0x140], 5
jne 0x575821
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x8581e0]
push ebx
push eax
movsx eax, al
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
lea ecx, [eax + eax*4]
add ecx, ecx
sub esp, 8
add ecx, ecx
mov dword [esp + 0x24], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 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
cmp word [esi + 0x142], bp
mov edi, 7
jne 0x5758aa
cmp word [esi + 0x140], di
jne 0x5758aa
fld dword [0x85bbe4]
push 0xffffffffffffffff
fstp dword [esi + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
imul edx, edx, 0xc8
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x80
call fcn.00438ce0
fld dword [0x85bc10]
fstp dword [esi + 0x108]
push 0x32
fld dword [0x85c500]
mov ecx, esi
fstp dword [esi + 0x10c]
call fcn.00464980
cmp word [esi + 0x142], bp
mov ecx, 9
jne 0x5758cd
cmp word [esi + 0x140], cx
jne 0x5758cd
fld dword [0x85b830]
fstp dword [esi + 0xf4]
cmp word [esi + 0x140], di
fld qword [0x857f78]
jne 0x57592e
fld dword [esi + 0x11c]
fadd st(1)
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x120]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x575913
fst dword [esi + 0x120]
fld dword [0x871538]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 5
jp 0x575932
fstp dword [esi + 0x11c]
jmp 0x575934
fldz
jmp 0x575934
fstp st(0)
cmp word [esi + 0x140], cx
jne 0x57598b
fld dword [esi + 0x11c]
fsub st(2)
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x120]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x575976
fst dword [esi + 0x120]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x57598f
fstp dword [esi + 0x11c]
jmp 0x575991
fstp st(1)
jmp 0x575991
fstp st(0)
cmp word [esi + 0x140], cx
jl 0x5759c5
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5759c5
fstp dword [esi + 0xf4]
jmp 0x5759c7
fstp st(0)
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 0xa
jne 0x578eff
lea ecx, [esi + 4]
call fcn.00438bb0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
cmp dword [esi + 0x190], ebp
je 0x575a38
cmp byte [esi + 0x194], 0
jle 0x575a38
add word [esi + 0x7d0], bx
movzx eax, word [esi + 0x7d0]
cmp ax, 2
jl 0x575a38
mov word [esi + 0x7d0], bp
mov dword [esi + 0x190], ebp
mov ecx, esi
call fcn.00438c60
test al, al
je 0x575a4d
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 2
jne 0x575aec
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c1e8]
push ebx
push eax
movsx eax, al
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov ecx, eax
shl ecx, 6
sub esp, 8
sub ecx, eax
mov dword [esp + 0x24], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 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
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 3
jne 0x575b4f
fldz
push 3
fst dword [esp + 0x2c8]
lea edx, [esp + 0x2c8]
fst dword [esp + 0x2cc]
push edx
fstp dword [esp + 0x2d4]
push ebx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x353
call fcn.0046eb30
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 0xb
jne 0x575b6f
push 0x34
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 0xc
jne 0x578eff
fldz
fstp dword [esp + 0x18]
push 0x12
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x575bac
fadd dword [0x871554]
fld dword [esp + 0x18]
fmul qword [0x85ba38]
fadd qword [0x85c578]
faddp st(1)
fstp dword [esp + 0x94]
fld dword [0x85ae94]
fstp dword [esp + 0x98]
fld dword [0x8589f0]
fstp dword [esp + 0x9c]
fldz
fld dword [esp + 0x94]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x575c41
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x575c43
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x98]
push ecx
push ebx
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x96
fstp dword [esp + 4]
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x575c83
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x98]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0xaf
fstp dword [esp + 4]
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x335
mov ecx, esi
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x867810]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x575b90
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], bx
mov edi, 0x28
jne 0x575ceb
cmp dword [esi + 0x144], edi
jge 0x573ae9
mov ecx, esi
call fcn.00438c60
test al, al
je 0x575d00
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x575d99
cmp word [esi + 0x140], bp
jne 0x575d99
cmp word [esi + 0x13e], bx
jne 0x575d99
mov dword [esi + 0x144], ebp
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], di
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx eax, byte [esi + 0x104]
push ebx
push eax
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 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
push 0x36
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], 3
jne 0x578eff
fldz
mov word [esi + 0x8d6], 0xf0
mov word [esi + 0x8d8], bx
fst dword [esp + 0x40]
fst dword [esp + 0x44]
push 3
fstp dword [esp + 0x4c]
lea ecx, [esp + 0x44]
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857b20]
push ecx
push ebx
push edx
sub esp, 8
fstp dword [esp + 0x2c]
mov ecx, esi
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call fcn.0046eb30
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x575e4a
fadd dword [0x871554]
fstp dword [esp + 0x40]
push 3
fld1
lea eax, [esp + 0x44]
fstp dword [esp + 0x4c]
push eax
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x857b20]
push ebx
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call fcn.0046eb30
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x575eb3
fadd dword [0x871554]
fstp dword [esp + 0x40]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x857b20]
neg al
lea edx, [esp + 0x44]
push edx
push ebx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov ecx, esi
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x858ef0]
fadd qword [0x867830]
fstp dword [esp + 0x40]
fld dword [0x85b3b0]
fstp dword [esp + 0x44]
fld dword [0x8589f0]
fstp dword [esp + 0x48]
fldz
fld dword [esp + 0x40]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x575f58
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x575f5a
movzx edx, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x44]
push ecx
push 1
push edx
jmp 0x575f6b
fstp st(0)
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0x44]
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 0x335
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x85bca4]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x575f03
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
fstp st(0)
push 3
mov ecx, esi
call fcn.0046b370
movzx eax, word [esi + 0x13e]
cmp ax, 5
je 0x575ff0
cmp ax, bp
jne 0x575ff7
movzx eax, word [esi + 0x140]
cmp ax, 6
jle 0x575ff0
cmp ax, 0xa
jl 0x575ff7
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x572e5a
cmp dword [esi + 0x144], ebp
jne 0x57602d
cmp word [esi + 0x142], bp
jne 0x57602d
cmp word [esi + 0x140], bp
jne 0x57602d
cmp word [esi + 0x13e], bx
je 0x572e5a
cmp word [esi + 0x13e], 0
mov edi, 9
lea ebx, [edi - 1]
lea ebp, [edi - 2]
jne 0x57635b
cmp dword [esi + 0x190], 1
jne 0x5760e2
fldz
push 3
fst dword [esp + 0x160]
lea ecx, [esp + 0x160]
fst dword [esp + 0x164]
push ecx
fstp dword [esp + 0x16c]
push 1
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857b20]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x355
call fcn.0046eb30
mov ecx, esi
call fcn.004636b0
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
lea ecx, [esi + 4]
fstp dword [esi + 0xec]
call fcn.00438bb0
mov dword [esi + 0x190], 0
movzx eax, word [esi + 0x140]
cmp ax, bx
jg 0x5760fb
cmp dword [esi + 0x190], 0
jne 0x57574e
cmp ax, 6
jle 0x576107
cmp ax, 0xb
jl 0x57610e
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x142], 0
jne 0x576247
cmp word [esi + 0x140], 5
jne 0x5761a8
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x8581e0]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
lea ecx, [eax + eax*4]
add ecx, ecx
sub esp, 8
add ecx, ecx
mov dword [esp + 0x24], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 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 0x576247
cmp word [esi + 0x140], bp
jne 0x576228
fld dword [0x8596b8]
push 0xffffffffffffffff
fstp dword [esi + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
imul edx, edx, 0xc8
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x80
call fcn.00438ce0
fld dword [0x85bc10]
fstp dword [esi + 0x108]
fld dword [0x85c500]
fstp dword [esi + 0x10c]
cmp word [esi + 0x142], 0
jne 0x576247
cmp word [esi + 0x140], di
jne 0x576247
fld dword [0x85b830]
fstp dword [esi + 0xf4]
cmp word [esi + 0x140], bp
fld qword [0x857f78]
jne 0x5762a8
fld dword [esi + 0x11c]
fadd st(1)
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x120]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x57628d
fst dword [esi + 0x120]
fld dword [0x871538]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 5
jp 0x5762ac
fstp dword [esi + 0x11c]
jmp 0x5762ae
fldz
jmp 0x5762ae
fstp st(0)
cmp word [esi + 0x140], di
jne 0x576305
fld dword [esi + 0x11c]
fsub st(2)
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x120]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5762f0
fst dword [esi + 0x120]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x576309
fstp dword [esi + 0x11c]
jmp 0x57630b
fstp st(1)
jmp 0x57630b
fstp st(0)
cmp word [esi + 0x140], di
jl 0x57633d
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x57633d
fst dword [esi + 0xf4]
cmp word [esi + 0x142], 0
jne 0x57635d
cmp word [esi + 0x140], 0xa
jne 0x57635d
lea ecx, [esi + 4]
fstp st(0)
call fcn.00438bb0
fldz
cmp word [esi + 0x13e], 2
jne 0x576683
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
lea edi, [ecx + 0xb]
test edx, edx
jne 0x57666d
cmp word [esi + 0x7d0], di
jge 0x576676
fst dword [esp + 0x28]
push 3
fstp dword [esp + 0x30]
lea edx, [esp + 0x2c]
fld dword [0x8589f0]
push edx
fstp dword [esp + 0x38]
mov eax, dword [esi + 0x170]
fld dword [eax + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x857b20]
push 1
push ecx
sub esp, 8
fstp dword [esp + 0x2c]
mov ecx, esi
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [eax + 0xec]
fstp dword [esp]
push 0x355
call fcn.0046eb30
fld1
fstp dword [esp + 0x30]
movzx eax, word [esi + 0x7d0]
test ax, ax
je 0x576401
cmp ax, bx
jne 0x576407
fldz
fstp dword [esp + 0x28]
movzx eax, word [esi + 0x7d0]
cmp ax, 1
je 0x57641a
cmp ax, 9
jne 0x576424
fld dword [0x87153c]
fstp dword [esp + 0x28]
movzx eax, word [esi + 0x7d0]
cmp ax, 2
je 0x576437
cmp ax, 0xa
jne 0x576441
fld dword [0x85b984]
fstp dword [esp + 0x28]
movzx eax, word [esi + 0x7d0]
cmp ax, 3
je 0x576454
cmp ax, 0xb
jne 0x57645e
fld dword [0x858198]
fstp dword [esp + 0x28]
movzx eax, word [esi + 0x7d0]
cmp ax, 4
je 0x576471
cmp ax, 0xc
jne 0x57647b
fld dword [0x85b98c]
fstp dword [esp + 0x28]
movzx eax, word [esi + 0x7d0]
cmp ax, 5
je 0x57648e
cmp ax, 0xd
jne 0x576498
fld dword [0x85bb78]
fstp dword [esp + 0x28]
movzx eax, word [esi + 0x7d0]
cmp ax, 6
je 0x5764ab
cmp ax, 0xe
jne 0x5764b5
fld dword [0x85b988]
fstp dword [esp + 0x28]
movzx eax, word [esi + 0x7d0]
cmp ax, bp
je 0x5764c7
cmp ax, 0xf
jne 0x5764d1
fld dword [0x85ce7c]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
push ecx
fsubr qword [0x858e98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x857948]
mov edx, dword [esi + 0x170]
fld dword [edx + 0xf0]
fadd qword [0x857b20]
faddp st(1)
fstp qword [esp + 0x24]
fld dword [esp + 0x2c]
fsubr qword [0x858e98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004095f0
fmul qword [0x857948]
movzx ecx, byte [esi + 0x104]
add esp, 4
push 3
lea eax, [esp + 0x2c]
fstp qword [esp + 0x1c]
fld dword [esp + 0x2c]
push eax
push 1
fchs
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x85ba58]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x40]
fchs
fstp dword [esp]
call fcn.004095f0
fmul qword [0x85ba58]
movsx edx, byte [esi + 0x104]
mov eax, dword [esi + 0x170]
mov dword [esp + 0x2c], edx
fsubr qword [esp + 0x30]
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [eax + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x355
call fcn.0046eb30
fld dword [0x871538]
fstp dword [esp + 0x30]
movzx edx, byte [esi + 0x104]
fld dword [esp + 0x28]
push 3
fsubr qword [0x858e98]
lea ecx, [esp + 0x2c]
push ecx
push 1
fstp dword [esp + 0x20]
push edx
fld dword [esp + 0x24]
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x85bb38]
mov eax, dword [esi + 0x170]
fld dword [eax + 0xf0]
fadd qword [0x857b20]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
fld dword [esp + 0x3c]
fsubr qword [0x858e98]
push ecx
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.004095f0
movsx ecx, byte [esi + 0x104]
fmul qword [0x85bb38]
mov edx, dword [esi + 0x170]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [edx + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x355
call fcn.0046eb30
fldz
add word [esi + 0x7d0], 1
cmp word [esi + 0x7d0], di
jl 0x576683
mov eax, dword [esi]
fstp st(0)
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
fldz
cmp word [esi + 0x13e], 3
jne 0x576763
cmp word [esi + 0x142], 0
jne 0x5766c8
cmp word [esi + 0x140], 1
jne 0x5766c8
mov byte [esi + 0x194], 1
mov dword [esi + 0x190], 0
fst dword [esi + 0xf4]
fld dword [0x871540]
fstp dword [esi + 0xf8]
cmp dword [esi + 0x190], 1
jne 0x576743
fld dword [0x85b990]
push 3
fstp dword [esp + 0x178]
lea eax, [esp + 0x178]
push eax
fst dword [esp + 0x180]
push 1
fstp dword [esp + 0x188]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ecx
fadd qword [0x857b20]
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x355
call fcn.0046eb30
mov dword [esi + 0x190], 0
mov byte [esi + 0x194], 0
jmp 0x576745
fstp st(0)
cmp word [esi + 0x140], 3
jl 0x576765
fld dword [esi + 0xf8]
fsub qword [0x8677c8]
fstp dword [esi + 0xf8]
jmp 0x576765
fstp st(0)
cmp word [esi + 0x13e], 4
jne 0x576781
fld dword [esi + 0xf8]
fsub qword [0x8677c8]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
cmp ax, 3
je 0x576798
cmp ax, 4
jne 0x578eff
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x578eff
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 5
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
cmp dword [esi + 0x190], ebp
je 0x576814
cmp byte [esi + 0x194], 0
jle 0x576814
add word [esi + 0x7d0], bx
movzx eax, word [esi + 0x7d0]
cmp ax, 2
jl 0x576814
mov word [esi + 0x7d0], bp
mov dword [esi + 0x190], ebp
mov ecx, esi
call fcn.00438c60
test al, al
je 0x576829
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 2
jne 0x5768c8
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c1e8]
push ebx
push eax
movsx eax, al
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov ecx, eax
shl ecx, 6
sub esp, 8
sub ecx, eax
mov dword [esp + 0x24], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 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
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 3
jne 0x57692b
fldz
push 3
fst dword [esp + 0x190]
lea edx, [esp + 0x190]
fst dword [esp + 0x194]
push edx
fstp dword [esp + 0x19c]
push ebx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x356
call fcn.0046eb30
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 0xb
jne 0x57694b
push 0x35
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 0xc
jne 0x578eff
fldz
fstp dword [esp + 0x18]
lea esp, [esp]
push 0x12
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x57698c
fadd dword [0x871554]
fld dword [esp + 0x18]
fmul qword [0x85ba38]
fadd qword [0x85c578]
faddp st(1)
fstp dword [esp + 0x88]
fld dword [0x85ae94]
fstp dword [esp + 0x8c]
fld dword [0x8589f0]
fstp dword [esp + 0x90]
fldz
fld dword [esp + 0x88]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x576a21
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x576a23
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x8c]
push ecx
push ebx
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x96
fstp dword [esp + 4]
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x576a63
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x8c]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0xaf
fstp dword [esp + 4]
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x335
mov ecx, esi
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x867810]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x576970
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x576ac6
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x576b61
cmp word [esi + 0x140], bp
jne 0x576b61
cmp word [esi + 0x13e], bx
jne 0x576b61
mov dword [esi + 0x144], ebp
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx eax, byte [esi + 0x104]
push ebx
push eax
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 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
push 0x36
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x144], ebp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bp
jne 0x578eff
cmp word [esi + 0x13e], 3
jne 0x578eff
fldz
mov word [esi + 0x8d6], 0x258
fst dword [esp + 0x58]
push 3
fst dword [esp + 0x60]
lea ecx, [esp + 0x5c]
fstp dword [esp + 0x64]
push ecx
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857b20]
push ebx
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x357
call fcn.0046eb30
push 0x258
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x576c0b
fadd dword [0x871554]
fstp dword [esp + 0x58]
push 3
fld1
lea eax, [esp + 0x5c]
fstp dword [esp + 0x64]
push eax
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x857b20]
push ebx
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x357
call fcn.0046eb30
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x576c74
fadd dword [0x871554]
fstp dword [esp + 0x58]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x857b20]
neg al
lea edx, [esp + 0x5c]
push edx
push ebx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov ecx, esi
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x357
call fcn.0046eb30
fldz
fstp dword [esp + 0x18]
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x576cdf
fadd dword [0x871554]
fstp dword [esp + 0x58]
push 3
fldz
lea ecx, [esp + 0x5c]
fstp dword [esp + 0x60]
push ecx
fld dword [0x8589f0]
push ebx
fstp dword [esp + 0x6c]
mov ecx, esi
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857b20]
push edx
sub esp, 8
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x357
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x85bca4]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x576cc0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x140]
fstp st(0)
cmp ax, 6
jle 0x576d73
cmp ax, 0xb
jl 0x576d7a
mov ecx, esi
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
movzx eax, word [esi + 0x140]
mov ebx, 7
cmp ax, bx
mov edi, 0x28
jl 0x576f08
cmp ax, 0xa
jg 0x576f08
movsx eax, word [esi + 0x7d0]
and eax, 0x80000001
jns 0x576dbc
dec eax
or eax, 0xfffffffe
inc eax
jne 0x576f00
push 0x2d
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x576ddb
fadd dword [0x871554]
fsubr qword [0x871520]
push edi
fstp dword [esp + 0x6c]
fldz
fstp dword [esp + 0x70]
fld dword [0x8589f0]
fstp dword [esp + 0x74]
fld dword [esi + 0xf0]
fadd qword [0x8581f8]
fstp qword [esp + 0x28]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x576e20
fadd dword [0x871554]
fsubr qword [esp + 0x20]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x7dc]
fld dword [esi + 0xf0]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x576e48
mov eax, 1
jmp 0x576e4a
xor eax, eax
movzx edx, byte [esi + 0x104]
add al, al
sub al, 1
push 3
lea ecx, [esp + 0x68]
push ecx
push eax
push edx
push ecx
fstp dword [esp]
push 0x64
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x576e7b
fadd dword [0x871554]
fadd dword [esi + 0xec]
mov ecx, esi
fsub qword [0x857990]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x358
call fcn.0046eb30
fldz
fstp dword [esp + 0x64]
push 3
movsx eax, word [esi + 0x7d0]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x68]
push ecx
fild dword [esp + 0x1c]
push 1
mov ecx, esi
fmul qword [0x8677b0]
fadd qword [0x85ba38]
fstp dword [esp + 0x74]
fld dword [0x85b870]
fstp dword [esp + 0x78]
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 0x358
call fcn.0046eb30
add word [esi + 0x7d0], 1
mov ecx, esi
call fcn.00438c60
test al, al
je 0x576f1d
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x576fbb
cmp word [esi + 0x140], 5
jne 0x576fbb
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], di
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x8581e0]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
lea eax, [eax + eax*4]
add eax, eax
sub esp, 8
add eax, eax
mov dword [esp + 0x24], eax
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 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
cmp word [esi + 0x142], bp
mov edi, 9
jne 0x577065
cmp word [esi + 0x140], bx
jne 0x577047
push edi
mov ecx, esi
call fcn.00464980
fld dword [0x85bbe4]
fstp dword [esi + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx ecx, al
imul ecx, ecx, 0xc8
push 0xffffffffffffffff
push eax
sub esp, 8
mov dword [esp + 0x24], ecx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x80
call fcn.00438ce0
fld dword [0x85bc10]
fstp dword [esi + 0x108]
fld dword [0x85c500]
fstp dword [esi + 0x10c]
cmp word [esi + 0x142], bp
jne 0x577065
cmp word [esi + 0x140], di
jne 0x577065
fld dword [0x85b830]
fstp dword [esi + 0xf4]
cmp word [esi + 0x140], bx
fld qword [0x857f78]
jne 0x5770c6
fld dword [esi + 0x11c]
fadd st(1)
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x120]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5770ab
fst dword [esi + 0x120]
fld dword [0x871538]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 5
jp 0x5770ca
fstp dword [esi + 0x11c]
jmp 0x5770cc
fldz
jmp 0x5770cc
fstp st(0)
cmp word [esi + 0x140], di
jne 0x57712d
fld dword [esi + 0x11c]
fsub st(2)
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x120]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x57710e
fst dword [esi + 0x120]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x57713b
fstp dword [esi + 0x11c]
cmp word [esi + 0x140], di
jmp 0x575998
cmp word [esi + 0x140], di
fstp st(1)
jmp 0x575998
cmp word [esi + 0x140], di
fstp st(0)
jmp 0x575998
mov ecx, esi
fstp st(0)
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x577172
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 3
jne 0x5771f7
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x858e98]
movzx ecx, byte [esi + 0x104]
push ebx
push ecx
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 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
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 6
jne 0x578eff
fldz
push 3
fst dword [esp + 0x1a8]
lea edx, [esp + 0x1a8]
fst dword [esp + 0x1ac]
push edx
fstp dword [esp + 0x1b4]
push ebx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fsub qword [0x8581f8]
push eax
sub esp, 8
movsx eax, al
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
imul eax, eax, 0x32
fstp dword [esp + 4]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x359
mov ecx, esi
call fcn.0046eb30
push 0x37
mov ecx, esi
call fcn.00464980
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 3
fstp st(0)
cmp word [esi + 0x13e], bx
je 0x5772bb
mov ecx, esi
call fcn.00487ca0
push 2
push ebx
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], bp
jne 0x5772fe
cmp word [esi + 0x142], bp
jne 0x5772ea
cmp word [esi + 0x140], 2
jne 0x5772ea
push 0xa
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x190], ebx
jne 0x5772fe
mov byte [esi + 0x194], 1
jmp 0x572dfe
mov eax, 1
cmp word [esi + 0x13e], ax
mov ebp, 0x3c
jne 0x577343
cmp dword [esi + 0x190], eax
jne 0x577320
mov word [esi + 0x7d0], ax
cmp word [esi + 0x7d0], ax
jne 0x577343
mov ecx, dword [esi + 0x170]
mov word [ecx + 0x196], bp
mov edx, dword [esi + 0x170]
mov word [edx + 0x520], bx
mov ecx, 2
cmp word [esi + 0x13e], cx
jne 0x577435
cmp word [esi + 0x7d0], ax
jne 0x577378
mov edx, dword [esi + 0x170]
mov word [edx + 0x196], bp
mov edx, dword [esi + 0x170]
mov word [edx + 0x520], bx
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
movsx edx, byte [esi + 0x104]
fsub dword [esi + 0xec]
mov dword [esp + 0x14], edx
fmul qword [0x85ba70]
fild dword [esp + 0x14]
fmulp st(1)
fstp dword [esi + 0xf4]
cmp dword [esi + 0x144], ebp
jne 0x5773b6
mov word [esi + 0x7d2], ax
cmp dword [esi + 0x144], edi
jne 0x5773cc
mov word [esi + 0x7d2], cx
mov word [esi + 0x7d0], cx
cmp dword [esi + 0x144], 0x78
jne 0x577435
mov word [esi + 0x7d2], bx
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebx
mov ecx, esi
call edx
fld dword [0x8575a4]
mov byte [esi + 0x194], 1
mov dword [esi + 0x190], 0
fstp dword [esi + 0xf0]
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
movsx eax, byte [esi + 0x104]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
mov dword [esp + 0x14], ecx
fisub dword [esp + 0x14]
fstp dword [esi + 0xec]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bx
jne 0x5776ae
fld dword [0x85bb80]
mov ecx, esi
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x5776ae
push 0x3a
mov ecx, esi
call fcn.00464980
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
push ebx
fstp dword [esp + 0x38]
lea ecx, [esp + 0x38]
fld dword [0x85aae8]
push ecx
fstp dword [esp + 0x40]
push 1
fld dword [0x867810]
mov ecx, esi
fstp dword [esp + 0x48]
movzx edx, byte [esi + 0x104]
push edx
call fcn.004397f0
mov eax, dword [esi + 0x170]
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [eax + 0xec]
fstp dword [esp]
push 0x35a
call fcn.0046eb30
fld dword [0x85bc6c]
fstp dword [esp + 0x38]
push ebx
fld dword [0x85bc44]
lea ecx, [esp + 0x38]
push ecx
fstp dword [esp + 0x44]
movzx edx, byte [esi + 0x104]
push 0xffffffffffffffff
push edx
mov ecx, esi
call fcn.004397f0
mov eax, dword [esi + 0x170]
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [eax + 0xec]
fstp dword [esp]
push 0x35a
call fcn.0046eb30
fld dword [0x85b3b0]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00439470
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x859630]
push 0x1e
fstp dword [esp + 0x38]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x577561
fadd dword [0x871554]
fmul qword [0x867840]
fadd qword [0x85ba20]
fstp dword [esp + 0x3c]
fldz
fstp dword [esp + 0x40]
fld dword [esp + 0x38]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x57759c
mov eax, 1
jmp 0x57759e
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esi + 0x170]
push edx
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + 0xec]
mov ecx, esi
fstp dword [esp]
push 0x336
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x85ae94]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x57753e
fstp st(0)
mov edi, 0x19
lea ecx, [ecx]
push ebp
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x577628
fadd dword [0x871554]
fchs
push 0x14
fsub qword [0x858ef0]
fstp dword [esp + 0x3c]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x577650
fadd dword [0x871554]
fadd qword [0x8579b0]
push 3
lea edx, [esp + 0x38]
push edx
fstp dword [esp + 0x40]
push 1
fld dword [0x85b870]
fstp dword [esp + 0x48]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x170]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + 0xec]
mov ecx, esi
fstp dword [esp]
push 0x35a
call fcn.0046eb30
sub edi, 1
jne 0x577610
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5776c4
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x57774f
cmp word [esi + 0x142], 0
jne 0x57774f
cmp word [esi + 0x140], 5
jne 0x57774f
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push 1
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
mov ecx, dword [esi + 0x144]
test ecx, ecx
jne 0x577779
cmp word [esi + 0x142], cx
jne 0x577779
cmp word [esi + 0x140], cx
jne 0x577779
cmp word [esi + 0x13e], 1
je 0x57308a
movzx eax, word [esi + 0x13e]
cmp ax, 1
jne 0x5777a7
cmp word [esi + 0x142], 0
jne 0x5777a7
cmp word [esi + 0x140], 0xc
jne 0x5777a7
cmp dword [esi + 0x190], 1
jne 0x57308a
test ecx, ecx
jne 0x578eff
cmp word [esi + 0x142], cx
jne 0x578eff
cmp word [esi + 0x140], cx
jne 0x578eff
cmp ax, 2
jne 0x578eff
fldz
push 0x38
fst dword [esp + 0x13c]
mov ecx, esi
fstp dword [esp + 0x140]
call fcn.00464980
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld qword [0x85bb48]
push 4
fmul st(1)
lea eax, [esp + 0x134]
push eax
push 1
fstp dword [esp + 0x13c]
fldz
fstp dword [esp + 0x140]
fstp dword [esp + 0x148]
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
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x85b870]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x5777f6
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov edi, 2
push edi
push 3
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5778a5
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x57794e
cmp word [esi + 0x142], bp
jne 0x57794e
cmp word [esi + 0x140], 3
jne 0x57794e
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
push ebx
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push eax
sub esp, 8
mov dword [esp + 0x24], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push ebp
push ebp
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp word [esi + 0x13e], 1
fld1
mov ebx, 5
jne 0x577aab
cmp word [esi + 0x142], bp
jne 0x577aab
cmp word [esi + 0x140], bp
jne 0x577a31
fstp st(0)
mov word [esi + 0x51c], di
fld dword [0x85b870]
mov word [esi + 0x520], di
push 4
fstp dword [esi + 0xf4]
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x1bc]
push 3
fstp dword [esp + 0x1c4]
lea eax, [esp + 0x1c0]
fld1
push eax
fstp dword [esp + 0x1cc]
push 1
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35e
call fcn.0046eb30
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 0x7f
call fcn.00438ce0
fld1
add word [esi + 0x7d0], 1
mov dword [esi + 0x190], ebp
mov byte [esi + 0x194], 1
cmp word [esi + 0x142], bp
jne 0x577aab
cmp word [esi + 0x140], 1
jne 0x577a51
mov dword [esi + 0x190], ebp
mov byte [esi + 0x194], 1
cmp word [esi + 0x142], bp
jne 0x577aab
cmp word [esi + 0x140], di
jne 0x577a70
mov dword [esi + 0x190], ebp
mov byte [esi + 0x194], 1
cmp word [esi + 0x142], bp
jne 0x577aab
cmp word [esi + 0x140], bx
jne 0x577aab
cmp word [esi + 0x7d0], bx
jl 0x577aab
mov dword [esi + 0x190], ebp
fstp st(0)
mov byte [esi + 0x194], 1
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
jne 0x578efd
cmp word [esi + 0x140], 4
jge 0x577af1
fld dword [esi + 0xf4]
fsub qword [0x85b938]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x577af3
fst dword [esi + 0xf4]
jmp 0x577af3
fldz
cmp word [esi + 0x142], bp
jne 0x577c69
cmp word [esi + 0x140], 4
jne 0x577c69
fstp st(0)
push 0xffffffffffffffff
fstp st(0)
mov ecx, esi
fld dword [0x85ae94]
fstp dword [esi + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
movsx eax, al
imul eax, eax, 0xc8
sub esp, 8
mov dword [esp + 0x24], eax
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x80
call fcn.00438ce0
fld dword [0x85bc10]
fstp dword [esi + 0x108]
push 0x32
fld dword [0x85c500]
mov ecx, esi
fstp dword [esi + 0x10c]
call fcn.00464980
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul qword [0x867830]
push 0x14
fstp dword [esp + 0xbc]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x577bb4
fadd dword [0x871554]
fmul qword [0x867840]
fadd qword [0x858010]
fstp dword [esp + 0xc0]
fld dword [0x8589f0]
fstp dword [esp + 0xc4]
fld dword [esp + 0xbc]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x577bfc
mov eax, 1
jmp 0x577bfe
xor eax, eax
fld dword [esi + 0xf0]
add al, al
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 3
lea ecx, [esp + 0xbc]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35e
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 0x577b8e
fstp st(0)
fld1
fldz
cmp word [esi + 0x142], bp
mov ecx, 7
jne 0x577c8c
cmp word [esi + 0x140], cx
jne 0x577c8c
fld dword [0x85b3b0]
fstp dword [esi + 0xf4]
cmp word [esi + 0x140], bx
fld qword [0x857f78]
jne 0x577cef
fld dword [esi + 0x11c]
fadd st(1)
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x120]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x577cd2
fxch st(1)
fst dword [esi + 0x120]
fxch st(1)
fld dword [0x871538]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 5
jp 0x577ced
fstp dword [esi + 0x11c]
jmp 0x577cef
fstp st(0)
cmp word [esi + 0x140], cx
jne 0x577d44
fld dword [esi + 0x11c]
fsub st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x120]
fcomp st(2)
fnstsw ax
test ah, 0x41
jne 0x577d2d
fxch st(1)
fst dword [esi + 0x120]
fxch st(1)
fxch st(1)
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x577d4a
fstp dword [esi + 0x11c]
jmp 0x577d4c
fstp st(0)
fstp st(1)
jmp 0x577d4c
fstp st(0)
cmp word [esi + 0x140], cx
mov ebx, 8
jl 0x577da9
fld dword [esi + 0xf4]
fsub qword [0x858820]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
cmp word [esi + 0x140], bx
jg 0x577d98
fstp st(1)
fld dword [0x8589f0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x577da9
fstp dword [esi + 0xf4]
jmp 0x577dab
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x577da9
fstp dword [esi + 0xf4]
jmp 0x577dab
fstp st(0)
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], bx
jne 0x578eff
lea ecx, [esi + 4]
call fcn.00438bb0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x577df3
mov edx, dword [esi]
mov eax, dword [edx + 8]
push ebp
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 5
jne 0x578eff
push 0x37
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx ecx, byte [esi + 0x104]
push ebx
push ecx
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8c
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx edx, byte [esi + 0x104]
push ebx
push edx
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8c
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx eax, byte [esi + 0x104]
push ebx
push eax
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8c
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx ecx, byte [esi + 0x104]
push 0xffffffffffffffff
push ecx
fstp dword [esp + 0x1c]
sub esp, 8
fld dword [esp + 0x24]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 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
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x56cf7c
cmp dword [esi + 0x144], ebp
jne 0x577f7c
cmp word [esi + 0x142], bp
jne 0x577f7c
cmp word [esi + 0x140], bp
jne 0x577f7c
cmp word [esi + 0x13e], bx
je 0x56cf7c
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x577fa8
cmp word [esi + 0x140], 4
jne 0x577fa8
fld dword [0x85ae94]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], bp
mov edi, 5
jne 0x577fcc
cmp word [esi + 0x140], di
jne 0x5705ce
push 0x1d
mov ecx, esi
call fcn.00439490
cmp word [esi + 0x140], di
jmp 0x5705ce
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x577ffa
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2bc
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x578227
cmp word [esi + 0x142], bp
jne 0x578227
cmp word [esi + 0x140], 7
jne 0x578227
fld dword [0x85ce90]
push 3
fstp dword [esp + 0x50]
lea ecx, [esp + 0x50]
fldz
push ecx
fst dword [esp + 0x58]
push ebx
fstp dword [esp + 0x60]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x8581f8]
movsx edx, al
imul edx, edx, 0x8c
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x384
call fcn.0046eb30
cmp dword [0x8971d4], 3
jne 0x578105
fld dword [0x85cba8]
push 3
fstp dword [esp + 0x50]
lea ecx, [esp + 0x50]
fldz
push ecx
fst dword [esp + 0x58]
push ebx
fstp dword [esp + 0x60]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x8581f8]
movsx edx, al
imul edx, edx, 0x8c
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x384
call fcn.0046eb30
push 0xc
mov ecx, esi
call fcn.00464980
fldz
fstp dword [esp + 0x18]
push 0x12
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x578130
fadd dword [0x871554]
fld dword [esp + 0x18]
fmul qword [0x85ba38]
fadd qword [0x85c578]
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [0x85ae94]
fstp dword [esp + 0x50]
fld dword [0x85b870]
fstp dword [esp + 0x54]
fldz
fld dword [esp + 0x4c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x5781b6
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x5781b8
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x50]
push ecx
push ebx
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x8c
fstp dword [esp + 4]
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
jmp 0x5781f5
fstp st(0)
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
lea ecx, [esp + 0x50]
push ecx
push 0xffffffffffffffff
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x8c
fstp dword [esp + 4]
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x384
mov ecx, esi
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x867810]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x578114
cmp word [esi + 0x13e], bx
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 5
jne 0x578eff
push 0xf
mov ecx, esi
mov word [esi + 0x7d0], bx
call fcn.00464980
fldz
fstp dword [esp + 0x18]
push 0x12
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x578281
fadd dword [0x871554]
fld dword [esp + 0x18]
fmul qword [0x85ba38]
fadd qword [0x85c578]
faddp st(1)
fstp dword [esp + 0xa0]
fld dword [0x85ae94]
fstp dword [esp + 0xa4]
fld dword [0x85b870]
fstp dword [esp + 0xa8]
fldz
fld dword [esp + 0xa0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x5782ea
fcomp dword [0x87153c]
fnstsw ax
test ah, 0x41
jp 0x5782ec
movzx ecx, byte [esi + 0x104]
push 3
lea eax, [esp + 0xa4]
push eax
push ebx
push ecx
jmp 0x578300
fstp st(0)
movzx eax, byte [esi + 0x104]
push 3
lea edx, [esp + 0xa4]
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 0x384
call fcn.0046eb30
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x867810]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
je 0x578265
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
cmp ax, bp
jne 0x578363
cmp word [esi + 0x140], 6
jle 0x578372
cmp ax, 3
jne 0x57837d
cmp word [esi + 0x140], bx
jl 0x57837d
mov ecx, esi
fstp st(0)
call fcn.00487ca0
fldz
cmp word [esi + 0x13e], bx
mov edi, 0x10e
jne 0x57845e
cmp dword [esi + 0x144], 0x1e
jne 0x578404
fstp dword [esp + 0x1d4]
push 3
fld dword [0x85ae94]
lea ecx, [esp + 0x1d8]
fstp dword [esp + 0x1dc]
push ecx
fld dword [0x85bca4]
push ebx
fstp dword [esp + 0x1e8]
mov eax, dword [esi + 0x170]
fld dword [eax + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857b20]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp + 4]
fld dword [eax + 0xec]
fstp dword [esp]
push 0x385
call fcn.0046eb30
fldz
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x57842d
fst dword [esi + 0xf4]
cmp dword [esi + 0x144], edi
jl 0x57845e
mov eax, dword [esi]
fstp st(0)
mov edx, dword [eax + 0xc]
push 3
mov ecx, esi
call edx
fld dword [0x85b830]
mov al, byte [esi + 0x104]
neg al
mov byte [esi + 0x104], al
fstp dword [esi + 0xf4]
fldz
mov ebx, 2
cmp word [esi + 0x13e], bx
jne 0x5785c7
mov eax, dword [esi + 0x144]
cmp eax, 0x3c
jl 0x57856b
movsx ecx, word [esi + 0x7d2]
cdq
idiv ecx
test edx, edx
jne 0x57856b
mov dx, word [esi + 0x7d0]
cmp dx, word [esi + 0x7d4]
jge 0x57856b
push 0x168
fstp st(0)
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x5784c6
fadd dword [0x871554]
fstp dword [esp + 0x1ec]
push 3
fld dword [0x85ae94]
lea eax, [esp + 0x1f0]
fstp dword [esp + 0x1f4]
push eax
fld dword [0x867810]
push 1
fstp dword [esp + 0x200]
movzx ecx, byte [esi + 0x104]
push ecx
push 0x280
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x578517
fadd dword [0x871554]
fadd qword [0x857b20]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x4b0
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x578544
fadd dword [0x871554]
fadd qword [0x858990]
mov ecx, esi
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x385
call fcn.0046eb30
fldz
add word [esi + 0x7d0], 1
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x578596
fstp dword [esi + 0xf4]
jmp 0x578598
fstp st(0)
cmp dword [esi + 0x144], edi
jl 0x5785c9
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
fld dword [0x85b830]
mov cl, byte [esi + 0x104]
neg cl
mov byte [esi + 0x104], cl
fstp dword [esi + 0xf4]
jmp 0x5785c9
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5785e2
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2bc
mov ecx, esi
call eax
cmp dword [esi + 0x144], ebp
jne 0x5786d3
cmp word [esi + 0x142], bp
jne 0x5786ab
cmp word [esi + 0x140], bp
jne 0x5786ab
cmp word [esi + 0x13e], 1
jne 0x5786ab
push 0x64
call fcn.004099f0
add esp, 4
cmp eax, 0x32
ja 0x5786ab
mov eax, dword [0x8971d4]
cmp eax, 3
mov ecx, 0xa
ja case.default.0x578638
jmp dword [eax*4 + 0x5793a0]
mov word [esi + 0x7d2], cx
mov word [esi + 0x7d4], 0x14
jmp case.default.0x578638
mov word [esi + 0x7d2], 0xd
mov word [esi + 0x7d4], 0xf
jmp case.default.0x578638
mov word [esi + 0x7d2], 0x10
mov word [esi + 0x7d4], 0xc
jmp case.default.0x578638
mov word [esi + 0x7d2], 0x14
mov word [esi + 0x7d4], cx
mov word [esi + 0x7d2], cx
mov word [esi + 0x7d4], 0x14
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
cmp dword [esi + 0x144], ebp
jne 0x5786d3
cmp word [esi + 0x142], bp
jne 0x5786d3
cmp word [esi + 0x140], bp
jne 0x5786d3
cmp word [esi + 0x13e], 4
je 0x578ed4
cmp word [esi + 0x13e], bp
fld qword [0x857f78]
jne 0x5787da
cmp word [esi + 0x142], bp
mov edi, 7
jne 0x57877f
cmp word [esi + 0x140], di
jne 0x5787da
fstp st(0)
push 0xffffffffffffffff
fld dword [0x85bbe4]
fstp dword [esi + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx ecx, al
imul ecx, ecx, 0xc8
push eax
sub esp, 8
mov dword [esp + 0x24], ecx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x80
call fcn.00438ce0
fld dword [0x85bc10]
fstp dword [esi + 0x108]
push 0x32
fld dword [0x85c500]
mov ecx, esi
fstp dword [esi + 0x10c]
call fcn.00464980
fld qword [0x857f78]
cmp word [esi + 0x140], di
jne 0x5787da
fld dword [esi + 0x11c]
fadd st(1)
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
fsub st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x120]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5787bf
fst dword [esi + 0x120]
fld dword [0x871538]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 5
jp 0x5787de
fstp dword [esi + 0x11c]
jmp 0x5787e0
fldz
jmp 0x5787e0
fstp st(0)
cmp word [esi + 0x13e], 3
jne 0x578efb
cmp word [esi + 0x140], bp
jne 0x578845
fld dword [esi + 0x11c]
fsub st(2)
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x120]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x578830
fst dword [esi + 0x120]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x578849
fstp dword [esi + 0x11c]
jmp 0x57884b
fstp st(1)
jmp 0x57884b
fstp st(0)
cmp word [esi + 0x140], bx
jl 0x57887f
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 0x57887f
fstp dword [esi + 0xf4]
jmp 0x578881
fstp st(0)
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 1
jne 0x578eff
lea ecx, [esi + 4]
call fcn.00438bb0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5788ce
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2bc
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 0xb
jne 0x578eff
fldz
push 3
fstp dword [esp + 0x208]
lea ecx, [esp + 0x208]
fld dword [0x86782c]
push ecx
fstp dword [esp + 0x210]
push ebx
fld dword [0x85b870]
mov ecx, esi
fstp dword [esp + 0x218]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
imul edx, edx, 0x64
push eax
sub esp, 8
mov dword [esp + 0x2c], edx
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x386
call fcn.0046eb30
push 0x34
jmp 0x577284
mov ecx, esi
fstp st(0)
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x57898d
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2bc
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 6
jne 0x578eff
fldz
push 3
fstp dword [esp + 0x220]
lea ecx, [esp + 0x220]
fld dword [0x857dd4]
push ecx
fstp dword [esp + 0x228]
push ebx
fld dword [0x85bca4]
fstp dword [esp + 0x230]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fsub qword [0x8581f8]
push eax
sub esp, 8
movsx edx, al
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
imul edx, edx, 0x64
fstp dword [esp + 4]
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x386
jmp 0x57727b
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
je 0x578a46
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
cmp word [esi + 0x13e], bp
jne 0x578b54
cmp word [esi + 0x142], bp
mov edi, 7
jne 0x578aed
cmp word [esi + 0x140], di
jne 0x578b54
fld dword [0x85bbe4]
push 0xffffffffffffffff
fstp dword [esi + 0xf4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
movsx eax, al
imul eax, eax, 0xc8
sub esp, 8
mov dword [esp + 0x24], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0x80
call fcn.00438ce0
fld dword [0x85bc10]
fstp dword [esi + 0x108]
push 0x32
fld dword [0x85c500]
mov ecx, esi
fstp dword [esi + 0x10c]
call fcn.00464980
mov word [esi + 0x8d2], 0xa
cmp word [esi + 0x140], di
jne 0x578b54
fld dword [esi + 0x11c]
fld qword [0x857f78]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x120]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x578b35
fstp dword [esi + 0x120]
jmp 0x578b37
fstp st(0)
fld dword [0x871538]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 5
jp 0x578b52
fstp dword [esi + 0x11c]
jmp 0x578b54
fstp st(0)
cmp word [esi + 0x13e], bx
jne 0x578c45
cmp dword [esi + 0x144], ebp
jne 0x578b83
cmp word [esi + 0x142], bp
jne 0x578b83
cmp word [esi + 0x140], bp
jne 0x578b83
lea ecx, [esi + 4]
call fcn.00438bb0
fld dword [esi + 0xec]
movsx ecx, byte [esi + 0x104]
fsubr qword [0x8579a0]
mov dword [esp + 0x14], ecx
fld qword [0x867830]
fdiv st(1), st(0)
fild dword [esp + 0x14]
fmulp st(2)
fxch st(1)
fstp dword [esi + 0xf4]
fld dword [esi + 0xf0]
fsubr qword [0x85c528]
fdiv st(1)
fstp dword [esi + 0xf8]
fld dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x578bdf
fld dword [0x85bbe4]
fstp dword [esi + 0xf4]
fld dword [esi + 0xf4]
fld qword [0x85c450]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
fld dword [0x85bb84]
jne 0x578c02
fst dword [esi + 0xf4]
fld dword [esi + 0xf8]
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x578c1f
fld dword [0x85bbe4]
fstp dword [esi + 0xf8]
fld dword [esi + 0xf8]
fcompp
fnstsw ax
test ah, 5
jp 0x578c36
fstp dword [esi + 0xf8]
jmp 0x578c38
fstp st(0)
cmp dword [esi + 0x144], 0x78
jge 0x572cd5
cmp word [esi + 0x13e], 2
jne 0x578eff
fld dword [0x8575a4]
fstp dword [esi + 0xec]
fld dword [0x85bb50]
fstp dword [esi + 0xf0]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00438c60
test al, al
je 0x578c8e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2bc
mov ecx, esi
call eax
cmp word [esi + 0x13e], bp
jne 0x578eff
cmp word [esi + 0x142], bp
jne 0x578eff
cmp word [esi + 0x140], 7
jne 0x578eff
push 0xffffffffffffffff
mov ecx, esi
mov byte [esi + 0x6f5], bl
call fcn.00468de0
push 0xffffffffffffffff
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.004639f0
mov word [esi + 0x820], bp
mov word [esi + 0x81e], bx
mov word [esi + 0x81a], bp
mov word [esi + 0x81c], bp
push 0x17
mov ecx, esi
mov word [esi + 0x818], bp
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bp
fstp st(0)
jne 0x578ec9
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x85a280]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x578ec9
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]
mov ecx, esi
call fcn.004636b0
push 0x1e
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], bp
jne 0x578dc4
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x578dc2
push 0x1e
mov ecx, esi
call fcn.00439490
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]
fldz
fstp dword [esi + 0xf8]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fldz
cmp word [esi + 0x13e], bx
jne 0x578e1d
fld dword [esi + 0xf4]
fsub qword [0x857f78]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x578df6
fst dword [esi + 0xf4]
fld dword [esi + 0xec]
fcomp qword [0x8581c0]
fnstsw ax
test ah, 0x41
jne 0x578e1d
fld dword [0x8575a8]
fstp dword [esi + 0xec]
fstp dword [esi + 0xf4]
jmp 0x578e1f
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x578eff
mov edx, dword [esi]
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], bp
jne 0x578e6e
fstp st(0)
mov ecx, esi
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x578d92
fldz
cmp word [esi + 0x13e], bx
jne 0x578ec7
fld dword [esi + 0xf4]
fsub qword [0x857f78]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x578ea0
fst dword [esi + 0xf4]
fld dword [esi + 0xec]
fcomp qword [0x85b828]
fnstsw ax
test ah, 5
jp 0x578ec7
fld dword [0x85afe8]
fstp dword [esi + 0xec]
fstp dword [esi + 0xf4]
jmp 0x578ec9
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x578eff
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2bc
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
fstp st(0)
call fcn.00483f40
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret