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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4e8
push ebx
push ebp
push esi
mov esi, ecx
mov word [esi + 0x88c], 0
mov word [esi + 0x88e], 0x64
cmp byte [esi + 0x7cc], 2
mov ebx, 0xf
push edi
lea ebp, [ebx - 4]
mov edi, 0x12c
jne 0x5103a8
cmp byte [esi + 0x5e6], 1
jl case.default.0x51011a
push 0
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx eax, word [eax]
cmp eax, ebx
ja case.default.0x51011a
movzx eax, byte [eax + 0x51e17c]
jmp dword [eax*4 + 0x51e174]
fld dword [0x85ad04]
mov eax, 2
mov word [esi + 0x4aa], ax
fstp dword [esi + 0x534]
fld dword [0x8589f0]
mov ecx, 1
fstp dword [esi + 0x55c]
fldz
fstp dword [esi + 0x538]
mov word [esi + 0x86a], cx
mov edx, dword [esi + 0x158]
cmp word [edx + 0xa4], cx
jne 0x51017d
fld dword [0x871538]
mov word [esi + 0x86a], 3
fstp dword [esi + 0x55c]
mov edx, dword [esi + 0x158]
cmp word [edx + 0xa4], ax
jne 0x5101b3
fld dword [0x85bca4]
mov word [esi + 0x86a], 3
fstp dword [esi + 0x55c]
jmp 0x5101b3
fld dword [0x8677a8]
jmp 0x510127
mov ecx, 1
cmp word [esi + 0x882], cx
jne 0x51028b
movsx eax, word [esi + 0x186]
cmp dword [esi + 0x188], eax
jl case.default.0x510263
cmp byte [esi + 0x574], 0
jne case.default.0x510263
mov eax, 2
mov word [esi + 0x86a], ax
mov ecx, esi
mov word [esi + 0x882], ax
call fcn.00487c20
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x95
mov ecx, esi
call eax
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx ecx, byte [esi + 0x104]
push 1
push ecx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35
call fcn.00438ce0
cmp byte [esi + 0x5e6], 1
jl case.default.0x510263
push 0
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx eax, word [eax]
cmp eax, ebp
ja case.default.0x510263
movzx edx, byte [eax + 0x51e190]
jmp dword [edx*4 + 0x51e18c]
mov word [esi + 0x884], di
mov word [esi + 0x886], di
cmp word [esi + 0x184], 0
jg 0x51028b
mov word [esi + 0x882], 2
xor ecx, ecx
cmp word [esi + 0x884], cx
jle 0x510398
movzx eax, word [esi + 0x4be]
cmp ax, cx
jle 0x5102b3
cmp ax, 0x64
jge 0x5102b3
mov word [esi + 0x4be], cx
mov eax, 1
cmp word [esi + 0x884], ax
je 0x510301
cmp word [esi + 0x184], cx
jle 0x510301
fld1
mov eax, 2
mov word [esi + 0x86a], ax
mov word [esi + 0x4aa], ax
fst dword [esi + 0x538]
fstp dword [esi + 0x534]
add word [esi + 0x884], 0xffff
mov word [esi + 0x4ba], 0x1770
jmp 0x510398
mov word [esi + 0x4aa], cx
mov word [esi + 0x884], cx
mov word [esi + 0x4ba], cx
mov dword [esi + 0x188], ecx
mov word [esi + 0x820], cx
mov word [esi + 0x81e], ax
mov word [esi + 0x81a], cx
mov word [esi + 0x81c], cx
mov word [esi + 0x818], cx
mov word [esi + 0x882], ax
cmp word [esi + 0x184], cx
jle 0x5103a1
fldz
push 3
fst dword [esp + 0x404]
lea eax, [esp + 0x404]
push eax
fst dword [esp + 0x40c]
push 2
fstp dword [esp + 0x414]
fld dword [0x85bca0]
push 1
sub esp, 8
fstp dword [esp + 4]
fld dword [0x87153c]
mov ecx, esi
fstp dword [esp]
push 0x4b1
call fcn.0046eb30
xor ecx, ecx
cmp word [esi + 0x184], cx
jg 0x5103a8
mov word [esi + 0x86a], cx
mov ecx, esi
call fcn.00469ef0
test al, al
je 0x5103ba
mov byte [esi + 0x8bc], 0
add word [esi + 0x898], 1
movzx eax, word [esi + 0x898]
cmp ax, 0x168
jl 0x5103d8
mov word [esi + 0x898], 0
cmp word [esi + 0x184], 0
jg 0x5103ec
mov dword [esi + 0x890], 0
movzx eax, word [esi + 0x13c]
cmp ax, 0x95
jle 0x510560
cmp ax, 0x9f
jge 0x510560
cmp byte [esi + 0x7f5], 0
jne 0x510560
mov byte [esi + 0x7f5], 1
movzx eax, word [esi + 0x13c]
cmp ax, 0x95
jle 0x51048a
cmp ax, 0x9a
jge 0x51048a
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85bc50]
push 0
push 0
push 1
push eax
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
movsx eax, al
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
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 0x3e6
call fcn.0046eb30
movzx eax, word [esi + 0x13c]
cmp ax, 0x99
jle 0x5104f9
cmp ax, 0x9e
jge 0x5104f9
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x858ef0]
push 0
push 0
push 1
push eax
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
movsx eax, al
mov edx, eax
shl edx, 4
sub edx, eax
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3e6
call fcn.0046eb30
cmp word [esi + 0x13c], 0x9e
jne 0x510560
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857b20]
push 0
push 0
push 1
push eax
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
movsx eax, al
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
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 0x3e6
call fcn.0046eb30
xor ecx, ecx
cmp word [esi + 0x196], cx
jne 0x51e16a
mov edx, dword [esi + 0x170]
cmp word [edx + 0x4a8], cx
jne 0x51e16a
movsx eax, word [esi + 0x13c]
cmp eax, edi
jg 0x512eed
je case.0x512f13.330
cmp eax, 0xe2
ja case.0x51dee6.772
movzx eax, byte [eax + 0x51e21c]
jmp dword [eax*4 + 0x51e19c]
mov ecx, esi
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x44
jp 0x5105cd
mov byte [esi + 0x49a], 0
cmp byte [esi + 0x49a], 0
jne 0x5105ee
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 0x510630
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x510630
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 0x510af4
fld dword [esi + 0xf4]
fadd qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x510af6
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
call fcn.00487ca0
cmp byte [esi + 0x49a], 0
jne 0x5106a1
mov ecx, esi
call fcn.004636b0
jmp 0x510727
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x5106e5
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5106e5
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 0x510725
fld dword [esi + 0xf4]
fadd qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x510727
mov ecx, esi
call fcn.004636b0
mov byte [esi + 0x49a], 0
jmp 0x510727
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp byte [esi + 0x49a], 0
je 0x5105d8
fldz
jmp 0x5105ee
mov ecx, esi
call fcn.00487ca0
cmp byte [esi + 0x49a], 0
jne 0x51078e
mov ecx, esi
call fcn.004636b0
jmp 0x510814
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x5107d2
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5107d2
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 0x510812
fld dword [esi + 0xf4]
fadd qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x510814
mov ecx, esi
call fcn.004636b0
mov byte [esi + 0x49a], 0
jmp 0x510814
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
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
call fcn.00487ca0
fld dword [0x85bca4]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
mov ecx, esi
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
fld dword [0x85b9cc]
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], cx
jne 0x5108a2
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 0
jne 0x5108c4
cmp byte [esi + 0x49a], 0
jne 0x5108bc
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], 0
jle 0x5108e7
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x510acd
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
fldz
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85b3b0]
fstp dword [esi + 0xf8]
fld dword [0x85bc48]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], cx
jne 0x510969
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 0
jne 0x51098b
cmp byte [esi + 0x49a], 0
jne 0x510983
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], 0
jle 0x5109ae
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x510acd
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
fld dword [0x85b870]
jmp 0x510927
cmp word [esi + 0x13e], cx
jne 0x510a07
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 0
jne 0x510a29
cmp byte [esi + 0x49a], 0
jne 0x510a21
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x13e], 0
jle 0x510a4c
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x510acd
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
fld dword [0x85b858]
jmp 0x510927
fldz
fcomp dword [esi + 0x100]
fnstsw ax
test ah, 0x44
jp 0x510ab0
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 0x510af6
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
mov ecx, esi
call eax
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
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
call fcn.00487ca0
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51e16a
cmp dword [esi + 0x758], 0
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
jne 0x510b3e
push 0
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 2
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x510ba6
cmp byte [esi + 0x7cc], 2
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
jne 0x510b8e
push 0x2bc
call eax
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 0
call eax
cmp dword [esi + 0x758], 0
jle 0x510ba6
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 1
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 8
jne 0x510bc5
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0xd
jne 0x51e16a
fld dword [esi + 0xec]
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x510c03
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 0x51e16a
mov byte [esi + 0x104], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x510c77
cmp byte [esi + 0x7cc], 2
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
jne 0x510c5f
push 0x2bc
call edx
jmp 0x510b73
push 0
call edx
cmp dword [esi + 0x758], 0
jle 0x510c77
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 1
mov ecx, esi
call edx
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 8
jne 0x510c96
mov ecx, esi
call fcn.004636b0
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0xd
jne 0x51e16a
mov eax, dword [esi + 0x170]
fld dword [esi + 0xec]
fld dword [eax + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x510cd4
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 0x51e16a
mov byte [esi + 0x104], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x510d40
cmp byte [esi + 0x7cc], 2
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
je 0x510b6c
push 0
call eax
cmp dword [esi + 0x758], 0
jle 0x510d40
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 1
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 5
jmp 0x510bdb
mov ecx, esi
call fcn.00487ca0
fld dword [0x85bc44]
mov byte [esi + 0x49a], 1
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x510da7
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x510da7
fstp dword [esi + 0xf4]
jmp 0x510da9
fstp st(0)
mov ecx, esi
call fcn.00438c60
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x510ede
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x510e5c
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push edi
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x510e11
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x510e43
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
cmp dword [esi + 0x758], 0
jge 0x510e9c
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 0x510e8d
push 0xd4
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0xd3
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
add word [esi + 0x7d0], di
movsx ecx, byte [esi + 0x104]
imul ecx, dword [esi + 0x754]
test ecx, ecx
movzx eax, word [esi + 0x7d0]
jg 0x510ec2
cmp ax, 5
jg 0x510ec8
cmp ax, 0x2d
jle 0x510ede
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xcc
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
fld dword [0x86782c]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857938]
push edi
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
lea ecx, [eax + eax*4]
sub esp, 8
shl ecx, 4
mov dword [esp + 0x20], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857938]
movzx edx, byte [esi + 0x104]
push edi
push edx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], cx
jne 0x510fc9
cmp word [esi + 0x140], 1
jg 0x510fc9
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 3
jne 0x51100b
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fadd qword [0x859910]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x511009
fstp dword [esi + 0xf4]
jmp 0x51100b
fstp st(0)
mov ecx, esi
call fcn.00463530
test al, al
jne 0x5110b7
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x5110b7
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push 1
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x51106c
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x51109e
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
cmp word [esi + 0x13e], 3
jge 0x511106
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x511106
fldz
mov ecx, esi
fstp dword [esi + 0xf8]
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 3
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51112c
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
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 + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x51e16a
fld dword [0x85b908]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85bc7c]
fstp dword [esi + 0xf8]
push 1
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x857938]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857938]
neg dl
push 1
fstp dword [esp + 0x14]
mov ecx, esi
fld dword [esp + 0x14]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x511246
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, 1
je 0x51125d
cmp ax, 2
jne 0x5112f8
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x5112f8
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push 1
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x5112ad
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x5112df
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
cmp word [esi + 0x13e], 0
jne 0x5113eb
cmp word [esi + 0x142], 0
jne 0x5113eb
cmp word [esi + 0x140], 2
jne 0x5113eb
fld dword [0x85bdb8]
push ecx
mov ecx, esi
fstp dword [esp]
mov word [esi + 0x7d0], 0
call fcn.00487740
fld dword [0x85b870]
fstp dword [esi + 0xf8]
push 1
fld dword [0x85bc6c]
mov ecx, esi
fstp dword [esi + 0x100]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85bc50]
movsx eax, al
fstp dword [esp + 0x18]
lea edx, [eax + eax*4]
fld dword [esp + 0x18]
sub esp, 8
shl edx, 4
mov dword [esp + 0x20], edx
fstp dword [esp + 4]
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x85bc50]
movzx eax, byte [esi + 0x104]
push 1
push eax
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 2
jne 0x51e16a
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x51147e
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov word [esi + 0x142], 0
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 0x511529
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x511529
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push 1
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x5114de
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x511510
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
cmp word [esi + 0x13e], 0
jne 0x5115fe
cmp word [esi + 0x142], 0
jne 0x5115fe
cmp word [esi + 0x140], 1
jne 0x5115fe
fld dword [0x85c8b0]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85b870]
fstp dword [esi + 0xf8]
push 1
fld dword [0x85bc6c]
mov ecx, esi
fstp dword [esi + 0x100]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg dl
fadd qword [0x85b900]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85b900]
neg al
push 1
fstp dword [esp + 0x14]
mov ecx, esi
fld dword [esp + 0x14]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 2
jne 0x51e16a
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x511681
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x511683
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51e16a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
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], cx
jne 0x5116bc
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x5116d5
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0xa
jmp 0x510ad6
call fcn.00463530
test al, al
jne 0x5116ed
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x5116f6
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], 0
jle 0x511735
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x511733
fstp dword [esi + 0xf8]
jmp 0x511735
fstp st(0)
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
fldz
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85c448]
fstp dword [esi + 0xf8]
push 1
fld dword [0x85bc48]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
movzx ecx, byte [esi + 0x104]
push ecx
fld dword [esi + 0xf0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3f
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], cx
jne 0x5117e0
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x5116c9
call fcn.00463530
test al, al
jne 0x511809
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x511812
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], 0
jle 0x511851
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x51184f
fstp dword [esi + 0xf8]
jmp 0x511851
fstp st(0)
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
fld dword [0x85bc44]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85b3b0]
jmp 0x511786
cmp word [esi + 0x13e], cx
jne 0x5118bb
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x5116c9
call fcn.00463530
test al, al
jne 0x5118e4
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x5118ed
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], 0
jle 0x51192c
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x51192a
fstp dword [esi + 0xf8]
jmp 0x51192c
fstp st(0)
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
fld dword [0x85c8ac]
jmp 0x511895
cmp word [esi + 0x13e], cx
jne 0x511985
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x5116c9
call fcn.00463530
test al, al
jne 0x5119ae
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x5119b7
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], 0
jle 0x5119f6
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5119f4
fstp dword [esi + 0xf8]
jmp 0x5119f6
fstp st(0)
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
fld dword [0x8589f0]
jmp 0x511775
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x513c41
cmp dword [esi + 0x144], 0
jne 0x511aa9
cmp word [esi + 0x142], 0
jne 0x511a7e
cmp word [esi + 0x140], 0
jne 0x511a7e
cmp word [esi + 0x13e], 1
jne 0x511a7e
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], 0
jne 0x511aa9
cmp word [esi + 0x142], 0
jne 0x511aa9
cmp word [esi + 0x140], 0
jne 0x511aa9
cmp word [esi + 0x13e], 6
je 0x513c41
mov eax, dword [esi + 0x758]
movsx ecx, byte [esi + 0x104]
test eax, eax
mov eax, dword [esi + 0x754]
mov edi, 0xb4
jle 0x511af0
imul eax, ecx
test eax, eax
jle 0x511ad7
mov word [esi + 0x7d2], 0xffd3
jmp 0x511b38
xor edx, edx
test eax, eax
setge dl
sub edx, 1
and edx, 0xffffffd3
add edx, 0xffffffa6
mov word [esi + 0x7d2], dx
jmp 0x511b38
jge 0x511b1d
imul eax, ecx
test eax, eax
jle 0x511b04
mov word [esi + 0x7d2], 0x2d
jmp 0x511b38
xor edx, edx
test eax, eax
setge dl
sub edx, 1
and edx, 0x2d
add edx, 0x5a
mov word [esi + 0x7d2], dx
jmp 0x511b38
imul eax, ecx
test eax, eax
jle 0x511b2f
mov word [esi + 0x7d2], 0
jmp 0x511b38
jge 0x511b38
mov word [esi + 0x7d2], di
movzx eax, word [esi + 0x13e]
cmp ax, 5
je 0x511b4b
cmp ax, 6
jne 0x511b5d
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
test ax, ax
mov ebp, 0xa
jle 0x511fa8
cmp ax, 5
jge 0x511fa8
mov ebx, 1
add word [esi + 0x7d6], bx
fld dword [esi + 0x7e0]
call fcn.00820230
movzx ecx, word [esi + 0x7d2]
sub cx, ax
cmp cx, di
mov word [esi + 0x7d4], cx
jle 0x511bb6
add ecx, 0xfffffe98
mov word [esi + 0x7d4], cx
movzx eax, word [esi + 0x7d4]
cmp ax, 0xff4c
jge 0x511bcf
add eax, 0x168
mov word [esi + 0x7d4], ax
cmp word [esi + 0x7d4], 0
fld qword [0x8677a0]
fld qword [0x8581b8]
jle 0x511c08
cmp dword [esi + 0x52c], 0
fld dword [esi + 0x7e0]
jne 0x511bf8
fadd st(1)
jmp 0x511bfa
fadd st(2)
fstp dword [esi + 0x7e0]
cmp word [esi + 0x7d4], 0
jge 0x511c33
cmp dword [esi + 0x52c], 0
jne 0x511c23
fstp st(1)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x511c37
fstp st(0)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x511c37
fstp st(1)
fstp st(0)
fld dword [esi + 0x7e0]
push ecx
fstp dword [esp]
call fcn.004095f0
fmul dword [esi + 0x7dc]
fstp dword [esi + 0xf4]
fld dword [esi + 0x7e0]
fstp dword [esp]
call fcn.00409580
fmul dword [esi + 0x7dc]
add esp, 4
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf8]
fld dword [0x85bc40]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jp 0x511c9f
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x511c9f
fstp dword [esi + 0xf8]
jmp 0x511ca1
fstp st(0)
fld dword [esi + 0x7dc]
fadd qword [0x85a280]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0x7dc]
fld dword [0x858830]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x511cd4
fstp dword [esi + 0x7dc]
jmp 0x511cd6
fstp st(0)
cmp dword [esi + 0x52c], 0
push ebx
mov ecx, esi
jne 0x511ce6
push 5
jmp 0x511ce7
push ebp
call fcn.0047a9e0
fld dword [esi + 0x7e0]
fchs
fstp dword [esi + 0x12c]
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x511d1b
fld dword [esi + 0x7e0]
fsubr qword [0x871510]
fstp dword [esi + 0x12c]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x511d40
cmp word [esi + 0x13e], bx
jne 0x511d40
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 0x511d65
cmp word [esi + 0x13e], 3
jne 0x511d65
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 0x511d8b
cmp word [esi + 0x13e], 2
jne 0x511d8b
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 0x511dad
cmp word [esi + 0x13e], 4
jne 0x511dad
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 0x511e34
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 + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push ecx
fld dword [esi + 0x7e0]
fstp dword [esp]
call fcn.004095f0
movsx eax, byte [esi + 0x104]
fmul qword [0x857b20]
mov dword [esp + 0x20], eax
mov ecx, esi
fild dword [esp + 0x20]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
mov eax, dword [esi + 0x768]
test eax, eax
jne 0x511e47
cmp word [esi + 0x7d6], bp
jg 0x511e55
cmp word [esi + 0x49e], 0
jg 0x511fa8
test eax, eax
jne 0x511e62
cmp word [esi + 0x7d6], bp
jg 0x511e70
cmp word [esi + 0x49e], 0
jg 0x511fa8
lea ecx, [esi + 4]
call fcn.00438bb0
movzx eax, word [esi + 0x13e]
cmp ax, bx
je 0x511e8e
cmp ax, 2
jne 0x511f1b
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
jne 0x511ee1
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x511ed6
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 0x511f1b
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 5
call eax
jmp 0x511f1b
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x511f10
neg cl
mov byte [esi + 0x104], cl
fld dword [esi + 0xf4]
fchs
push 6
fstp dword [esi + 0xf4]
jmp 0x511f12
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 0x511f32
cmp ax, 4
jne 0x51e16a
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
jne 0x512597
mov eax, dword [esi + 0x170]
fld dword [eax + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x511f84
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 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 0x51e16a
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
fst dword [esi + 0xf8]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], 5
jge 0x511ffa
lea ecx, [esi + 4]
call fcn.00438bb0
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xd7
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebp
mov ecx, esi
call edx
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
fldz
fcom dword [esi + 0xf4]
fnstsw ax
fld qword [0x858820]
test ah, 5
jp 0x512058
fld dword [esi + 0xf4]
fsub st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x512058
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fxch st(1)
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x512090
fld dword [esi + 0xf4]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x512092
fstp dword [esi + 0xf4]
jmp 0x512094
fstp st(0)
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51e16a
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
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x5149a9
cmp dword [esi + 0x144], 0
jne 0x512120
cmp word [esi + 0x142], 0
jne 0x5120f5
cmp word [esi + 0x140], 0
jne 0x5120f5
cmp word [esi + 0x13e], 1
jne 0x5120f5
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], 0
jne 0x512120
cmp word [esi + 0x142], 0
jne 0x512120
cmp word [esi + 0x140], 0
jne 0x512120
cmp word [esi + 0x13e], 6
je 0x5149a9
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x10], ecx
sub esp, 8
fild dword [esp + 0x18]
fmulp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fadd qword [0x857b20]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409760
add esp, 8
call fcn.00820230
mov word [esi + 0x7d2], ax
movzx eax, word [esi + 0x13e]
cmp ax, 5
je 0x512196
cmp ax, 6
jne 0x5121a8
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
test ax, ax
mov ebp, 0xa
jle 0x5125d9
cmp ax, 5
jge 0x5125d9
mov edi, 1
add word [esi + 0x7d6], di
fld dword [esi + 0x7e0]
call fcn.00820230
movzx ecx, word [esi + 0x7d2]
sub cx, ax
cmp cx, 0xb4
mov word [esi + 0x7d4], cx
jle 0x512203
add ecx, 0xfffffe98
mov word [esi + 0x7d4], cx
movzx eax, word [esi + 0x7d4]
cmp ax, 0xff4c
jge 0x51221c
add eax, 0x168
mov word [esi + 0x7d4], ax
cmp word [esi + 0x7d4], 0
fld qword [0x858ea0]
fld qword [0x858820]
jle 0x512255
cmp dword [esi + 0x52c], 0
fld dword [esi + 0x7e0]
jne 0x512245
fadd st(1)
jmp 0x512247
fadd st(2)
fstp dword [esi + 0x7e0]
cmp word [esi + 0x7d4], 0
jge 0x512280
cmp dword [esi + 0x52c], 0
jne 0x512270
fstp st(1)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x512284
fstp st(0)
fsubr dword [esi + 0x7e0]
fstp dword [esi + 0x7e0]
jmp 0x512284
fstp st(1)
fstp st(0)
fld dword [esi + 0x7e0]
push ecx
fstp dword [esp]
call fcn.004095f0
fmul dword [esi + 0x7dc]
fstp dword [esi + 0xf4]
fld dword [esi + 0x7e0]
fstp dword [esp]
call fcn.00409580
fmul dword [esi + 0x7dc]
add esp, 4
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf8]
fld dword [0x85bc40]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jp 0x5122ec
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5122ec
fstp dword [esi + 0xf8]
jmp 0x5122ee
fstp st(0)
fld dword [esi + 0x7dc]
fadd qword [0x85a280]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0x7dc]
fld dword [0x858830]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x512321
fstp dword [esi + 0x7dc]
jmp 0x512323
fstp st(0)
cmp dword [esi + 0x52c], 0
mov ecx, esi
jne 0x512332
push edi
push ebp
jmp 0x512335
push 0x3c
push ebx
call fcn.0047a9e0
fld dword [esi + 0x7e0]
fchs
fstp dword [esi + 0x12c]
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x512369
fld dword [esi + 0x7e0]
fsubr qword [0x871510]
fstp dword [esi + 0x12c]
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x51238e
cmp word [esi + 0x13e], di
jne 0x51238e
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 0x5123b3
cmp word [esi + 0x13e], 3
jne 0x5123b3
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx + 0xc]
push edi
mov ecx, esi
call eax
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x5123d9
cmp word [esi + 0x13e], 2
jne 0x5123d9
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 0x5123fb
cmp word [esi + 0x13e], 4
jne 0x5123fb
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, edi
jne 0x512482
movzx edx, byte [esi + 0x104]
fld dword [esi + 0x7e0]
push edi
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fld qword [0x857b20]
fmul st(1), st(0)
fld dword [esi + 0xf0]
faddp st(2)
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
push ecx
fld dword [esi + 0x7e0]
fstp dword [esp]
call fcn.004095f0
movsx eax, byte [esi + 0x104]
fmul qword [0x857b20]
mov dword [esp + 0x20], eax
mov ecx, esi
fild dword [esp + 0x20]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
mov eax, dword [esi + 0x768]
test eax, eax
jne 0x512496
cmp word [esi + 0x7d6], 0x14
jg 0x5124a4
cmp word [esi + 0x49e], 0
jg 0x5125d9
test eax, eax
jne 0x5124b2
cmp word [esi + 0x7d6], 0x14
jg 0x5124c0
cmp word [esi + 0x49e], 0
jg 0x5125d9
lea ecx, [esi + 4]
call fcn.00438bb0
movzx eax, word [esi + 0x13e]
cmp ax, di
je 0x5124de
cmp ax, 2
jne 0x51256b
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
jne 0x512531
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
mov ecx, esi
fcompp
fnstsw ax
test ah, 5
jp 0x512526
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 0x51256b
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 5
call eax
jmp 0x51256b
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x512560
neg cl
mov byte [esi + 0x104], cl
fld dword [esi + 0xf4]
fchs
push 6
fstp dword [esi + 0xf4]
jmp 0x512562
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 0x512582
cmp ax, 4
jne 0x51e16a
mov cl, byte [esi + 0x104]
fld dword [esi + 0xec]
cmp cl, 1
je 0x511f47
mov edx, dword [esi + 0x170]
fld dword [edx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x511f95
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 ecx, esi
call fcn.00487ea0
test al, al
je 0x51e16a
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
fldz
fst dword [esi + 0x100]
fstp dword [esi + 0xf8]
jmp 0x511fd2
cmp word [esi + 0x13e], cx
jne 0x512618
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x512633
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xa
call edx
jmp 0x510ad8
call fcn.00463530
test al, al
jne 0x51264b
fldz
fcomp dword [esi + 0xf8]
fnstsw ax
test ah, 5
jp 0x512654
mov word [esi + 0x522], 2
cmp word [esi + 0x13e], 0
jle 0x512693
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf8]
fld dword [0x85b9e0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x512691
fstp dword [esi + 0xf8]
jmp 0x512693
fstp st(0)
mov ecx, esi
call fcn.00438c60
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
fldz
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85c448]
fstp dword [esi + 0xf8]
push 1
fld dword [0x85bc48]
fstp dword [esi + 0x100]
mov byte [esi + 0x49a], 0
movzx eax, byte [esi + 0x104]
push eax
jmp 0x5117a9
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
mov byte [esi + 0x49a], 1
call fcn.00438c60
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x51280f
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x5127cd
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push edi
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x512782
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x5127b4
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
add word [esi + 0x7d0], di
movsx edx, byte [esi + 0x104]
imul edx, dword [esi + 0x754]
test edx, edx
movzx eax, word [esi + 0x7d0]
jg 0x5127f3
cmp ax, 0xd
jge 0x5127f9
cmp ax, 0x2d
jle 0x51280f
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0xcc
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x140], 4
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
fld dword [0x85b870]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857938]
push edi
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
lea eax, [eax + eax*4]
sub esp, 8
shl eax, 4
mov dword [esp + 0x20], eax
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857938]
movzx ecx, byte [esi + 0x104]
push edi
push ecx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], cx
jne 0x5128f9
cmp word [esi + 0x140], cx
jg 0x5128f9
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 3
jne 0x51293b
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fadd qword [0x859910]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x512939
fstp dword [esi + 0xf4]
jmp 0x51293b
fstp st(0)
mov ecx, esi
call fcn.00463530
test al, al
jne 0x5129e7
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x5129e7
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push 1
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x51299c
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x5129ce
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
cmp word [esi + 0x13e], 3
jge 0x512a12
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x5110de
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x511111
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x51e16a
fld dword [0x85b908]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85bc7c]
fstp dword [esi + 0xf8]
push 1
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x857938]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857938]
neg dl
push 1
fstp dword [esp + 0x14]
mov ecx, esi
fld dword [esp + 0x14]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x51121f
movzx eax, word [esi + 0x13e]
cmp ax, 1
je 0x512b2f
cmp ax, 2
jne 0x512bcc
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x512bcc
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xec]
fadd qword [0x857990]
neg dl
push 1
fstp qword [esp + 0x24]
push edx
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x512b81
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x512bb3
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x512be2
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
fld dword [0x85c8b0]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00487740
fld dword [0x85b870]
fstp dword [esi + 0xf8]
push 1
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x85b900]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x85b900]
neg dl
push 1
fstp dword [esp + 0x14]
mov ecx, esi
fld dword [esp + 0x14]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x51121f
movzx eax, word [esi + 0x13e]
cmp ax, 1
je 0x512cfd
cmp ax, 2
jne 0x512d98
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x512d98
fld dword [esi + 0xec]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push 1
push edx
fstp qword [esp + 0x28]
call fcn.004098d0
xor edx, edx
mov ecx, 0xc8
div ecx
test edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jge 0x512d4d
fadd dword [0x871554]
fadd dword [esi + 0xf0]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.004098d0
xor edx, edx
mov ecx, 0x64
div ecx
test edx, edx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
jge 0x512d7f
fadd dword [0x871554]
fsubr qword [esp + 0x2c]
push ecx
mov ecx, esi
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7c
call fcn.00438ce0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x512dae
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x512ea7
cmp word [esi + 0x140], 0
jne 0x512ea7
cmp word [esi + 0x13e], 1
jne 0x512ea7
fld dword [0x85bdb8]
push ecx
mov ecx, esi
fstp dword [esp]
mov word [esi + 0x7d0], 0
call fcn.00487740
fld dword [0x85b870]
fstp dword [esi + 0xf8]
push 1
fld dword [0x85bc6c]
fstp dword [esi + 0x100]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85bc50]
movsx eax, al
fstp dword [esp + 0x18]
lea ecx, [eax + eax*4]
fld dword [esp + 0x18]
sub esp, 8
shl ecx, 4
mov dword [esp + 0x20], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x7d
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x85bc50]
movzx edx, byte [esi + 0x104]
push 1
push edx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x7e
call fcn.00438ce0
push 0x1f
mov ecx, esi
call fcn.00439490
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 3
jne 0x51e16a
mov ecx, esi
call fcn.00487c20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x1f4
jg 0x5158c2
je 0x5157e1
sub eax, 0x12d
cmp eax, 0x76
ja case.0x51dee6.772
movzx eax, byte [eax + 0x51e37c]
jmp dword [eax*4 + 0x51e300]
mov ecx, esi
call fcn.00487ca0
push 0
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x51e16a
cmp byte [esi + 0x49a], al
je 0x512f72
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x512f70
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x512f72
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x512f88
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x51e16a
push 0x1b
mov ecx, esi
call fcn.00439490
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 0
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x51e16a
cmp byte [esi + 0x49a], al
je 0x513014
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x513012
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x513014
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51302a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x51e16a
fldz
push 3
fst dword [esp + 0x32c]
lea ecx, [esp + 0x32c]
fstp dword [esp + 0x330]
push ecx
fld1
push 1
fstp dword [esp + 0x33c]
mov ecx, esi
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857b20]
push eax
movsx eax, al
fstp dword [esp + 0x20]
mov edx, eax
fld dword [esp + 0x20]
shl edx, 4
sub edx, eax
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov edi, 1
push edi
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x51e16a
cmp byte [esi + 0x49a], al
je 0x513123
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x513121
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x513123
fstp st(0)
cmp dword [esi + 0x75c], 0
jne 0x513133
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x513149
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x51325a
cmp word [esi + 0x142], 0
jne 0x51325a
cmp word [esi + 0x140], 3
jne 0x51325a
cmp byte [esi + 0x7f4], 0
mov ecx, esi
je 0x5131dd
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85b900]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea eax, [eax + eax*4]
sub esp, 8
add eax, eax
add eax, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], eax
fld dword [esi + 0xec]
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x1d
call fcn.00439490
fldz
fst dword [esp + 0x340]
push 3
fstp dword [esp + 0x348]
lea ecx, [esp + 0x344]
fld dword [0x867810]
push ecx
fstp dword [esp + 0x350]
push edi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c118]
movsx edx, al
imul edx, edx, 0x6e
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
cmp dword [esi + 0x144], 0
jne 0x513297
cmp word [esi + 0x142], 0
jne 0x513297
cmp word [esi + 0x140], 0
jne 0x513297
cmp word [esi + 0x13e], di
jne 0x51e16a
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], di
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], di
jne 0x51e16a
push 0x1d
mov ecx, esi
call fcn.00439490
fldz
fst dword [esp + 0x358]
push 3
fstp dword [esp + 0x360]
lea ecx, [esp + 0x35c]
fld dword [0x85c8a8]
push ecx
fstp dword [esp + 0x368]
push edi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c118]
movsx edx, al
imul edx, edx, 0x6e
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 0
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x51e16a
cmp byte [esi + 0x49a], al
fldz
jg 0x513375
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x5133a7
fld dword [esi + 0xf4]
fsub qword [0x85b848]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5133a7
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x5133a9
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5133bf
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 2
mov ecx, esi
call edx
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x5133e3
fld dword [0x85bca4]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 3
jne 0x51e16a
push 0x1c
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov edi, 1
push edi
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x51e16a
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 5
jp 0x513466
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x513466
fstp dword [esi + 0xf4]
jmp 0x513468
fstp st(0)
movzx eax, word [esi + 0x140]
cmp ax, 4
jl 0x513544
cmp ax, 6
jg 0x513544
movsx eax, word [esi + 0x7d0]
and eax, 0x80000003
jns 0x513496
dec eax
or eax, 0xfffffffc
inc eax
jne 0x51353d
movzx eax, word [esi + 0x7d2]
cmp ax, 4
jg 0x51353d
movsx ecx, ax
mov dword [esp + 0x10], ecx
push 3
lea edx, [esp + 0x374]
fild dword [esp + 0x14]
push edx
push edi
mov ecx, esi
fmul qword [0x85ba28]
fsubr qword [0x85c8a0]
fstp dword [esp + 0x37c]
fld dword [0x85ae94]
fstp dword [esp + 0x380]
fld dword [0x85c22c]
fstp dword [esp + 0x384]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x857b20]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x867830]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
add word [esi + 0x7d2], di
add word [esi + 0x7d0], di
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51e16a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 2
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 1
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x51e16a
cmp word [esi + 0x140], 3
jle 0x5135b9
fld dword [esi + 0xf4]
fsub qword [0x858820]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5135b7
fstp dword [esi + 0xf4]
jmp 0x5135b9
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5135cf
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x51e16a
push 0x1d
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x5116c9
call fcn.00438c60
test al, al
je 0x513633
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 4
jne 0x51e16a
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], 1
jne 0x51376f
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51368b
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x5136bd
cmp word [esi + 0x142], 0
jne 0x5136bd
cmp word [esi + 0x140], 0
jne 0x5136bd
cmp word [esi + 0x13e], 1
jne 0x5136bd
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 3
jne 0x51e16a
push 0x1d
mov ecx, esi
call fcn.00439490
fldz
fst dword [esp + 0x388]
push 3
fstp dword [esp + 0x390]
lea ecx, [esp + 0x38c]
fld dword [0x859f00]
push ecx
fstp dword [esp + 0x398]
push 1
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c898]
movsx edx, al
imul edx, edx, 0x32
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x140], bp
jl 0x51378a
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x513675
cmp word [esi + 0x140], 0
jl 0x513675
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 1
mov ecx, esi
call eax
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
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
jne 0x512625
call fcn.00438c60
test al, al
je 0x513805
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x513925
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 4
jne 0x5138d4
xor edi, edi
mov dword [esp + 0x10], edi
lea ebx, [edi + 1]
fild dword [esp + 0x10]
push 3
lea ecx, [esp + 0x3a4]
push ecx
fchs
push ebx
fmul qword [0x858ef0]
mov ecx, esi
fstp dword [esp + 0x3ac]
fld dword [0x85bae4]
fstp dword [esp + 0x3b0]
fld dword [0x85c894]
fstp dword [esp + 0x3b4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1b0]
imul edx, edx, 0x19
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
add word [esi + 0x7d2], bx
add edi, ebx
cmp edi, 6
mov dword [esp + 0x10], edi
jl 0x513838
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 5
jne 0x513904
fld dword [0x85bc70]
fstp dword [esi + 0xf4]
fld dword [0x867810]
fstp dword [esi + 0xf8]
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 7
jne 0x513925
push 0x1d
mov ecx, esi
call fcn.00439490
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
mov dword [esi + 0x190], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 4
cmp word [esi + 0x13e], bx
mov ecx, esi
jne 0x513af9
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x513982
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x5139b3
cmp word [esi + 0x142], 0
jne 0x5139b3
cmp word [esi + 0x140], 0
jne 0x5139b3
cmp word [esi + 0x13e], bx
jne 0x5139b3
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x513a88
cmp word [esi + 0x142], 0
jne 0x513a88
cmp word [esi + 0x140], 3
jne 0x513a88
xor edi, edi
mov dword [esp + 0x10], edi
lea ebp, [edi + 1]
fild dword [esp + 0x10]
push 3
lea ecx, [esp + 0x3bc]
push ecx
fchs
push ebp
fmul qword [0x858ef0]
mov ecx, esi
fstp dword [esp + 0x3c4]
fld dword [0x85bae4]
fstp dword [esp + 0x3c8]
fld dword [0x858ffc]
fstp dword [esp + 0x3cc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85b900]
movsx eax, al
fstp dword [esp + 0x20]
mov edx, eax
fld dword [esp + 0x20]
shl edx, 4
sub edx, eax
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
add word [esi + 0x7d2], bp
add edi, ebp
cmp edi, 6
mov dword [esp + 0x10], edi
jl 0x5139e6
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x513ab2
cmp word [esi + 0x142], 0
jne 0x513ab2
cmp word [esi + 0x140], di
jne 0x513ab2
push 0x1d
mov ecx, esi
call fcn.00439490
cmp word [esi + 0x13e], 2
jne 0x513adf
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], bx
jne 0x513adf
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x13e], di
jmp 0x51393b
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x51396c
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push ebx
mov ecx, esi
call edx
jmp 0x510ad8
cmp dword [esi + 0x190], ecx
je 0x513b51
add word [esi + 0x7d0], 1
movzx eax, word [esi + 0x7d0]
cmp ax, 5
jle 0x513b51
mov dword [esi + 0x190], ecx
mov word [esi + 0x7d0], cx
cmp word [esi + 0x13e], 1
jne 0x513bec
cmp dword [esi + 0x144], ecx
jne 0x513b73
fld dword [0x85b3b0]
fstp dword [esi + 0xf4]
mov eax, dword [esi + 0x144]
and eax, 0x80000007
jns 0x513b85
dec eax
or eax, 0xfffffff8
inc eax
jne 0x513b90
push 0x1b
mov ecx, esi
call fcn.00439490
xor ecx, ecx
cmp dword [esi + 0x190], ecx
je 0x513bbc
add word [esi + 0x7d0], 1
movzx eax, word [esi + 0x7d0]
cmp ax, 5
jle 0x513bbc
mov dword [esi + 0x190], ecx
mov word [esi + 0x7d0], cx
cmp dword [esi + 0x144], 0x1e
jle 0x513bec
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 0x513c54
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp qword [esp + 0x10]
call fcn.004397f0
fcomp qword [esp + 0x10]
fnstsw ax
test ah, 1
jne 0x513c54
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 0x51e16a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 0
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x51e16a
cmp word [esi + 0x140], 1
jle 0x513cc9
fld dword [esi + 0xf4]
fsub qword [0x859910]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x513cc7
fstp dword [esi + 0xf4]
jmp 0x513cc9
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x513cdf
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x51e16a
push 0x1c
mov ecx, esi
call fcn.00439490
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 0
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x51e16a
mov edi, 3
cmp word [esi + 0x140], di
jle 0x513d6a
fld dword [esi + 0xf4]
fsub qword [0x8677c8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x513d68
fstp dword [esi + 0xf4]
jmp 0x513d6a
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x513d80
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], di
jne 0x51e16a
push 0x1c
mov ecx, esi
call fcn.00439490
fld dword [0x86782c]
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
call fcn.00487ca0
mov edi, 1
push edi
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x51e16a
fld dword [esi + 0xf4]
fsub qword [0x8581b8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x513e0a
fstp dword [esi + 0xf4]
jmp 0x513e0c
fstp st(0)
cmp dword [esi + 0x75c], 0
jne 0x513e1c
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x513e32
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x513e5c
cmp word [esi + 0x142], 0
jne 0x513e5c
cmp word [esi + 0x140], 0
jne 0x513e5c
cmp word [esi + 0x13e], di
je 0x510831
cmp word [esi + 0x13e], 0
jne 0x513f1d
cmp word [esi + 0x142], 0
jne 0x513f1d
cmp word [esi + 0x140], 7
jne 0x513ef9
cmp byte [esi + 0x7f4], 1
jne 0x513eed
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 [0x85b408]
push 0xffffffffffffffff
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
mov ecx, eax
sub esp, 8
shl ecx, 5
add ecx, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [0x85b3b0]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], 0
jne 0x513f1d
cmp word [esi + 0x140], 9
jne 0x513f1d
push 0x1d
mov ecx, esi
call fcn.00439490
mov byte [esi + 0x49a], 0
cmp word [esi + 0x13e], di
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], bp
jne 0x513f4d
fld dword [0x85c448]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0xc
jne 0x51e16a
push 0x1d
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], 0
jne 0x513f91
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x513fa7
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x514088
cmp word [esi + 0x142], 0
jne 0x514088
cmp word [esi + 0x140], 0
jne 0x514088
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x514088
fld dword [0x85c890]
push 3
fstp dword [esp + 0x3d4]
lea ecx, [esp + 0x3d4]
fld dword [0x85b830]
push ecx
fstp dword [esp + 0x3dc]
push edi
fld dword [0x85882c]
mov ecx, esi
fstp dword [esp + 0x3e4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d0]
imul edx, edx, 0x4a
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x323
call fcn.0046eb30
push 2
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x5140b2
cmp word [esi + 0x142], ax
jne 0x5140b2
cmp word [esi + 0x140], ax
jne 0x5140b2
cmp word [esi + 0x13e], 4
je 0x5120a3
cmp word [esi + 0x13e], 2
jne 0x5140ca
cmp eax, 0x14
jl 0x5140ca
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 4
jne 0x5140e6
cmp dword [esi + 0x144], 0x19
jl 0x5140e6
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 6
jne 0x51e16a
cmp dword [esi + 0x144], 0x28
jl 0x51e16a
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], 0
jne 0x514129
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51413f
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x51421c
cmp word [esi + 0x142], 0
jne 0x51421c
cmp word [esi + 0x140], 0
jne 0x51421c
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x51421c
fld dword [0x85c890]
push 3
fstp dword [esp + 0x3ec]
lea ecx, [esp + 0x3ec]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x3f4]
push edi
fldz
mov ecx, esi
fstp dword [esp + 0x3fc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c1d0]
movsx edx, al
imul edx, edx, 0x4a
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x323
call fcn.0046eb30
push 2
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x514246
cmp word [esi + 0x142], ax
jne 0x514246
cmp word [esi + 0x140], ax
jne 0x514246
cmp word [esi + 0x13e], 4
je 0x5120a3
cmp word [esi + 0x13e], 2
jne 0x51425e
cmp eax, 0x1e
jl 0x51425e
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 4
jne 0x51427a
cmp dword [esi + 0x144], 0x19
jl 0x51427a
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 6
jne 0x51e16a
cmp dword [esi + 0x144], 0x2d
jl 0x51e16a
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5142c3
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 2
mov ecx, esi
call edx
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 4
jne 0x51e16a
fldz
push 3
fst dword [esp + 0x458]
lea ecx, [esp + 0x458]
fstp dword [esp + 0x45c]
push ecx
fld dword [0x85882c]
push 1
fstp dword [esp + 0x468]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x858e98]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax + eax*4]
fld dword [esp + 0x20]
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x321
call fcn.0046eb30
push 2
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 8
cmp word [esi + 0x13e], di
jne 0x5143a1
mov ecx, esi
call fcn.00487ca0
movzx eax, word [esi + 0x13e]
cmp ax, 3
je 0x5143b4
cmp ax, 7
jne 0x5143c6
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x5143ea
cmp word [esi + 0x13e], 7
jg 0x5143ea
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push edi
mov ecx, esi
call edx
jmp 0x510ad8
cmp dword [esi + 0x760], 0
jne 0x5143fa
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x514410
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x5144f1
cmp word [esi + 0x142], 0
jne 0x5144f1
cmp word [esi + 0x140], 0
jne 0x5144f1
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x5144f1
fld dword [0x85c890]
push 3
fstp dword [esp + 0x1d0]
lea ecx, [esp + 0x1d0]
fld dword [0x85b830]
push ecx
fstp dword [esp + 0x1d8]
push ebx
fld dword [0x85882c]
fstp dword [esp + 0x1e0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d0]
push eax
sub esp, 8
fstp dword [esp + 0x28]
imul edx, edx, 0x4a
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
mov dword [esp + 0x28], edx
fisub dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x323
mov ecx, esi
call fcn.0046eb30
push 2
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00487870
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x514545
cmp word [esi + 0x142], ax
jne 0x51451b
cmp word [esi + 0x140], ax
jne 0x51451b
cmp word [esi + 0x13e], 4
je 0x5149a9
test eax, eax
jne 0x514545
cmp word [esi + 0x142], ax
jne 0x514545
cmp word [esi + 0x140], ax
jne 0x514545
cmp word [esi + 0x13e], di
jne 0x514545
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
cmp word [esi + 0x13e], 2
jne 0x5140ca
cmp dword [esi + 0x144], 0x14
jmp 0x5140bf
mov edi, 8
cmp word [esi + 0x13e], di
jne 0x514574
mov ecx, esi
call fcn.00487ca0
movzx eax, word [esi + 0x13e]
cmp ax, 3
je 0x514587
cmp ax, 7
jne 0x514599
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x5145b2
cmp word [esi + 0x13e], 7
jle 0x5143db
cmp dword [esi + 0x760], 0
jne 0x5145c2
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5145d8
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x5146b5
cmp word [esi + 0x142], 0
jne 0x5146b5
cmp word [esi + 0x140], 0
jne 0x5146b5
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x5146b5
fld dword [0x85c890]
push 3
fstp dword [esp + 0x350]
lea ecx, [esp + 0x350]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x358]
push ebx
fldz
mov ecx, esi
fstp dword [esp + 0x360]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c1d0]
movsx edx, al
imul edx, edx, 0x4a
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x323
call fcn.0046eb30
push 2
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.00487870
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x514709
cmp word [esi + 0x142], ax
jne 0x5146df
cmp word [esi + 0x140], ax
jne 0x5146df
cmp word [esi + 0x13e], 4
je 0x5149a9
test eax, eax
jne 0x514709
cmp word [esi + 0x142], ax
jne 0x514709
cmp word [esi + 0x140], ax
jne 0x514709
cmp word [esi + 0x13e], di
jne 0x514709
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
cmp word [esi + 0x13e], 2
jne 0x5140ca
cmp dword [esi + 0x144], 0x1e
jmp 0x5140bf
mov edi, 8
cmp word [esi + 0x13e], di
jne 0x514738
mov ecx, esi
call fcn.00487ca0
movzx eax, word [esi + 0x13e]
cmp ax, 3
je 0x51474b
cmp ax, 7
jne 0x51475d
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x514776
cmp word [esi + 0x13e], 7
jle 0x5143db
cmp dword [esi + 0x760], 0
jne 0x514786
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51479c
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x5144f1
cmp word [esi + 0x142], 0
jne 0x5144f1
cmp word [esi + 0x140], 0
jne 0x5144f1
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x5144f1
fld dword [0x85c890]
push 3
fstp dword [esp + 0x1e8]
lea ecx, [esp + 0x1e8]
fld dword [0x85b830]
push ecx
fstp dword [esp + 0x1f0]
push ebx
fld dword [0x85882c]
fstp dword [esp + 0x1f8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1d0]
push eax
sub esp, 8
fstp dword [esp + 0x28]
imul edx, edx, 0x4a
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
mov dword [esp + 0x28], edx
fisub dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x5144bc
mov ecx, esi
call fcn.00487ca0
push 1
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x51e16a
cmp word [esi + 0x140], 6
jl 0x514881
fld dword [esi + 0xf4]
fsub qword [0x8677a0]
fstp dword [esi + 0xf4]
fldz
fcom dword [esi + 0xf4]
fnstsw ax
test ah, 0x41
jne 0x51489f
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x5148a1
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5148b7
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 4
jne 0x51e16a
fldz
push 3
fst dword [esp + 0x434]
lea ecx, [esp + 0x434]
fstp dword [esp + 0x438]
push ecx
fld dword [0x85c448]
push 1
fstp dword [esp + 0x444]
mov ecx, esi
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857b20]
push eax
movsx eax, al
fstp dword [esp + 0x20]
mov edx, eax
fld dword [esp + 0x20]
shl edx, 4
sub edx, eax
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
mov ecx, esi
je 0x51499c
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 0x51e16a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x5149d3
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5149e9
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
movzx eax, word [esi + 0x13e]
test ax, ax
jne 0x514ac3
cmp word [esi + 0x142], ax
jne 0x514ac3
cmp word [esi + 0x140], 3
jne 0x514ac3
fld dword [0x85b998]
push 3
fstp dword [esp + 0x200]
lea ecx, [esp + 0x200]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x208]
push 1
fldz
fstp dword [esp + 0x210]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85bbc8]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax + eax*4]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x325
mov ecx, esi
call fcn.0046eb30
push 2
mov ecx, esi
call fcn.00464980
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
mov dword [esi + 0x190], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp ax, 1
jne 0x51e16a
cmp byte [esi + 0x7f4], 0
je 0x5120a3
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c888]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 5
sub esp, 8
add ecx, eax
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x514b75
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x514b8b
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
movzx eax, word [esi + 0x13e]
test ax, ax
jne 0x514c5f
cmp word [esi + 0x142], ax
jne 0x514c5f
cmp word [esi + 0x140], 3
jne 0x514c5f
fldz
push 3
fst dword [esp + 0x368]
lea ecx, [esp + 0x368]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x370]
push 1
fstp dword [esp + 0x378]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85bbc8]
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax + eax*4]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x325
mov ecx, esi
call fcn.0046eb30
push 2
mov ecx, esi
call fcn.00464980
push 0x3c
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp ax, 1
jne 0x51e16a
cmp byte [esi + 0x7f4], 0
je 0x5120a3
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c888]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 5
sub esp, 8
add ecx, eax
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x514d11
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x514d27
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
movzx eax, word [esi + 0x13e]
test ax, ax
jne 0x514dbd
cmp word [esi + 0x142], ax
jne 0x514dbd
cmp word [esi + 0x140], 3
jne 0x514dbd
fld dword [0x85ba18]
push 3
fstp dword [esp + 0x218]
lea ecx, [esp + 0x218]
fld dword [0x85bc10]
push ecx
fstp dword [esp + 0x220]
push 1
fldz
fstp dword [esp + 0x228]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85bbc8]
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0x2d
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x514a82
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp ax, 1
jmp 0x51327e
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x514e06
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], 0
mov ebp, 0xa
jne 0x514e30
cmp word [esi + 0x142], 0
jne 0x514e30
cmp word [esi + 0x140], bp
jne 0x514e30
fldz
fstp dword [esi + 0xf4]
mov ecx, esi
call fcn.00438c60
test al, al
je 0x514e46
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x514efb
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x514efb
cmp word [esi + 0x140], 9
jne 0x514ee1
fld dword [0x85c154]
push 3
fstp dword [esp + 0x41c]
lea ecx, [esp + 0x41c]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x424]
push 1
fldz
fstp dword [esp + 0x42c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85bbc8]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax + eax*4]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x514c1e
test ax, ax
jne 0x514efb
cmp word [esi + 0x140], bp
jne 0x514efb
fld dword [0x85c880]
fstp dword [esi + 0xf4]
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
cmp byte [esi + 0x7f4], 0
je 0x5120a3
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c888]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 5
sub esp, 8
add ecx, eax
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 2
jne 0x514fab
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x514fbb
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], 1
mov edi, 0xc
jne 0x514fe5
cmp word [esi + 0x140], di
jl 0x514fe5
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
test ax, ax
je 0x515000
cmp ax, 1
jne 0x515017
cmp word [esi + 0x140], di
jl 0x515017
mov ecx, esi
call fcn.00487ea0
test al, al
je 0x515017
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
jmp 0x510ad4
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51502d
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
movzx ecx, word [esi + 0x13e]
test cx, cx
jne 0x515161
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x515161
cmp word [esi + 0x140], 6
jne 0x5150ec
fld dword [0x85b98c]
push 3
fstp dword [esp + 0x230]
lea ecx, [esp + 0x230]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x238]
push 1
fldz
mov ecx, esi
fstp dword [esp + 0x240]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857b20]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax + eax*4]
fld dword [esp + 0x20]
add edx, edx
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x325
call fcn.0046eb30
push 2
mov ecx, esi
call fcn.00464980
push 0x3c
jmp 0x514365
test ax, ax
jne 0x515161
cmp word [esi + 0x140], bp
jne 0x515161
cmp byte [esi + 0x7f4], 1
jne 0x515161
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c130]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
sub esp, 8
imul eax, eax, 0x2f
fstp dword [esp + 4]
fld dword [esi + 0xec]
mov dword [esp + 0x20], eax
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
mov ecx, esi
call fcn.00438ce0
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x51e16a
cmp word [esi + 0x142], ax
jne 0x51518b
cmp word [esi + 0x140], ax
jne 0x51518b
cmp cx, 1
je 0x513c41
test eax, eax
jne 0x51e16a
cmp word [esi + 0x142], ax
jne 0x51e16a
cmp word [esi + 0x140], ax
jne 0x51e16a
cmp cx, 2
jne 0x51e16a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 2
jne 0x5151db
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x5151eb
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], 1
mov edi, 0xc
jne 0x515215
cmp word [esi + 0x140], di
jl 0x515215
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
test ax, ax
je 0x515230
cmp ax, 1
jne 0x51523f
cmp word [esi + 0x140], di
jl 0x51523f
mov ecx, esi
call fcn.00487ea0
test al, al
jne 0x51500b
mov ecx, esi
call fcn.00438c60
test al, al
je 0x515255
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
movzx ecx, word [esi + 0x13e]
test cx, cx
jne 0x515161
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x515161
cmp word [esi + 0x140], 6
jne 0x515330
fldz
push 3
fst dword [esp + 0x380]
lea ecx, [esp + 0x380]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x388]
push 1
fstp dword [esp + 0x390]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x857b20]
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax + eax*4]
fld dword [esp + 0x20]
sub esp, 8
add edx, edx
add edx, edx
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x325
mov ecx, esi
call fcn.0046eb30
push 2
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], 1
push 0x3c
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
test ax, ax
jne 0x515161
cmp word [esi + 0x140], bp
jne 0x515161
cmp byte [esi + 0x7f4], 1
jne 0x515161
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c130]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
sub esp, 8
imul eax, eax, 0x2f
fstp dword [esp + 4]
fld dword [esi + 0xec]
mov dword [esp + 0x20], eax
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
jmp 0x515144
cmp word [esi + 0x13e], 2
jne 0x5153aa
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x5153ba
mov byte [esi + 0x7f4], 0
cmp word [esi + 0x13e], 1
mov edi, 0xc
jne 0x5153e4
cmp word [esi + 0x140], di
jl 0x5153e4
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movzx eax, word [esi + 0x13e]
test ax, ax
je 0x5153ff
cmp ax, 1
jne 0x51540e
cmp word [esi + 0x140], di
jl 0x51540e
mov ecx, esi
call fcn.00487ea0
test al, al
jne 0x51500b
mov ecx, esi
call fcn.00438c60
test al, al
je 0x515424
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
movzx ecx, word [esi + 0x13e]
test cx, cx
jne 0x515161
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x515161
cmp word [esi + 0x140], 5
jne 0x5154c5
fld dword [0x857dd8]
push 3
fstp dword [esp + 0x248]
lea ecx, [esp + 0x248]
fld dword [0x8596b8]
push ecx
fstp dword [esp + 0x250]
push 1
fldz
fstp dword [esp + 0x258]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857b20]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax + eax*4]
fld dword [esp + 0x20]
sub esp, 8
add edx, edx
add edx, edx
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x5152ef
test ax, ax
jne 0x515161
cmp word [esi + 0x140], 8
jne 0x515161
cmp byte [esi + 0x7f4], 1
jne 0x515161
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c130]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
sub esp, 8
imul eax, eax, 0x2f
fstp dword [esp + 4]
fld dword [esi + 0xec]
mov dword [esp + 0x20], eax
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
jmp 0x515144
mov ecx, esi
call fcn.00487ca0
push 1
mov ecx, esi
call fcn.00487e90
test al, al
jne 0x51e16a
fld dword [esi + 0xf4]
fsub qword [0x85b938]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x51557d
fstp dword [esi + 0xf4]
mov byte [esi + 0x49a], 0
jmp 0x51557f
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x515595
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x515625
fldz
push 3
fst dword [esp + 0x44c]
lea ecx, [esp + 0x44c]
fstp dword [esp + 0x450]
push ecx
fld dword [0x858828]
push 0xffffffffffffffff
fstp dword [esp + 0x45c]
mov ecx, esi
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push edx
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
push 0x1d
mov ecx, esi
call fcn.00439490
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 3
jne 0x5156b5
fldz
push 3
fst dword [esp + 0x260]
lea eax, [esp + 0x260]
fstp dword [esp + 0x264]
push eax
fld dword [0x85c160]
push 1
fstp dword [esp + 0x270]
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x857990]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
push 0x1d
mov ecx, esi
call fcn.00439490
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 4
jne 0x515745
fldz
push 3
fst dword [esp + 0x398]
lea edx, [esp + 0x398]
fstp dword [esp + 0x39c]
push edx
fld dword [0x858828]
push 0xffffffffffffffff
fstp dword [esp + 0x3a8]
mov ecx, esi
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857990]
push eax
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
push 0x1d
mov ecx, esi
call fcn.00439490
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 5
jne 0x51e16a
fldz
push 3
fst dword [esp + 0x278]
lea ecx, [esp + 0x278]
fstp dword [esp + 0x27c]
push ecx
fld dword [0x85c160]
push 1
fstp dword [esp + 0x288]
mov ecx, esi
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857990]
push edx
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x351
call fcn.0046eb30
push 0x1d
mov ecx, esi
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5157fe
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 3
jne 0x51e16a
fld dword [0x85ae94]
push 3
fstp dword [esp + 0x1ac]
lea ecx, [esp + 0x1ac]
fld dword [0x85bbe4]
push ecx
fstp dword [esp + 0x1b4]
push 1
fldz
fstp dword [esp + 0x1bc]
mov dword [esi + 0x190], 1
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857b20]
movsx edx, al
fstp dword [esp + 0x1c]
add edx, edx
fld dword [esp + 0x1c]
push eax
sub esp, 8
add edx, edx
add edx, edx
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32a
mov ecx, esi
call fcn.0046eb30
push 3
mov ecx, esi
call fcn.00464980
push 0x78
jmp 0x515313
cmp eax, 0x302
jg 0x51ded1
je 0x51dd8c
sub eax, 0x1f5
cmp eax, 0xfb
ja case.0x51dee6.772
movzx eax, byte [eax + 0x51e4f0]
jmp dword [eax*4 + 0x51e3f4]
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51590e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 3
jne 0x51e16a
fld dword [0x85b858]
push 3
fstp dword [esp + 0x290]
lea ecx, [esp + 0x290]
fld dword [0x85bbe4]
push ecx
fstp dword [esp + 0x298]
push 1
fldz
fstp dword [esp + 0x2a0]
mov dword [esi + 0x190], 1
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857b20]
movsx edx, al
fstp dword [esp + 0x1c]
add edx, edx
fld dword [esp + 0x1c]
push eax
sub esp, 8
add edx, edx
add edx, edx
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x5158a3
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5159d5
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 7
jne 0x51e16a
fldz
push 3
fst dword [esp + 0x3b0]
lea ecx, [esp + 0x3b0]
fld dword [0x85b830]
push ecx
fstp dword [esp + 0x3b8]
push 1
fstp dword [esp + 0x3c0]
mov dword [esi + 0x190], 1
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movsx edx, al
fstp dword [esp + 0x1c]
add edx, edx
fld dword [esp + 0x1c]
push eax
sub esp, 8
add edx, edx
add edx, edx
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32b
mov ecx, esi
call fcn.0046eb30
push 0xa
mov ecx, esi
call fcn.00464980
push 0x78
jmp 0x515313
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x515ab0
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 7
jne 0x51e16a
fld dword [0x85b998]
push 3
fstp dword [esp + 0x2a8]
lea ecx, [esp + 0x2a8]
fld dword [0x85b830]
push ecx
fstp dword [esp + 0x2b0]
push 1
fldz
fstp dword [esp + 0x2b8]
mov dword [esi + 0x190], 1
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857b20]
movsx edx, al
fstp dword [esp + 0x1c]
add edx, edx
fld dword [esp + 0x1c]
push eax
sub esp, 8
add edx, edx
add edx, edx
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x515a74
cmp word [esi + 0x13e], 3
jne 0x515b73
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 3
jge 0x515bb9
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x515bb9
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
mov ecx, esi
call fcn.00438c60
test al, al
je 0x515bcf
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x515cda
cmp word [esi + 0x142], 0
jne 0x515cda
cmp word [esi + 0x140], 5
jne 0x515c19
fld dword [0x85b858]
fstp dword [esi + 0xf4]
fld dword [0x85b870]
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x142], 0
jne 0x515cda
cmp word [esi + 0x140], 6
jne 0x515cda
fldz
push 3
fst dword [esp + 0x410]
lea ecx, [esp + 0x410]
fld dword [0x85b830]
push ecx
fstp dword [esp + 0x418]
push 1
fstp dword [esp + 0x420]
mov dword [esi + 0x190], 1
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c1d0]
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov edx, eax
sub esp, 8
shl edx, 4
add edx, eax
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32b
mov ecx, esi
call fcn.0046eb30
push 0xa
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x1e
mov ecx, esi
call fcn.00487870
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 3
jne 0x51e16a
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
cmp word [esi + 0x13e], 3
jne 0x515d3d
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 3
jge 0x515d60
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x515b92
mov ecx, esi
call fcn.00438c60
test al, al
je 0x515d76
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x515cda
cmp word [esi + 0x142], 0
jne 0x515cda
cmp word [esi + 0x140], 5
jne 0x515dc0
fld dword [0x85b858]
fstp dword [esi + 0xf4]
fld dword [0x85b870]
fstp dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x142], 0
jne 0x515cda
cmp word [esi + 0x140], 6
jne 0x515cda
fld dword [0x85b98c]
push 3
fstp dword [esp + 0x2c0]
lea ecx, [esp + 0x2c0]
fld dword [0x85b830]
push ecx
fstp dword [esp + 0x2c8]
push 1
fldz
fstp dword [esp + 0x2d0]
mov dword [esi + 0x190], 1
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c1d0]
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
mov edx, eax
sub esp, 8
shl edx, 4
add edx, eax
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x515cab
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x515e7a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
mov al, byte [esi + 0x6ac]
fld dword [0x867860]
cmp al, 2
fstp dword [esp + 0x1c]
jl 0x515ecf
fld dword [0x85b870]
fstp dword [esp + 0x1c]
cmp al, 4
jl 0x515edd
fld dword [0x85bca4]
fstp dword [esp + 0x1c]
fldz
fst dword [esp + 0x20]
fld dword [esp + 0x1c]
fst qword [esp + 0x28]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x515fc4
fld dword [esp + 0x20]
jmp 0x515f06
fldz
fxch st(1)
fmul qword [0x8581e8]
push ecx
fdiv dword [esp + 0x20]
fstp dword [esp + 0x18c]
fst dword [esp + 0x190]
fst dword [esp + 0x194]
fstp dword [esp + 0x198]
fld dword [esp + 0x18c]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x515f55
mov eax, 1
jmp 0x515f57
xor eax, eax
fld dword [esi + 0xf0]
add al, al
fadd qword [0x85b900]
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 4
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x18c]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
fld dword [esp + 0x20]
fadd qword [0x8677c8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fcom qword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x515f02
fstp st(0)
push 3
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], 1
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x516015
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
mov al, byte [esi + 0x6ac]
fld dword [0x867860]
cmp al, 2
fstp dword [esp + 0x20]
jl 0x51606a
fld dword [0x85b870]
fstp dword [esp + 0x20]
cmp al, 4
jl 0x516078
fld dword [0x85bca4]
fstp dword [esp + 0x20]
fldz
fst dword [esp + 0x1c]
fld dword [esp + 0x20]
fst qword [esp + 0x28]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x515fc4
fld dword [esp + 0x1c]
jmp 0x5160a1
fldz
fxch st(1)
fmul qword [0x8581e8]
push ecx
fdiv dword [esp + 0x24]
fstp dword [esp + 0x17c]
fst dword [esp + 0x180]
fstp dword [esp + 0x184]
fld1
fstp dword [esp + 0x188]
fld dword [esp + 0x17c]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x5160f2
mov eax, 1
jmp 0x5160f4
xor eax, eax
fld dword [esi + 0xf0]
add al, al
fadd qword [0x85b900]
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push 4
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x17c]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
fld dword [esp + 0x1c]
fadd qword [0x8677c8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom qword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x51609d
jmp 0x515fc4
mov edi, 4
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x51621d
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x516195
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51635d
cmp word [esi + 0x140], 0
jne 0x51635d
cmp word [esi + 0x13e], 1
jne 0x51635d
mov al, byte [esi + 0x6ac]
fld dword [0x867860]
cmp al, 2
fstp dword [esp + 0x20]
jl 0x5161ea
fld dword [0x85b870]
fstp dword [esp + 0x20]
cmp al, 4
jl 0x5161f8
fld dword [0x85bca4]
fstp dword [esp + 0x20]
fldz
fst dword [esp + 0x1c]
fld dword [esp + 0x20]
fst qword [esp + 0x28]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x516331
fld dword [esp + 0x1c]
jmp 0x516274
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x51617f
cmp word [esi + 0x13e], 3
jne 0x51617f
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
fldz
fxch st(1)
fmul qword [0x8581e8]
push ecx
fdiv dword [esp + 0x24]
fstp dword [esp + 0x19c]
fst dword [esp + 0x1a0]
fst dword [esp + 0x1a4]
fstp dword [esp + 0x1a8]
fld dword [esp + 0x19c]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x5162c3
mov eax, 1
jmp 0x5162c5
xor eax, eax
fld dword [esi + 0xf0]
add al, al
fadd qword [0x85b900]
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push edi
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x19c]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
fld dword [esp + 0x1c]
fadd qword [0x8677c8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom qword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x516270
push 3
fstp st(0)
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x516394
cmp word [esi + 0x140], 0
jne 0x516394
cmp word [esi + 0x13e], 3
jne 0x516394
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], di
jmp 0x5151b1
mov edi, 4
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x516480
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x5163f8
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51635d
cmp word [esi + 0x140], 0
jne 0x51635d
cmp word [esi + 0x13e], 1
jne 0x51635d
mov al, byte [esi + 0x6ac]
fld dword [0x867860]
cmp al, 2
fstp dword [esp + 0x20]
jl 0x51644d
fld dword [0x85b870]
fstp dword [esp + 0x20]
cmp al, 4
jl 0x51645b
fld dword [0x85bca4]
fstp dword [esp + 0x20]
fldz
fst dword [esp + 0x1c]
fld dword [esp + 0x20]
fst qword [esp + 0x28]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x516331
fld dword [esp + 0x1c]
jmp 0x5164d7
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x5163e2
cmp word [esi + 0x13e], 3
jne 0x5163e2
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
fldz
fxch st(1)
fmul qword [0x8581e8]
push ecx
fdiv dword [esp + 0x24]
fstp dword [esp + 0x16c]
fst dword [esp + 0x170]
fstp dword [esp + 0x174]
fld1
fstp dword [esp + 0x178]
fld dword [esp + 0x16c]
fchs
fstp dword [esp]
call fcn.00409580
fcomp dword [0x86d730]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x516528
mov eax, 1
jmp 0x51652a
xor eax, eax
fld dword [esi + 0xf0]
add al, al
fadd qword [0x85b900]
mov edx, 1
sub dl, al
movzx eax, byte [esi + 0x104]
push edi
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x16c]
push ecx
push edx
push eax
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call fcn.0046eb30
fld dword [esp + 0x1c]
fadd qword [0x8677c8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom qword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x5164d3
jmp 0x516331
movzx eax, word [esi + 0x13e]
cmp ax, cx
je 0x5165b3
cmp ax, 4
je 0x5165b3
cmp ax, 8
jne 0x5165ba
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], 0
jne 0x5165ca
mov byte [esi + 0x7f4], 0
movzx eax, word [esi + 0x13e]
cmp ax, 1
mov ebp, 5
lea ebx, [ebp + 1]
je 0x5165fb
cmp ax, 2
je 0x5165fb
cmp ax, 3
je 0x5165fb
cmp ax, bp
je 0x5165fb
cmp ax, bx
je 0x5165fb
cmp ax, 7
jne 0x51663f
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x51663f
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 8
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 0x516655
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
movzx eax, word [esi + 0x13e]
test ax, ax
jne 0x5166de
cmp word [esi + 0x142], ax
jne 0x5166de
cmp word [esi + 0x140], 3
jne 0x5166de
cmp byte [esi + 0x7f4], 1
jne 0x5166de
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
fld dword [esi + 0xf0]
fadd qword [0x859af8]
movzx eax, byte [esi + 0x104]
push 0xffffffffffffffff
movsx ecx, al
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push eax
sub esp, 8
add ecx, ecx
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], 0
fld dword [0x85bb00]
jne 0x51676b
cmp word [esi + 0x142], 0
jne 0x516725
cmp word [esi + 0x140], 0
jne 0x516725
cmp ax, 1
jne 0x516725
fld dword [0x85c1bc]
fstp dword [esi + 0xf4]
fld dword [0x85b9bc]
fstp dword [esi + 0xf8]
fst dword [esi + 0x100]
cmp dword [esi + 0x144], 0
jne 0x51676b
cmp word [esi + 0x142], 0
jne 0x51676b
cmp word [esi + 0x140], 0
jne 0x51676b
cmp word [esi + 0x13e], bp
jne 0x51676b
fld dword [0x85b9cc]
fstp dword [esi + 0xf4]
fld dword [0x85b9d0]
fstp dword [esi + 0xf8]
fstp dword [esi + 0x100]
jmp 0x51676d
fstp st(0)
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x5168bf
cmp word [esi + 0x140], 0
jne 0x5168bf
cmp word [esi + 0x13e], 2
jne 0x5168bf
movsx eax, byte [esi + 0x6a5]
cmp eax, 4
ja case.default.0x5167b0
jmp dword [eax*4 + 0x51e5ec]
mov word [esi + 0x7d2], 3
jmp case.default.0x5167b0
mov word [esi + 0x7d2], 4
jmp case.default.0x5167b0
mov word [esi + 0x7d2], bp
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
xor edi, edi
cmp word [esi + 0x7d2], di
jle 0x5168a9
push 0x2d
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x516812
fadd dword [0x871554]
fadd qword [0x8581f8]
push 3
lea edx, [esp + 0x3c8]
push edx
fstp dword [esp + 0x3cc]
push 1
fld dword [0x85b3b0]
fstp dword [esp + 0x3d4]
fldz
fstp dword [esp + 0x3d8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c878]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea ecx, [eax*8]
fld dword [esp + 0x20]
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 0x32f
call fcn.0046eb30
movsx edx, word [esi + 0x7d2]
add edi, 1
cmp edi, edx
jl 0x5167f6
push ebp
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], bx
jne 0x51e16a
movsx eax, byte [esi + 0x6a5]
cmp eax, 4
ja case.default.0x516901
jmp dword [eax*4 + 0x51e600]
mov word [esi + 0x7d2], 4
jmp case.default.0x516901
mov word [esi + 0x7d2], bp
jmp case.default.0x516901
mov word [esi + 0x7d2], bx
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
xor edi, edi
cmp word [esi + 0x7d2], di
jle 0x5169f8
push 0x2d
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x516961
fadd dword [0x871554]
fadd qword [0x867830]
push 3
lea ecx, [esp + 0x2d8]
push ecx
fstp dword [esp + 0x2dc]
push 1
fld dword [0x85b3b0]
mov ecx, esi
fstp dword [esp + 0x2e4]
fldz
fstp dword [esp + 0x2e8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c878]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax*8]
fld dword [esp + 0x20]
sub edx, eax
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
movsx eax, word [esi + 0x7d2]
add edi, 1
cmp edi, eax
jl 0x516945
push ebp
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
cmp ax, cx
je 0x516a2e
cmp ax, 4
je 0x516a2e
cmp ax, 8
jne 0x516a35
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x516a45
mov byte [esi + 0x7f4], 0
movzx eax, word [esi + 0x13e]
cmp ax, 1
mov ebp, 5
lea ebx, [ebp + 1]
je 0x516a76
cmp ax, 2
je 0x516a76
cmp ax, 3
je 0x516a76
cmp ax, bp
je 0x516a76
cmp ax, bx
je 0x516a76
cmp ax, 7
jne 0x516a97
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x516618
mov ecx, esi
call fcn.00438c60
test al, al
je 0x516aad
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
movzx eax, word [esi + 0x13e]
test ax, ax
jne 0x516b3a
cmp word [esi + 0x142], ax
jne 0x516b3a
cmp word [esi + 0x140], 3
jne 0x516b3a
cmp byte [esi + 0x7f4], 1
jne 0x516b3a
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
fld dword [esi + 0xf0]
fadd qword [0x859af8]
movzx eax, byte [esi + 0x104]
push 0xffffffffffffffff
movsx ecx, al
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push eax
sub esp, 8
add ecx, ecx
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], 0
fld dword [0x85bb00]
jne 0x516bcb
cmp word [esi + 0x142], 0
jne 0x516b85
cmp word [esi + 0x140], 0
jne 0x516b85
cmp ax, 1
jne 0x516b85
fld dword [0x85c1bc]
fstp dword [esi + 0xf4]
fld dword [0x85b9bc]
fstp dword [esi + 0xf8]
fst dword [esi + 0x100]
cmp dword [esi + 0x144], 0
jne 0x516bcb
cmp word [esi + 0x142], 0
jne 0x516bcb
cmp word [esi + 0x140], 0
jne 0x516bcb
cmp word [esi + 0x13e], bp
jne 0x516bcb
fld dword [0x85b9cc]
fstp dword [esi + 0xf4]
fld dword [0x85b9d0]
fstp dword [esi + 0xf8]
fstp dword [esi + 0x100]
jmp 0x516bcd
fstp st(0)
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x516d1f
cmp word [esi + 0x140], 0
jne 0x516d1f
cmp word [esi + 0x13e], 2
jne 0x516d1f
movsx eax, byte [esi + 0x6a5]
cmp eax, 4
ja case.default.0x516c10
jmp dword [eax*4 + 0x51e614]
mov word [esi + 0x7d2], 3
jmp case.default.0x516c10
mov word [esi + 0x7d2], 4
jmp case.default.0x516c10
mov word [esi + 0x7d2], bp
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
xor edi, edi
cmp word [esi + 0x7d2], di
jle 0x516d09
push 0x2d
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x516c72
fadd dword [0x871554]
fsub qword [0x867830]
push 3
lea edx, [esp + 0x428]
push edx
fstp dword [esp + 0x42c]
push 1
fld dword [0x85b3b0]
fstp dword [esp + 0x434]
fldz
fstp dword [esp + 0x438]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c878]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea ecx, [eax*8]
fld dword [esp + 0x20]
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 0x32f
call fcn.0046eb30
movsx edx, word [esi + 0x7d2]
add edi, 1
cmp edi, edx
jl 0x516c56
push ebp
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], bx
jne 0x51e16a
movsx eax, byte [esi + 0x6a5]
cmp eax, 4
ja case.default.0x516d61
jmp dword [eax*4 + 0x51e628]
mov word [esi + 0x7d2], 4
jmp case.default.0x516d61
mov word [esi + 0x7d2], bp
jmp case.default.0x516d61
mov word [esi + 0x7d2], bx
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
xor edi, edi
cmp word [esi + 0x7d2], di
jle 0x5169f8
push 0x2d
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x516dc1
fadd dword [0x871554]
fsub qword [0x871520]
push 3
lea ecx, [esp + 0x2f0]
push ecx
fstp dword [esp + 0x2f4]
push 1
fld dword [0x85b3b0]
mov ecx, esi
fstp dword [esp + 0x2fc]
fldz
fstp dword [esp + 0x300]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c878]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax*8]
fld dword [esp + 0x20]
sub edx, eax
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
movsx eax, word [esi + 0x7d2]
add edi, 1
cmp edi, eax
jl 0x516da5
jmp 0x5169f8
cmp word [esi + 0x13e], 8
jne 0x516e6e
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], 0
jne 0x516e7e
mov byte [esi + 0x7f4], 0
movzx eax, word [esi + 0x13e]
cmp ax, 1
mov ebp, 5
lea ebx, [ebp + 1]
je 0x516eaf
cmp ax, 2
je 0x516eaf
cmp ax, 3
je 0x516eaf
cmp ax, bp
je 0x516eaf
cmp ax, bx
je 0x516eaf
cmp ax, 7
jne 0x516ed0
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x516618
mov ecx, esi
call fcn.00438c60
test al, al
je 0x516ee6
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
movzx eax, word [esi + 0x13e]
test ax, ax
jne 0x516f73
cmp word [esi + 0x142], ax
jne 0x516f73
cmp word [esi + 0x140], 3
jne 0x516f73
cmp byte [esi + 0x7f4], 1
jne 0x516f73
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
fld dword [esi + 0xf0]
fadd qword [0x859af8]
movzx eax, byte [esi + 0x104]
push 0xffffffffffffffff
movsx ecx, al
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push eax
sub esp, 8
add ecx, ecx
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], 0
fld dword [0x85bb00]
jne 0x517004
cmp word [esi + 0x142], 0
jne 0x516fbe
cmp word [esi + 0x140], 0
jne 0x516fbe
cmp ax, 1
jne 0x516fbe
fld dword [0x85c1bc]
fstp dword [esi + 0xf4]
fld dword [0x85b9bc]
fstp dword [esi + 0xf8]
fst dword [esi + 0x100]
cmp dword [esi + 0x144], 0
jne 0x517004
cmp word [esi + 0x142], 0
jne 0x517004
cmp word [esi + 0x140], 0
jne 0x517004
cmp word [esi + 0x13e], bp
jne 0x517004
fld dword [0x85b9cc]
fstp dword [esi + 0xf4]
fld dword [0x85b9d0]
fstp dword [esi + 0xf8]
fstp dword [esi + 0x100]
jmp 0x517006
fstp st(0)
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x517159
cmp word [esi + 0x140], 0
jne 0x517159
cmp word [esi + 0x13e], 2
jne 0x517159
movsx eax, byte [esi + 0x6a5]
cmp eax, 4
ja case.default.0x517049
jmp dword [eax*4 + 0x51e63c]
mov word [esi + 0x7d2], 3
jmp case.default.0x517049
mov word [esi + 0x7d2], 4
jmp case.default.0x517049
mov word [esi + 0x7d2], bp
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
xor edi, edi
cmp word [esi + 0x7d2], di
jle 0x517143
nop
push 0x2d
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x5170ac
fadd dword [0x871554]
fadd qword [0x8581f8]
push 3
lea edx, [esp + 0x3e0]
push edx
fstp dword [esp + 0x3e4]
push 1
fld dword [0x85b3b0]
fstp dword [esp + 0x3ec]
fldz
fstp dword [esp + 0x3f0]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c878]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea ecx, [eax*8]
fld dword [esp + 0x20]
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 0x32f
call fcn.0046eb30
movsx edx, word [esi + 0x7d2]
add edi, 1
cmp edi, edx
jl 0x517090
push ebp
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], bx
jne 0x51e16a
movsx eax, byte [esi + 0x6a5]
cmp eax, 4
ja case.default.0x51719b
jmp dword [eax*4 + 0x51e650]
mov word [esi + 0x7d2], 4
jmp case.default.0x51719b
mov word [esi + 0x7d2], bp
jmp case.default.0x51719b
mov word [esi + 0x7d2], bx
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
xor edi, edi
cmp word [esi + 0x7d2], di
jle 0x5169f8
nop
push 0x2d
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x5171fc
fadd dword [0x871554]
fadd qword [0x867830]
push 3
lea ecx, [esp + 0x308]
push ecx
fstp dword [esp + 0x30c]
push 1
fld dword [0x85b3b0]
mov ecx, esi
fstp dword [esp + 0x314]
fldz
fstp dword [esp + 0x318]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c878]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax*8]
fld dword [esp + 0x20]
sub edx, eax
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
movsx eax, word [esi + 0x7d2]
add edi, 1
cmp edi, eax
jl 0x5171e0
jmp 0x5169f8
cmp word [esi + 0x13e], 8
jne 0x5172a9
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x5172b9
mov byte [esi + 0x7f4], 0
movzx eax, word [esi + 0x13e]
cmp ax, 1
mov ebp, 5
lea ebx, [ebp + 1]
je 0x5172ea
cmp ax, 2
je 0x5172ea
cmp ax, 3
je 0x5172ea
cmp ax, bp
je 0x5172ea
cmp ax, bx
je 0x5172ea
cmp ax, 7
jne 0x51730b
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x516618
mov ecx, esi
call fcn.00438c60
test al, al
je 0x517321
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
movzx eax, word [esi + 0x13e]
test ax, ax
jne 0x5173ae
cmp word [esi + 0x142], ax
jne 0x5173ae
cmp word [esi + 0x140], 3
jne 0x5173ae
cmp byte [esi + 0x7f4], 1
jne 0x5173ae
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
fld dword [esi + 0xf0]
fadd qword [0x859af8]
movzx eax, byte [esi + 0x104]
push 0xffffffffffffffff
movsx ecx, al
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
push eax
sub esp, 8
add ecx, ecx
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], 0
fld dword [0x85bb00]
jne 0x51743f
cmp word [esi + 0x142], 0
jne 0x5173f9
cmp word [esi + 0x140], 0
jne 0x5173f9
cmp ax, 1
jne 0x5173f9
fld dword [0x85c1bc]
fstp dword [esi + 0xf4]
fld dword [0x85b9bc]
fstp dword [esi + 0xf8]
fst dword [esi + 0x100]
cmp dword [esi + 0x144], 0
jne 0x51743f
cmp word [esi + 0x142], 0
jne 0x51743f
cmp word [esi + 0x140], 0
jne 0x51743f
cmp word [esi + 0x13e], bp
jne 0x51743f
fld dword [0x85b9cc]
fstp dword [esi + 0xf4]
fld dword [0x85b9d0]
fstp dword [esi + 0xf8]
fstp dword [esi + 0x100]
jmp 0x517441
fstp st(0)
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x517599
cmp word [esi + 0x140], 0
jne 0x517599
cmp word [esi + 0x13e], 2
jne 0x517599
movsx eax, byte [esi + 0x6a5]
cmp eax, 4
ja case.default.0x517484
jmp dword [eax*4 + 0x51e664]
mov word [esi + 0x7d2], 3
jmp case.default.0x517484
mov word [esi + 0x7d2], 4
jmp case.default.0x517484
mov word [esi + 0x7d2], bp
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
xor edi, edi
cmp word [esi + 0x7d2], di
jle 0x517583
lea ebx, [ebx]
push 0x2d
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x5174ec
fadd dword [0x871554]
fsub qword [0x867830]
push 3
lea edx, [esp + 0x440]
push edx
fstp dword [esp + 0x444]
push 1
fld dword [0x85b3b0]
fstp dword [esp + 0x44c]
fldz
fstp dword [esp + 0x450]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c878]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea ecx, [eax*8]
fld dword [esp + 0x20]
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 0x32f
call fcn.0046eb30
movsx edx, word [esi + 0x7d2]
add edi, 1
cmp edi, edx
jl 0x5174d0
push ebp
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], bx
jne 0x51e16a
movsx eax, byte [esi + 0x6a5]
cmp eax, 4
ja case.default.0x5175db
jmp dword [eax*4 + 0x51e678]
mov word [esi + 0x7d2], 4
jmp case.default.0x5175db
mov word [esi + 0x7d2], bp
jmp case.default.0x5175db
mov word [esi + 0x7d2], bx
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
xor edi, edi
cmp word [esi + 0x7d2], di
jle 0x5169f8
nop
push 0x2d
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51763c
fadd dword [0x871554]
fsub qword [0x871520]
push 3
lea ecx, [esp + 0x320]
push ecx
fstp dword [esp + 0x324]
push 1
fld dword [0x85b3b0]
mov ecx, esi
fstp dword [esp + 0x32c]
fldz
fstp dword [esp + 0x330]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c878]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea edx, [eax*8]
fld dword [esp + 0x20]
sub edx, eax
sub esp, 8
add edx, edx
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x32f
call fcn.0046eb30
movsx eax, word [esi + 0x7d2]
add edi, 1
cmp edi, eax
jl 0x517620
jmp 0x5169f8
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], 0
jne 0x5176ef
mov byte [esi + 0x7f4], 0
mov ebp, 1
cmp word [esi + 0x13e], bp
jne 0x517709
cmp dword [esi + 0x144], ebx
jg 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51771f
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
mov edi, 5
lea ebx, [edi + 1]
jne 0x517914
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x517914
cmp word [esi + 0x140], 8
jne 0x5177ba
cmp byte [esi + 0x7f4], 1
jne 0x5177ba
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 [0x85b408]
push 0xffffffffffffffff
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
mov ecx, eax
sub esp, 8
shl ecx, 5
add ecx, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
test ax, ax
jne 0x517914
cmp word [esi + 0x140], 0xa
jne 0x517914
mov al, byte [esi + 0x6a9]
cmp al, 3
mov dword [esp + 0x10], 4
jl 0x5177e7
mov dword [esp + 0x10], edi
cmp al, 4
jl 0x5177ef
mov dword [esp + 0x10], ebx
fldz
fstp dword [esp + 0x20]
fild dword [esp + 0x10]
fst qword [esp + 0x28]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x5178ee
mov edi, edi
push 0x50
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x517829
fadd dword [0x871554]
fmul qword [0x867840]
push 0x46
fadd qword [0x859910]
fstp dword [esp + 0x3fc]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x517858
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0x3f8]
push edx
fadd qword [0x859900]
push ebp
mov ecx, esi
fstp dword [esp + 0x404]
fldz
fstp dword [esp + 0x408]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857b20]
push eax
movsx eax, al
imul eax, eax, 0x7c
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x330
call fcn.0046eb30
fld dword [esp + 0x20]
fadd qword [0x8677c8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x517810
push 3
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebp
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
cmp dword [esi + 0x144], 0
jne 0x51793e
cmp word [esi + 0x142], 0
jne 0x51793e
cmp word [esi + 0x140], 0
jne 0x51793e
cmp word [esi + 0x13e], bp
je 0x510831
mov eax, 2
cmp word [esi + 0x13e], ax
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], ax
jne 0x51e16a
mov al, byte [esi + 0x6a9]
cmp al, 6
mov dword [esp + 0x10], edi
jl 0x51797d
mov dword [esp + 0x10], edi
cmp al, 7
jl 0x517985
mov dword [esp + 0x10], ebx
fldz
fstp dword [esp + 0x20]
fild dword [esp + 0x10]
fst qword [esp + 0x28]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x517a82
push 0x50
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x5179bd
fadd dword [0x871554]
fmul qword [0x867840]
push 0x46
fadd qword [0x859910]
fstp dword [esp + 0x33c]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x5179ec
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea ecx, [esp + 0x338]
push ecx
fadd qword [0x859900]
push ebp
mov ecx, esi
fstp dword [esp + 0x344]
fldz
fstp dword [esp + 0x348]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movsx edx, al
imul edx, edx, 0x7c
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x330
call fcn.0046eb30
fld dword [esp + 0x20]
fadd qword [0x8677c8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x5179a4
push 3
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], ebp
jmp 0x515fd9
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x517aad
mov byte [esi + 0x7f4], 0
mov ebp, 1
cmp word [esi + 0x13e], bp
jne 0x517ac7
cmp dword [esi + 0x144], ebx
jg 0x514101
mov ecx, esi
call fcn.00438c60
test al, al
je 0x517add
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
mov edi, 5
lea ebx, [edi + 1]
jne 0x517cd4
movzx eax, word [esi + 0x142]
test ax, ax
jne 0x517cd4
cmp word [esi + 0x140], 8
jne 0x517b78
cmp byte [esi + 0x7f4], 1
jne 0x517b78
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 [0x85b408]
push 0xffffffffffffffff
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
mov ecx, eax
sub esp, 8
shl ecx, 5
add ecx, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x3e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
test ax, ax
jne 0x517cd4
cmp word [esi + 0x140], 0xa
jne 0x517cd4
mov al, byte [esi + 0x6a9]
cmp al, 3
mov dword [esp + 0x10], 4
jl 0x517ba5
mov dword [esp + 0x10], edi
cmp al, 4
jl 0x517bad
mov dword [esp + 0x10], ebx
fldz
fstp dword [esp + 0x20]
fild dword [esp + 0x10]
fst qword [esp + 0x28]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x517cae
lea esp, [esp]
push 0x3c
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x517be9
fadd dword [0x871554]
fmul qword [0x867840]
push 0x46
fadd qword [0x857db0]
fstp dword [esp + 0x1bc]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x517c18
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0x1b8]
push edx
fadd qword [0x859900]
push ebp
mov ecx, esi
fstp dword [esp + 0x1c4]
fldz
fstp dword [esp + 0x1c8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857b20]
push eax
movsx eax, al
imul eax, eax, 0x7c
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x330
call fcn.0046eb30
fld dword [esp + 0x20]
fadd qword [0x8677c8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x517bd0
push 3
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebp
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
cmp dword [esi + 0x144], 0
jne 0x517cfe
cmp word [esi + 0x142], 0
jne 0x517cfe
cmp word [esi + 0x140], 0
jne 0x517cfe
cmp word [esi + 0x13e], bp
je 0x510831
mov eax, 2
cmp word [esi + 0x13e], ax
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], ax
jne 0x51e16a
mov al, byte [esi + 0x6a9]
cmp al, 3
mov dword [esp + 0x10], edi
jl 0x517d3d
mov dword [esp + 0x10], ebx
cmp al, 4
jl 0x517d49
mov dword [esp + 0x10], 7
fldz
fstp dword [esp + 0x20]
fild dword [esp + 0x10]
fst qword [esp + 0x28]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x517e46
push 0x3c
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x517d81
fadd dword [0x871554]
fmul qword [0x867840]
push 0x46
fadd qword [0x857db0]
fstp dword [esp + 0x1c8]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x517db0
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea ecx, [esp + 0x1c4]
push ecx
fadd qword [0x859900]
push ebp
mov ecx, esi
fstp dword [esp + 0x1d0]
fldz
fstp dword [esp + 0x1d4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movsx edx, al
imul edx, edx, 0x7c
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
mov dword [esp + 0x28], edx
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x330
call fcn.0046eb30
fld dword [esp + 0x20]
fadd qword [0x8677c8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x517d68
push 3
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], ebp
jmp 0x515fd9
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x760], 0
jne 0x517e71
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x517e87
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 3
jne 0x51e16a
fld dword [0x871538]
push 3
fstp dword [esp + 0x1dc]
lea eax, [esp + 0x1dc]
fld dword [0x85b870]
push eax
fstp dword [esp + 0x1e4]
push 1
fldz
fstp dword [esp + 0x1ec]
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x857b20]
push ecx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fstp dword [esp]
push 0x331
call fcn.0046eb30
push 0x28
jmp 0x515fc8
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x764], 0
jne 0x517f36
mov byte [esi + 0x7f4], 0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x517f4c
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 3
jne 0x51e16a
fld dword [0x871538]
push 3
fstp dword [esp + 0x1f4]
lea ecx, [esp + 0x1f4]
fld dword [0x85b870]
push ecx
fstp dword [esp + 0x1fc]
push 1
fld dword [0x85bc44]
fstp dword [esp + 0x204]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x857b20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
jmp 0x517efc
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 2
jne 0x517fe8
cmp dword [esi + 0x144], 0x14
jge 0x514101
mov ecx, esi
call fcn.00438c60
test al, al
je 0x517ffe
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x518208
cmp word [esi + 0x140], 3
jne 0x518208
cmp word [esi + 0x142], 0
jne 0x518208
push 3
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
fld dword [0x867860]
fstp dword [esp + 0x44]
push 4
fld dword [0x85b3b0]
lea eax, [esp + 0x48]
fstp dword [esp + 0x4c]
push eax
fldz
push 0xffffffffffffffff
fstp dword [esp + 0x58]
fld dword [0x86782c]
fstp dword [esp + 0x5c]
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x85b900]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x85bc70]
fstp dword [esp + 0x44]
push 4
fld dword [0x85b3b0]
lea edx, [esp + 0x48]
fstp dword [esp + 0x4c]
push edx
fld dword [0x85b870]
push 0xffffffffffffffff
fstp dword [esp + 0x5c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85b900]
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x867810]
fstp dword [esp + 0x44]
push 4
fld dword [0x85b9d4]
lea ecx, [esp + 0x48]
fstp dword [esp + 0x4c]
push ecx
fld dword [0x85b3b0]
push 0xffffffffffffffff
fstp dword [esp + 0x5c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x85b900]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x85ac54]
fstp dword [esp + 0x44]
push 4
fld dword [0x85b9d4]
lea eax, [esp + 0x48]
fstp dword [esp + 0x4c]
push eax
fldz
push 0xffffffffffffffff
fstp dword [esp + 0x5c]
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x85b900]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 4
jmp 0x51082b
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 2
jne 0x51825c
cmp dword [esi + 0x144], 0x14
jge 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x518272
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51847a
cmp word [esi + 0x140], 3
jne 0x51847a
cmp word [esi + 0x142], 0
jne 0x51847a
push 3
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
fld dword [0x85b870]
fstp dword [esp + 0x64]
push 4
fld dword [0x85c894]
lea ecx, [esp + 0x68]
fstp dword [esp + 0x6c]
push ecx
fldz
push 0xffffffffffffffff
fst dword [esp + 0x78]
mov ecx, esi
fstp dword [esp + 0x7c]
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x85b900]
push edx
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x86782c]
fstp dword [esp + 0x64]
push 4
fld dword [0x85c894]
lea eax, [esp + 0x68]
fstp dword [esp + 0x6c]
push eax
fld dword [0x85b870]
push 0xffffffffffffffff
fstp dword [esp + 0x7c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ecx
fadd qword [0x85b900]
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x85b870]
fstp dword [esp + 0x64]
push 4
fld dword [0x858830]
lea edx, [esp + 0x68]
fstp dword [esp + 0x6c]
push edx
fld dword [0x86782c]
push 0xffffffffffffffff
fstp dword [esp + 0x7c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85b900]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x86782c]
fstp dword [esp + 0x64]
push 4
fld dword [0x858830]
lea ecx, [esp + 0x68]
fstp dword [esp + 0x6c]
push ecx
fld dword [0x85b3b0]
push 0xffffffffffffffff
fstp dword [esp + 0x7c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x85b900]
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 4
jmp 0x51327e
mov edi, 8
cmp word [esi + 0x13e], di
jne 0x5184c5
mov ecx, esi
call fcn.00487ca0
movzx eax, word [esi + 0x13e]
cmp ax, 2
jne 0x5184f8
cmp dword [esi + 0x144], 0x14
jl 0x5184f8
mov eax, dword [esi]
fld dword [0x8677a8]
mov edx, dword [eax + 0x14]
fstp dword [esi + 0x100]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp ax, 3
je 0x518504
cmp ax, 7
jne 0x518530
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x518530
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push edi
mov ecx, esi
call edx
jmp 0x510ad8
mov ecx, esi
call fcn.00438c60
test al, al
je 0x518546
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x518750
cmp word [esi + 0x140], 3
jne 0x518750
cmp word [esi + 0x142], 0
jne 0x518750
push 3
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
fld dword [0x867860]
fstp dword [esp + 0x34]
push 4
fld dword [0x85b3b0]
lea eax, [esp + 0x38]
fstp dword [esp + 0x3c]
push eax
fldz
push 0xffffffffffffffff
fstp dword [esp + 0x48]
fld dword [0x86782c]
fstp dword [esp + 0x4c]
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x85b900]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x85bc70]
fstp dword [esp + 0x34]
push 4
fld dword [0x85b3b0]
lea edx, [esp + 0x38]
fstp dword [esp + 0x3c]
push edx
fld dword [0x85b870]
push 0xffffffffffffffff
fstp dword [esp + 0x4c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85b900]
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x867810]
fstp dword [esp + 0x34]
push 4
fld dword [0x85b9d4]
lea ecx, [esp + 0x38]
fstp dword [esp + 0x3c]
push ecx
fld dword [0x85b3b0]
push 0xffffffffffffffff
fstp dword [esp + 0x4c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x85b900]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x85ac54]
fstp dword [esp + 0x34]
push 4
fld dword [0x85b9d4]
lea eax, [esp + 0x38]
fstp dword [esp + 0x3c]
push eax
fldz
push 0xffffffffffffffff
fstp dword [esp + 0x4c]
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x85b900]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x51e16a
cmp word [esi + 0x142], ax
jne 0x51877a
cmp word [esi + 0x140], ax
jne 0x51877a
cmp word [esi + 0x13e], 4
je 0x5187a9
test eax, eax
jne 0x51e16a
cmp word [esi + 0x142], ax
jne 0x51e16a
cmp word [esi + 0x140], ax
jne 0x51e16a
cmp word [esi + 0x13e], di
jne 0x51e16a
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 edi, 8
cmp word [esi + 0x13e], di
jne 0x5187d1
mov ecx, esi
call fcn.00487ca0
movzx eax, word [esi + 0x13e]
cmp ax, 2
jne 0x518804
cmp dword [esi + 0x144], 0x14
jl 0x518804
mov edx, dword [esi]
fld dword [0x8677a8]
mov eax, dword [edx + 0x14]
fstp dword [esi + 0x100]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp ax, 3
je 0x518810
cmp ax, 7
jne 0x518838
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x518838
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push edi
jmp 0x510ad4
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51884e
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x518a56
cmp word [esi + 0x140], 3
jne 0x518a56
cmp word [esi + 0x142], 0
jne 0x518a56
push 3
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
fld dword [0x85b870]
fstp dword [esp + 0x54]
push 4
fld dword [0x85c894]
lea ecx, [esp + 0x58]
fstp dword [esp + 0x5c]
push ecx
fldz
push 0xffffffffffffffff
fst dword [esp + 0x68]
mov ecx, esi
fstp dword [esp + 0x6c]
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x85b900]
push edx
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x86782c]
fstp dword [esp + 0x54]
push 4
fld dword [0x85c894]
lea eax, [esp + 0x58]
fstp dword [esp + 0x5c]
push eax
fld dword [0x85b870]
push 0xffffffffffffffff
fstp dword [esp + 0x6c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ecx
fadd qword [0x85b900]
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x85b870]
fstp dword [esp + 0x54]
push 4
fld dword [0x858830]
lea edx, [esp + 0x58]
fstp dword [esp + 0x5c]
push edx
fld dword [0x86782c]
push 0xffffffffffffffff
fstp dword [esp + 0x6c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85b900]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
fld dword [0x86782c]
fstp dword [esp + 0x54]
push 4
fld dword [0x858830]
lea ecx, [esp + 0x58]
fstp dword [esp + 0x5c]
push ecx
fld dword [0x85b3b0]
push 0xffffffffffffffff
fstp dword [esp + 0x6c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x85b900]
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x334
call fcn.0046eb30
mov eax, dword [esi + 0x144]
test eax, eax
jne 0x51e16a
cmp word [esi + 0x142], ax
jne 0x518a84
cmp word [esi + 0x140], ax
jne 0x518a84
cmp word [esi + 0x13e], 4
je 0x515d11
test eax, eax
jne 0x51e16a
cmp word [esi + 0x142], ax
jne 0x51e16a
cmp word [esi + 0x140], ax
jne 0x51e16a
cmp word [esi + 0x13e], di
jmp 0x515d0b
mov ecx, esi
call fcn.00487ca0
movzx eax, word [esi + 0x13e]
mov edi, 1
cmp ax, di
je 0x518ad4
cmp ax, 2
jne 0x518be8
mov eax, dword [esi + 0x144]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x518be8
cmp word [esi + 0x7d0], 4
jg 0x518be8
call fcn.004098d0
xor edx, edx
mov ecx, 0x6e
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x518b18
fadd dword [0x871554]
fsub qword [0x858ef0]
fstp dword [esp + 0x138]
call fcn.004098d0
xor edx, edx
mov ecx, 0xaa
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x518b45
fadd dword [0x871554]
fadd qword [0x871520]
push 0x64
fstp dword [esp + 0x140]
fldz
fstp dword [esp + 0x144]
call fcn.004099f0
add esp, 4
cmp eax, 0x32
ja 0x518b73
mov word [esi + 0x7d2], di
jmp 0x518b7c
mov word [esi + 0x7d2], 0xffff
movzx ecx, byte [esi + 0x7d2]
fld dword [esi + 0xf0]
fadd dword [esp + 0x13c]
movzx eax, byte [esi + 0x104]
push 3
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea edx, [esp + 0x13c]
push edx
push ecx
push eax
movsx edx, al
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fmul dword [esp + 0x150]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x335
call fcn.0046eb30
add word [esi + 0x7d0], di
cmp word [esi + 0x13e], 2
jne 0x518c0f
movsx eax, byte [esi + 0x6aa]
lea eax, [eax + eax*2]
mov ecx, 0x2b
sub ecx, eax
cmp dword [esi + 0x144], ecx
jge 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x518c25
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x518208
cmp word [esi + 0x140], 0
jne 0x518208
cmp word [esi + 0x13e], di
jne 0x518208
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
jmp 0x518208
mov ecx, esi
call fcn.00487ca0
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x518de7
mov eax, dword [esi + 0x144]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x518daf
movsx edx, byte [esi + 0x6aa]
movsx eax, word [esi + 0x7d0]
add edx, 4
cmp eax, edx
jg 0x518daf
call fcn.004098d0
xor edx, edx
mov ecx, 0x6e
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x518cdf
fadd dword [0x871554]
fsub qword [0x858ef0]
fstp dword [esp + 0x15c]
call fcn.004098d0
xor edx, edx
mov ecx, 0xaa
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x518d0c
fadd dword [0x871554]
fadd qword [0x871520]
push 0x64
fstp dword [esp + 0x164]
fldz
fstp dword [esp + 0x168]
call fcn.004099f0
add esp, 4
cmp eax, 0x32
ja 0x518d3a
mov word [esi + 0x7d2], di
jmp 0x518d43
mov word [esi + 0x7d2], 0xffff
movzx ecx, byte [esi + 0x7d2]
fld dword [esi + 0xf0]
fadd dword [esp + 0x160]
movzx eax, byte [esi + 0x104]
push 3
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea edx, [esp + 0x160]
push edx
push ecx
push eax
movsx edx, al
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fmul dword [esp + 0x174]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x335
call fcn.0046eb30
add word [esi + 0x7d0], di
cmp word [esi + 0x13e], di
jne 0x518de7
movsx eax, byte [esi + 0x6aa]
lea ecx, [eax*4 + 0x32]
cmp dword [esi + 0x144], ecx
jl 0x518de7
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fldz
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 0x518dfd
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], di
jne 0x51e16a
fld dword [0x85b870]
fstp dword [esi + 0xf4]
jmp 0x515fd9
mov edi, 4
cmp word [esi + 0x13e], di
jne 0x518e59
mov ecx, esi
call fcn.00487ca0
movzx eax, word [esi + 0x13e]
cmp ax, 1
je 0x518e70
cmp ax, 2
jne 0x518f87
mov eax, dword [esi + 0x144]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x518f87
cmp word [esi + 0x7d0], 6
jg 0x518f87
call fcn.004098d0
xor edx, edx
mov ecx, 0x6e
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x518eb4
fadd dword [0x871554]
fsub qword [0x858ef0]
fstp dword [esp + 0x150]
call fcn.004098d0
xor edx, edx
mov ecx, 0xaa
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x518ee1
fadd dword [0x871554]
fadd qword [0x871520]
push 0x64
fstp dword [esp + 0x158]
fldz
fstp dword [esp + 0x15c]
call fcn.004099f0
add esp, 4
cmp eax, 0x32
ja 0x518f11
mov word [esi + 0x7d2], 1
jmp 0x518f1a
mov word [esi + 0x7d2], 0xffff
movzx ecx, byte [esi + 0x7d2]
fld dword [esi + 0xf0]
fadd dword [esp + 0x154]
movzx eax, byte [esi + 0x104]
push 3
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea edx, [esp + 0x154]
push edx
push ecx
push eax
movsx edx, al
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fmul dword [esp + 0x168]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x335
call fcn.0046eb30
add word [esi + 0x7d0], 1
movzx eax, word [esi + 0x13e]
cmp ax, 2
jne 0x518fa4
cmp dword [esi + 0x144], 0x14
jge 0x514101
cmp ax, ax
jg 0x518fb8
fld dword [esi + 0xf8]
fsub qword [0x867840]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], 3
jne 0x519004
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x519004
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51901a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51905c
cmp word [esi + 0x140], 0
jne 0x51905c
cmp word [esi + 0x13e], 1
jne 0x51905c
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], di
jmp 0x515d0b
mov edi, 4
cmp word [esi + 0x13e], di
jne 0x5190a6
mov ecx, esi
call fcn.00487ca0
movzx eax, word [esi + 0x13e]
cmp ax, 1
je 0x5190bd
cmp ax, 2
jne 0x5191d4
mov eax, dword [esi + 0x144]
cdq
mov ecx, 7
idiv ecx
test edx, edx
jne 0x5191d4
cmp word [esi + 0x7d0], 0xa
jg 0x5191d4
call fcn.004098d0
xor edx, edx
mov ecx, 0x6e
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x519101
fadd dword [0x871554]
fsub qword [0x858ef0]
fstp dword [esp + 0x144]
call fcn.004098d0
xor edx, edx
mov ecx, 0xaa
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x51912e
fadd dword [0x871554]
fadd qword [0x871520]
push 0x64
fstp dword [esp + 0x14c]
fldz
fstp dword [esp + 0x150]
call fcn.004099f0
add esp, 4
cmp eax, 0x32
ja 0x51915e
mov word [esi + 0x7d2], 1
jmp 0x519167
mov word [esi + 0x7d2], 0xffff
movzx ecx, byte [esi + 0x7d2]
fld dword [esi + 0xf0]
fadd dword [esp + 0x148]
movzx eax, byte [esi + 0x104]
push 3
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea edx, [esp + 0x148]
push edx
push ecx
push eax
movsx edx, al
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fmul dword [esp + 0x15c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x335
call fcn.0046eb30
add word [esi + 0x7d0], 1
movzx eax, word [esi + 0x13e]
cmp ax, 2
jne 0x5191f1
cmp dword [esi + 0x144], 0x32
jge 0x514101
cmp ax, ax
jg 0x519205
fld dword [esi + 0xf8]
fsub qword [0x867840]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], 3
jne 0x519004
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x518fdf
jmp 0x519004
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x519256
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x140], 3
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
push 3
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
fld dword [0x85bca4]
mov al, byte [esi + 0x6ae]
fstp dword [esp + 0x20]
cmp al, 2
fld dword [0x85b3b0]
fstp dword [esp + 0x1c]
fld dword [0x86782c]
fld dword [0x867810]
jl 0x5192e0
fst dword [esp + 0x20]
fxch st(1)
fst dword [esp + 0x1c]
fxch st(1)
cmp al, 3
jl 0x5192f6
fxch st(1)
fstp dword [esp + 0x20]
fld dword [0x85bc44]
fstp dword [esp + 0x1c]
jmp 0x5192f8
fstp st(1)
cmp al, 4
jl 0x51930c
fld dword [0x858830]
fstp dword [esp + 0x20]
fstp dword [esp + 0x1c]
jmp 0x51930e
fstp st(0)
fldz
fstp dword [esp + 0x10]
fld dword [esp + 0x20]
fst qword [esp + 0x28]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x51e16a
fld dword [esp + 0x10]
mov edi, 0xc
fmul dword [esp + 0x1c]
push edi
fsub qword [0x85b400]
fstp dword [esp + 0x4d4]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x51935f
fadd dword [0x871554]
fadd qword [0x858010]
push 8
fstp dword [esp + 0x4dc]
fldz
fstp dword [esp + 0x4e0]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x519391
fadd dword [0x871554]
fstp dword [esp + 0x4dc]
push 5
fldz
lea eax, [esp + 0x4d4]
fstp dword [esp + 0x4e4]
push eax
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
fadd qword [0x85b900]
push 0xffffffffffffffff
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call fcn.0046eb30
fld dword [esp + 0x10]
fadd qword [0x8677c8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcom qword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x519336
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51942d
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x140], 3
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
push 3
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], 1
call fcn.00487870
fld dword [0x85bca4]
mov al, byte [esi + 0x6ae]
fstp dword [esp + 0x10]
cmp al, 2
fld dword [0x85b3b0]
fstp dword [esp + 0x20]
fld dword [0x86782c]
fld dword [0x867810]
jl 0x5194b7
fst dword [esp + 0x10]
fxch st(1)
fst dword [esp + 0x20]
fxch st(1)
cmp al, 3
jl 0x5194cd
fxch st(1)
fstp dword [esp + 0x10]
fld dword [0x85bc44]
fstp dword [esp + 0x20]
jmp 0x5194cf
fstp st(1)
cmp al, 4
jl 0x5194e3
fld dword [0x858830]
fstp dword [esp + 0x10]
fstp dword [esp + 0x20]
jmp 0x5194e5
fstp st(0)
fldz
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fst qword [esp + 0x28]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x51e16a
fld dword [esp + 0x1c]
mov edi, 0xc
fmul dword [esp + 0x20]
push edi
fsub qword [0x85b400]
fstp dword [esp + 0x4e8]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x519536
fadd dword [0x871554]
fadd qword [0x858010]
push 8
fstp dword [esp + 0x4f0]
fldz
fstp dword [esp + 0x4f4]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x519568
fadd dword [0x871554]
fstp dword [esp + 0x4f0]
push 5
fld dword [0x85bca4]
lea ecx, [esp + 0x4e8]
fstp dword [esp + 0x4f8]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ecx
fadd qword [0x85b900]
push 0xffffffffffffffff
push edx
sub esp, 8
fstp dword [esp + 0x28]
mov ecx, esi
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call fcn.0046eb30
fld dword [esp + 0x1c]
fadd qword [0x8677c8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom qword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x51950d
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp dword [esi + 0x144], 0
jne 0x519623
cmp word [esi + 0x142], 0
jne 0x519623
cmp word [esi + 0x140], 0
jne 0x519623
mov eax, 1
cmp word [esi + 0x13e], ax
jne 0x519623
mov dword [esi + 0x190], eax
movzx eax, word [esi + 0x13e]
cmp ax, 1
mov ebp, 0xa
jne 0x519641
cmp dword [esi + 0x144], ebp
jge 0x514101
cmp ax, 2
jne 0x519653
cmp dword [esi + 0x144], ebp
jge 0x514101
mov ecx, esi
call fcn.00438c60
test al, al
je 0x519669
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
push 3
mov ecx, esi
call fcn.00464980
jmp 0x515fd9
mov ecx, esi
call fcn.00487ca0
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x5196d5
cmp dword [esi + 0x144], 0xc
jle 0x5196d5
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 2
jne 0x5196f1
cmp dword [esi + 0x144], 0x12
jle 0x5196f1
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
mov ecx, esi
call fcn.00438c60
test al, al
je 0x519707
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 6
jne 0x51e16a
push 3
mov ecx, esi
call fcn.00464980
mov dword [esi + 0x190], edi
jmp 0x515fd9
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 0
mov edi, 1
jne 0x51976a
cmp dword [esi + 0x144], edi
jne 0x51976a
mov byte [esi + 0x8bc], 0
cmp word [esi + 0x13e], di
jne 0x519785
cmp dword [esi + 0x144], 0xc
jle 0x519785
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
cmp word [esi + 0x13e], 2
jne 0x5196f1
cmp dword [esi + 0x144], 0x21
jmp 0x5196e6
mov edi, 4
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x5198f4
call fcn.00487ca0
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x5197d8
cmp dword [esi + 0x144], 0x14
jle 0x5197d8
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
mov ebp, 2
cmp word [esi + 0x13e], bp
jne 0x5197f8
cmp dword [esi + 0x144], 0xa
jle 0x5197f8
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51980e
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x51983f
cmp word [esi + 0x142], 0
jne 0x51983f
cmp word [esi + 0x140], 0
jne 0x51983f
cmp word [esi + 0x13e], di
jne 0x51983f
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x5198b7
cmp word [esi + 0x142], 0
jne 0x5198b7
cmp word [esi + 0x140], bp
jne 0x519862
mov byte [esi + 0x8bc], bl
cmp word [esi + 0x142], 0
jne 0x5198b7
cmp word [esi + 0x140], 3
jne 0x51987d
mov byte [esi + 0x8bc], 0
cmp word [esi + 0x142], 0
jne 0x5198b7
cmp word [esi + 0x140], 6
jne 0x5198b7
push 3
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
mov dword [esi + 0x190], ebx
call fcn.0047a9e0
push 0x32
mov ecx, esi
call fcn.00487870
cmp word [esi + 0x13e], 3
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], bp
jne 0x51e16a
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 0x5197b8
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.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x519956
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x142], 0
jne 0x519a32
cmp word [esi + 0x140], 8
jne 0x519a32
push 3
mov ecx, esi
call fcn.00464980
push 0x2d
push 0xc8
mov ecx, esi
call fcn.0047a9e0
mov edi, 1
push 0x32
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00487870
add word [esi + 0x890], di
movzx eax, word [esi + 0x890]
cmp ax, 3
jl 0x5199ba
mov word [esi + 0x890], 3
fldz
push 3
fst dword [esp + 0x20c]
lea ecx, [esp + 0x20c]
fstp dword [esp + 0x210]
push ecx
movsx eax, word [esi + 0x890]
mov dword [esp + 0x18], eax
push 0xffffffffffffffff
mov ecx, esi
fild dword [esp + 0x1c]
fstp dword [esp + 0x21c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x85b900]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x33e
call fcn.0046eb30
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 4
jmp 0x51327e
mov edi, 4
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x519a7f
call fcn.00487ca0
jmp 0x519a9e
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x519913
cmp word [esi + 0x13e], 0
mov ebx, 1
jne 0x519abc
cmp dword [esi + 0x144], ebx
jne 0x519abc
mov byte [esi + 0x8bc], 0
cmp word [esi + 0x13e], bx
jne 0x519ad7
cmp dword [esi + 0x144], 0x18
jle 0x519ad7
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
mov ebp, 2
cmp word [esi + 0x13e], bp
jne 0x519af7
cmp dword [esi + 0x144], 0x15
jle 0x519af7
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
mov ecx, esi
call edx
mov ecx, esi
call fcn.00438c60
test al, al
je 0x519b0d
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x519b3e
cmp word [esi + 0x142], 0
jne 0x519b3e
cmp word [esi + 0x140], 0
jne 0x519b3e
cmp word [esi + 0x13e], di
jne 0x519b3e
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 9
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x5198b7
cmp word [esi + 0x142], 0
jne 0x5198b7
cmp word [esi + 0x140], bp
jne 0x519862
mov byte [esi + 0x8bc], 1
jmp 0x519862
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 2
jne 0x519b91
cmp dword [esi + 0x144], 0x12
jge 0x514101
mov ecx, esi
call fcn.00438c60
test al, al
je 0x519ba7
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x519d78
cmp word [esi + 0x140], 0
jne 0x519d78
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x519d78
push 0xd
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00487870
movzx eax, word [esi + 0x892]
test ax, ax
jle 0x519c77
movsx ecx, ax
movsx eax, byte [esi + 0x104]
fld dword [esi + ecx*4 + 0x898]
fsub dword [esi + 0xec]
mov dword [esp + 0x10], eax
imul eax, eax, 0xd
mov dword [esp + 0x20], eax
sub esp, 8
fisub dword [esp + 0x28]
fimul dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [esi + ecx*4 + 0x8a8]
fsub dword [esi + 0xf0]
fsub qword [0x85c1f0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409760
add esp, 8
fchs
jmp 0x519c79
fldz
fstp dword [esp + 0x9c]
fld dword [0x85bbe4]
fstp dword [esp + 0xa0]
cmp byte [esi + 0x6af], 4
jl 0x519c9e
fld dword [0x871538]
jmp 0x519ca0
fldz
fstp dword [esp + 0xa4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1f0]
push 4
imul edx, edx, 0xd
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0xa0]
push ecx
push 0xffffffffffffffff
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fldz
fst dword [esp + 0x9c]
push 4
fstp dword [esp + 0xa4]
lea ecx, [esp + 0xa0]
fld dword [0x8589f0]
push ecx
fstp dword [esp + 0xac]
push 0xffffffffffffffff
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c1f0]
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0xd
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x33b
mov ecx, esi
call fcn.0046eb30
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 4
jmp 0x51327e
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 2
jne 0x519dcc
cmp dword [esi + 0x144], 0x12
jge 0x514101
mov ecx, esi
call fcn.00438c60
test al, al
je 0x519de2
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x519d78
cmp word [esi + 0x140], 0
jne 0x519d78
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x519d78
push 0xd
mov ecx, esi
call fcn.00464980
push 0x78
push 0xc8
mov ecx, esi
call fcn.0047a9e0
push 0x32
mov ecx, esi
mov dword [esi + 0x190], edi
call fcn.00487870
movzx eax, word [esi + 0x892]
test ax, ax
jle 0x519eb2
movsx ecx, ax
movsx eax, byte [esi + 0x104]
fld dword [esi + ecx*4 + 0x898]
fsub dword [esi + 0xec]
mov dword [esp + 0x10], eax
imul eax, eax, 0xd
mov dword [esp + 0x20], eax
sub esp, 8
fisub dword [esp + 0x28]
fimul dword [esp + 0x18]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [esi + ecx*4 + 0x8a8]
fsub dword [esi + 0xf0]
fsub qword [0x85c1f0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409760
add esp, 8
fchs
jmp 0x519eb4
fldz
fstp dword [esp + 0x84]
fld dword [0x85bbe4]
fstp dword [esp + 0x88]
cmp byte [esi + 0x6af], 4
jl 0x519ed9
fld dword [0x85bca4]
jmp 0x519edf
fld dword [0x85b870]
fstp dword [esp + 0x8c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
movsx edx, al
fadd qword [0x85c1f0]
push 4
imul edx, edx, 0xd
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea ecx, [esp + 0x88]
push ecx
push 0xffffffffffffffff
push eax
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x33b
call fcn.0046eb30
fldz
fst dword [esp + 0x84]
push 4
fstp dword [esp + 0x8c]
lea ecx, [esp + 0x88]
fld dword [0x8589f0]
push ecx
fstp dword [esp + 0x94]
push 0xffffffffffffffff
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c1f0]
movsx edx, al
push eax
sub esp, 8
imul edx, edx, 0xd
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
mov dword [esp + 0x28], edx
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
jmp 0x519d69
mov ecx, esi
call fcn.00487ca0
mov ebx, 2
push ebx
push 3
mov ecx, esi
call fcn.0046b370
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x519fde
cmp dword [esi + 0x144], 0x27
jge 0x514101
mov ecx, esi
call fcn.00438c60
test al, al
je 0x519ff4
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp dword [esi + 0x144], 0
jne 0x51a0a9
cmp word [esi + 0x142], 0
jne 0x51a0a9
cmp word [esi + 0x140], 0
jne 0x51a0a9
cmp word [esi + 0x13e], di
jne 0x51a0a9
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c178]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub esp, 8
add ecx, eax
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 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 + 0x13e], bx
jne 0x51e16a
cmp word [esi + 0x140], bx
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
push 0x14
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x220]
push 3
fst dword [esp + 0x228]
lea edx, [esp + 0x224]
fstp dword [esp + 0x22c]
push edx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85b900]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x7d
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x352
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], 1
jne 0x51a17b
cmp dword [esi + 0x144], 0x27
jge 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51a191
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x51a227
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857b20]
movsx ecx, al
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
imul ecx, ecx, 0x2c
push 1
push eax
sub esp, 8
mov dword [esp + 0x20], ecx
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 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 0x51e16a
cmp word [esi + 0x140], 6
jne 0x51e16a
push 0x16
mov ecx, esi
call fcn.00464980
xor edi, edi
mov dword [esp + 0x10], edi
fldz
push 4
fst dword [esp + 0x464]
lea edx, [esp + 0x464]
fst dword [esp + 0x468]
push edx
fstp dword [esp + 0x470]
push 0xffffffffffffffff
fild dword [esp + 0x1c]
mov ecx, esi
fstp dword [esp + 0x478]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c1d0]
movsx eax, al
fstp dword [esp + 0x20]
sub esp, 8
fld dword [esp + 0x28]
shl eax, 5
mov dword [esp + 0x28], eax
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x353
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x168
mov dword [esp + 0x10], edi
jl 0x51a252
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], 1
jne 0x51a317
cmp dword [esi + 0x144], 0x3c
jle 0x51a317
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x13e], 2
jne 0x51a333
cmp dword [esi + 0x144], 0x12
jle 0x51a333
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51a349
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 3
jne 0x51a3f5
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c870]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub ecx, eax
sub esp, 8
add ecx, ecx
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push 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 0x51e16a
cmp word [esi + 0x140], 4
jne 0x51e16a
fldz
push 3
fst dword [esp + 0x23c]
lea edx, [esp + 0x23c]
fst dword [esp + 0x240]
push edx
fstp dword [esp + 0x248]
push 0xffffffffffffffff
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c548]
push eax
movsx eax, al
fstp dword [esp + 0x20]
imul eax, eax, 0x32
fld dword [esp + 0x20]
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 0x354
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 5
cmp word [esi + 0x13e], di
mov ecx, esi
jne 0x51a66f
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], 1
jne 0x51a4ca
cmp dword [esi + 0x144], 0x3c
jle 0x51a4ca
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x13e], 2
jne 0x51a4e6
cmp dword [esi + 0x144], 0x12
jle 0x51a4e6
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51a4fc
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x51a52f
cmp word [esi + 0x142], 0
jne 0x51a52f
cmp word [esi + 0x140], 0
jne 0x51a52f
cmp word [esi + 0x13e], 4
jne 0x51a52f
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], di
jne 0x51a5da
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c870]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub ecx, eax
sub esp, 8
add ecx, ecx
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push 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 0x51e16a
cmp word [esi + 0x140], 6
jne 0x51e16a
fldz
push 3
fst dword [esp + 0x254]
lea edx, [esp + 0x254]
fst dword [esp + 0x258]
push edx
fstp dword [esp + 0x260]
push 0xffffffffffffffff
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c548]
push eax
movsx eax, al
fstp dword [esp + 0x20]
imul eax, eax, 0x32
fld dword [esp + 0x20]
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 0x354
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x51a4a3
mov ecx, esi
call fcn.004636b0
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push edi
mov ecx, esi
call eax
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ebx, 2
push ebx
push 3
mov ecx, esi
call fcn.0046b370
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x51a6e5
cmp dword [esi + 0x144], 0x27
jge 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51a6fb
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x51a7b0
cmp word [esi + 0x142], 0
jne 0x51a7b0
cmp word [esi + 0x140], 0
jne 0x51a7b0
cmp word [esi + 0x13e], di
jne 0x51a7b0
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c178]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub esp, 8
add ecx, eax
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 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 + 0x13e], bx
jne 0x51e16a
cmp word [esi + 0x140], bx
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
push 0x18
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x268]
push 3
fst dword [esp + 0x270]
lea edx, [esp + 0x26c]
fstp dword [esp + 0x274]
push edx
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85b900]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
imul eax, eax, 0x7d
sub esp, 8
mov dword [esp + 0x28], eax
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x355
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], 1
jne 0x51a882
cmp dword [esi + 0x144], 0x27
jge 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51a898
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x51a92e
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857b20]
movsx ecx, al
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
imul ecx, ecx, 0x2c
push 1
push eax
sub esp, 8
mov dword [esp + 0x20], ecx
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 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 0x51e16a
cmp word [esi + 0x140], 6
jne 0x51e16a
push 0x1a
mov ecx, esi
call fcn.00464980
xor edi, edi
mov dword [esp + 0x10], edi
fldz
push 4
fst dword [esp + 0x4b4]
lea edx, [esp + 0x4b4]
fst dword [esp + 0x4b8]
push edx
fstp dword [esp + 0x4c0]
push 0xffffffffffffffff
fild dword [esp + 0x1c]
mov ecx, esi
fstp dword [esp + 0x4c8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c1d0]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x356
call fcn.0046eb30
add edi, 0x3c
cmp edi, 0x2d0
mov dword [esp + 0x10], edi
jl 0x51a959
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
cmp word [esi + 0x13e], 1
jne 0x51aa16
cmp dword [esi + 0x144], 0x50
jle 0x51aa16
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x13e], 2
jne 0x51aa32
cmp dword [esi + 0x144], 0x12
jle 0x51aa32
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51aa48
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 3
jne 0x51aaf4
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c870]
push 1
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub ecx, eax
sub esp, 8
add ecx, ecx
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push 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 0x51e16a
cmp word [esi + 0x140], 4
jne 0x51e16a
xor edi, edi
mov dword [esp + 0x10], edi
fldz
push 4
fst dword [esp + 0x494]
lea edx, [esp + 0x494]
fst dword [esp + 0x498]
push edx
fstp dword [esp + 0x4a0]
push 0xffffffffffffffff
fild dword [esp + 0x1c]
mov ecx, esi
fstp dword [esp + 0x4a8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85c548]
movsx eax, al
fstp dword [esp + 0x20]
imul eax, eax, 0x32
fld dword [esp + 0x20]
sub esp, 8
mov dword [esp + 0x28], eax
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x357
call fcn.0046eb30
add edi, 1
cmp edi, 6
mov dword [esp + 0x10], edi
jl 0x51ab16
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x51adb4
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x51abe1
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x51acb7
cmp word [esi + 0x7d0], 7
jg 0x51acb7
push 0x1c
mov ecx, esi
call fcn.00464980
movsx eax, word [esi + 0x7d0]
and eax, 0x80000003
jns 0x51ac11
dec eax
or eax, 0xfffffffc
inc eax
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
push 4
lea edx, [esp + 0x4c4]
push edx
fsub qword [0x858ef0]
push 0xffffffffffffffff
fstp dword [esp + 0x4cc]
movsx eax, word [esi + 0x7d0]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul qword [0x857f80]
fadd qword [0x8581f8]
fstp dword [esp + 0x4d0]
fldz
fstp dword [esp + 0x4d4]
movsx ecx, word [esi + 0x7d0]
mov dword [esp + 0x1c], ecx
mov ecx, esi
fild dword [esp + 0x1c]
fstp dword [esp + 0x4d8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push eax
fadd qword [0x85bc50]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x358
call fcn.0046eb30
add word [esi + 0x7d0], di
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x51acca
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x51ada2
cmp word [esi + 0x7d2], 7
jg 0x51ada2
push 0x1c
mov ecx, esi
call fcn.00464980
movsx eax, word [esi + 0x7d2]
and eax, 0x80000003
jns 0x51acfa
dec eax
or eax, 0xfffffffc
inc eax
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
push 4
lea edx, [esp + 0x474]
push edx
fsub qword [0x858ef0]
push 0xffffffffffffffff
fstp dword [esp + 0x47c]
movsx eax, word [esi + 0x7d2]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fmul qword [0x857f80]
fadd qword [0x8581f8]
fstp dword [esp + 0x480]
fldz
fstp dword [esp + 0x484]
movsx ecx, word [esi + 0x7d2]
mov dword [esp + 0x1c], ecx
mov ecx, esi
fild dword [esp + 0x1c]
fstp dword [esp + 0x488]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg al
fadd qword [0x85bc50]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x358
call fcn.0046eb30
add word [esi + 0x7d2], di
cmp dword [esi + 0x144], 0x5a
jl 0x51adb4
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51adca
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x51adf9
cmp word [esi + 0x142], 0
jne 0x51adf9
cmp word [esi + 0x140], 0
jne 0x51adf9
cmp word [esi + 0x13e], di
jne 0x51adf9
push 0x1c
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 2
jne 0x51e16a
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c868]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
lea ecx, [eax + eax*4]
add ecx, ecx
sub esp, 8
add ecx, ecx
mov dword [esp + 0x20], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push 0
push 0
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51aed0
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 4
jne 0x51af6a
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85ba58]
push 1
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
mov ecx, eax
sub esp, 8
shl ecx, 6
sub ecx, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push 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 0x51e16a
cmp word [esi + 0x140], 9
jne 0x51e16a
push 5
mov ecx, esi
call fcn.00464980
fld dword [0x85bb84]
fstp dword [esp + 0x480]
push 4
fld dword [0x85bbe4]
lea edx, [esp + 0x484]
fstp dword [esp + 0x488]
push edx
fldz
push 1
fstp dword [esp + 0x494]
mov ecx, esi
fld dword [0x85b998]
fstp dword [esp + 0x498]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85bc50]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea eax, [eax + eax*4]
fld dword [esp + 0x20]
add eax, eax
sub esp, 8
add eax, eax
mov dword [esp + 0x28], eax
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x359
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x51b062
cmp dword [esi + 0x144], 0x1e0
jg 0x5131cc
cmp dword [esi + 0x768], 0
ja 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51b078
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51b123
cmp word [esi + 0x142], 0
jne 0x51b123
cmp word [esi + 0x140], 3
jne 0x51b123
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c870]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
mov ecx, eax
shl ecx, 4
sub ecx, eax
sub esp, 8
add ecx, ecx
add ecx, ecx
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push 0
push 0
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], di
jne 0x51e16a
fldz
push 3
fst dword [esp + 0x284]
lea edx, [esp + 0x284]
fstp dword [esp + 0x288]
push edx
fld dword [0x871538]
push edi
fstp dword [esp + 0x294]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c208]
push eax
movsx eax, al
fstp dword [esp + 0x20]
mov ecx, eax
fld dword [esp + 0x20]
shl ecx, 4
sub ecx, eax
sub esp, 8
add ecx, ecx
mov dword [esp + 0x28], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x35a
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov edi, 2
cmp word [esi + 0x13e], di
jg 0x51b1fc
push edi
push 3
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51b212
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51b2b5
cmp word [esi + 0x142], 0
jne 0x51b2b5
cmp word [esi + 0x140], di
jne 0x51b2b5
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85bc50]
movsx ecx, al
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
imul ecx, ecx, 0xd
push 1
push eax
sub esp, 8
mov dword [esp + 0x20], ecx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 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 dword [esi + 0x144], 0
jne 0x51b2e5
cmp word [esi + 0x142], 0
jne 0x51b2e5
cmp word [esi + 0x140], 0
jne 0x51b2e5
cmp word [esi + 0x13e], 1
jne 0x51b2e5
push 0x23
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x13e], di
jne 0x51e16a
cmp dword [esi + 0x144], 0x18
jl 0x51e16a
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 + 0x13e], 4
jne 0x51b321
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 1
jg 0x51b336
push 2
push 3
mov ecx, esi
call fcn.0046b370
movzx eax, word [esi + 0x13e]
cmp ax, 1
mov edi, 0x28
jne 0x51b354
cmp dword [esi + 0x144], edi
jge 0x51b663
cmp ax, 2
je 0x51b360
cmp ax, 3
jne 0x51b3a4
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x51b3a4
mov ecx, esi
call fcn.004636b0
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51b3ba
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51b460
cmp word [esi + 0x142], 0
jne 0x51b460
cmp word [esi + 0x140], 2
jne 0x51b460
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], di
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85ba58]
push 1
push eax
fstp dword [esp + 0x18]
movsx eax, al
fld dword [esp + 0x18]
mov ecx, eax
sub esp, 8
shl ecx, 6
sub ecx, eax
fstp dword [esp + 4]
mov dword [esp + 0x20], ecx
fld dword [esi + 0xec]
mov ecx, esi
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push 0
push 0
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
push 5
mov ecx, esi
call fcn.00464980
fld dword [0x85bb84]
fstp dword [esp + 0x4a0]
push 4
fld dword [0x85bbe4]
lea edx, [esp + 0x4a4]
fstp dword [esp + 0x4a8]
push edx
fldz
push 1
fst dword [esp + 0x4b4]
mov ecx, esi
fstp dword [esp + 0x4b8]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85bc50]
push eax
movsx eax, al
fstp dword [esp + 0x20]
lea eax, [eax + eax*4]
fld dword [esp + 0x20]
add eax, eax
sub esp, 8
add eax, eax
mov dword [esp + 0x28], eax
fstp dword [esp + 4]
fild dword [esp + 0x28]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x359
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 5
mov ecx, esi
jne 0x51b680
call fcn.00487ca0
mov edi, 2
cmp word [esi + 0x13e], di
jg 0x51b55d
push edi
push 3
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51b573
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51b619
cmp word [esi + 0x142], 0
jne 0x51b619
cmp word [esi + 0x140], di
jne 0x51b619
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c5b0]
movsx ecx, al
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
add ecx, ecx
push 1
add ecx, ecx
push eax
sub esp, 8
add ecx, ecx
mov dword [esp + 0x20], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push 0
push 0
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
cmp dword [esi + 0x144], 0
jne 0x51b649
cmp word [esi + 0x142], 0
jne 0x51b649
cmp word [esi + 0x140], 0
jne 0x51b649
cmp word [esi + 0x13e], 1
jne 0x51b649
push 0x23
mov ecx, esi
call fcn.00464980
cmp word [esi + 0x13e], di
jne 0x51e16a
cmp dword [esi + 0x144], 0x18
jl 0x51e16a
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
fld dword [0x8677a8]
fstp dword [esi + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x51b545
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
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x51b829
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x51b813
call fcn.004098d0
xor edx, edx
mov ecx, 0x6e
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x51b720
fadd dword [0x871554]
fsub qword [0x858ef0]
fstp dword [esp + 0xb4]
call fcn.004098d0
xor edx, edx
mov ecx, 0xaa
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x51b74d
fadd dword [0x871554]
fadd qword [0x871520]
fstp dword [esp + 0xb8]
fldz
fstp dword [esp + 0xbc]
cmp dword [esi + 0x144], 0
jne 0x51b786
fld dword [0x85ae94]
fstp dword [esp + 0xb4]
fld dword [0x871544]
fstp dword [esp + 0xb8]
push 0x64
call fcn.004099f0
add esp, 4
cmp eax, 0x32
ja 0x51b79e
mov word [esi + 0x7d2], di
jmp 0x51b7a7
mov word [esi + 0x7d2], 0xffff
movzx ecx, byte [esi + 0x7d2]
fld dword [esi + 0xf0]
fadd dword [esp + 0xb8]
movzx eax, byte [esi + 0x104]
push 3
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea edx, [esp + 0xb8]
push edx
push ecx
push eax
movsx edx, al
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fmul dword [esp + 0xcc]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
add word [esi + 0x7d0], di
cmp word [esi + 0x13e], di
jne 0x51b829
cmp dword [esi + 0x144], 0x78
jge 0x514101
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51b83f
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x51b8de
cmp word [esi + 0x142], 0
jne 0x51b8de
cmp word [esi + 0x140], 3
jne 0x51b8de
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857b20]
push edi
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
imul eax, eax, 0x2c
sub esp, 8
mov dword [esp + 0x20], eax
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fisub dword [esp + 0x20]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 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 dword [esi + 0x144], 0
jne 0x51b910
cmp word [esi + 0x142], 0
jne 0x51b910
cmp word [esi + 0x140], 0
jne 0x51b910
cmp word [esi + 0x13e], di
jne 0x51b910
fld dword [0x85b870]
fstp dword [esi + 0xf4]
cmp word [esi + 0x13e], 2
jne 0x51e16a
fld dword [esi + 0xf4]
fsub qword [0x85a280]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x51b94d
fstp dword [esi + 0xf4]
jmp 0x51b94f
fstp st(0)
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 4
jne 0x51e16a
mov dword [esi + 0x190], 0
push 0x1d
mov ecx, esi
mov byte [esi + 0x194], 1
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 4
cmp word [esi + 0x13e], di
jne 0x51b9a2
mov ecx, esi
call fcn.00487ca0
push 2
mov ebp, 3
push ebp
mov ecx, esi
call fcn.0046b370
movzx eax, word [esi + 0x13e]
mov ebx, 1
cmp ax, bx
je 0x51b9cc
cmp ax, 2
jne 0x51baf4
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x51baf4
call fcn.004098d0
xor edx, edx
mov ecx, 0x6e
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x51ba02
fadd dword [0x871554]
fsub qword [0x858ef0]
fstp dword [esp + 0xcc]
call fcn.004098d0
xor edx, edx
mov ecx, 0xaa
div ecx
test edx, edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
jge 0x51ba2f
fadd dword [0x871554]
fadd qword [0x871520]
fstp dword [esp + 0xd0]
cmp dword [esi + 0x144], 0
jne 0x51ba5f
fld dword [0x85ae94]
fstp dword [esp + 0xcc]
fld dword [0x871544]
fstp dword [esp + 0xd0]
fldz
push 0x64
fstp dword [esp + 0xd8]
call fcn.004099f0
add esp, 4
cmp eax, 0x32
ja 0x51ba80
mov word [esi + 0x7d2], bx
jmp 0x51ba89
mov word [esi + 0x7d2], 0xffff
movzx ecx, byte [esi + 0x7d2]
fld dword [esi + 0xf0]
fadd dword [esp + 0xd0]
movzx eax, byte [esi + 0x104]
push ebp
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
lea edx, [esp + 0xd0]
push edx
push ecx
push eax
movsx edx, al
sub esp, 8
mov dword [esp + 0x28], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x28]
fmul dword [esp + 0xe4]
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x35c
call fcn.0046eb30
add word [esi + 0x7d0], bx
movzx eax, word [esi + 0x13e]
cmp ax, 2
jne 0x51bb11
cmp dword [esi + 0x144], 0x64
jge 0x514101
cmp ax, ax
jg 0x51bb2f
cmp word [esi + 0x4a8], 0
jne 0x51bb2f
fld dword [esi + 0xf8]
fsub qword [0x857f90]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], bp
jne 0x51bb59
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x518fdf
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51bb6f
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x51bc66
cmp word [esi + 0x142], 0
jne 0x51bc66
cmp word [esi + 0x140], 2
jne 0x51bc3b
fld dword [esi + 0xf4]
push 0x17
fstp dword [esi + 0x7dc]
mov ecx, esi
fld dword [esi + 0xf8]
fstp dword [esi + 0x7e0]
fldz
fst dword [esi + 0xf4]
fstp dword [esi + 0xf8]
mov word [esi + 0x4a6], 0x28
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x85c5b0]
push ebx
push eax
movsx eax, al
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
add eax, eax
add eax, eax
sub esp, 8
add eax, eax
mov dword [esp + 0x20], eax
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 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 0x51bc66
cmp word [esi + 0x140], bp
jne 0x51bc66
fld dword [esi + 0x7dc]
fstp dword [esi + 0xf4]
fld dword [esi + 0x7e0]
fstp dword [esi + 0xf8]
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], di
jne 0x51e16a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 9
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
push 2
push 3
mov ecx, esi
call fcn.0046b370
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51bcd7
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
mov edi, 0x28
jne 0x51bd8e
cmp word [esi + 0x142], 0
jne 0x51bd8e
cmp word [esi + 0x140], 3
jne 0x51bd8e
push 0x17
mov ecx, esi
mov word [esi + 0x4a6], di
call fcn.00439490
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
movsx edx, al
fisub dword [ecx + 0x9c]
mov ebx, 1
imul edx, dword [ecx + 0x98]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
push ebx
push eax
sub esp, 8
mov dword [esp + 0x20], edx
mov ecx, esi
fstp dword [esp + 4]
fild dword [esp + 0x20]
fadd dword [esi + 0xec]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0x73
call fcn.00438ce0
push 0x3c
push 0
push 0
mov ecx, esi
call fcn.00469c70
mov ecx, esi
call fcn.00483d60
mov ecx, esi
call fcn.00483db0
jmp 0x51bd93
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x51e16a
mov eax, dword [esi + 0x144]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x51bf35
movzx eax, word [esi + 0x7d0]
cmp ax, 0x1e
jg 0x51bf35
jne 0x51be83
push 0x14
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x51bde6
fadd dword [0x871554]
fmul qword [0x867840]
push 0x14
fadd qword [0x8677c8]
fstp dword [esp + 0x2a0]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51be15
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0x29c]
push edx
fadd qword [0x857f80]
push 0xffffffffffffffff
mov ecx, esi
fstp dword [esp + 0x2a8]
fldz
fstp dword [esp + 0x2ac]
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857990]
push eax
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35d
call fcn.0046eb30
push 3
mov ecx, esi
call fcn.00464980
jmp 0x51bf2e
push edi
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x51be9b
fadd dword [0x871554]
fmul qword [0x867840]
push 0x14
fadd qword [0x857f80]
fstp dword [esp + 0x2b8]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51beca
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea ecx, [esp + 0x2b4]
push ecx
fadd qword [0x8677c8]
push 0xffffffffffffffff
mov ecx, esi
fstp dword [esp + 0x2c0]
fld dword [0x85bc44]
fstp dword [esp + 0x2c4]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x857990]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35d
call fcn.0046eb30
add word [esi + 0x7d0], bx
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
je 0x51bf4f
push edi
mov ecx, esi
call fcn.00464980
cmp dword [esi + 0x144], 0x96
jl 0x51e16a
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51bf8d
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 7
jne 0x51e16a
push 0x37
mov ecx, esi
call fcn.00439490
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx ecx, byte [esi + 0x104]
push 1
push ecx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8c
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx edx, byte [esi + 0x104]
push 1
push edx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8c
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx eax, byte [esi + 0x104]
push 1
push eax
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8c
call fcn.00438ce0
fld dword [esi + 0xf0]
fadd qword [0x857b20]
movzx ecx, byte [esi + 0x104]
push 0xffffffffffffffff
push ecx
fstp dword [esp + 0x18]
sub esp, 8
fld dword [esp + 0x20]
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8d
call fcn.00438ce0
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
push 0xffffffffffffffff
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x8e
call fcn.00438ce0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
fld dword [esi + 0xf4]
fsub qword [0x8581b8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x51c112
fstp dword [esi + 0xf4]
jmp 0x51c114
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51c12a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0
mov ecx, esi
call edx
cmp word [esi + 0x13e], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 8
jne 0x51c15c
fld dword [0x85b3b0]
fstp dword [esi + 0xf4]
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 9
jne 0x51e16a
push 0x1d
mov ecx, esi
call fcn.00439490
mov byte [esi + 0x49a], 0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x51c1b8
movsx eax, word [esi + 0x7d0]
cmp dword [esi + 0x144], eax
jg 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51c1ce
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], di
jne 0x51e16a
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x51c20e
jmp dword [eax*4 + 0x51e68c]
mov word [esi + 0x7d0], 0x1e
jmp case.default.0x51c20e
mov word [esi + 0x7d0], 0x2d
jmp case.default.0x51c20e
mov word [esi + 0x7d0], 0x3c
jmp case.default.0x51c20e
mov word [esi + 0x7d0], 0x78
push 2
mov ecx, esi
call fcn.00464980
push 0x5a
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x51c261
fadd dword [0x871554]
fsubr qword [0x85baf0]
push 0x3c
fstp dword [esp + 0x2d0]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51c28a
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea ecx, [esp + 0x2cc]
push ecx
fadd qword [0x858ec0]
push 0xffffffffffffffff
mov ecx, esi
fstp dword [esp + 0x2d8]
fldz
fstp dword [esp + 0x2dc]
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857b20]
push edx
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x384
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 0
jne 0x51c43b
mov eax, dword [esi + 0x144]
and eax, 0x80000001
jns 0x51c327
dec eax
or eax, 0xfffffffe
inc eax
jne 0x51c43b
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x51c349
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0xec]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x51c36c
fadd dword [0x871554]
fadd qword [0x857948]
push 7
fstp dword [esp + 0xf4]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51c395
fadd dword [0x871554]
fstp dword [esp + 0xec]
movzx edx, byte [esi + 0x104]
fld dword [esp + 0xe4]
push 3
lea ecx, [esp + 0xe8]
fchs
push ecx
push 1
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0xfc]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [eax + 0x9c]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push ecx
fld dword [esp + 0xfc]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x100]
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
mov dword [esp + 0x28], edx
fiadd dword [ecx + 0x98]
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 0x3ca
call fcn.0046eb30
mov ebp, 1
cmp word [esi + 0x13e], bp
jne 0x51c59a
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x51c462
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x51c587
movsx edx, word [esi + 0x7d0]
sub edx, 0x1e
cmp eax, edx
jg 0x51c587
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x51c496
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x104]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x51c4b9
fadd dword [0x871554]
fadd qword [0x857948]
push 7
fstp dword [esp + 0x10c]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51c4e2
fadd dword [0x871554]
fstp dword [esp + 0x104]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0xfc]
push 3
lea eax, [esp + 0x100]
fchs
push eax
push ebp
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x114]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push ecx
fld dword [esp + 0x114]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x118]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x28], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x28]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
movsx edx, word [esi + 0x7d0]
cmp dword [esi + 0x144], edx
jge 0x514101
cmp word [esi + 0x13e], 3
jne 0x51c5b7
movsx eax, word [esi + 0x7d0]
cmp dword [esi + 0x144], eax
jge 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51c5cd
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
mov edi, 0xb4
lea ebx, [edi - 0x3c]
jne 0x51e16a
cmp word [esi + 0x142], 0
jne case.default.0x51c611
cmp word [esi + 0x140], 0
jne case.default.0x51c611
cmp word [esi + 0x13e], bp
jne case.default.0x51c611
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x51c611
jmp dword [eax*4 + 0x51e69c]
fld dword [0x86782c]
mov word [esi + 0x7d0], bx
fst dword [esi + 0x7dc]
jmp 0x51c678
fld dword [0x867810]
mov word [esi + 0x7d0], bx
fst dword [esi + 0x7dc]
jmp 0x51c678
fld dword [0x85bca4]
mov word [esi + 0x7d0], 0x96
fstp dword [esi + 0x7dc]
fld dword [0x867810]
jmp 0x51c678
fld dword [0x867860]
mov word [esi + 0x7d0], di
fstp dword [esi + 0x7dc]
fld dword [0x85882c]
fstp dword [esi + 0x7e0]
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 3
jne 0x51e16a
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x51c6bf
jmp dword [eax*4 + 0x51e6ac]
mov word [esi + 0x7d0], di
push 2
mov ecx, esi
call fcn.00464980
fldz
fstp dword [esp + 0x10]
fld dword [esi + 0x7dc]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x51e16a
push ebx
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x51c70b
fadd dword [0x871554]
fsubr qword [0x85c860]
fnstcw word [esp + 0x20]
movzx eax, word [esp + 0x20]
fstp dword [esp + 0x2e4]
fld dword [esi + 0x7e0]
or eax, 0xc00
fmul qword [0x871520]
mov dword [esp + 0x24], eax
fldcw word [esp + 0x24]
fistp qword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
push ecx
fldcw word [esp + 0x24]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x51c761
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea edx, [esp + 0x2e4]
push edx
fadd qword [0x858ec0]
push 0xffffffffffffffff
mov ecx, esi
fstp dword [esp + 0x2f0]
fldz
fstp dword [esp + 0x2f4]
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857b20]
push eax
sub esp, 8
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp]
push 0x384
call fcn.0046eb30
fld dword [esp + 0x10]
fadd qword [0x8677c8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esi + 0x7dc]
fcompp
fnstsw ax
test ah, 0x41
je 0x51c6f3
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 0
jne 0x51c938
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x51c824
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x51c938
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x51c846
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x11c]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x51c869
fadd dword [0x871554]
fadd qword [0x857948]
push 7
fstp dword [esp + 0x124]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51c892
fadd dword [0x871554]
fstp dword [esp + 0x11c]
movzx eax, byte [esi + 0x104]
fld dword [esp + 0x114]
push 3
lea edx, [esp + 0x118]
fchs
push edx
push 1
push eax
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x12c]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push ecx
fld dword [esp + 0x12c]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x130]
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
mov dword [esp + 0x28], eax
mov ecx, esi
fiadd dword [edx + 0x98]
fild dword [esp + 0x28]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
mov edi, 1
cmp word [esi + 0x13e], di
jne 0x51ca97
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x51c95f
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x51ca84
movsx edx, word [esi + 0x7d0]
sub edx, 0x1e
cmp eax, edx
jg 0x51ca84
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x51c993
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0xc8]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x51c9b6
fadd dword [0x871554]
fadd qword [0x857948]
push 7
fstp dword [esp + 0xd0]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51c9df
fadd dword [0x871554]
fstp dword [esp + 0xc8]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0xc0]
push 3
lea eax, [esp + 0xc4]
fchs
push eax
push edi
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0xd8]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push ecx
fld dword [esp + 0xd8]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0xdc]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x28], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x28]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
movsx edx, word [esi + 0x7d0]
cmp dword [esi + 0x144], edx
jge 0x514101
mov ebx, 3
cmp word [esi + 0x13e], bx
jne 0x51cab8
movsx eax, word [esi + 0x7d0]
cmp dword [esi + 0x144], eax
jge 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51cace
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
mov eax, 0x78
jne 0x51e16a
cmp word [esi + 0x142], 0
jne case.default.0x51cb07
cmp word [esi + 0x140], 0
jne case.default.0x51cb07
cmp word [esi + 0x13e], di
jne case.default.0x51cb07
mov ecx, dword [0x8971d4]
cmp ecx, ebx
ja case.default.0x51cb07
jmp dword [ecx*4 + 0x51e6bc]
mov word [esi + 0x7d0], 0x3c
jmp case.default.0x51cb07
mov word [esi + 0x7d0], 0x5a
jmp case.default.0x51cb07
mov word [esi + 0x7d0], ax
jmp case.default.0x51cb07
mov word [esi + 0x7d0], 0xb4
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], bx
jne 0x51e16a
mov ecx, dword [0x8971d4]
cmp ecx, ebx
ja case.default.0x51cb76
jmp dword [ecx*4 + 0x51e6cc]
mov word [esi + 0x7d0], ax
push 0x16
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x2f8]
push ebx
fstp dword [esp + 0x300]
lea ecx, [esp + 0x2fc]
fld dword [0x85bc44]
push ecx
fstp dword [esp + 0x308]
push 0xffffffffffffffff
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857b20]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x38e
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], cx
jne 0x51cc13
mov ecx, esi
call fcn.00487ca0
cmp word [esi + 0x13e], 1
jne 0x51cc2f
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], 2
jne 0x51cd63
mov eax, dword [esi + 0x144]
and eax, 0x80000001
jns 0x51cc4f
dec eax
or eax, 0xfffffffe
inc eax
jne 0x51cd63
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x51cc71
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0x110]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x51cc94
fadd dword [0x871554]
fadd qword [0x857948]
push 7
fstp dword [esp + 0x118]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51ccbd
fadd dword [0x871554]
fstp dword [esp + 0x110]
movzx edx, byte [esi + 0x104]
fld dword [esp + 0x108]
push 3
lea ecx, [esp + 0x10c]
fchs
push ecx
push 1
push edx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x120]
mov eax, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [eax + 0x9c]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push ecx
fld dword [esp + 0x120]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x124]
movsx edx, byte [esi + 0x104]
mov ecx, dword [esi + 0x158]
mov dword [esp + 0x28], edx
fiadd dword [ecx + 0x98]
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 0x3ca
call fcn.0046eb30
cmp word [esi + 0x13e], 3
jne 0x51cebf
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x51cd86
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x51ceac
movsx edx, word [esi + 0x7d0]
sub edx, 0x1e
cmp eax, edx
jg 0x51ceac
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x51cdba
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0xf8]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x51cddd
fadd dword [0x871554]
fadd qword [0x857948]
push 7
fstp dword [esp + 0x100]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51ce06
fadd dword [0x871554]
fstp dword [esp + 0xf8]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0xf0]
push 3
lea eax, [esp + 0xf4]
fchs
push eax
push 1
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0x108]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push ecx
fld dword [esp + 0x108]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0x10c]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x28], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x28]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
movsx edx, word [esi + 0x7d0]
cmp dword [esi + 0x144], edx
jge 0x514101
movzx eax, word [esi + 0x13e]
cmp ax, 2
je 0x51ced2
cmp ax, 3
jne 0x51cef4
fld dword [esi + 0xf4]
fld qword [0x85b978]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fmul dword [esi + 0xf8]
fstp dword [esi + 0xf8]
cmp word [esi + 0x13e], 5
jne 0x51cf11
movsx eax, word [esi + 0x7d0]
cmp dword [esi + 0x144], eax
jge 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51cf27
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
mov ecx, esi
call eax
cmp dword [esi + 0x144], 0
fld dword [0x86782c]
jne 0x51d34c
cmp word [esi + 0x142], 0
jne 0x51cfa0
cmp word [esi + 0x140], 0
jne 0x51cfa0
cmp word [esi + 0x13e], 1
jne 0x51cfa0
push 0x14
fstp st(0)
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51cf76
fadd dword [0x871554]
fmul qword [0x867840]
fsub qword [0x871520]
fstp dword [esi + 0xf4]
fld dword [0x86782c]
fst dword [esi + 0xf8]
fld dword [0x8677a8]
fstp dword [esi + 0x100]
cmp dword [esi + 0x144], 0
jne 0x51d34c
cmp word [esi + 0x142], 0
jne case.default.0x51cfd5
cmp word [esi + 0x140], 0
jne case.default.0x51cfd5
cmp word [esi + 0x13e], 3
jne case.default.0x51cfd5
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x51cfd5
jmp dword [eax*4 + 0x51e6dc]
mov word [esi + 0x7d0], 0x3c
cmp dword [esi + 0x144], 0
jne 0x51d34c
cmp word [esi + 0x142], 0
jne 0x51d34c
cmp word [esi + 0x140], 0
jne 0x51d34c
cmp word [esi + 0x13e], 5
jne 0x51d34c
mov eax, dword [0x8971d4]
cmp eax, 3
ja case.default.0x51d02a
jmp dword [eax*4 + 0x51e6ec]
mov word [esi + 0x7d0], 0x5a
fstp dword [esi + 0x7e0]
fld dword [0x858830]
fstp dword [esi + 0x7dc]
fld dword [0x859f00]
fstp dword [esi + 0x7e4]
fld dword [0x85882c]
fstp dword [esi + 0x7e8]
jmp 0x51d0d8
fld dword [0x867810]
mov word [esi + 0x7d0], 0x5a
fstp dword [esi + 0x7e0]
fstp dword [esi + 0x7dc]
fld dword [0x858830]
jmp 0x51d052
fld dword [0x867810]
mov word [esi + 0x7d0], 0x5a
fstp dword [esi + 0x7e0]
fstp dword [esi + 0x7dc]
fld dword [0x85bca4]
jmp 0x51d052
fstp st(0)
mov word [esi + 0x7d0], 0x5a
fld dword [0x85bca4]
fstp dword [esi + 0x7e0]
fld dword [0x867810]
fstp dword [esi + 0x7dc]
fldz
jmp 0x51d052
fstp st(0)
push 0x16
mov ecx, esi
call fcn.00464980
fldz
fst dword [esp + 0x10]
fld dword [esi + 0x7dc]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x51d1b0
fld dword [esp + 0x10]
jmp 0x51d108
fldz
fxch st(1)
fmul qword [0x8581e8]
push 4
lea ecx, [esp + 0x78]
push ecx
fdiv dword [esi + 0x7dc]
push 0xffffffffffffffff
mov ecx, esi
fstp dword [esp + 0x80]
fst dword [esp + 0x84]
fstp dword [esp + 0x88]
fld dword [esi + 0x7e8]
fadd st(0), st(0)
fstp dword [esp + 0x8c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x857b20]
sub esp, 8
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp]
push 0x398
call fcn.0046eb30
fld dword [esp + 0x10]
fadd qword [0x8677c8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esi + 0x7dc]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x51d104
fstp st(0)
fldz
fst dword [esp + 0x10]
fld dword [esi + 0x7e0]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x51d27d
fld dword [esp + 0x10]
jmp 0x51d1d5
fldz
fxch st(1)
fmul qword [0x8581e8]
push 4
lea eax, [esp + 0x78]
push eax
fdiv dword [esi + 0x7e0]
push 0xffffffffffffffff
fstp dword [esp + 0x80]
fst dword [esp + 0x84]
fstp dword [esp + 0x88]
fld dword [esi + 0x7e8]
fstp dword [esp + 0x8c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg cl
fadd qword [0x857b20]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp]
push 0x398
call fcn.0046eb30
fld dword [esp + 0x10]
fadd qword [0x8677c8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esi + 0x7e0]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x51d1d1
fstp st(0)
fldz
fst dword [esp + 0x10]
fld dword [esi + 0x7e4]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x51d34c
fld dword [esp + 0x10]
jmp 0x51d2a2
fldz
fxch st(1)
fmul qword [0x8581e8]
push 4
lea edx, [esp + 0x78]
push edx
fdiv dword [esi + 0x7e0]
push 0xffffffffffffffff
mov ecx, esi
fstp dword [esp + 0x80]
fst dword [esp + 0x84]
fstp dword [esp + 0x88]
fld dword [esi + 0x7e8]
fmul qword [0x857f80]
fstp dword [esp + 0x8c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
neg al
fadd qword [0x857b20]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp]
push 0x398
call fcn.0046eb30
fld dword [esp + 0x10]
fadd qword [0x8677c8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esi + 0x7e4]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x51d29e
cmp dword [esi + 0x144], 0
fstp st(0)
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 7
jne 0x51e16a
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2db
mov ecx, esi
call eax
mov ecx, esi
call fcn.004636b0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51d3ce
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2da
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
cmp word [esi + 0x13e], ax
jl 0x51d42a
movsx ecx, byte [esi + 0x104]
fld dword [esi + 0x7e0]
fsub dword [esi + 0xec]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmulp st(1)
fld qword [0x857f90]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fld dword [esi + 0x7dc]
fsub dword [esi + 0xf0]
fmulp st(1)
fstp dword [esi + 0xf8]
cmp dword [esi + 0x144], 0x1e
jge 0x5131cc
xor edi, edi
cmp dword [esi + 0x144], edi
jne 0x51e16a
cmp word [esi + 0x142], di
jne 0x51e16a
cmp word [esi + 0x140], di
jne 0x51e16a
cmp word [esi + 0x13e], ax
jne 0x51e16a
fld dword [esi + 0xf0]
mov ecx, esi
fstp qword [esp + 0x28]
call fcn.004397f0
fcomp qword [esp + 0x28]
mov word [esi + 0x7d0], di
fnstsw ax
test ah, 5
jp 0x51d4f9
push 0xfa
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51d4a1
fadd dword [0x871554]
fadd qword [0x857990]
push 0x1e0
fstp dword [esi + 0x7dc]
fld dword [0x8575a4]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x51d4ea
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51d4df
fadd dword [0x871554]
fadd qword [0x857b20]
jmp 0x51d57b
call fcn.004099f0
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jmp 0x51d568
push 0x64
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51d515
fadd dword [0x871554]
fadd qword [0x85ba58]
push 0x1e0
fstp dword [esi + 0x7dc]
fld dword [0x8575a4]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x51d55b
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51d4df
fadd dword [0x871554]
fadd qword [0x857b20]
jmp 0x51d57b
call fcn.004099f0
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
add esp, 4
test eax, eax
jge 0x51d575
fadd dword [0x871554]
fsubr qword [0x85c858]
fstp dword [esi + 0x7e0]
fld dword [esi + 0xec]
fld dword [esi + 0x7e0]
fcompp
fnstsw ax
test ah, 5
jp 0x510c22
mov byte [esi + 0x104], 0xff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00487ca0
xor edi, edi
cmp word [esi + 0x13e], di
jne 0x51d6e6
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x51d5d2
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x51d6e6
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x51d5f4
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0xb0]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x51d617
fadd dword [0x871554]
fadd qword [0x857948]
push 7
fstp dword [esp + 0xb8]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51d640
fadd dword [0x871554]
fstp dword [esp + 0xb0]
movzx eax, byte [esi + 0x104]
fld dword [esp + 0xa8]
push 3
lea edx, [esp + 0xac]
fchs
push edx
push 1
push eax
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0xc0]
mov ecx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [ecx + 0x9c]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push ecx
fld dword [esp + 0xc0]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0xc4]
movsx eax, byte [esi + 0x104]
mov edx, dword [esi + 0x158]
mov dword [esp + 0x28], eax
mov ecx, esi
fiadd dword [edx + 0x98]
fild dword [esp + 0x28]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x51d845
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x51d70d
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x51d832
movsx edx, word [esi + 0x7d2]
sub edx, 0x1e
cmp eax, edx
jg 0x51d832
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x51d741
fadd dword [0x871554]
push 0x190
fstp dword [esp + 0xe0]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x51d764
fadd dword [0x871554]
fadd qword [0x857948]
push 7
fstp dword [esp + 0xe8]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
jge 0x51d78d
fadd dword [0x871554]
fstp dword [esp + 0xe0]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0xd8]
push 3
lea eax, [esp + 0xdc]
fchs
push eax
push ebx
push ecx
push ecx
fstp dword [esp]
call fcn.00409580
fmul dword [esp + 0xf0]
mov edx, dword [esi + 0x158]
fld dword [esi + 0xf0]
fisub dword [edx + 0x9c]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push ecx
fld dword [esp + 0xf0]
fchs
fstp dword [esp]
call fcn.004095f0
fmul dword [esp + 0xf4]
movsx ecx, byte [esi + 0x104]
mov eax, dword [esi + 0x158]
mov dword [esp + 0x28], ecx
mov ecx, esi
fiadd dword [eax + 0x98]
fild dword [esp + 0x28]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3ca
call fcn.0046eb30
movsx edx, word [esi + 0x7d2]
cmp dword [esi + 0x144], edx
jge 0x514101
mov ebp, 3
cmp word [esi + 0x13e], bp
jne 0x51d866
movsx eax, word [esi + 0x7d2]
cmp dword [esi + 0x144], eax
jge 0x5131cc
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51d889
mov edx, dword [esi]
mov eax, dword [edx + 8]
push edi
mov ecx, esi
call eax
mov word [esi + 0x7d0], di
mov word [esi + 0x7d2], di
cmp dword [esi + 0x144], edi
jne 0x51e16a
cmp word [esi + 0x142], di
jne 0x51d8b9
cmp word [esi + 0x140], di
jne 0x51d8b9
cmp word [esi + 0x13e], bx
jne 0x51d8b9
mov word [esi + 0x7d2], 0x5a
cmp dword [esi + 0x144], edi
jne 0x51e16a
cmp word [esi + 0x142], di
jne 0x51e16a
cmp word [esi + 0x140], di
jne 0x51e16a
cmp word [esi + 0x13e], bp
jne 0x51e16a
push 2
mov ecx, esi
mov word [esi + 0x7d2], 0xf0
call fcn.00464980
fldz
fst dword [esp + 0x12c]
push ebp
fld dword [0x85c850]
lea ecx, [esp + 0x130]
fstp dword [esp + 0x134]
push ecx
push ebx
mov ecx, esi
fstp dword [esp + 0x140]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
fadd qword [0x857b20]
sub esp, 8
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
fld dword [0x87153c]
fstp dword [esp + 0x12c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebp
fadd qword [0x857b20]
neg cl
lea eax, [esp + 0x130]
push eax
fstp dword [esp + 0x18]
push ebx
fld dword [esp + 0x1c]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [esi + 0xec]
fadd qword [0x8677b0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0x3a2
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [esi + 0x13e]
cmp ax, 1
jl 0x51da35
cmp ax, 3
jg 0x51da35
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x51da35
mov ecx, esi
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 4
mov ecx, esi
call eax
mov ecx, esi
call fcn.004636b0
fld dword [0x8575a4]
fstp dword [esi + 0xec]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51da56
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2ef
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], 0
jne 0x51e16a
cmp word [esi + 0x142], 0
jne 0x51e16a
cmp word [esi + 0x140], 0
jne 0x51e16a
cmp word [esi + 0x13e], 1
jne 0x51e16a
fld dword [0x8677a8]
mov eax, 0x3c
mov word [esi + 0x888], ax
mov word [esi + 0x88a], ax
fstp dword [esi + 0x100]
fld dword [0x85b3b0]
fstp dword [esi + 0xf8]
movsx ecx, byte [esi + 0x104]
fld dword [esi + 0xec]
mov dword [esp + 0x10], ecx
fsubr qword [0x8579a0]
fdiv qword [0x858ef0]
fild dword [esp + 0x10]
fmulp st(1)
fstp dword [esi + 0xf4]
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x888], cx
mov ecx, esi
jg 0x51db08
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2f0
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00438c60
test al, al
jne 0x51da40
xor edi, edi
cmp dword [esi + 0x144], edi
jne 0x51e16a
cmp word [esi + 0x142], di
jne 0x51e16a
cmp word [esi + 0x140], di
jne 0x51e16a
mov ebx, 1
cmp word [esi + 0x13e], bx
jne 0x51e16a
push 0xffffffffffffffff
mov ecx, esi
mov byte [esi + 0x6f5], bl
call fcn.00468de0
push 0xffffffffffffffff
push 2
mov ecx, esi
call fcn.0046b370
mov dword [esi + 0x188], edi
mov byte [esi + 0x868], bl
mov word [esi + 0x820], di
mov word [esi + 0x81e], bx
mov word [esi + 0x81a], di
push 0x17
mov ecx, esi
mov word [esi + 0x818], di
call fcn.00439490
fldz
mov word [esi + 0x882], bx
push 3
mov word [esi + 0x86a], bx
mov eax, 0x3c
mov word [esi + 0x888], ax
lea ecx, [esp + 0x94]
push ecx
mov word [esi + 0x88a], ax
fst dword [esp + 0x98]
fst dword [esp + 0x9c]
push 2
fstp dword [esp + 0xa4]
push ebx
fld dword [0x85bca0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x87153c]
fstp dword [esp]
push 0x4b3
call fcn.0046eb30
fld1
fstp dword [esp + 0x98]
push 3
fld dword [esi + 0xf0]
movzx eax, byte [esi + 0x104]
fadd qword [0x857b20]
lea edx, [esp + 0x94]
push edx
push 0xffffffffffffffff
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 0x4b2
call fcn.0046eb30
fldz
fst dword [esp + 0x90]
push 3
fstp dword [esp + 0x98]
lea ecx, [esp + 0x94]
fld dword [0x85b870]
push ecx
fstp dword [esp + 0xa0]
push 0xffffffffffffffff
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x3ac
call fcn.0046eb30
push 0x25
mov ecx, esi
call fcn.00464980
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 1
jne 0x51dd67
cmp dword [esi + 0x144], 0x3c
jne 0x51dd06
fld1
push 3
lea eax, [esp + 0x314]
fstp dword [esp + 0x314]
fldz
push eax
push 2
fst dword [esp + 0x320]
push 1
fst dword [esp + 0x328]
sub esp, 8
fst dword [esp + 4]
fstp dword [esp]
mov ecx, esi
push 0x4e2
call fcn.0046eb30
cmp dword [esi + 0x144], 0xf0
jne 0x51dd67
push 0
lea ecx, [esi + 0x5e8]
call fcn.00456c80
movsx edx, word [eax]
mov ecx, dword [esi + 0x6ec]
mov eax, dword [esi + 0x34c]
push ecx
mov ecx, dword [esi + 0x170]
push edx
mov edx, dword [ecx + 0x34c]
push eax
push edx
call fcn.0043df50
mov ecx, eax
call fcn.0042f680
push 0
mov byte [esi + 0x6f5], 0
push 0xbb8
mov byte [esi + 0x574], 3
call fcn.0043e1b0
add esp, 8
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51e16a
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2f0
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 0x51dda5
mov eax, dword [esi]
mov edx, dword [eax + 8]
push 0x2bc
mov ecx, esi
call edx
xor edi, edi
cmp word [esi + 0x13e], di
jne 0x51e16a
cmp word [esi + 0x142], di
jne 0x51e16a
cmp word [esi + 0x140], 6
jne 0x51e16a
push 0xffffffffffffffff
mov ecx, esi
mov byte [esi + 0x6f5], 1
call fcn.00468de0
push 0xffffffffffffffff
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
mov dword [esi + 0x188], edi
call fcn.004639f0
mov byte [esi + 0x868], 1
mov word [esi + 0x820], di
mov ebx, 1
mov word [esi + 0x81e], bx
mov word [esi + 0x81a], di
push 0x17
mov ecx, esi
mov word [esi + 0x818], di
call fcn.00439490
fldz
push 3
mov word [esi + 0x882], bx
lea eax, [esp + 0x124]
push eax
mov word [esi + 0x86a], bx
fst dword [esp + 0x128]
fst dword [esp + 0x12c]
push 2
fstp dword [esp + 0x134]
push ebx
fld dword [0x85bca0]
sub esp, 8
fstp dword [esp + 4]
mov ecx, esi
fld dword [0x87153c]
fstp dword [esp]
push 0x4b1
call fcn.0046eb30
fld1
fstp dword [esp + 0x128]
push 3
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
fadd qword [0x857b20]
lea ecx, [esp + 0x124]
push ecx
push 0xffffffffffffffff
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 0x4b2
call fcn.0046eb30
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
sub eax, 0x303
cmp eax, 0x1b
ja case.0x51dee6.772
movzx eax, byte [eax + 0x51e714]
jmp dword [eax*4 + 0x51e6fc]
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51df06
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0x2bc
mov ecx, esi
call eax
xor edi, edi
cmp word [esi + 0x13e], di
jne 0x51e16a
cmp word [esi + 0x142], di
jne 0x51e16a
cmp word [esi + 0x140], 6
jne 0x51e16a
push 0xffffffffffffffff
mov ecx, esi
mov byte [esi + 0x6f5], 1
call fcn.00468de0
push 0xffffffffffffffff
push 2
mov ecx, esi
call fcn.0046b370
mov ecx, esi
mov dword [esi + 0x188], edi
call fcn.004639f0
mov byte [esi + 0x868], 1
mov word [esi + 0x820], di
mov word [esi + 0x81e], 1
mov word [esi + 0x81a], di
push 0x17
mov ecx, esi
mov word [esi + 0x818], di
call fcn.00439490
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], cx
jne case.0x51dee6.788
fld dword [esi + 0xf8]
mov ecx, esi
fsub qword [0x85a280]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je case.0x51dee6.788
push 0x1e
mov ecx, esi
call fcn.00439490
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 1
jmp 0x510ad4
cmp word [esi + 0x13e], 2
jg 0x51e029
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
je 0x51e029
push 0x1e
mov ecx, esi
call fcn.00439490
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 3
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
cmp word [esi + 0x13e], 3
jne 0x51e08f
fld dword [esi + 0xf4]
fsub qword [0x858820]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
fld dword [0x8575a8]
jne 0x51e070
fxch st(1)
fstp dword [esi + 0xf4]
fst dword [esi + 0xec]
jmp 0x51e072
fstp st(1)
fld dword [esi + 0xec]
fcomp qword [0x8581c0]
fnstsw ax
test ah, 0x41
jne 0x51e08d
fstp dword [esi + 0xec]
jmp 0x51e08f
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51e16a
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
cmp word [esi + 0x13e], 2
jg 0x51e0dc
fld dword [esi + 0xf8]
mov ecx, esi
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
call fcn.00487ea0
test al, al
jne 0x51dff8
cmp word [esi + 0x13e], 3
jne case.0x51dee6.788
fld dword [esi + 0xf4]
fsub qword [0x858820]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0xf4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
fld dword [0x85afe8]
jne 0x51e123
fxch st(1)
fstp dword [esi + 0xf4]
fst dword [esi + 0xec]
jmp 0x51e125
fstp st(1)
fld dword [esi + 0xec]
fcomp qword [0x85b828]
fnstsw ax
test ah, 5
jp 0x51e140
fstp dword [esi + 0xec]
jmp case.0x51dee6.788
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
je 0x51e16a
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
call fcn.00483f40
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret