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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2e0
push ebx
push ebp
push esi
mov esi, ecx
movsx eax, word [esi + 0x13c]
add eax, 0xfffffce0
cmp eax, 0xc6
push edi
ja case.0x636390.803
movzx eax, byte [eax + 0x641024]
jmp dword [eax*4 + 0x640f90]
mov edi, 5
cmp dword [esi + 0x190], edi
je 0x636ee4
movsx eax, word [esi + 0x13e]
cmp eax, 4
ja case.default.0x6363b8
jmp dword [eax*4 + 0x6410ec]
push 3
push 0
push 0
call fcn.0048ce90
test al, al
jne 0x636ee4
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x871538]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x636402
fstp dword [ecx + 4]
jmp 0x636404
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x636ee4
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x636ee2
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x636ee2
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x636ee4
push 2
mov ecx, esi
call fcn.0048ce30
cmp dword [esi + 0x144], 0x78
jg 0x636560
cmp dword [esi + 0x190], 0
jne 0x636560
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.00438c60
or ebx, 0xffffffff
test al, al
je 0x6364e1
add dword [esi + 0x34c], ebx
cmp dword [esi + 0x144], 0
jne 0x640f87
cmp word [esi + 0x142], 0
jne 0x636512
cmp word [esi + 0x140], 0
jne 0x636512
cmp word [esi + 0x13e], 1
jne 0x636512
add dword [esi + 0x34c], ebx
cmp dword [esi + 0x144], 0
jne 0x640f87
cmp word [esi + 0x142], 0
jne 0x640f87
cmp word [esi + 0x140], 0
jne 0x640f87
cmp word [esi + 0x13e], 2
jne 0x640f87
add dword [esi + 0x34c], ebx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x63657c
fadd dword [0x871554]
push 0xf
fstp dword [esp + 0x188]
call fcn.004099f0
add eax, 0xa
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x6365a2
fadd dword [0x871554]
fstp dword [esp + 0x184]
push 3
fld dword [0x8589f0]
lea eax, [esp + 0x184]
fstp dword [esp + 0x18c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push eax
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x320
call edx
sub edi, 1
jne 0x636560
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0x11c]
fld qword [0x858c08]
fsub st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esi + 0x120]
fld dword [0x8677a8]
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
je 0x636644
cmp dword [esi + 0x144], 0xa
jle 0x63665a
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x636ee4
sub al, 0xa
mov byte [esi + 0x113], al
fldz
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 1
je 0x636ee4
cmp byte [esi + 0x113], 0
jbe 0x636ee4
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x85d140]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x6366a6
fstp dword [ecx + 4]
jmp 0x6366a8
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x636ee4
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x636ee2
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x636ee2
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x636ee4
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jmp 0x6364a9
cmp dword [esi + 0x39c], 0
je 0x636ee4
mov ecx, dword [esi + 0x39c]
movzx edx, byte [ecx + 0x104]
mov byte [esi + 0x104], dl
mov eax, dword [esi + 0x39c]
movsx ecx, byte [eax + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [eax + 0xf4]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf8]
fadd dword [eax + 0xf0]
fstp dword [esi + 0xf0]
fld dword [eax + 0x12c]
fstp dword [esi + 0x12c]
movzx edx, byte [eax + 0x113]
mov byte [esi + 0x113], dl
jmp case.default.0x6363b8
push 3
push 0
push 0
call fcn.0048ce90
test al, al
jne 0x636ee4
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x871538]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x6367e9
fstp dword [ecx + 4]
jmp 0x6367eb
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x636ee4
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x636ee2
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x636ee2
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x636ee4
push 2
mov ecx, esi
call fcn.0048ce30
cmp dword [esi + 0x144], 0x78
jg 0x636890
cmp dword [esi + 0x190], 0
jne 0x636890
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jmp 0x6364a9
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x6368ac
fadd dword [0x871554]
push 0xf
fstp dword [esp + 0x284]
call fcn.004099f0
add eax, 0xa
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x6368d2
fadd dword [0x871554]
fstp dword [esp + 0x280]
push 3
fld dword [0x8589f0]
lea eax, [esp + 0x280]
fstp dword [esp + 0x288]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push eax
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x320
call edx
sub edi, 1
jne 0x636890
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x190], 5
je 0x636ee4
movzx eax, word [esi + 0x13e]
xor edi, edi
cmp ax, di
mov ebp, 1
je 0x636960
cmp ax, 8
jne 0x636afd
cmp dword [esi + 0x144], edi
jne 0x636998
cmp word [esi + 0x142], di
jne 0x636998
cmp word [esi + 0x140], di
jne 0x636998
cmp ax, di
jne 0x636998
fld dword [0x85b3b0]
push 2
push ebp
push 0xa
push ecx
fstp dword [esp]
push 0x3df
call fcn.004b0f50
push 5
push 3
push edi
mov ecx, esi
call fcn.0048ce90
test al, al
jne 0x636ee4
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fadd qword [0x858820]
lea ecx, [esi + 4]
fstp dword [eax + 4]
fld dword [eax]
fstp dword [esi + 0x12c]
fld dword [eax + 4]
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
mov eax, dword [esi + 0x144]
and eax, 0x80000003
jns 0x6369ef
dec eax
or eax, 0xfffffffc
inc eax
jne 0x636a4b
fld dword [esi + 0x12c]
push 3
fstp dword [esp + 0x298]
lea eax, [esp + 0x298]
fldz
push eax
fstp dword [esp + 0x2a0]
push ebp
fld dword [0x871538]
fstp dword [esp + 0x2a8]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call edx
movsx eax, byte [esi + 0x104]
fld dword [esi + 0xf4]
mov dword [esp + 0x14], eax
push edi
mov ecx, esi
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
call fcn.0048cde0
cmp dword [esi + 0x190], edi
jne 0x63723f
cmp dword [esi + 0x144], 0x1e
jge 0x63723f
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x636ee4
fld dword [esi + 0xec]
fcomp qword [0x85bac0]
fnstsw ax
test ah, 5
jnp 0x636ee4
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x636ee4
fld dword [0x85b000]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 0x41
je 0x636ee4
movzx eax, word [esi + 0x13e]
cmp ax, bp
je 0x636b1f
cmp ax, 0xa
je 0x636b1f
cmp ax, 0xb
je 0x636b1f
cmp ax, 0xc
jne 0x636ce2
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
fmul qword [0x85b818]
fstp dword [eax + 4]
cmp word [esi + 0x140], di
jne 0x636c71
fld1
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x636bb5
fld dword [esi + 0x11c]
fld qword [0x857f78]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jp 0x636bb5
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov byte [esi + 0x194], 4
mov word [esi + 0x36e], bp
jmp 0x636bb7
fstp st(0)
cmp word [esi + 0x36e], bp
jne 0x636c03
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x636bd3
dec ecx
or ecx, 0xfffffffe
inc ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x867840]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
push edi
mov ecx, esi
call fcn.0048cde0
mov eax, dword [esi + 0x190]
cmp eax, edi
je 0x636c4b
cmp eax, 4
jne 0x636c21
mov byte [esi + 0x194], 0
cmp byte [esi + 0x194], 0
jle 0x636c52
add word [esi + 0x36c], bp
movzx eax, word [esi + 0x36c]
cmp ax, 5
jle 0x636c4b
mov word [esi + 0x36c], di
mov dword [esi + 0x190], edi
cmp byte [esi + 0x194], 0
jne 0x636c71
fld1
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jp 0x636c71
mov word [esi + 0x140], bp
mov word [esi + 0x142], di
cmp word [esi + 0x140], bp
jne 0x636caf
fld dword [esi + 0x11c]
fld qword [0x867840]
fsub st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esi + 0x120]
fldz
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 1
je 0x636ee4
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
cmp word [esi + 0x13e], 2
fld qword [0x85a298]
jne 0x636d60
fld dword [esi + 0x378]
fadd dword [esi + 0x11c]
fstp dword [esi + 0x11c]
fld dword [esi + 0x378]
fmul st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x378]
fld dword [0x85c078]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x636d33
fstp dword [esi + 0x378]
jmp 0x636d35
fstp st(0)
fld dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x144], 0xa
jl 0x636d60
mov al, byte [esi + 0x113]
cmp al, 8
jb 0x636ee2
sub al, 8
mov byte [esi + 0x113], al
cmp word [esi + 0x13e], 3
jne 0x636db0
fld dword [esi + 0x11c]
fld qword [0x85c108]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x636ee2
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x110], bl
add byte [esi + 0x111], bl
cmp word [esi + 0x13e], 4
jne 0x636e00
fld dword [esi + 0x11c]
fld qword [0x858c08]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0x28
jb 0x636ee2
sub al, 0x28
mov byte [esi + 0x113], al
mov al, 0xd8
add byte [esi + 0x110], al
add byte [esi + 0x111], al
cmp word [esi + 0x13e], 5
fld qword [0x8581d8]
jne 0x636e74
fld dword [esi + 0x12c]
fadd dword [esi + 0x378]
fstp dword [esi + 0x12c]
fld dword [esi + 0x378]
fmul qword [0x85b818]
fstp dword [esi + 0x378]
fld dword [esi + 0x37c]
fadd dword [esi + 0x11c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [esi + 0x37c]
fmul st(1)
fstp dword [esi + 0x37c]
mov al, byte [esi + 0x113]
cmp al, 5
jb 0x636ee0
sub al, 5
mov byte [esi + 0x113], al
cmp word [esi + 0x13e], 6
jne 0x636ef3
fld dword [esi + 0x12c]
fsub dword [esi + 0x378]
fstp dword [esi + 0x12c]
fmul dword [esi + 0x378]
fstp dword [esi + 0x378]
fld dword [esi + 0x37c]
fadd dword [esi + 0x11c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fmul dword [esi + 0x37c]
fstp dword [esi + 0x37c]
mov al, byte [esi + 0x113]
cmp al, 5
jb 0x6365f7
sub al, 5
mov byte [esi + 0x113], al
jmp 0x636ef7
fstp st(0)
fstp st(0)
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
fstp st(0)
movzx eax, word [esi + 0x13e]
cmp ax, 7
je 0x636f0e
cmp ax, 9
jne 0x6370ad
cmp dword [esi + 0x144], edi
jne 0x636f48
cmp word [esi + 0x142], di
jne 0x636f48
cmp word [esi + 0x140], di
jne 0x636f48
cmp ax, di
jne 0x636f48
fld dword [0x85ae94]
push 2
push ebp
push 0xf
push ecx
fstp dword [esp]
push 0x3df
mov ecx, esi
call fcn.004b0f50
push 5
push 3
push edi
mov ecx, esi
call fcn.0048ce90
test al, al
jne 0x6365f7
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fadd qword [0x858820]
lea ecx, [esi + 4]
fstp dword [eax + 4]
fld dword [eax]
fstp dword [esi + 0x12c]
fld dword [eax + 4]
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
mov eax, dword [esi + 0x144]
and eax, 0x80000003
jns 0x636f9f
dec eax
or eax, 0xfffffffc
inc eax
jne 0x636ffb
fld dword [esi + 0x12c]
push 3
fstp dword [esp + 0x2b0]
lea eax, [esp + 0x2b0]
fldz
push eax
fstp dword [esp + 0x2b8]
push ebp
fld dword [0x871538]
fstp dword [esp + 0x2c0]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call edx
movsx eax, byte [esi + 0x104]
fld dword [esi + 0xf4]
mov dword [esp + 0x14], eax
push edi
mov ecx, esi
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
call fcn.0048cde0
cmp dword [esi + 0x190], edi
jne 0x637102
cmp dword [esi + 0x144], 0x1e
jge 0x637102
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6365f7
fld dword [esi + 0xec]
fcomp qword [0x85bac0]
fnstsw ax
test ah, 5
jnp 0x6365f7
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x6365f7
fld dword [0x85b000]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 0x41
je 0x6365f7
mov ecx, esi
call fcn.00438c60
or ebx, 0xffffffff
test al, al
je 0x6370c1
add dword [esi + 0x34c], ebx
cmp dword [esi + 0x144], edi
jne 0x640f87
cmp word [esi + 0x142], di
jne 0x640f87
cmp word [esi + 0x140], di
jne 0x640f87
cmp word [esi + 0x13e], bp
jne 0x640f87
add dword [esi + 0x34c], ebx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x398]
push 2
call fcn.00464980
mov ecx, dword [esi + 0x35c]
fld dword [ecx]
fstp dword [esp + 0x78]
mov edx, dword [esi + 0x35c]
fld dword [edx + 4]
fstp dword [esp + 0x7c]
fld dword [0x858830]
fstp dword [esp + 0x80]
cmp word [esi + 0x13e], 9
jne 0x63714c
fld dword [0x85c22c]
fstp dword [esp + 0x80]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push 3
lea ecx, [esp + 0x7c]
push ecx
push ebp
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call eax
fld dword [0x85b870]
fstp dword [esp + 0x80]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 3
lea eax, [esp + 0x7c]
push eax
push ebp
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call edx
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push 3
lea ecx, [esp + 0x7c]
push ecx
push ebp
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call eax
fld dword [0x85bca4]
fstp dword [esp + 0x80]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 3
lea eax, [esp + 0x7c]
push eax
push ebp
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call edx
lea ecx, [esp + 0x78]
jmp 0x63737d
mov ecx, dword [esi + 0x398]
push 4
call fcn.00464980
mov ecx, dword [esi + 0x35c]
fld dword [ecx]
fstp dword [esp + 0x54]
mov edx, dword [esi + 0x35c]
fld dword [edx + 4]
fstp dword [esp + 0x58]
cmp dword [esi + 0x190], edi
je 0x63727b
fld dword [esp + 0x58]
fmul qword [0x858ea0]
fstp dword [esp + 0x58]
fld1
fstp dword [esp + 0x5c]
cmp word [esi + 0x13e], 8
jne 0x637295
fld dword [0x86782c]
fstp dword [esp + 0x5c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push 3
lea ecx, [esp + 0x58]
push ecx
push ebp
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call eax
fld dword [0x85b870]
fstp dword [esp + 0x5c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 3
lea eax, [esp + 0x58]
push eax
push ebp
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call edx
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push 3
lea ecx, [esp + 0x58]
push ecx
push ebp
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call eax
fld dword [0x85bca4]
fstp dword [esp + 0x5c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 3
lea eax, [esp + 0x58]
push eax
push ebp
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call edx
lea ecx, [esp + 0x54]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
push ecx
push ebp
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
mov ecx, esi
call eax
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x190], 5
je 0x6365f7
movzx ecx, word [esi + 0x13e]
cmp cx, 1
jle 0x6373e6
cmp cx, 4
je 0x6373e6
cmp cx, 5
jne 0x63751e
mov eax, dword [esi + 0x398]
movzx edx, word [eax + 0x13c]
cmp dx, 0x31
jle 0x6374ac
cmp dx, 0x96
jge 0x6374ac
mov edi, 0x50
lea ecx, [ecx]
movzx ecx, byte [esi + 0x104]
push 1
push ecx
push 0x3c
call fcn.004099f0
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x637433
fadd dword [0x871554]
fadd dword [esi + 0xf0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push 0xf
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x63745d
fadd dword [0x871554]
movsx edx, byte [esi + 0x104]
imul edx, edi
mov dword [esp + 0x24], edx
mov ecx, esi
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0xc9
call fcn.00438ce0
add edi, 0xf
cmp edi, 0x131
jl 0x637410
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dx, 0x19c
jne 0x637573
movsx edx, byte [eax + 0x104]
mov ecx, dword [esi + 0x35c]
mov dword [esp + 0x14], edx
push 0
fld dword [ecx]
mov ecx, esi
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fstp dword [esi + 0xf0]
call fcn.0048cde0
movzx eax, word [esi + 0x13e]
cmp ax, 1
je 0x637504
cmp ax, 5
jne 0x63751e
cmp dword [esi + 0x144], 0xf
jl 0x63751e
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
jne 0x6365f7
cmp dword [esi + 0x144], 0
jne 0x640f87
cmp word [esi + 0x142], 0
jne 0x640f87
cmp word [esi + 0x140], 0
jne 0x640f87
cmp word [esi + 0x13e], 3
jne 0x640f87
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp cx, 1
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
mov ecx, esi
jg 0x63758c
push 2
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push 6
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 5
cmp dword [esi + 0x190], edi
je 0x6365f7
movsx eax, word [esi + 0x13e]
xor ebx, ebx
cmp eax, 8
lea ebp, [edi - 4]
ja case.default.0x6375be
jmp dword [eax*4 + 0x641100]
push edi
push 3
push ebx
call fcn.0048ce90
test al, al
jne 0x6365f7
fld dword [0x871544]
sub esp, 0xc
fstp dword [esp + 8]
mov ecx, esi
fld dword [0x85c110]
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.0048cca0
mov eax, dword [esi + 0x35c]
fld dword [eax]
fstp dword [esi + 0x12c]
mov ecx, dword [esi + 0x144]
cmp ecx, ebx
je 0x63761a
cmp ecx, edi
je 0x63761a
cmp ecx, 0xa
jne 0x637670
fld dword [eax]
push 3
fstp dword [esp + 0x2c8]
lea ecx, [esp + 0x2c8]
fldz
push ecx
fstp dword [esp + 0x2d0]
push ebp
fld dword [0x867860]
mov ecx, esi
fstp dword [esp + 0x2d8]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
call eax
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x637683
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x63776f
push 0xe
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x6376a5
fadd dword [0x871554]
mov edx, dword [esi + 0x35c]
fld dword [edx]
push 3
fadd qword [0x871510]
lea eax, [esp + 0x16c]
push eax
push ebp
faddp st(1)
fsub qword [0x858ec0]
fstp dword [esp + 0x174]
fld dword [0x86782c]
fstp dword [esp + 0x178]
fld dword [0x871538]
fstp dword [esp + 0x17c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi + 0x35c]
mov edi, dword [esi]
fstp qword [esp + 0x2c]
fld dword [esi + 0xec]
push ecx
fstp qword [esp + 0x28]
push ecx
fld dword [edx]
add edi, 0x44
fchs
fstp dword [esp]
call fcn.00409580
fmul qword [0x857958]
mov eax, dword [esi + 0x35c]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [eax]
fchs
fstp dword [esp]
call fcn.004095f0
movsx ecx, byte [esi + 0x104]
imul ecx, ecx, 0x23
mov edx, dword [edi]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fimul dword [esp + 0x2c]
fsubr qword [esp + 0x30]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32a
call edx
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fadd qword [0x8677a0]
lea ecx, [esi + 4]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [eax + 4]
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
movsx eax, byte [esi + 0x104]
fld dword [esi + 0xf4]
mov dword [esp + 0x14], eax
push ebx
mov ecx, esi
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
call fcn.0048cde0
cmp dword [esi + 0x190], ebx
jne 0x6377f2
cmp dword [esi + 0x144], 0xb3
jl case.default.0x6375be
mov ecx, dword [esi + 0x398]
push 6
call fcn.00464980
fldz
fst dword [esp + 0x30]
fstp dword [esp + 0x34]
fld1
fstp dword [esp + 0x38]
mov ecx, dword [esi + 0x398]
cmp byte [ecx + 0x6a4], 3
jl 0x637828
fld dword [0x867810]
fstp dword [esp + 0x38]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 3
lea eax, [esp + 0x34]
push eax
push ebp
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
call edx
fld dword [0x8589f0]
fstp dword [esp + 0x38]
mov edi, 8
jmp 0x637870
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x63788c
fadd dword [0x871554]
push 0x32
fstp dword [esp + 0x38]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x6378ac
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea ecx, [esp + 0x34]
push ecx
fstp dword [esp + 0x1c]
push ebp
fld dword [esp + 0x20]
mov ecx, esi
fadd qword [0x8579b0]
fstp dword [esp + 0x40]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
call eax
sub edi, ebp
jne 0x637870
fld dword [0x85bca4]
push 3
fstp dword [esp + 0x3c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
lea eax, [esp + 0x34]
push eax
push ebp
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
call edx
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push 3
lea ecx, [esp + 0x34]
push ecx
push ebp
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
call eax
fld dword [0x85882c]
fstp dword [esp + 0x38]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 3
lea eax, [esp + 0x34]
push eax
push ebp
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
call edx
fld dword [esi + 0xf0]
movzx edx, byte [esi + 0x104]
push 3
lea ecx, [esp + 0x34]
push ecx
push ebp
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
jmp 0x6373a4
cmp word [esi + 0x140], bx
jne 0x637b0f
fld1
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x637a47
fld dword [esi + 0x11c]
fld qword [0x857f78]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jp 0x637a47
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov byte [esi + 0x194], 4
mov word [esi + 0x36e], bp
jmp 0x637a49
fstp st(0)
cmp word [esi + 0x36e], bp
jne 0x637a95
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x637a65
dec ecx
or ecx, 0xfffffffe
inc ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x867840]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
push ebx
mov ecx, esi
call fcn.0048cde0
mov eax, dword [esi + 0x190]
cmp eax, ebx
je 0x637aea
cmp eax, 4
jne 0x637ab3
mov word [esi + 0x36c], di
cmp dword [esi + 0x190], 4
jne 0x637ac2
mov byte [esi + 0x194], bl
cmp byte [esi + 0x194], bl
jle 0x637af0
add word [esi + 0x36c], bp
movzx eax, word [esi + 0x36c]
cmp ax, di
jle 0x637aea
mov word [esi + 0x36c], bx
mov dword [esi + 0x190], ebx
cmp byte [esi + 0x194], bl
jne 0x637b0f
fld1
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jp 0x637b0f
mov word [esi + 0x140], bp
mov word [esi + 0x142], bx
cmp word [esi + 0x140], bp
jne case.default.0x6375be
fld dword [esi + 0x11c]
fld qword [0x867840]
fsub st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esi + 0x120]
fldz
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 1
jne case.default.0x6375be
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x637b90
fstp dword [ecx + 4]
jmp 0x637b92
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
cmp dword [esi + 0x144], 0xf
jl 0x637be8
fld dword [esi + 0x11c]
fmul qword [0x8581d8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
jmp case.default.0x6375be
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x637c4c
fstp dword [ecx + 4]
jmp 0x637c4e
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
fld dword [esi + 0x11c]
fadd qword [0x857f90]
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
fstp dword [esi + 0x11c]
mov al, byte [esi + 0x113]
cmp al, 0xa
jbe 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x110], bl
add byte [esi + 0x111], bl
jmp case.default.0x6375be
fld dword [esi + 0x12c]
fadd qword [0x871520]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fadd qword [0x858ea0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
jmp 0x637cb6
fld dword [esi + 0x11c]
fmul qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x144], 2
jl case.default.0x6375be
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0x12c]
fadd dword [esi + 0x378]
fstp dword [esi + 0x12c]
fld dword [esi + 0x378]
fmul qword [0x85b818]
fstp dword [esi + 0x378]
fld dword [esi + 0x37c]
fadd dword [esi + 0x11c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [esi + 0x37c]
fmul qword [0x8581d8]
jmp 0x637df1
fld dword [esi + 0x12c]
fsub dword [esi + 0x378]
fstp dword [esi + 0x12c]
fld dword [esi + 0x378]
fmul qword [0x8581d8]
fstp dword [esi + 0x378]
fld dword [esi + 0x37c]
fadd dword [esi + 0x11c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [esi + 0x37c]
fmul qword [0x85a298]
fstp dword [esi + 0x37c]
mov al, byte [esi + 0x113]
cmp al, 5
jb 0x6365f7
sub al, 5
mov byte [esi + 0x113], al
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
mov ecx, esi
call fcn.00438c60
or ebx, 0xffffffff
test al, al
je 0x637e7d
add dword [esi + 0x34c], ebx
cmp dword [esi + 0x144], 0
jne 0x640f87
cmp word [esi + 0x142], 0
jne 0x637ead
cmp word [esi + 0x140], 0
jne 0x637ead
cmp word [esi + 0x13e], bp
jne 0x637ead
add dword [esi + 0x34c], ebx
cmp dword [esi + 0x144], 0
jne 0x640f87
cmp word [esi + 0x142], 0
jne 0x637ede
cmp word [esi + 0x140], 0
jne 0x637ede
cmp word [esi + 0x13e], 2
jne 0x637ede
add dword [esi + 0x34c], ebx
cmp dword [esi + 0x144], 0
jne 0x640f87
cmp word [esi + 0x142], 0
jne 0x640f87
cmp word [esi + 0x140], 0
jne 0x640f87
cmp word [esi + 0x13e], 8
jne 0x640f87
add dword [esi + 0x34c], ebx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 5
cmp dword [esi + 0x190], edi
je 0x6365f7
movsx eax, word [esi + 0x13e]
cmp eax, 0xb
lea ebp, [edi - 4]
ja case.default.0x637f47
jmp dword [eax*4 + 0x641124]
push 4
push 0
push 0
call fcn.0048ce90
test al, al
jne 0x6365f7
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x858ea8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ecx + 4]
fld dword [0x8589f0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x637f91
fstp dword [ecx + 4]
jmp 0x637f93
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
movsx ecx, byte [esi + 0x104]
fld dword [esi + 0xf4]
mov dword [esp + 0x14], ecx
push 0
mov ecx, esi
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
call fcn.0048cde0
mov edx, dword [esi + 0x144]
and edx, 0x80000001
jns 0x637ffb
dec edx
or edx, 0xfffffffe
inc edx
jne 0x6380e7
push 0xe
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x63801d
fadd dword [0x871554]
mov eax, dword [esi + 0x35c]
fld dword [eax]
push 3
fadd qword [0x871510]
lea ecx, [esp + 0x22c]
push ecx
push ebp
faddp st(1)
fsub qword [0x858ec0]
fstp dword [esp + 0x234]
fld dword [0x86782c]
fstp dword [esp + 0x238]
fld dword [0x85b870]
fstp dword [esp + 0x23c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi + 0x35c]
mov edi, dword [esi]
fstp qword [esp + 0x2c]
fld dword [esi + 0xec]
push edx
fstp qword [esp + 0x28]
push ecx
fld dword [eax]
add edi, 0x44
fchs
fstp dword [esp]
call fcn.00409580
fmul qword [0x857958]
mov ecx, dword [esi + 0x35c]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [ecx]
fchs
fstp dword [esp]
call fcn.004095f0
movsx edx, byte [esi + 0x104]
mov eax, dword [edi]
imul edx, edx, 0x23
mov dword [esp + 0x2c], edx
mov ecx, esi
fimul dword [esp + 0x2c]
fsubr qword [esp + 0x30]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32b
call eax
cmp dword [esi + 0x144], 0x1e
jge 0x6380fd
cmp dword [esi + 0x190], 0
je case.default.0x637f47
fldz
push 3
fst dword [esp + 0xa0]
lea eax, [esp + 0xa0]
fstp dword [esp + 0xa4]
push eax
fld dword [0x8589f0]
push ebp
fstp dword [esp + 0xb0]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call edx
fld dword [0x85bca4]
fstp dword [esp + 0xa4]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push 3
lea ecx, [esp + 0xa0]
push ecx
push ebp
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call eax
fld dword [0x85882c]
push 0x168
fstp dword [esp + 0xa8]
call fcn.004099f0
fldz
fstp dword [esp + 0x1c]
add esp, 4
fld dword [esp + 0x18]
fmul qword [0x85ba38]
mov ecx, dword [esi + 0x35c]
push 4
fadd dword [ecx]
fstp dword [esp + 0xa0]
mov edx, dword [esi + 0x398]
movsx eax, byte [edx + 0x6a8]
mov dword [esp + 0x18], eax
lea eax, [esp + 0xa0]
push eax
fild dword [esp + 0x1c]
push 1
fmul qword [0x85abe8]
fadd qword [0x8579b0]
fstp dword [esp + 0xac]
fld dword [0x85b3b0]
fstp dword [esp + 0xb4]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call edx
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [0x867810]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x6381b9
fstp st(0)
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0x11c]
fmul qword [0x85ba10]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp word [esi + 0x140], bp
jl case.default.0x637f47
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
jmp case.default.0x637f47
fld dword [esi + 0x11c]
fld qword [0x85a280]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0x14
jb 0x6365f7
sub al, 0x14
mov byte [esi + 0x113], al
jmp case.default.0x637f47
fld dword [esi + 0x12c]
fadd qword [0x871520]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fadd qword [0x858ea0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jbe 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x110], bl
add byte [esi + 0x111], bl
jmp case.default.0x637f47
fld dword [esi + 0x11c]
fmul qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x144], 4
jl case.default.0x637f47
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x6383c9
fstp dword [ecx + 4]
jmp 0x6383cb
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
fld dword [esi + 0x11c]
fadd qword [0x857f90]
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
fstp dword [esi + 0x11c]
jmp 0x638338
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fmul qword [0x85b818]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ecx + 4]
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x638464
fstp dword [ecx + 4]
jmp 0x638466
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
movsx ecx, byte [esi + 0x104]
fld dword [esi + 0xf4]
mov eax, dword [esi + 0x35c]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
fld dword [eax + 0xc]
fsub qword [0x8677c8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [eax + 0xc]
fldz
fcompp
fnstsw ax
test ah, 1
jne case.default.0x637f47
mov ecx, dword [esi + 0x398]
push 0x10
call fcn.00464980
fldz
fst dword [esp + 0x3c]
push 3
fstp dword [esp + 0x44]
lea eax, [esp + 0x40]
fld dword [0x85bca4]
push eax
fstp dword [esp + 0x4c]
push 1
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call edx
fldz
fst dword [esp + 0x3c]
fstp dword [esp + 0x40]
mov eax, dword [esi + 0x398]
mov al, byte [eax + 0x6a8]
cmp al, 1
jg 0x638553
fld dword [0x867810]
jmp 0x638565
cmp al, 3
jg 0x63855f
fld dword [0x86782c]
jmp 0x638565
fld dword [0x85c22c]
fstp dword [esp + 0x44]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 3
lea eax, [esp + 0x40]
push eax
or ebx, 0xffffffff
push ebx
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call edx
fld dword [0x85bc44]
fstp dword [esp + 0x44]
lea edi, [ebx + 5]
lea ecx, [ecx]
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x6385cc
fadd dword [0x871554]
push 0xa
fstp dword [esp + 0x44]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x6385ec
fadd dword [0x871554]
fadd qword [0x871520]
push 3
lea ecx, [esp + 0x40]
push ecx
fstp dword [esp + 0x48]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push ebx
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32b
call eax
sub edi, ebp
jne 0x6385b0
add dword [esi + 0x34c], ebx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x140], 0
fld qword [0x867840]
jne 0x638721
fld1
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x6386aa
fld dword [esi + 0x11c]
fld qword [0x857f78]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jp 0x6386aa
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov byte [esi + 0x194], 1
mov word [esi + 0x36e], bp
jmp 0x6386ac
fstp st(0)
cmp word [esi + 0x36e], bp
jne 0x6386f4
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x6386c8
dec ecx
or ecx, 0xfffffffe
inc ecx
mov dword [esp + 0x14], ecx
fimul dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
jmp 0x6386f6
fstp st(0)
push 0
mov ecx, esi
call fcn.0048cde0
cmp byte [esi + 0x194], 0
jne 0x63871b
fld1
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jnp 0x639888
fld qword [0x867840]
cmp word [esi + 0x140], bp
jne 0x638826
fld dword [esi + 0x11c]
fsub st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esi + 0x120]
fldz
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 1
jne case.default.0x637f47
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63879a
fstp dword [ecx + 4]
jmp 0x63879c
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
cmp dword [esi + 0x144], edi
jl 0x6387f1
fld dword [esi + 0x11c]
fmul qword [0x8581d8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
jmp case.default.0x637f47
fstp st(0)
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
mov ecx, esi
call fcn.00438c60
or ebx, 0xffffffff
test al, al
je 0x638898
add dword [esi + 0x34c], ebx
cmp dword [esi + 0x144], 0
jne 0x640f87
cmp word [esi + 0x142], 0
jne 0x640f87
cmp word [esi + 0x140], 0
jmp 0x6370e1
cmp dword [esi + 0x190], 5
je 0x6365f7
movsx eax, word [esi + 0x13e]
xor ebp, ebp
cmp eax, 7
ja case.default.0x6388df
jmp dword [eax*4 + 0x641154]
push 8
push 3
push ebp
call fcn.0048ce90
test al, al
jne 0x6365f7
mov eax, dword [esi + 0x144]
cmp eax, ebp
je 0x63890c
cmp eax, 5
je 0x63890c
cmp eax, 0xa
jne 0x638969
mov edx, dword [esi + 0x35c]
fld dword [edx]
push 3
fstp dword [esp + 0x148]
lea ecx, [esp + 0x148]
fldz
push ecx
fstp dword [esp + 0x150]
push 1
fld dword [0x867860]
mov ecx, esi
fstp dword [esp + 0x158]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32a
call eax
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
mov ebx, 1
jns 0x638981
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x638a6b
push 0xe
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jge 0x6389a3
fadd dword [0x871554]
fld dword [esi + 0x12c]
push 3
fadd qword [0x871510]
lea edx, [esp + 0x28c]
push edx
push ebx
faddp st(1)
fsub qword [0x858ec0]
fstp dword [esp + 0x294]
fld dword [0x86782c]
fstp dword [esp + 0x298]
fld dword [0x85882c]
fstp dword [esp + 0x29c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x35c]
mov edi, dword [esi]
fstp qword [esp + 0x2c]
fld dword [esi + 0xec]
push eax
fstp qword [esp + 0x28]
push ecx
fld dword [ecx]
add edi, 0x44
fchs
fstp dword [esp]
call fcn.00409580
fmul qword [0x857958]
mov edx, dword [esi + 0x35c]
fsubr qword [esp + 0x34]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [edx]
fchs
fstp dword [esp]
call fcn.004095f0
movsx eax, byte [esi + 0x104]
mov edx, dword [edi]
imul eax, eax, 0x23
mov dword [esp + 0x2c], eax
mov ecx, esi
fimul dword [esp + 0x2c]
fsubr qword [esp + 0x30]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x32c
call edx
fld dword [esi + 0xf4]
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xf8]
fstp dword [esp]
call fcn.00409760
mov ecx, dword [esi + 0x35c]
fchs
fstp dword [esi + 0x12c]
add esp, 8
fld dword [ecx + 4]
fmul qword [0x85cde0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x638ac1
fstp dword [ecx + 4]
jmp 0x638ac3
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
fld1
mov ecx, dword [esi + 0x35c]
fcomp dword [ecx + 0xc]
fnstsw ax
test ah, 0x44
jp 0x638b01
mov eax, dword [esi + 0x398]
cmp dword [eax + 0x760], ebp
jne 0x638b01
fldz
fst dword [ecx + 0xc]
jmp 0x638b03
fldz
fld dword [0x8589f0]
fcom dword [ecx + 0xc]
fnstsw ax
test ah, 0x44
jp 0x638b28
mov edx, dword [esi + 0x398]
cmp dword [edx + 0x764], ebp
jne 0x638b28
fxch st(1)
fst dword [ecx + 0xc]
fxch st(1)
mov word [esi + 0x374], bp
mov ecx, dword [esi + 0x398]
movzx eax, word [ecx + 0x13c]
cmp ax, 0x1f4
jl 0x638b6d
cmp ax, 0x2bb
jg 0x638b6d
cmp ax, 0x1fe
je 0x638b54
cmp ax, 0x1ff
jne 0x638b66
cmp word [ecx + 0x13e], bp
jne 0x638b6d
cmp word [ecx + 0x140], bp
jne 0x638b6d
mov word [esi + 0x374], bx
cmp word [esi + 0x374], bx
jne 0x638c3b
mov ecx, dword [esi + 0x398]
fstp st(1)
push 2
fstp st(0)
call fcn.00464980
fldz
fst dword [esp + 0xb8]
push 3
fstp dword [esp + 0xc0]
lea ecx, [esp + 0xbc]
fld dword [0x8589f0]
push ecx
fstp dword [esp + 0xc8]
push ebx
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call eax
fld dword [0x85bca4]
fstp dword [esp + 0xc0]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 3
lea eax, [esp + 0xbc]
push eax
push ebx
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call edx
fld1
fstp dword [esp + 0xc0]
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x144]
cmp ecx, 0x2d
jge 0x638c52
cmp dword [esi + 0x190], ebp
je 0x638e26
mov eax, dword [esi + 0x35c]
fld st(1)
fcomp dword [eax + 0xc]
fnstsw ax
test ah, 0x44
jp 0x638e26
mov ecx, dword [esi + 0x398]
fstp st(1)
push 2
fstp st(0)
call fcn.00464980
fldz
fst dword [esp + 0x90]
push 3
fstp dword [esp + 0x98]
lea eax, [esp + 0x94]
fld dword [0x8589f0]
push eax
fstp dword [esp + 0xa0]
push ebx
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call edx
fld dword [0x85bca4]
fstp dword [esp + 0x98]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push 3
lea ecx, [esp + 0x94]
push ecx
push ebx
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call eax
fld1
fstp dword [esp + 0x98]
mov ecx, dword [esi + 0x398]
movsx edx, byte [ecx + 0x6ac]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd st(0), st(0)
fadd qword [0x857f50]
fstp dword [esp + 0x14]
fldz
fstp dword [esp + 0x18]
fld dword [esp + 0x14]
fst qword [esp + 0x28]
fcomp qword [0x8677b0]
fnstsw ax
test ah, 0x41
jne 0x6373ad
lea ebx, [ebx]
push 0x28
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x638d79
fadd dword [0x871554]
fld dword [esp + 0x1c]
push 0x14
fmul qword [0x8581e8]
fdiv dword [esp + 0x1c]
faddp st(1)
fstp dword [esp + 0x98]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x638dac
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea ecx, [esp + 0x94]
push ecx
fadd qword [0x857930]
push ebx
mov ecx, esi
fstp dword [esp + 0xa0]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call eax
fld dword [esp + 0x18]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 5
jnp 0x638d60
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x398]
movsx eax, byte [edx + 0x6ac]
add eax, 6
mov edx, eax
shl edx, 4
sub edx, eax
add edx, edx
cmp ecx, edx
jl 0x638ef1
fxch st(1)
push 3
fst dword [esp + 0xc8]
lea ecx, [esp + 0xc8]
fstp dword [esp + 0xcc]
push ecx
push ebx
fstp dword [esp + 0xd8]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call eax
fld dword [0x85bca4]
fstp dword [esp + 0xcc]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 3
lea eax, [esp + 0xc8]
push eax
push ebx
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call edx
fld1
fstp dword [esp + 0xcc]
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 0x104]
fstp st(1)
fstp st(0)
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf0]
cmp dword [esi + 0x190], 6
jne case.default.0x6388df
mov dword [esi + 0x190], ebp
add byte [esi + 0x194], 1
jmp case.default.0x6388df
push 4
push ebp
push ebp
call fcn.0048ce90
test al, al
jne 0x6365f7
fld dword [esi + 0xf8]
sub esp, 8
fsub qword [0x8677a0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esi + 0xf8]
fld dword [esi + 0xf4]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.00409760
fchs
add esp, 8
fstp dword [esi + 0x12c]
mov ecx, esi
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp qword [esp + 0x28]
call fcn.004397f0
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
je 0x638ff4
cmp dword [esi + 0x190], ebp
jne 0x638ff4
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf0]
jmp case.default.0x6388df
mov ecx, dword [esi + 0x398]
push 2
call fcn.00464980
fldz
fst dword [esp + 0x100]
push 3
fstp dword [esp + 0x108]
lea eax, [esp + 0x104]
fld dword [0x871538]
push eax
fstp dword [esp + 0x110]
push 1
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
call edx
fld dword [0x85bca4]
push 3
fstp dword [esp + 0x10c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
lea ecx, [esp + 0x104]
push ecx
push 1
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x32c
jmp 0x6373a4
cmp word [esi + 0x140], bp
fld qword [0x867840]
jne 0x639132
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x6390bd
dec ecx
or ecx, 0xfffffffe
inc ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x190], 6
jne 0x6390ff
mov dword [esi + 0x190], ebp
add byte [esi + 0x194], 1
cmp dword [esi + 0x190], ebp
je 0x639132
cmp byte [esi + 0x194], 0
jle 0x639132
add word [esi + 0x36c], 1
movzx eax, word [esi + 0x36c]
cmp ax, 5
jle 0x639132
mov word [esi + 0x36c], bp
mov dword [esi + 0x190], ebp
cmp word [esi + 0x140], 1
jne 0x6393db
fld dword [esi + 0x11c]
fsub st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esi + 0x120]
fldz
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 1
jne case.default.0x6388df
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x140], bp
jne 0x639215
mov edx, dword [esi + 0x144]
and edx, 0x80000001
jns 0x63919c
dec edx
or edx, 0xfffffffe
inc edx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul qword [0x867840]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x190], 6
jne 0x6391e2
mov dword [esi + 0x190], ebp
add byte [esi + 0x194], 1
cmp dword [esi + 0x190], ebp
je 0x639215
cmp byte [esi + 0x194], 0
jle 0x639215
add word [esi + 0x36c], 1
movzx eax, word [esi + 0x36c]
cmp ax, 5
jle 0x639215
mov word [esi + 0x36c], bp
mov dword [esi + 0x190], ebp
cmp word [esi + 0x140], 1
jne case.default.0x6388df
fld dword [esi + 0x11c]
fmul qword [0x85ba10]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 8
jb 0x6365f7
sub al, 8
mov byte [esi + 0x113], al
mov al, 0xf8
add byte [esi + 0x110], al
add byte [esi + 0x111], al
jmp case.default.0x6388df
fld dword [esi + 0x12c]
fadd qword [0x871520]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fadd qword [0x858ea0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jbe 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x110], bl
add byte [esi + 0x111], bl
jmp case.default.0x6388df
fld dword [esi + 0x11c]
fmul qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x144], 2
jl case.default.0x6388df
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0x11c]
fld qword [0x857f78]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0x14
jb 0x6365f7
sub al, 0x14
mov byte [esi + 0x113], al
jmp case.default.0x6388df
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63936c
fstp dword [ecx + 4]
jmp 0x63936e
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
fld dword [esi + 0x11c]
fadd qword [0x857f90]
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
fstp dword [esi + 0x11c]
jmp 0x63929e
fstp st(0)
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
mov ecx, esi
call fcn.00438c60
or ebx, 0xffffffff
test al, al
je 0x63944d
add dword [esi + 0x34c], ebx
cmp dword [esi + 0x144], ebp
jne 0x640f87
cmp word [esi + 0x142], bp
jne 0x640f87
cmp word [esi + 0x140], bp
jne 0x640f87
cmp word [esi + 0x13e], 1
jmp 0x6370ee
cmp dword [esi + 0x190], 5
je 0x6365f7
cmp word [esi + 0x13e], 7
jg 0x639523
mov eax, dword [esi + 0x398]
cmp word [eax + 0x13c], 0x208
jne 0x6394e4
movsx ecx, byte [esi + 0x104]
mov edx, ecx
shl edx, 4
sub edx, ecx
add edx, edx
add edx, edx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fadd qword [0x85bbc8]
fstp dword [esi + 0xf0]
cmp word [eax + 0x13c], 0x209
jne 0x639523
movsx ecx, byte [esi + 0x104]
lea ecx, [ecx + ecx*4]
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fadd qword [0x857980]
fstp dword [esi + 0xf0]
movzx eax, word [esi + 0x13e]
mov ebx, 1
xor edi, edi
cmp ax, bx
mov ebp, 3
jle 0x63954b
cmp ax, 4
je 0x63954b
cmp ax, 5
jne 0x639670
mov eax, dword [esi + 0x398]
movzx ecx, word [eax + 0x13c]
cmp cx, 0x31
jle 0x6395ec
cmp cx, 0x96
jge 0x6395ec
xor edi, edi
nop
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
push ebx
push edx
push ecx
fstp dword [esp]
push 0xf
call fcn.004099f0
test eax, eax
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
jge 0x63959c
fadd dword [0x871554]
movsx eax, byte [esi + 0x104]
imul eax, edi
mov ecx, eax
shl ecx, 4
sub ecx, eax
add ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, esi
fild dword [esp + 0x24]
fadd dword [esi + 0xec]
faddp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0xc9
call fcn.00438ce0
add edi, ebx
cmp edi, 0x28
jl 0x639570
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x35c]
fld dword [edx + 4]
fadd dword [esi + 0x12c]
fstp dword [esi + 0x12c]
movzx eax, word [eax + 0x13c]
cmp ax, 0x208
je 0x639620
cmp ax, 0x209
je 0x639620
cmp word [esi + 0x13e], bx
jmp 0x637577
push edi
mov ecx, esi
call fcn.0048cde0
mov eax, dword [esi + 0x190]
cmp eax, edi
je 0x63965e
cmp eax, 4
jne 0x63963e
mov byte [esi + 0x194], 0
add word [esi + 0x36c], bx
movzx eax, word [esi + 0x36c]
cmp ax, bp
jle 0x63965e
mov word [esi + 0x36c], di
mov dword [esi + 0x190], edi
cmp dword [esi + 0x144], 0x1e
jge 0x6396af
cmp byte [esi + 0x194], 0
jle 0x6396af
cmp word [esi + 0x13e], bp
jne 0x6370ad
cmp dword [esi + 0x39c], edi
je 0x6365f7
mov eax, dword [esi + 0x39c]
movzx eax, word [eax + 0x13e]
cmp ax, 2
je 0x636927
cmp ax, 6
je 0x636927
jmp 0x6370ad
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 + 0x190]
cmp eax, 5
je 0x6365f7
movsx ecx, word [esi + 0x13e]
cmp ecx, 4
ja case.default.0x6396df
jmp dword [ecx*4 + 0x641174]
cmp word [esi + 0x140], 0
jne 0x63ab15
test eax, eax
mov edx, 1
je 0x63970d
mov dword [esi + 0x190], 0
mov byte [esi + 0x194], dl
mov ecx, dword [esi + 0x398]
fld qword [0x85c898]
movzx eax, word [ecx + 0x13c]
fld qword [0x85bc50]
cmp ax, 0x20d
je 0x639732
cmp ax, 0x20e
jne 0x639763
cmp word [ecx + 0x13e], dx
jg 0x639763
movsx edx, byte [esi + 0x104]
imul edx, edx, 0x32
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd dword [ecx + 0xec]
fstp dword [esi + 0xec]
fld dword [ecx + 0xf0]
fadd st(1)
jmp 0x6397a6
cmp ax, 0x20f
je 0x639773
cmp ax, 0x210
jne 0x639884
cmp word [ecx + 0x13e], dx
jg 0x639884
movsx eax, byte [esi + 0x104]
imul eax, eax, 0x32
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [ecx + 0xec]
fstp dword [esi + 0xec]
fld dword [ecx + 0xf0]
fadd st(2)
mov edx, dword [esi + 0x35c]
fstp dword [esi + 0xf0]
fldz
fcomp dword [edx + 4]
fnstsw ax
fld dword [ecx + 0x89c]
test ah, 0x44
jnp 0x6397c6
fchs
fstp dword [esi + 0x12c]
movzx eax, word [ecx + 0x13c]
cmp ax, 0x20d
je 0x6397df
cmp ax, 0x20e
jne 0x63980b
movsx eax, byte [esi + 0x104]
imul eax, eax, 0x32
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fadd dword [ecx + 0xec]
fstp dword [esi + 0xec]
fadd dword [ecx + 0xf0]
fstp dword [esi + 0xf0]
jmp 0x63980d
fstp st(0)
movzx eax, word [ecx + 0x13c]
cmp ax, 0x20f
je 0x639820
cmp ax, 0x210
jne 0x63984c
movsx edx, byte [esi + 0x104]
imul edx, edx, 0x32
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd dword [ecx + 0xec]
fstp dword [esi + 0xec]
fadd dword [ecx + 0xf0]
fstp dword [esi + 0xf0]
jmp 0x63984e
fstp st(0)
mov eax, dword [esi + 0x144]
lea eax, [eax + eax*4]
add eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x8677a0]
add esp, 4
fadd qword [0x85b848]
fstp dword [esi + 0x120]
jmp case.default.0x6396df
fstp st(0)
fstp st(0)
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld1
xor ecx, ecx
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x190], ecx
je 0x6398d3
add word [esi + 0x36c], 1
movzx eax, word [esi + 0x36c]
cmp ax, 3
jl 0x6398d3
mov word [esi + 0x36c], cx
mov dword [esi + 0x190], ecx
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x639959
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x639904
fadd dword [0x871554]
fstp dword [esp + 0x198]
push 3
fldz
lea eax, [esp + 0x19c]
fstp dword [esp + 0x1a0]
push eax
fld dword [0x8589f0]
push 1
fstp dword [esp + 0x1ac]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x330
call edx
cmp byte [esi + 0x194], 0
jle 0x6373ad
cmp dword [esi + 0x144], 0x1e
jge 0x6373ad
mov eax, dword [esi + 0x398]
movzx eax, word [eax + 0x13c]
cmp ax, 0x20d
jl 0x6373ad
cmp ax, 0x210
jle case.default.0x6396df
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0x12c]
fadd qword [0x8581f8]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fld qword [0x867840]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0x14
jb 0x6365f7
sub al, 0x14
mov byte [esi + 0x113], al
mov al, 0xec
add byte [esi + 0x111], al
add byte [esi + 0x110], al
jmp case.default.0x6396df
mov eax, dword [esi + 0x398]
movzx ecx, word [eax + 0x13c]
cmp cx, 0x20d
mov edx, 2
je 0x639a20
cmp cx, 0x20e
jne 0x639a58
cmp word [eax + 0x13e], dx
jne 0x639a58
movsx ecx, byte [esi + 0x104]
imul ecx, ecx, 0x32
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fadd qword [0x85bc50]
jmp 0x63a29c
cmp cx, 0x20f
je 0x639a6a
cmp cx, 0x210
jne 0x6365f7
cmp word [eax + 0x13e], dx
jne 0x6365f7
movsx edx, byte [esi + 0x104]
imul edx, edx, 0x32
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fadd qword [0x85c898]
jmp 0x63a29c
mov eax, dword [esi + 0x398]
movzx ecx, word [eax + 0x13c]
cmp cx, 0x20d
mov edx, 1
je 0x639ac6
cmp cx, 0x20e
jne 0x639aff
cmp word [eax + 0x13e], dx
jg 0x639aff
movsx ecx, byte [esi + 0x104]
imul ecx, ecx, 0x32
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fadd qword [0x85bc50]
fstp dword [esi + 0xf0]
movzx ecx, word [eax + 0x13c]
cmp cx, 0x20f
je 0x639b14
cmp cx, 0x210
jne 0x639b4d
cmp word [eax + 0x13e], dx
jg 0x639b4d
movsx edx, byte [esi + 0x104]
imul edx, edx, 0x32
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fadd qword [0x85c898]
fstp dword [esi + 0xf0]
mov eax, dword [esi + 0x144]
lea eax, [eax + eax*2]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.00409580
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
mov edx, dword [esi + 0x398]
fmul dword [edx + 0x89c]
add esp, 4
fmulp st(1)
fstp dword [esi + 0x12c]
jmp 0x63ab15
cmp dword [esi + 0x190], 5
je 0x6365f7
xor edi, edi
cmp word [esi + 0x13e], di
mov ebp, 1
mov bl, 0xf6
jne 0x639dd2
fld dword [esi + 0x12c]
fadd qword [0x857930]
fstp dword [esi + 0x12c]
cmp word [esi + 0x140], di
jne 0x639cfc
push 8
push 3
push edi
call fcn.0048ce90
test al, al
jne 0x6365f7
mov eax, dword [esi + 0x35c]
fld dword [eax]
push edi
push edi
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x85cbd8]
push eax
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x857990]
push eax
push 0x14
call fcn.00820230
push eax
push 0xffffffffffffffec
mov ecx, esi
call fcn.004b0e40
fld dword [esi + 0x11c]
fadd qword [0x85bad8]
mov ecx, 0xa
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov eax, dword [esi + 0x144]
cdq
idiv ecx
test edx, edx
jne 0x639cda
mov edx, dword [esi + 0x35c]
fld dword [edx]
fstp dword [esp + 0x134]
fld1
fstp dword [esp + 0x138]
fld dword [0x8589f0]
fstp dword [esp + 0x13c]
fld dword [esi + 0x11c]
fstp dword [esp + 0x140]
mov eax, dword [esi + 0x398]
cmp byte [eax + 0x6ad], 4
jl 0x639ca3
fld dword [0x871538]
fstp dword [esp + 0x13c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 4
lea eax, [esp + 0x138]
push eax
push ebp
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x331
call edx
push edi
mov ecx, esi
call fcn.0048cde0
push 3
mov ecx, esi
call fcn.0048ce30
cmp dword [esi + 0x190], edi
je 0x639cfc
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
mov ecx, esi
call edx
cmp word [esi + 0x140], bp
jne 0x639d59
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x639d35
fstp dword [ecx + 4]
jmp 0x639d37
fstp st(0)
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6365f7
fld dword [esi + 0xec]
fcomp qword [0x85bac0]
fnstsw ax
test ah, 5
jnp 0x6365f7
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x6365f7
fld dword [0x85b980]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 0x41
je 0x6365f7
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
cmp word [esi + 0x13e], bp
jne 0x63a047
fld dword [esi + 0x12c]
fadd qword [0x857930]
fstp dword [esi + 0x12c]
cmp word [esi + 0x140], di
jne 0x639f71
push 8
push 3
push edi
mov ecx, esi
call fcn.0048ce90
test al, al
jne 0x6365f7
mov eax, dword [esi + 0x35c]
fld dword [eax]
push edi
push edi
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x85cbd8]
push eax
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x8581f8]
push eax
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x857990]
push eax
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x85c020]
push eax
call fcn.00820230
push eax
mov ecx, esi
call fcn.004b0e40
fld dword [esi + 0x11c]
fadd qword [0x857f90]
mov ecx, 5
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov eax, dword [esi + 0x144]
cdq
idiv ecx
test edx, edx
jne 0x639f2c
mov edx, dword [esi + 0x35c]
fld dword [edx]
fstp dword [esp + 0x124]
fld1
fstp dword [esp + 0x128]
fld dword [0x8589f0]
fstp dword [esp + 0x12c]
fld dword [esi + 0x11c]
fstp dword [esp + 0x130]
mov eax, dword [esi + 0x398]
cmp byte [eax + 0x6ad], 4
jl 0x639ef5
fld dword [0x871538]
fstp dword [esp + 0x12c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 4
lea eax, [esp + 0x128]
push eax
push ebp
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x331
call edx
push edi
mov ecx, esi
call fcn.0048cde0
cmp dword [esi + 0x190], edi
je 0x639f71
cmp byte [esi + 0x194], 0
jg 0x639f50
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
mov ecx, esi
call edx
jmp 0x639f71
add word [esi + 0x36c], bp
movzx eax, word [esi + 0x36c]
cmp ax, 6
jle 0x639f71
mov word [esi + 0x36c], di
mov dword [esi + 0x190], edi
cmp word [esi + 0x140], bp
jne 0x639fce
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x639faa
fstp dword [ecx + 4]
jmp 0x639fac
fstp st(0)
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
fld dword [0x85b834]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6365f7
fld dword [0x85b000]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 0x41
je 0x6365f7
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x6365f7
fld dword [0x85b980]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 0x41
je 0x6365f7
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
cmp word [esi + 0x13e], 2
jne 0x63a0b2
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
fld dword [esi + 0x11c]
fld qword [0x867840]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
cmp word [esi + 0x13e], 3
jne 0x63a26f
fld dword [esi + 0x12c]
fadd qword [0x857930]
fstp dword [esi + 0x12c]
cmp word [esi + 0x140], di
jne 0x63a179
push edi
push edi
push edi
mov ecx, esi
call fcn.0048ce90
test al, al
jne 0x6365f7
mov eax, dword [esi + 0x35c]
fld dword [eax]
push edi
push edi
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x85cbd8]
push eax
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x857990]
push eax
push 0x14
call fcn.00820230
push eax
push 0xffffffffffffffec
mov ecx, esi
call fcn.004b0e40
fld dword [esi + 0x11c]
fadd qword [0x85bad8]
push edi
mov ecx, esi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
call fcn.0048cde0
cmp dword [esi + 0x190], edi
jne 0x63a169
cmp dword [esi + 0x144], 0x1e
jl 0x63a179
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
mov ecx, esi
call eax
mov byte [esi + 0x194], 0
cmp word [esi + 0x140], bp
jne 0x63a1f6
fld dword [esi + 0x11c]
mov ecx, dword [esi + 0x35c]
fadd qword [0x85bad8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63a1d2
fstp dword [ecx + 4]
jmp 0x63a1d4
fstp st(0)
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.00438c60
test al, al
je 0x640f87
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x190], 5
je 0x6365f7
mov edx, dword [esi + 0x398]
movzx eax, word [edx + 0x13c]
cmp ax, 0x31
mov edi, 1
jle 0x63a305
cmp ax, 0x96
jge 0x63a305
cmp word [esi + 0x13e], di
jg 0x63a305
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 2
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 0
jne 0x63a389
fld dword [esi + 0x378]
fadd qword [0x858210]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x378]
fld dword [0x85b984]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x63a342
fstp dword [esi + 0x378]
jmp 0x63a344
fstp st(0)
fld dword [esi + 0x378]
push ecx
fstp dword [esp]
call fcn.00409580
mov eax, dword [esi + 0x35c]
fmul dword [eax]
add esp, 4
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [0x85b984]
fcomp dword [esi + 0x378]
fnstsw ax
test ah, 0x41
jnp 0x6396af
cmp word [esi + 0x13e], di
mov ebx, 3
jne 0x63a4cf
mov ecx, dword [esi + 0x170]
fld dword [esi + 0xf0]
fld dword [ecx + 0xf0]
push ecx
fadd qword [0x857b20]
fsubp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004097a0
mov edx, dword [esi + 0x170]
fstp qword [esp + 0x2c]
fld dword [esi + 0xec]
fsub dword [edx + 0xec]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004097a0
fadd qword [esp + 0x2c]
fstp qword [esp + 0x2c]
fld dword [esi + 0x11c]
fmul qword [0x857b20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004097a0
fcomp qword [esp + 0x2c]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x63a42b
mov eax, dword [esi + 0x398]
mov word [eax + 0x898], bx
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0xf
idiv ecx
test edx, edx
jne 0x63a498
mov edx, dword [esi + 0x35c]
fld dword [edx]
push ebx
fstp dword [esp + 0x244]
lea ecx, [esp + 0x244]
fldz
push ecx
fstp dword [esp + 0x24c]
push edi
fld dword [0x871538]
mov ecx, esi
fstp dword [esp + 0x254]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x334
call eax
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x63a4ac
sub al, 0xa
mov byte [esi + 0x113], al
jmp 0x63a4b3
mov byte [esi + 0x113], 0
fild dword [esi + 0x144]
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fcompp
fnstsw ax
test ah, 0x41
jnp 0x6396af
cmp word [esi + 0x13e], 2
jne 0x63a4ef
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
cmp word [esi + 0x13e], bx
jne case.default.0x6396df
fld dword [esi + 0x11c]
fadd qword [0x85c070]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov eax, dword [esi + 0x144]
lea ecx, [eax + eax*2]
add ecx, ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857928]
add esp, 4
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp dword [esp + 0x14]
mov dl, byte [esp + 0x14]
fldcw word [esp + 0x18]
mov byte [esi + 0x113], dl
mov eax, dword [esi + 0x144]
lea eax, [eax + eax*2]
add eax, eax
cmp eax, 0xb4
jl case.default.0x6396df
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x190], 5
je 0x6365f7
mov ecx, dword [esi + 0x398]
movzx eax, word [ecx + 0x13c]
cmp ax, 0x31
mov edi, 1
jle 0x63a5d5
cmp ax, 0x96
jge 0x63a5d5
cmp word [esi + 0x13e], di
jg 0x63a5d5
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
cmp word [esi + 0x13e], 0
jne 0x63a659
fld dword [esi + 0x378]
fadd qword [0x858210]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x378]
fld dword [0x85b984]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x63a612
fstp dword [esi + 0x378]
jmp 0x63a614
fstp st(0)
fld dword [esi + 0x378]
push ecx
fstp dword [esp]
call fcn.00409580
mov ecx, dword [esi + 0x35c]
fmul dword [ecx]
add esp, 4
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [0x85b984]
fcomp dword [esi + 0x378]
fnstsw ax
test ah, 0x41
jnp 0x6396af
cmp word [esi + 0x13e], di
mov ebx, 3
jne 0x63a79f
mov ecx, dword [esi + 0x170]
fld dword [esi + 0xf0]
fld dword [ecx + 0xf0]
push ecx
fadd qword [0x857b20]
fsubp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004097a0
mov edx, dword [esi + 0x170]
fstp qword [esp + 0x2c]
fld dword [esi + 0xec]
fsub dword [edx + 0xec]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004097a0
fadd qword [esp + 0x2c]
fstp qword [esp + 0x2c]
fld dword [esi + 0x11c]
fmul qword [0x857b20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004097a0
fcomp qword [esp + 0x2c]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x63a6fb
mov eax, dword [esi + 0x398]
mov word [eax + 0x89a], bx
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0xf
idiv ecx
test edx, edx
jne 0x63a768
mov edx, dword [esi + 0x35c]
fld dword [edx]
push ebx
fstp dword [esp + 0x1b4]
lea ecx, [esp + 0x1b4]
fldz
push ecx
fstp dword [esp + 0x1bc]
push edi
fld dword [0x871538]
mov ecx, esi
fstp dword [esp + 0x1c4]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x335
call eax
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x63a77c
sub al, 0xa
mov byte [esi + 0x113], al
jmp 0x63a783
mov byte [esi + 0x113], 0
fild dword [esi + 0x144]
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fcompp
fnstsw ax
test ah, 0x41
jnp 0x6396af
cmp word [esi + 0x13e], 2
jne 0x63a7bf
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
cmp word [esi + 0x13e], bx
jne case.default.0x6396df
fld dword [esi + 0x11c]
fadd qword [0x85c070]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov eax, dword [esi + 0x144]
lea ecx, [eax + eax*2]
add ecx, ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857928]
add esp, 4
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp dword [esp + 0x14]
mov dl, byte [esp + 0x14]
fldcw word [esp + 0x18]
jmp 0x63a563
cmp dword [esi + 0x190], 5
je 0x6365f7
xor ebp, ebp
cmp word [esi + 0x13e], bp
mov ebx, 1
jne 0x63a9ba
mov eax, dword [esi + 0x398]
movzx ecx, word [eax + 0x13c]
cmp cx, 0x226
je 0x63a878
cmp cx, 0x227
jne 0x6365f7
cmp word [eax + 0x13e], bx
jg 0x6365f7
push 0x78
push ebp
mov ecx, esi
call fcn.0048cf60
fldz
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x63a8f3
fst dword [esp + 0x2b8]
push 3
fstp dword [esp + 0x2c0]
lea eax, [esp + 0x2bc]
fld1
push eax
fstp dword [esp + 0x2c8]
push ebx
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call edx
jmp 0x63a8f5
fstp st(0)
mov eax, dword [esi + 0x144]
and eax, 0x80000007
jns 0x63a907
dec eax
or eax, 0xfffffff8
inc eax
jne 0x63a991
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63a92c
fadd dword [0x871554]
fstp dword [esp + 0x1c8]
push 3
fldz
lea ecx, [esp + 0x1cc]
fstp dword [esp + 0x1d0]
push ecx
fld dword [0x871538]
push ebx
fstp dword [esp + 0x1dc]
push 0x64
mov edi, dword [esi]
add edi, 0x48
call fcn.004099f0
fld dword [esi + 0xf0]
add esp, 4
cmp eax, 0x32
seta dl
add dl, dl
mov eax, ebx
sub al, dl
mov edx, dword [edi]
mov ecx, esi
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x336
call edx
cmp dword [esi + 0x190], ebp
je 0x63a9ba
add word [esi + 0x36c], bx
movzx eax, word [esi + 0x36c]
cmp ax, 4
jl 0x63a9ba
mov word [esi + 0x36c], bp
mov dword [esi + 0x190], ebp
cmp word [esi + 0x13e], bx
jne 0x63aa19
fld dword [esi + 0x12c]
fadd qword [0x871520]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fadd qword [0x857f78]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0x19
jb 0x6365f7
sub al, 0x19
mov byte [esi + 0x113], al
mov al, 0xe7
add byte [esi + 0x111], al
add byte [esi + 0x110], al
cmp word [esi + 0x13e], 2
jne 0x63aaab
fld dword [esi + 0x11c]
push ecx
fadd qword [0x85c070]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov eax, dword [esi + 0x144]
lea eax, [eax + eax*2]
add eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x857928]
add esp, 4
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp dword [esp + 0x14]
mov cl, byte [esp + 0x14]
mov byte [esi + 0x113], cl
mov eax, dword [esi + 0x144]
fldcw word [esp + 0x18]
lea edx, [eax + eax*2]
add edx, edx
cmp edx, 0xb4
jge 0x6365f7
cmp word [esi + 0x13e], 3
jne case.default.0x6396df
cmp dword [esi + 0x39c], ebp
je 0x63aadf
mov eax, dword [esi + 0x39c]
fld dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fstp dword [esi + 0xf0]
fld dword [esi + 0x12c]
fadd qword [0x859910]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fadd qword [0x867840]
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
fmul qword [0x8581d8]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
jmp case.default.0x6396df
cmp dword [esi + 0x190], 5
je 0x6365f7
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
movzx ecx, word [esi + 0x13e]
fld1
fld qword [0x857f78]
movsx eax, cx
mov ebp, 0x12
xor edi, edi
cmp eax, 0xa
lea ebx, [ebp - 0x11]
ja case.default.0x63abcc
jmp dword [eax*4 + 0x641188]
mov eax, dword [esi + 0x398]
fstp st(1)
cmp word [eax + 0x13e], di
fstp st(0)
jne 0x63ac09
cmp word [eax + 0x140], di
jne 0x63ac09
movzx eax, word [eax + 0x13c]
cmp ax, 0x230
je 0x63ac02
cmp ax, 0x231
jne 0x63ac09
mov word [esi + 0x36c], bx
cmp word [esi + 0x36c], di
jne 0x63ac86
push 5
push 3
push edi
mov ecx, esi
call fcn.0048ce90
test al, al
jne 0x6365f7
cmp word [esi + 0x13e], bx
jne 0x63ac4e
cmp word [esi + 0x140], bp
jl 0x63ac4e
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
jmp 0x63b4af
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x398]
fstp st(1)
cmp word [eax + 0x13e], di
fstp st(0)
jne 0x63acda
cmp word [eax + 0x140], di
jne 0x63acda
movzx eax, word [eax + 0x13c]
cmp ax, 0x230
je 0x63acd3
cmp ax, 0x231
jne 0x63acda
mov word [esi + 0x36c], bx
cmp word [esi + 0x36c], di
jne 0x63ac86
push 5
push 3
push edi
mov ecx, esi
call fcn.0048ce90
test al, al
jne 0x6365f7
cmp word [esi + 0x13e], 3
jne 0x63ad21
cmp word [esi + 0x140], 0x14
jl 0x63ad21
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf0]
jmp 0x63b4af
mov eax, dword [esi + 0x398]
fstp st(1)
cmp word [eax + 0x13e], di
fstp st(0)
jne 0x63ada1
cmp word [eax + 0x140], di
jne 0x63ada1
movzx eax, word [eax + 0x13c]
cmp ax, 0x230
je 0x63ad9a
cmp ax, 0x231
jne 0x63ada1
mov word [esi + 0x36c], bx
cmp word [esi + 0x36c], di
jne 0x63adff
push 5
push 3
push edi
mov ecx, esi
call fcn.0048ce90
test al, al
jne 0x6365f7
cmp word [esi + 0x13e], 5
jne 0x63adeb
movzx eax, word [esi + 0x374]
cmp ax, 3
je 0x63ade4
cmp ax, 4
jl 0x63adeb
cmp word [esi + 0x36e], bx
jl 0x63adeb
mov word [esi + 0x36c], bx
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
jmp 0x63ac5d
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
jmp 0x63b4af
mov eax, dword [esi + 0x398]
fstp st(1)
cmp word [eax + 0x13e], di
fstp st(0)
jne 0x63ae50
cmp word [eax + 0x140], di
jne 0x63ae50
movzx eax, word [eax + 0x13c]
cmp ax, 0x230
je 0x63ae49
cmp ax, 0x231
jne 0x63ae50
mov word [esi + 0x36c], bx
cmp word [esi + 0x36c], di
jne 0x63adff
push 5
push 3
push edi
mov ecx, esi
call fcn.0048ce90
test al, al
jne 0x6365f7
cmp word [esi + 0x13e], 7
jne 0x63ae9a
movzx eax, word [esi + 0x374]
cmp ax, 3
je 0x63ae93
cmp ax, 4
jl 0x63ae9a
cmp word [esi + 0x36e], bx
jl 0x63ae9a
mov word [esi + 0x36c], bx
fld dword [esi + 0xf8]
fsub dword [esi + 0x100]
fstp dword [esi + 0xf8]
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf0]
jmp 0x63b4af
push 3
fstp st(1)
push edi
fstp st(0)
push edi
mov ecx, esi
call fcn.0048ce90
test al, al
jne 0x6365f7
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x871538]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63af2b
fstp dword [ecx + 4]
jmp 0x63af2d
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
cmp dword [esi + 0x144], 0x78
jg 0x63afc5
cmp dword [esi + 0x190], edi
jne 0x63afc5
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x63ac5d
mov edi, 5
lea ebx, [ebx]
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x63afec
fadd dword [0x871554]
push 0xf
fstp dword [esp + 0x260]
call fcn.004099f0
add eax, 0xa
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63b012
fadd dword [0x871554]
fstp dword [esp + 0x25c]
push 3
fld dword [0x8589f0]
lea eax, [esp + 0x25c]
fstp dword [esp + 0x264]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push eax
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x320
call edx
sub edi, ebx
jne 0x63afd0
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x144], edi
fstp st(1)
fstp st(0)
jne 0x63b0b3
cmp word [esi + 0x142], di
jne 0x63b0b3
cmp word [esi + 0x140], di
jne 0x63b0b3
cmp cx, di
jne 0x63b0b3
fld dword [0x85b3b0]
push 2
push ebx
push 0xa
push ecx
fstp dword [esp]
push 0x3df
mov ecx, esi
call fcn.004b0f50
push 5
push 3
push edi
mov ecx, esi
call fcn.0048ce90
test al, al
jne 0x6365f7
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 0xc
fadd qword [0x858ea0]
mov ecx, esi
fstp dword [eax + 4]
fld dword [0x871544]
fstp dword [esp + 8]
fld dword [0x85bae8]
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.0048cca0
mov eax, dword [esi + 0x35c]
fld dword [eax]
sub esp, 8
fstp dword [esi + 0x12c]
lea ecx, [esi + 4]
fld dword [eax + 4]
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
mov eax, dword [esi + 0x144]
and eax, 0x80000003
jns 0x63b133
dec eax
or eax, 0xfffffffc
inc eax
jne 0x63b18f
fld dword [esi + 0x12c]
push 3
fstp dword [esp + 0x1e4]
lea eax, [esp + 0x1e4]
fldz
push eax
fstp dword [esp + 0x1ec]
push ebx
fld dword [0x871538]
fstp dword [esp + 0x1f4]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call edx
movsx eax, byte [esi + 0x104]
fld dword [esi + 0xf4]
mov dword [esp + 0x14], eax
push edi
mov ecx, esi
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
call fcn.0048cde0
cmp dword [esi + 0x190], edi
jne 0x63b1e4
cmp dword [esi + 0x144], 0xb4
jl 0x63b4af
mov ecx, dword [esi + 0x398]
push 4
call fcn.00464980
fldz
fst dword [esp + 0x84]
push 3
fstp dword [esp + 0x8c]
lea eax, [esp + 0x88]
fld dword [0x86782c]
push eax
fstp dword [esp + 0x94]
push ebx
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x339
call edx
fld dword [0x85b870]
fstp dword [esp + 0x8c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push 3
lea ecx, [esp + 0x88]
push ecx
push ebx
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call eax
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 3
lea eax, [esp + 0x88]
push eax
push ebx
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call edx
fld dword [0x85bca4]
fstp dword [esp + 0x8c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push 3
lea ecx, [esp + 0x88]
push ecx
push ebx
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call eax
mov edx, dword [esi]
push 3
lea eax, [esp + 0x88]
push eax
push ebx
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x321
call edx
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x140], di
jne 0x63b45e
fxch st(1)
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x63b3ad
fld dword [esi + 0x11c]
fadd st(2)
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
faddp st(2)
fxch st(1)
fstp dword [esi + 0x120]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jp 0x63b3af
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov byte [esi + 0x194], 4
mov word [esi + 0x36e], bx
jmp 0x63b3b1
fstp st(0)
fstp st(0)
cmp word [esi + 0x36e], bx
jne 0x63b3fc
mov eax, dword [esi + 0x144]
and eax, 0x80000001
jns 0x63b3cc
dec eax
or eax, 0xfffffffe
inc eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul qword [0x867840]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
push edi
mov ecx, esi
call fcn.0048cde0
cmp dword [esi + 0x190], edi
je 0x63b436
cmp byte [esi + 0x194], 0
jle 0x63b43d
add word [esi + 0x36c], bx
movzx eax, word [esi + 0x36c]
cmp ax, 5
jle 0x63b436
mov word [esi + 0x36c], di
mov dword [esi + 0x190], edi
cmp byte [esi + 0x194], 0
jne 0x63b462
fld1
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jp 0x63b462
mov word [esi + 0x140], bx
mov word [esi + 0x142], di
jmp 0x63b462
fstp st(1)
fstp st(0)
cmp word [esi + 0x140], bx
jne 0x63b4af
fld dword [esi + 0x11c]
fld qword [0x867840]
fsub st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esi + 0x120]
fldz
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 1
jne 0x63b4af
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(1)
fstp st(0)
mov ecx, esi
call fcn.00438c60
test al, al
jne 0x6365f7
mov eax, dword [esi + 0x144]
cmp eax, edi
jne 0x63b536
cmp word [esi + 0x142], di
jne 0x63b4e8
cmp word [esi + 0x140], di
jne 0x63b4e8
cmp word [esi + 0x13e], 2
je 0x6365f7
cmp eax, edi
jne 0x63b536
cmp word [esi + 0x142], di
jne 0x63b536
cmp word [esi + 0x140], di
jne 0x63b536
cmp word [esi + 0x13e], 3
jne 0x63b536
fld dword [esi + 0xf4]
fld qword [0x857f78]
fmul st(1), st(0)
fxch st(1)
fstp dword [esi + 0xf4]
fmul dword [esi + 0xf8]
fstp dword [esi + 0xf8]
fld dword [0x85ae7c]
fstp dword [esi + 0x100]
cmp word [esi + 0x13e], bx
jne 0x63b71d
cmp word [esi + 0x142], di
jne 0x63b71d
movzx eax, word [esi + 0x140]
cmp ax, 2
je 0x63b585
cmp ax, 5
je 0x63b585
cmp ax, 8
je 0x63b585
cmp ax, 0xb
je 0x63b585
cmp ax, 0xe
je 0x63b585
cmp ax, 0x11
je 0x63b585
cmp ax, 0x14
jne 0x63b6bb
fldz
push 9
fstp dword [esi + 0x380]
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63b5a9
fadd dword [0x871554]
fsub qword [0x857f50]
push 3
lea ecx, [esp + 0x110]
push ecx
fadd dword [esi + 0x380]
push ebx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esi + 0x380]
fstp dword [esp + 0x118]
fld dword [0x85b830]
fstp dword [esp + 0x11c]
fld dword [0x867810]
fstp dword [esp + 0x120]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
fadd qword [0x85c138]
push eax
mov edx, dword [edx + 0x44]
movsx eax, al
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
lea ecx, [eax*8]
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub esp, 8
add ecx, ecx
mov dword [esp + 0x2c], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call edx
fld1
fstp dword [esp + 0x114]
push 3
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x85c138]
lea ecx, [esp + 0x110]
push ecx
mov edx, dword [esi]
push ebx
push eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
mov edx, dword [edx + 0x44]
movsx eax, al
lea ecx, [eax*8]
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub esp, 8
add ecx, ecx
mov dword [esp + 0x2c], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x320
call edx
movzx eax, word [esi + 0x374]
cmp ax, di
jne 0x63b6ed
cmp word [esi + 0x142], di
jne 0x63b6ed
cmp word [esi + 0x140], 0xc
jne 0x63b6ed
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
push 0x15
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp ax, bx
jne 0x63b705
cmp word [esi + 0x142], di
jne 0x63b705
cmp word [esi + 0x140], 0xf
je 0x63b6da
cmp ax, 3
jg 0x63b71d
cmp word [esi + 0x142], di
jne 0x63b71d
cmp word [esi + 0x140], bp
je 0x63b6da
cmp word [esi + 0x13e], 3
jne 0x63b913
cmp word [esi + 0x142], di
jne 0x63b913
movzx eax, word [esi + 0x140]
mov ecx, 4
cmp ax, cx
je 0x63b771
cmp ax, 7
je 0x63b771
cmp ax, 0xa
je 0x63b771
cmp ax, 0xd
je 0x63b771
cmp ax, 0x10
je 0x63b771
cmp ax, 0x13
je 0x63b771
cmp ax, 0x16
jne 0x63b8b0
fld dword [0x85bbe4]
push 9
fstp dword [esi + 0x380]
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63b799
fadd dword [0x871554]
fsub qword [0x857f50]
push 3
lea ecx, [esp + 0xd4]
push ecx
fadd dword [esi + 0x380]
push ebx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [esi + 0x380]
fstp dword [esp + 0xdc]
fld dword [0x85b830]
fstp dword [esp + 0xe0]
fld dword [0x867810]
fstp dword [esp + 0xe4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
fadd qword [0x857b20]
push eax
mov edx, dword [edx + 0x44]
movsx eax, al
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
lea ecx, [eax*8]
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub esp, 8
add ecx, ecx
mov dword [esp + 0x2c], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call edx
fld1
fstp dword [esp + 0xd8]
push 3
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
fadd qword [0x857b20]
lea ecx, [esp + 0xd4]
push ecx
mov edx, dword [esi]
push ebx
push eax
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
mov edx, dword [edx + 0x44]
movsx eax, al
lea ecx, [eax*8]
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub esp, 8
add ecx, ecx
mov dword [esp + 0x2c], ecx
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x320
call edx
mov ecx, 4
movzx eax, word [esi + 0x374]
cmp ax, di
jne 0x63b8cf
cmp word [esi + 0x142], di
jne 0x63b8cf
cmp word [esi + 0x140], 0xe
je 0x63b900
cmp ax, bx
jne 0x63b8e7
cmp word [esi + 0x142], di
jne 0x63b8e7
cmp word [esi + 0x140], 0x11
je 0x63b900
cmp ax, 3
jg 0x63b918
cmp word [esi + 0x142], di
jne 0x63b918
cmp word [esi + 0x140], 0x14
jne 0x63b918
mov eax, dword [esi]
mov edx, dword [eax + 0x1c]
push 0x17
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 4
cmp word [esi + 0x13e], cx
jne 0x63bae0
cmp word [esi + 0x142], di
jne 0x63bae0
cmp word [esi + 0x140], cx
jne 0x63bae0
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x14], ecx
sub esp, 8
fild dword [esp + 0x1c]
fmulp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00409760
fchs
add esp, 8
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x380]
fld dword [0x85b908]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63b9b9
fstp dword [esi + 0x380]
jmp 0x63b9bb
fstp st(0)
fld dword [0x86782c]
fcom dword [esi + 0x380]
fnstsw ax
test ah, 5
jp 0x63b9d6
fstp dword [esi + 0x380]
jmp 0x63b9d8
fstp st(0)
fld dword [esi + 0x380]
push 3
fstp dword [esp + 0xf8]
lea ecx, [esp + 0xf8]
fld dword [0x85b870]
push ecx
fstp dword [esp + 0x100]
push ebx
fld dword [0x85bc44]
mov ecx, esi
fstp dword [esp + 0x108]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
fadd qword [0x85c1b0]
push eax
mov edx, dword [edx + 0x44]
movsx eax, al
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
lea eax, [eax + eax*8]
add eax, eax
add eax, eax
sub esp, 8
add eax, eax
mov dword [esp + 0x2c], eax
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call edx
fld dword [0x867860]
fstp dword [esp + 0xfc]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
push 3
fadd qword [0x85c1b0]
mov edx, dword [esi]
lea ecx, [esp + 0xf8]
push ecx
push ebx
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
push eax
mov edx, dword [edx + 0x44]
movsx eax, al
lea eax, [eax + eax*8]
add eax, eax
add eax, eax
sub esp, 8
add eax, eax
mov dword [esp + 0x2c], eax
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x321
call edx
mov ecx, dword [esi + 0x398]
push 3
call fcn.00464980
mov ecx, 4
movzx eax, word [esi + 0x13e]
cmp ax, 5
jne 0x63bb21
cmp word [esi + 0x374], cx
jl 0x63bb21
cmp dword [esi + 0x144], ecx
jl 0x63bb21
cmp word [esi + 0x36e], di
jne 0x63bb21
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 4
mov ecx, esi
call edx
add word [esi + 0x36e], bx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp ax, 6
jne 0x63bcdc
cmp word [esi + 0x142], di
jne 0x63bcdc
cmp word [esi + 0x140], cx
jne 0x63bcdc
mov eax, dword [esi + 0x170]
movsx ecx, byte [esi + 0x104]
fld dword [eax + 0xec]
fsub dword [esi + 0xec]
mov dword [esp + 0x14], ecx
sub esp, 8
fild dword [esp + 0x1c]
fmulp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp + 4]
fld dword [eax + 0xf0]
fsub dword [esi + 0xf0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00409760
fchs
add esp, 8
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x380]
fld dword [0x85ae94]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63bbbf
fstp dword [esi + 0x380]
jmp 0x63bbc1
fstp st(0)
fld dword [esi + 0x380]
fcomp qword [0x857990]
fnstsw ax
test ah, 0x41
jne 0x63bbe0
fld dword [0x85bb54]
fstp dword [esi + 0x380]
fld dword [esi + 0x380]
push 3
fstp dword [esp + 0x11c]
lea ecx, [esp + 0x11c]
fld dword [0x85b870]
push ecx
fstp dword [esp + 0x124]
push ebx
fld dword [0x85bc44]
mov ecx, esi
fstp dword [esp + 0x12c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
fadd qword [0x85c118]
mov edx, dword [edx + 0x44]
push eax
movsx eax, al
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
sub esp, 8
shl eax, 6
mov dword [esp + 0x2c], eax
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x339
call edx
fld dword [0x867860]
fstp dword [esp + 0x120]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
fadd qword [0x85c118]
push 3
mov edx, dword [edx + 0x44]
lea ecx, [esp + 0x11c]
push ecx
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
push ebx
push eax
movsx eax, al
sub esp, 8
shl eax, 6
mov dword [esp + 0x2c], eax
fstp dword [esp + 4]
mov ecx, esi
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x321
call edx
mov ecx, dword [esi + 0x398]
push 3
call fcn.00464980
mov ecx, 4
cmp word [esi + 0x13e], 7
jne 0x640f87
cmp word [esi + 0x374], cx
jl 0x640f87
cmp dword [esi + 0x144], ecx
jl 0x640f87
cmp word [esi + 0x36e], di
jne 0x640f87
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 6
mov ecx, esi
call edx
add word [esi + 0x36e], bx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x190], 5
je 0x6365f7
movzx ecx, word [esi + 0x13e]
cmp cx, 3
jg 0x63be70
push 2
mov ebx, 1
push ebx
push 0
mov ecx, esi
call fcn.0048ce90
test al, al
jne 0x6365f7
mov eax, dword [esi + 0x35c]
fld dword [eax]
mov edi, dword [esi + 0x398]
push ecx
fstp dword [esp]
call fcn.004095f0
movsx ecx, byte [esi + 0x104]
fld dword [edi + 0x7dc]
mov edx, dword [esi + 0x35c]
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fmulp st(1)
fmulp st(1)
fadd dword [edi + 0xec]
mov edi, dword [esi + 0x398]
fstp dword [esi + 0xec]
fld dword [edx]
fstp dword [esp]
call fcn.00409580
movsx eax, byte [esi + 0x104]
fld dword [edi + 0x7dc]
mov dword [esp + 0x18], eax
add esp, 4
fild dword [esp + 0x14]
fmulp st(1)
fmulp st(1)
fadd dword [edi + 0xf0]
fstp dword [esi + 0xf0]
cmp word [esi + 0x13e], bx
jne 0x63bdf6
cmp word [edi + 0x7d0], bx
jne 0x63bdf6
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
cmp word [esi + 0x13e], 2
jne 0x63be29
mov ecx, dword [esi + 0x398]
cmp word [ecx + 0x7d0], 0x14
jl 0x63be29
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
mov dword [esi + 0x190], 0
mov byte [esi + 0x194], bl
movzx ecx, word [esi + 0x13e]
cmp cx, 3
jne 0x63be4f
fldz
mov edx, dword [esi + 0x398]
fcomp dword [edx + 0x7dc]
fnstsw ax
test ah, 0x44
jnp 0x6365f7
mov eax, dword [esi + 0x398]
movzx eax, word [eax + 0x13c]
cmp ax, 0x235
jl 0x6365f7
cmp ax, 0x238
jg 0x6365f7
cmp cx, 5
jne case.default.0x6396df
fld dword [esi + 0x378]
fsub qword [0x867840]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x378]
fld dword [0x85c004]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63bead
fstp dword [esi + 0x378]
jmp 0x63beaf
fstp st(0)
fld dword [esi + 0x378]
fadd dword [esi + 0x11c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
jmp case.default.0x6396df
cmp dword [esi + 0x190], 5
je 0x6365f7
movsx eax, word [esi + 0x13e]
add eax, 0xffffffff
mov edx, 1
cmp eax, edx
ja case.default.0x6396df
cmp word [esi + 0x36c], 0
jne 0x63c037
mov eax, dword [esi + 0x398]
movzx ecx, word [eax + 0x13c]
cmp cx, 0x23a
jl 0x63c02b
cmp cx, 0x23e
jg 0x63c02b
cmp word [eax + 0x13e], dx
jne 0x63c02b
mov ecx, dword [esi + 0x35c]
fld dword [ecx]
push ecx
fchs
mov edi, eax
fstp dword [esp]
call fcn.004095f0
fmul dword [edi + 0x7dc]
movsx edx, byte [esi + 0x104]
mov eax, dword [esi + 0x35c]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [edi + 0xec]
mov edi, dword [esi + 0x398]
fstp dword [esi + 0xec]
fld dword [eax]
fchs
fstp dword [esp]
call fcn.00409580
fmul dword [edi + 0x7dc]
add esp, 4
fmul qword [0x8677a0]
fadd dword [edi + 0xf0]
fstp dword [esi + 0xf0]
fld dword [0x85d8e8]
fcom dword [esi + 0xec]
fnstsw ax
test ah, 0x41
jne 0x63bfe0
fstp dword [esi + 0xec]
jmp 0x63bfe2
fstp st(0)
fld dword [0x85dbd0]
fcom dword [esi + 0xec]
fnstsw ax
test ah, 5
jp 0x63bffd
fstp dword [esi + 0xec]
jmp 0x63bfff
fstp st(0)
fld dword [esi + 0xf0]
mov ecx, esi
fstp qword [esp + 0x28]
call fcn.004397f0
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 0x41
jne case.default.0x6396df
mov ecx, esi
call fcn.004397f0
jmp 0x63a29c
mov word [esi + 0x36c], dx
jmp case.default.0x6396df
mov al, byte [esi + 0x113]
cmp al, 0x14
jb 0x6365f7
sub al, 0x14
mov byte [esi + 0x113], al
jmp case.default.0x6396df
mov eax, dword [esi + 0x398]
fld dword [eax + 0x108]
mov ecx, dword [esi + 0x35c]
fstp dword [esi + 0x108]
fld dword [eax + 0x10c]
fstp dword [esi + 0x10c]
fld dword [eax + 0x12c]
fstp dword [esi + 0x12c]
movsx edx, byte [eax + 0x104]
fld dword [ecx + 4]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmulp st(1)
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fstp dword [esi + 0xf0]
mov al, byte [eax + 0x104]
mov byte [esi + 0x104], al
mov ecx, dword [esi + 0x398]
mov eax, dword [ecx + 0x158]
mov dword [esi + 0x158], eax
mov ecx, esi
mov dword [esi + 0x150], eax
call fcn.0043a250
movzx eax, word [esi + 0x36c]
test ax, ax
jne 0x63c125
mov al, byte [esi + 0x113]
cmp al, 0xf5
ja 0x63c0f9
add al, 0xa
mov byte [esi + 0x113], al
jmp 0x63c100
mov byte [esi + 0x113], 0xff
mov edx, dword [esi + 0x398]
cmp word [edx + 0x8a8], 0
jg 0x640f87
mov word [esi + 0x36c], 2
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp ax, 1
jne 0x63ac86
mov eax, dword [esi + 0x398]
mov cl, byte [eax + 0x113]
mov byte [esi + 0x113], cl
mov edx, dword [esi + 0x398]
cmp word [edx + 0x8a8], 0
jg 0x640f87
mov word [esi + 0x36c], 2
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fldz
or ebx, 0xffffffff
cmp word [esi + 0x13e], 2
jg 0x63c19b
fst dword [esi + 0xf4]
fst dword [esi + 0xf8]
mov al, byte [esi + 0x113]
cmp al, 0xf
jbe 0x63c195
sub al, 0xf
mov byte [esi + 0x113], al
jmp 0x63c19b
add dword [esi + 0x34c], ebx
cmp word [esi + 0x13e], 3
jne 0x63c204
fld dword [esi + 0xf8]
fsub qword [0x85a280]
fstp dword [esi + 0xf8]
mov al, byte [esi + 0x113]
cmp al, 0xf
jbe 0x63c1cb
sub al, 0xf
mov byte [esi + 0x113], al
jmp 0x63c1d1
add dword [esi + 0x34c], ebx
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf0]
cmp word [esi + 0x13e], 4
jne 0x63c236
fst dword [esi + 0xf4]
fstp dword [esi + 0xf8]
mov al, byte [esi + 0x113]
cmp al, 0xf
jbe 0x63c22e
sub al, 0xf
mov byte [esi + 0x113], al
jmp 0x63c238
add dword [esi + 0x34c], ebx
jmp 0x63c238
fstp st(0)
movzx eax, word [esi + 0x13e]
cmp ax, 5
je 0x63c24f
cmp ax, 6
jne 0x63c2e4
fld dword [esi + 0xf8]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp qword [esp + 0x28]
call fcn.004397f0
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x63c2b1
fldz
mov ecx, esi
fst dword [esi + 0xf8]
fstp dword [esi + 0xf4]
call fcn.004397f0
fstp dword [esi + 0xf0]
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 7
mov ecx, esi
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf0]
movzx eax, word [esi + 0x13e]
cmp ax, 5
jl 0x63c318
cmp ax, 7
jg 0x63c318
mov al, byte [esi + 0x113]
cmp al, 0xa
jbe 0x63c30b
sub al, 0xa
mov byte [esi + 0x113], al
jmp 0x63c311
add dword [esi + 0x34c], ebx
mov ecx, esi
call fcn.00438c60
movzx eax, word [esi + 0x13e]
cmp ax, 9
jl 0x640f87
cmp ax, 0xa
jg 0x640f87
jne 0x63c34f
mov al, byte [esi + 0x113]
cmp al, 0xa
jbe 0x63c349
sub al, 0xa
mov byte [esi + 0x113], al
jmp 0x63c34f
add dword [esi + 0x34c], ebx
mov edx, dword [esi + 0x35c]
fld dword [edx + 4]
mov ecx, esi
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0xf4]
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
call fcn.00438c60
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, word [esi + 0x13e]
add eax, 0xffffffff
cmp eax, 6
ja case.default.0x63c3b3
jmp dword [eax*4 + 0x6411b4]
mov ecx, dword [esi + 0x398]
movzx eax, word [ecx + 0x13c]
cmp ax, 0x12d
je 0x63c3d7
cmp ax, 0x141
jne 0x6365f7
push 0
push 0
mov ecx, esi
call fcn.0048cf60
cmp word [esi + 0x13e], 2
jne case.default.0x63c3b3
mov al, byte [esi + 0x113]
cmp al, 0xc
jb case.default.0x63c3b3
sub al, 0xc
mov byte [esi + 0x113], al
mov al, 0xf4
add byte [esi + 0x111], al
add byte [esi + 0x110], al
mov edx, dword [esi + 0x398]
cmp word [edx + 0x196], 0
jne 0x640f87
mov ecx, esi
call fcn.00438c60
test al, al
je 0x640f87
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x398]
cmp word [edx + 0x13c], 0x133
jne 0x6365f7
push 0
push 0
call fcn.0048cf60
cmp word [esi + 0x13e], 4
jmp 0x63c3ea
mov eax, dword [esi + 0x398]
movzx eax, word [eax + 0x13c]
cmp ax, 0x131
je 0x63c483
cmp ax, 0x142
jne 0x6365f7
push 0
push 0
call fcn.0048cf60
cmp word [esi + 0x13e], 6
jne case.default.0x63c3b3
mov al, byte [esi + 0x113]
cmp al, 0xc
jb 0x63c4ba
sub al, 0xc
mov byte [esi + 0x113], al
mov al, 0xf4
add byte [esi + 0x111], al
add byte [esi + 0x110], al
fld dword [esi + 0x11c]
fmul qword [0x85b978]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
jmp case.default.0x63c3b3
mov ecx, dword [esi + 0x398]
cmp word [ecx + 0x13c], 0x135
jne 0x6365f7
push 0
push 0
mov ecx, esi
call fcn.0048cf60
cmp word [esi + 0x13e], 2
jl case.default.0x63c3b3
jmp 0x63c49a
movsx eax, word [esi + 0x13e]
xor ebx, ebx
sub eax, ebx
je 0x63c734
sub eax, 1
je 0x63c5a9
sub eax, 1
jne 0x63c8f8
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
fld dword [esi + 0x11c]
fld qword [0x867840]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
mov bl, 0xf6
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x63a27e
fld dword [esi + 0x12c]
fadd qword [0x857930]
fstp dword [esi + 0x12c]
cmp dword [esi + 0x39c], ebx
je 0x6365f7
mov eax, dword [esi + 0x144]
mov ecx, dword [esi + 0x35c]
lea eax, [eax + eax*2]
add eax, eax
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
push ecx
fadd dword [ecx]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004095f0
mov edx, dword [esi + 0x144]
movsx eax, byte [esi + 0x104]
mov ecx, dword [esi + 0x39c]
add edx, edx
mov dword [esp + 0x18], edx
mov edi, ecx
fimul dword [esp + 0x18]
mov dword [esp + 0x18], eax
fmul qword [0x85a280]
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [ecx + 0xec]
fstp dword [esi + 0xec]
mov eax, dword [esi + 0x144]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x35c]
add edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fadd dword [eax]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
mov ecx, dword [esi + 0x144]
add ecx, ecx
mov dword [esp + 0x18], ecx
fimul dword [esp + 0x18]
add esp, 4
fadd dword [edi + 0xf0]
fstp dword [esi + 0xf0]
fld dword [edi + 0x11c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp word [edi + 0x140], 1
je 0x63c571
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0xa
idiv ecx
test edx, edx
jne 0x63c8f8
mov edx, dword [esi + 0x35c]
fld dword [edx]
push 4
fstp dword [esp + 0x2d4]
lea ecx, [esp + 0x2d4]
fld1
push ecx
fstp dword [esp + 0x2dc]
push 1
fld dword [0x8589f0]
mov ecx, esi
fstp dword [esp + 0x2e4]
fld dword [esi + 0x11c]
fstp dword [esp + 0x2e8]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x352
call eax
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x63a27e
cmp word [esi + 0x140], bx
mov edi, 1
jne 0x63c820
mov ecx, dword [esi + 0x35c]
fld dword [ecx]
push ebx
push ebx
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x85de00]
push eax
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x857958]
push eax
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x85bbd8]
push eax
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x85c4a0]
push eax
call fcn.00820230
push eax
mov ecx, esi
call fcn.004b0e40
fld dword [esi + 0x11c]
fadd qword [0x85bad8]
push ebx
mov ecx, esi
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
call fcn.0048cde0
mov eax, dword [esi + 0x190]
cmp eax, ebx
je 0x63c820
cmp byte [esi + 0x194], bl
jle 0x639888
cmp eax, 8
lea ecx, [edi + 3]
jne 0x63c7f2
mov word [esi + 0x36c], cx
cmp dword [esi + 0x190], ecx
jne 0x63c800
mov byte [esi + 0x194], bl
add word [esi + 0x36c], di
movzx eax, word [esi + 0x36c]
cmp ax, cx
jl 0x63c820
mov word [esi + 0x36c], bx
mov dword [esi + 0x190], ebx
cmp word [esi + 0x140], di
jne 0x63c87f
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63c859
fstp dword [ecx + 4]
jmp 0x63c85b
fstp st(0)
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x63a27e
movsx eax, word [esi + 0x13e]
cmp eax, 5
mov ebp, 1
ja case.default.0x637f47
jmp dword [eax*4 + 0x6411d0]
mov edx, dword [esi + 0x35c]
fld dword [edx]
fstp dword [esi + 0x12c]
mov eax, dword [esi + 0x144]
and eax, 0x80000001
jns 0x63c948
dec eax
or eax, 0xfffffffe
inc eax
jne 0x63ca34
push 0xe
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63c96a
fadd dword [0x871554]
mov ecx, dword [esi + 0x35c]
fld dword [ecx]
push 3
fadd qword [0x871510]
lea edx, [esp + 0x2a4]
push edx
push ebp
faddp st(1)
fsub qword [0x858ec0]
fstp dword [esp + 0x2ac]
fld dword [0x86782c]
fstp dword [esp + 0x2b0]
fld dword [0x871538]
fstp dword [esp + 0x2b4]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov ecx, dword [esi + 0x35c]
mov edi, dword [esi]
fstp qword [esp + 0x34]
fld dword [esi + 0xec]
push eax
fstp qword [esp + 0x30]
push ecx
fld dword [ecx]
add edi, 0x44
fchs
fstp dword [esp]
call fcn.00409580
fmul qword [0x857958]
mov edx, dword [esi + 0x35c]
fsubr qword [esp + 0x3c]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [edx]
fchs
fstp dword [esp]
call fcn.004095f0
movsx eax, byte [esi + 0x104]
mov edx, dword [edi]
imul eax, eax, 0x23
mov dword [esp + 0x2c], eax
mov ecx, esi
fimul dword [esp + 0x2c]
fsubr qword [esp + 0x38]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x354
call edx
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fmul qword [0x8581d8]
lea ecx, [esi + 4]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [eax + 4]
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
movsx eax, byte [esi + 0x104]
fld dword [esi + 0xf4]
mov dword [esp + 0x14], eax
push 0
mov ecx, esi
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
call fcn.0048cde0
fild dword [esi + 0x144]
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 0xc]
fcompp
fnstsw ax
test ah, 0x41
jp case.default.0x637f47
mov ecx, dword [esi + 0x398]
push 2
call fcn.00464980
fldz
fst dword [esp + 0xac]
push 3
fstp dword [esp + 0xb4]
lea eax, [esp + 0xb0]
fld1
push eax
fstp dword [esp + 0xbc]
push ebp
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call edx
fld dword [0x8589f0]
fstp dword [esp + 0xb4]
mov edi, 4
jmp 0x63cb30
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x63cb4c
fadd dword [0x871554]
push 0x32
fstp dword [esp + 0xb4]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63cb6f
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea ecx, [esp + 0xb0]
push ecx
fstp dword [esp + 0x1c]
push ebp
fld dword [esp + 0x20]
mov ecx, esi
fadd qword [0x8579b0]
fstp dword [esp + 0xbc]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x354
call eax
sub edi, ebp
jne 0x63cb30
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x140], 0
fld qword [0x867840]
jne 0x638721
fld1
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x63cc46
fld dword [esi + 0x11c]
fld qword [0x857f78]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jp 0x63cc46
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov byte [esi + 0x194], 1
mov word [esi + 0x36e], bp
jmp 0x63cc48
fstp st(0)
cmp word [esi + 0x36e], bp
jne 0x63cc90
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x63cc64
dec ecx
or ecx, 0xfffffffe
inc ecx
mov dword [esp + 0x14], ecx
fimul dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
jmp 0x63cc92
fstp st(0)
push 0
mov ecx, esi
call fcn.0048cde0
push 3
mov ecx, esi
call fcn.0048ce30
cmp dword [esi + 0x144], 0x78
jge 0x639888
jmp 0x63871b
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63cce6
fstp dword [ecx + 4]
jmp 0x63cce8
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
cmp dword [esi + 0x144], 0xf
jl 0x63cd3e
fld dword [esi + 0x11c]
fmul qword [0x8581d8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x638800
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63cd7e
fstp dword [ecx + 4]
jmp 0x63cd80
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
fld dword [esi + 0x11c]
fadd qword [0x857f90]
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
fstp dword [esi + 0x11c]
mov al, byte [esi + 0x113]
cmp al, 0x14
jbe 0x6365f7
sub al, 0x14
mov byte [esi + 0x113], al
mov al, 0xec
add byte [esi + 0x110], al
add byte [esi + 0x111], al
jmp case.default.0x637f47
fld dword [esi + 0x11c]
fmul qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x144], 2
jl case.default.0x637f47
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, word [esi + 0x13e]
cmp eax, 3
ja case.default.0x63ce5d
jmp dword [eax*4 + 0x6411e8]
xor edi, edi
cmp word [esi + 0x140], di
mov ebx, 1
jne 0x63cf77
mov eax, dword [esi + 0x35c]
fld dword [eax]
push edi
push edi
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x85de00]
push eax
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x857958]
push eax
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x85bbd8]
push eax
call fcn.00820230
fld dword [esi + 0x11c]
fmul qword [0x85c4a0]
push eax
call fcn.00820230
push eax
mov ecx, esi
call fcn.004b0e40
fld dword [esi + 0x11c]
fadd qword [0x857f78]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fld dword [0x867860]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x63cf0a
fstp dword [esi + 0x11c]
jmp 0x63cf0c
fstp st(0)
fld dword [esi + 0x11c]
push edi
mov ecx, esi
fstp dword [esi + 0x120]
call fcn.0048cde0
mov eax, dword [esi + 0x190]
cmp eax, edi
je 0x63cf77
cmp byte [esi + 0x194], 0
jle 0x639888
cmp eax, 8
mov ecx, 4
jne 0x63cf48
mov word [esi + 0x36c], cx
cmp dword [esi + 0x190], ecx
jne 0x63cf57
mov byte [esi + 0x194], 0
add word [esi + 0x36c], bx
movzx eax, word [esi + 0x36c]
cmp ax, cx
jl 0x63cf77
mov word [esi + 0x36c], di
mov dword [esi + 0x190], edi
cmp word [esi + 0x140], bx
jne 0x63cfd6
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63cfb0
fstp dword [ecx + 4]
jmp 0x63cfb2
fstp st(0)
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x63a27e
fld dword [esi + 0x12c]
fadd qword [0x858010]
fstp dword [esi + 0x12c]
cmp dword [esi + 0x39c], 0
je 0x6365f7
mov eax, dword [esi + 0x39c]
fld dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fstp dword [esi + 0xf0]
fld dword [eax + 0x11c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp word [eax + 0x140], 1
je 0x63d19b
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne case.default.0x63ce5d
mov edx, dword [esi + 0x35c]
fld dword [edx]
push 4
fstp dword [esp + 0x2e4]
lea ecx, [esp + 0x2e4]
fld1
push ecx
fstp dword [esp + 0x2ec]
push 1
fld dword [0x8589f0]
mov ecx, esi
fstp dword [esp + 0x2f4]
fld dword [esi + 0x11c]
fstp dword [esp + 0x2f8]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x355
call eax
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x63a27e
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
fld dword [esi + 0x11c]
fld qword [0x85c070]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x63a27e
cmp dword [esi + 0x190], 5
je 0x6365f7
cmp word [esi + 0x13e], 3
mov ebx, 0x25c
jg 0x63d232
mov eax, dword [esi + 0x398]
cmp word [eax + 0x13c], bx
jne 0x63d232
movsx ecx, byte [esi + 0x104]
lea edx, [ecx + ecx*4]
add edx, edx
add edx, edx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fadd qword [0x857980]
fstp dword [esi + 0xf0]
mov edi, 1
xor ebp, ebp
cmp word [esi + 0x13e], di
jg 0x63d2d3
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
mov eax, dword [esi + 0x398]
fadd dword [esi + 0x12c]
fstp dword [esi + 0x12c]
cmp word [eax + 0x13c], bx
jne 0x63a5c2
cmp word [eax + 0x13e], di
mov ecx, esi
jle 0x63d28a
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push 2
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
push ebp
call fcn.0048cde0
cmp dword [esi + 0x190], ebp
je 0x63d2b9
add word [esi + 0x36c], di
movzx eax, word [esi + 0x36c]
cmp ax, 3
jle 0x63d2b9
mov word [esi + 0x36c], bp
mov dword [esi + 0x190], ebp
cmp dword [esi + 0x144], 0x5a
jge 0x6396af
cmp byte [esi + 0x194], 0
jle 0x6396af
movzx eax, word [esi + 0x13e]
cmp ax, 3
mov ecx, 2
jne 0x63d304
cmp dword [esi + 0x39c], ebp
je 0x6365f7
mov edx, dword [esi + 0x39c]
cmp word [edx + 0x13e], cx
je 0x636927
cmp ax, 4
jne 0x63d3ad
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
fadd dword [esi + 0x11c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [eax + 4]
fmul qword [0x85b920]
fstp dword [eax + 4]
cmp word [esi + 0x36c], bp
jne 0x63d397
mov eax, dword [esi + 0x398]
cmp word [eax + 0x13c], bx
jne 0x63d38e
movsx edx, byte [esi + 0x104]
imul edx, edx, 0x23
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fadd qword [0x857f98]
fstp dword [esi + 0xf0]
cmp word [eax + 0x13e], cx
jl 0x63d3ad
mov word [esi + 0x36c], di
jmp 0x63d3ad
mov al, byte [esi + 0x113]
cmp al, 0x19
jb 0x6365f7
sub al, 0x19
mov byte [esi + 0x113], al
mov ecx, esi
call fcn.00438c60
or ebx, 0xffffffff
test al, al
je 0x63d3c1
add dword [esi + 0x34c], ebx
cmp dword [esi + 0x144], ebp
jne 0x640f87
cmp word [esi + 0x142], bp
jne 0x640f87
cmp word [esi + 0x140], bp
jne 0x640f87
cmp word [esi + 0x13e], 3
jmp 0x6370ee
mov edi, 1
cmp word [esi + 0x13e], di
jg 0x63d4c4
fld dword [esi + 0x11c]
fadd qword [0x8579d8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp word [esi + 0x140], 2
jl 0x63d454
mov al, byte [esi + 0x113]
cmp al, 0x1e
jb 0x6365f7
sub al, 0x1e
mov byte [esi + 0x113], al
mov al, 0xe2
add byte [esi + 0x111], al
add byte [esi + 0x110], al
mov eax, dword [esi + 0x398]
cmp word [eax + 0x13c], 0x25d
jne 0x63d48c
cmp word [esi + 0x13e], di
jg 0x63d48c
fld dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fadd qword [0x85c208]
fstp dword [esi + 0xf0]
push 0
call fcn.0048cde0
cmp dword [esi + 0x190], 8
jne 0x63d4c4
movzx eax, word [esi + 0x36c]
cmp ax, 2
jge 0x63d4c4
add eax, 1
mov word [esi + 0x36c], ax
add byte [esi + 0x194], 1
mov dword [esi + 0x190], 0
mov ecx, esi
call fcn.00438c60
or ebx, 0xffffffff
test al, al
je 0x63d4d8
add dword [esi + 0x34c], ebx
cmp dword [esi + 0x144], 0
jne 0x640f87
cmp word [esi + 0x142], 0
jne 0x640f87
cmp word [esi + 0x140], 0
jne 0x640f87
cmp word [esi + 0x13e], di
jmp 0x6370ee
movsx eax, word [esi + 0x13e]
cmp eax, 8
ja case.default.0x63d51d
jmp dword [eax*4 + 0x6411f8]
mov eax, dword [esi + 0x144]
and eax, 0x80000001
jns 0x63d536
dec eax
or eax, 0xfffffffe
inc eax
jne 0x63d55d
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63d557
fadd dword [0x871554]
fstp dword [esi + 0x12c]
push 0
mov ecx, esi
call fcn.0048cde0
jmp case.default.0x63d51d
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63d58a
fadd dword [0x871554]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fmul qword [0x85a298]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x144], 0xa
jl case.default.0x63d51d
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
jmp case.default.0x63d51d
fld dword [esi + 0x378]
fadd dword [esi + 0x11c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [esi + 0x378]
fmul qword [0x85a298]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x378]
fld dword [0x85c004]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x63d639
fstp dword [esi + 0x378]
jmp 0x63d63b
fstp st(0)
mov al, byte [esi + 0x113]
cmp al, 5
jb 0x6365f7
sub al, 5
mov byte [esi + 0x113], al
mov al, 0xfb
add byte [esi + 0x111], al
add byte [esi + 0x110], al
jmp case.default.0x63d51d
fld dword [esi + 0x12c]
fadd dword [esi + 0x378]
fstp dword [esi + 0x12c]
fld dword [esi + 0x378]
fmul qword [0x85b920]
fstp dword [esi + 0x378]
mov al, byte [esi + 0x113]
cmp al, 5
jb 0x6365f7
sub al, 5
mov byte [esi + 0x113], al
mov al, 0xfb
add byte [esi + 0x111], al
add byte [esi + 0x110], al
fld dword [esi + 0xf4]
fadd qword [0x858ea0]
fstp dword [esi + 0xf4]
fld dword [esi + 0xf8]
fmul qword [0x85b978]
fstp dword [esi + 0xf8]
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf0]
mov ecx, esi
call fcn.00438c60
test al, al
je 0x63d715
add dword [esi + 0x34c], 0xffffffff
cmp dword [esi + 0x144], 0
jne 0x640f87
cmp word [esi + 0x142], 0
jne 0x640f87
cmp word [esi + 0x140], 0
jne 0x640f87
cmp word [esi + 0x13e], 1
jne 0x640f87
mov ebx, 0xa
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x63d76d
fadd dword [0x871554]
push 0x3c
fstp dword [esp + 0x68]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x63d78a
fadd dword [0x871554]
fmul qword [0x867840]
push 4
fadd qword [0x857f50]
fstp dword [esp + 0x70]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63d7b6
fadd dword [0x871554]
fadd qword [0x857f80]
push 3
lea ecx, [esp + 0x64]
push ecx
fstp dword [esp + 0x70]
movzx edx, byte [esi + 0x104]
fld dword [esp + 0x68]
mov edi, dword [esi]
push 1
fchs
push edx
push ecx
add edi, 0x44
fstp dword [esp]
call fcn.00409580
fld dword [esp + 0x78]
fmul qword [0x871520]
fmulp st(1)
fadd dword [esi + 0xf0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x78]
fchs
fstp dword [esp]
call fcn.004095f0
fld dword [esp + 0x7c]
movsx eax, byte [esi + 0x104]
fmul qword [0x871520]
mov edx, dword [edi]
mov dword [esp + 0x2c], eax
mov ecx, esi
fmulp st(1)
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x358
call edx
sub ebx, 1
jne 0x63d751
fld dword [0x85882c]
lea edi, [ebx + 0xa]
fstp dword [esp + 0x68]
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x63d87c
fadd dword [0x871554]
push 0x64
fstp dword [esp + 0x68]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63d89c
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea ecx, [esp + 0x64]
push ecx
fadd qword [0x857930]
push 1
mov ecx, esi
fstp dword [esp + 0x70]
fld dword [0x85882c]
fstp dword [esp + 0x74]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x358
call eax
sub edi, 1
jne 0x63d860
mov eax, dword [esi + 0x190]
cmp eax, 1
je 0x63d908
cmp eax, 7
jne 0x640f87
mov ecx, dword [esi + 0x170]
cmp byte [ecx + 0x7cc], 2
je 0x640f87
push 0x1f4
call fcn.004691f0
mov ecx, dword [esi + 0x170]
mov word [ecx + 0x524], 0x168
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
fmul qword [0x8581d8]
fstp dword [eax + 4]
mov al, byte [esi + 0x113]
cmp al, 8
jb 0x6365f7
sub al, 8
mov byte [esi + 0x113], al
mov al, 0xf8
add byte [esi + 0x111], al
add byte [esi + 0x110], al
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
jmp 0x63d6fd
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63da0e
fstp dword [ecx + 4]
jmp 0x63da10
fstp st(0)
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fmul qword [0x858ea0]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
fld dword [esi + 0x37c]
fadd dword [esi + 0x12c]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fadd qword [0x85c070]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x144], 0
jl case.default.0x63d51d
mov al, byte [esi + 0x113]
cmp al, 5
jbe 0x6365f7
sub al, 5
mov byte [esi + 0x113], al
jmp case.default.0x63d51d
movzx ecx, word [esi + 0x13e]
movsx eax, cx
cmp eax, 0xc
ja case.default.0x63dab6
jmp dword [eax*4 + 0x64121c]
mov edx, dword [esi + 0x144]
and edx, 0x80000001
jns 0x63dad0
dec edx
or edx, 0xfffffffe
inc edx
jne 0x63daf7
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63daf1
fadd dword [0x871554]
fstp dword [esi + 0x12c]
push 0
mov ecx, esi
call fcn.0048cde0
jmp case.default.0x63dab6
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63db24
fadd dword [0x871554]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fmul qword [0x85a298]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x144], 0xa
jl case.default.0x63dab6
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x111], bl
add byte [esi + 0x110], bl
jmp case.default.0x63dab6
fld dword [esi + 0x378]
fadd dword [esi + 0x11c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [esi + 0x378]
fmul qword [0x85a298]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x378]
fld dword [0x85c004]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x63dbd3
fstp dword [esi + 0x378]
jmp 0x63dbd5
fstp st(0)
mov al, byte [esi + 0x113]
cmp al, 5
jb 0x6365f7
sub al, 5
mov byte [esi + 0x113], al
mov al, 0xfb
add byte [esi + 0x111], al
add byte [esi + 0x110], al
jmp case.default.0x63dab6
fld dword [esi + 0x12c]
fadd dword [esi + 0x378]
fstp dword [esi + 0x12c]
fld dword [esi + 0x378]
fmul qword [0x85b920]
fstp dword [esi + 0x378]
mov al, byte [esi + 0x113]
cmp al, 5
jb 0x6365f7
sub al, 5
mov byte [esi + 0x113], al
mov al, 0xfb
add byte [esi + 0x111], al
add byte [esi + 0x110], al
fld dword [esi + 0xf4]
fadd qword [0x85b938]
fstp dword [esi + 0xf4]
fld dword [esi + 0xf8]
fmul qword [0x85b978]
fstp dword [esi + 0xf8]
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp dword [esi + 0xf0]
jmp case.default.0x63dab6
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
fmul qword [0x8581d8]
fstp dword [eax + 4]
mov al, byte [esi + 0x113]
cmp al, 8
jb 0x6365f7
sub al, 8
mov byte [esi + 0x113], al
mov al, 0xf8
add byte [esi + 0x111], al
add byte [esi + 0x110], al
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
jmp case.default.0x63dab6
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63dd7a
fstp dword [ecx + 4]
jmp 0x63dd7c
fstp st(0)
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fmul qword [0x858ea0]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
fld dword [esi + 0x37c]
fadd dword [esi + 0x12c]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fadd qword [0x85c070]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
jmp 0x63e0ee
cmp dword [esi + 0x144], 0
jne 0x63de25
cmp word [esi + 0x142], 0
jne 0x63de25
cmp word [esi + 0x140], 0
jne 0x63de25
cmp cx, 9
jne 0x63de25
fld dword [0x85b3b0]
push 2
push 1
push 5
push ecx
fstp dword [esp]
push 0x3df
mov ecx, esi
call fcn.004b0f50
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fadd qword [0x85abe8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ecx + 4]
fld dword [0x8596b8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x63de72
fstp dword [ecx + 4]
jmp 0x63de74
fstp st(0)
fild dword [esi + 0x144]
push 3
lea ecx, [esp + 0x1fc]
push ecx
fmul qword [0x871520]
push 1
mov ecx, esi
fstp dword [esp + 0x204]
fldz
fstp dword [esp + 0x208]
fld dword [0x86782c]
fstp dword [esp + 0x20c]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
push eax
mov edx, dword [edx + 0x44]
movsx eax, al
lea eax, [eax + eax*4]
add eax, eax
sub esp, 8
add eax, eax
mov dword [esp + 0x2c], eax
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x359
call edx
push 0
mov ecx, esi
call fcn.0048cde0
push 3
mov ecx, esi
call fcn.0048ce30
cmp dword [esi + 0x190], 0
je 0x63df75
fldz
push 3
fst dword [esp + 0x274]
lea ecx, [esp + 0x274]
fst dword [esp + 0x278]
push ecx
fstp dword [esp + 0x280]
push 1
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x359
call eax
mov ecx, dword [esi + 0x398]
push 0x37
call fcn.00464980
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0xec]
fcomp qword [0x85bac0]
fnstsw ax
test ah, 5
jnp 0x6365f7
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6365f7
fld dword [esi + 0xf0]
fcomp qword [0x85b970]
fnstsw ax
test ah, 5
jnp 0x6365f7
fld dword [0x85b8f4]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x6365f7
movsx ecx, byte [esi + 0x104]
fld dword [esi + 0xf4]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmulp st(1)
jmp 0x63dd0a
fld dword [esi + 0x11c]
fadd qword [0x867840]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [esi + 0x12c]
fadd qword [0x8677c8]
fstp dword [esi + 0x12c]
mov al, byte [esi + 0x113]
cmp al, 0xa
jbe 0x6365f7
sub al, 0xa
jmp 0x63e10d
fld dword [esi + 0x11c]
fmul qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x144], 3
jl case.default.0x63dab6
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
fld qword [0x8581d8]
fmul st(1), st(0)
fxch st(1)
fstp dword [eax + 4]
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
fld dword [esi + 0x11c]
fadd qword [0x858c08]
fstp dword [esi + 0x11c]
fmul dword [esi + 0x120]
fstp dword [esi + 0x120]
cmp dword [esi + 0x144], 0
jl case.default.0x63dab6
mov al, byte [esi + 0x113]
cmp al, 5
jbe 0x6365f7
sub al, 5
mov byte [esi + 0x113], al
mov ecx, esi
call fcn.00438c60
test al, al
je 0x63e125
add dword [esi + 0x34c], 0xffffffff
cmp dword [esi + 0x144], 0
jne 0x640f87
cmp word [esi + 0x142], 0
jne 0x640f87
cmp word [esi + 0x140], 0
jne 0x640f87
cmp word [esi + 0x13e], 1
jne 0x640f87
mov ebx, 0xf
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x63e17d
fadd dword [0x871554]
push 0x3c
fstp dword [esp + 0x50]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x63e19a
fadd dword [0x871554]
fmul qword [0x867840]
push 5
fadd qword [0x857f50]
fstp dword [esp + 0x58]
call fcn.004099f0
add esp, 0xc
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63e1c6
fadd dword [0x871554]
fadd qword [0x857f50]
push 3
lea eax, [esp + 0x4c]
push eax
fstp dword [esp + 0x58]
movzx ecx, byte [esi + 0x104]
fld dword [esp + 0x50]
mov edi, dword [esi]
push 1
fchs
push ecx
push ecx
add edi, 0x44
fstp dword [esp]
call fcn.00409580
fld dword [esp + 0x60]
fmul qword [0x871520]
fmulp st(1)
fadd dword [esi + 0xf0]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [esp + 0x60]
fchs
fstp dword [esp]
call fcn.004095f0
fld dword [esp + 0x64]
movsx edx, byte [esi + 0x104]
fmul qword [0x871520]
mov eax, dword [edi]
mov dword [esp + 0x2c], edx
mov ecx, esi
fmulp st(1)
fild dword [esp + 0x2c]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x358
call eax
sub ebx, 1
jne 0x63e161
fld dword [0x85882c]
lea edi, [ebx + 0xa]
fstp dword [esp + 0x50]
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x63e28c
fadd dword [0x871554]
push 0x64
fstp dword [esp + 0x50]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63e2ac
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea eax, [esp + 0x4c]
push eax
fadd qword [0x857930]
push 1
fstp dword [esp + 0x58]
fld dword [0x85882c]
fstp dword [esp + 0x5c]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x358
call edx
sub edi, 1
jne 0x63e270
mov eax, dword [esi + 0x190]
cmp eax, 1
je 0x63e318
cmp eax, 7
jne 0x640f87
mov ecx, dword [esi + 0x170]
cmp byte [ecx + 0x7cc], 2
je 0x640f87
push 0x1f4
call fcn.004691f0
mov ecx, dword [esi + 0x170]
push 0x1f4
call fcn.004691f0
mov eax, dword [esi + 0x170]
mov word [eax + 0x524], 0x258
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x190], 5
je 0x6365f7
movsx eax, word [esi + 0x13e]
cmp eax, 3
ja case.default.0x6396df
jmp dword [eax*4 + 0x641250]
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp qword [esp + 0x28]
call fcn.004397f0
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x63e456
fldz
push 3
fst dword [esp + 0xe0]
lea eax, [esp + 0xe0]
fstp dword [esp + 0xe4]
push eax
fld1
push 1
fstp dword [esp + 0xf0]
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35a
call edx
fld dword [0x871538]
fstp dword [esp + 0xe4]
movzx edx, byte [esi + 0x104]
fld dword [0x867814]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push 3
lea ecx, [esp + 0xe0]
push ecx
push 1
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [0x8575a4]
fstp dword [esp]
push 0x35a
call eax
mov ecx, dword [esi + 0x398]
push 0x34
call fcn.00464980
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
jmp 0x63a29c
mov eax, dword [esi + 0x144]
cdq
mov ecx, 3
idiv ecx
test edx, edx
jne 0x63e532
push 0x28
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x63e4b7
fadd dword [0x871554]
fsubr qword [0x85cdf8]
push 5
fstp dword [esp + 0x218]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63e4e0
fadd dword [0x871554]
fadd qword [0x871520]
push 3
lea eax, [esp + 0x214]
push eax
fstp dword [esp + 0x21c]
push 1
fld dword [0x8589f0]
fstp dword [esp + 0x224]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35a
call edx
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0x1e
idiv ecx
test edx, edx
jne 0x63e551
mov ecx, dword [esi + 0x398]
push 0x35
call fcn.00464980
mov edx, dword [esi + 0x170]
cmp word [edx + 0x184], 0
jle 0x6373ad
cmp dword [esi + 0x144], 0x258
jl case.default.0x6396df
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
fld dword [esi + 0x11c]
fadd qword [0x867840]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [esi + 0x378]
fadd dword [esi + 0x12c]
fstp dword [esi + 0x12c]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jmp 0x63a27e
cmp word [esi + 0x36c], 0
mov edx, 1
jne 0x63e67a
mov al, byte [esi + 0x113]
cmp al, 0xfa
ja 0x63e620
add al, 5
mov byte [esi + 0x113], al
jmp 0x63e627
mov byte [esi + 0x113], 0xff
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xf0]
fcomp qword [0x857948]
fnstsw ax
test ah, 0x41
jp 0x63e657
movzx eax, word [ecx + 0x184]
cmp ax, 3
jl 0x63e657
add eax, 0xfffffffe
mov word [ecx + 0x184], ax
mov ecx, dword [esi + 0x170]
cmp word [ecx + 0x184], 0
jle 0x63e673
cmp dword [esi + 0x144], 0x258
jl 0x63e67a
mov word [esi + 0x36c], dx
cmp word [esi + 0x36c], dx
jne 0x63e699
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
fild dword [esi + 0x144]
push ecx
fadd st(0), st(0)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x867840]
add esp, 4
fadd qword [0x857f80]
fstp dword [esi + 0x120]
jmp case.default.0x6396df
cmp dword [esi + 0x190], 5
je 0x6365f7
movsx eax, word [esi + 0x13e]
cmp eax, 0xa
ja case.default.0x6396df
jmp dword [eax*4 + 0x641260]
cmp dword [esi + 0x144], 0
fldz
jne 0x63e750
fst dword [esp + 0x150]
push 3
fstp dword [esp + 0x158]
lea eax, [esp + 0x154]
fld dword [0x8589f0]
push eax
fstp dword [esp + 0x160]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35b
call edx
fldz
mov eax, dword [esi + 0x144]
test eax, eax
je 0x63e764
cmp eax, 0xa
je 0x63e764
cmp eax, 0x14
jne 0x63e7b5
fst dword [esp + 0x15c]
push 3
fstp dword [esp + 0x164]
lea ecx, [esp + 0x160]
fld1
push ecx
fstp dword [esp + 0x16c]
push 1
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35b
call eax
fldz
mov ecx, dword [esi + 0x144]
mov eax, ecx
cdq
mov edi, 5
idiv edi
test edx, edx
jne 0x63e88d
cmp ecx, 0xf
jl 0x63e88d
fst dword [esp + 0x174]
push 3
fstp dword [esp + 0x17c]
lea ecx, [esp + 0x178]
fld dword [0x871538]
push ecx
fstp dword [esp + 0x184]
movzx edx, byte [esi + 0x104]
mov edi, dword [esi]
push 1
push edx
push 0xc8
add edi, 0x44
call fcn.004099f0
test eax, eax
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
jge 0x63e826
fadd dword [0x871554]
mov eax, dword [esi + 0x398]
fld dword [eax + 0xf0]
fadd qword [0x857990]
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push 0xc8
call fcn.004099f0
test eax, eax
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
jge 0x63e861
fadd dword [0x871554]
mov ecx, dword [esi + 0x398]
fld dword [ecx + 0xec]
mov edx, dword [edi]
fsub qword [0x857b20]
mov ecx, esi
faddp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x35b
call edx
jmp 0x63e88f
fstp st(0)
fld dword [esi + 0x11c]
fmul qword [0x85b818]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0x1e
jb 0x63e8c3
sub al, 0x1e
mov byte [esi + 0x113], al
jmp 0x63e8ca
mov byte [esi + 0x113], 0
cmp dword [esi + 0x144], 0x32
jl case.default.0x6396df
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0x12c]
fadd qword [0x858210]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fadd qword [0x857f90]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
jmp case.default.0x6396df
fld dword [esi + 0x11c]
fadd qword [0x857f78]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xf
jb 0x6365f7
sub al, 0xf
mov byte [esi + 0x113], al
jmp case.default.0x6396df
fld dword [esi + 0x11c]
fmul qword [0x85b818]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0x1e
jb 0x6365f7
sub al, 0x1e
mov byte [esi + 0x113], al
jmp case.default.0x6396df
fld dword [esi + 0x378]
call fcn.00820230
push eax
push 0
mov ecx, esi
call fcn.0048cf60
fld dword [esi + 0x378]
fadd qword [0x858eb8]
fstp dword [esi + 0x378]
mov al, byte [esi + 0x113]
cmp al, 6
jb 0x6365f7
sub al, 6
mov byte [esi + 0x113], al
jmp case.default.0x6396df
fld dword [esi + 0x120]
fadd qword [0x857f90]
fstp dword [esi + 0x120]
fld dword [esi + 0x11c]
fmul qword [0x85bff0]
fstp dword [esi + 0x11c]
jmp 0x63e9d0
cmp dword [esi + 0x144], 2
jl 0x63ea21
mov byte [esi + 0x194], 0
fld dword [esi + 0x11c]
fmul qword [0x85b978]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp byte [esi + 0x113], 6
jb 0x6365f7
mov al, 0xfa
add byte [esi + 0x110], al
add byte [esi + 0x112], al
add byte [esi + 0x113], al
jmp case.default.0x6396df
fld dword [esi + 0x11c]
fadd qword [0x857f78]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
jmp 0x63ea35
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fmul qword [0x8581d8]
lea ecx, [esi + 4]
fstp dword [eax + 4]
fld dword [esi + 0x12c]
fadd dword [esi + 0x378]
fstp dword [esi + 0x12c]
fld dword [esi + 0x378]
fmul qword [0x85ba10]
fstp dword [esi + 0x378]
fld dword [esi + 0x11c]
fadd qword [0x858c08]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [eax + 4]
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
cmp byte [esi + 0x113], 6
jb 0x6365f7
mov al, 0xfa
add byte [esi + 0x110], al
add byte [esi + 0x112], al
add byte [esi + 0x113], al
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jmp 0x63a27e
cmp dword [esi + 0x190], 5
je 0x6365f7
xor ebp, ebp
cmp word [esi + 0x13e], bp
mov ebx, 1
jne 0x63ed2c
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x63eb53
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x63eb7a
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63eb74
fadd dword [0x871554]
fstp dword [esi + 0x12c]
cmp word [esi + 0x36e], bp
jne 0x63eba8
mov eax, dword [esi + 0x190]
cmp eax, ebx
je 0x63eb92
cmp eax, 7
jne 0x63eba8
mov word [esi + 0x36e], bx
mov edx, dword [esi + 0x398]
mov word [edx + 0x8b0], 0x168
mov eax, dword [esi + 0x398]
cmp word [eax + 0x13c], 0x262
jne 0x6365f7
cmp word [eax + 0x13e], bx
jg 0x6365f7
push 0x78
push ebp
mov ecx, esi
call fcn.0048cf60
mov eax, dword [esi + 0x144]
mov ecx, eax
and ecx, 0x80000001
jns 0x63ebe9
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x63ec67
cmp eax, 0x14
jg 0x63ec67
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63ec13
fadd dword [0x871554]
fstp dword [esp + 0x18c]
push 3
fld dword [0x85bb54]
lea eax, [esp + 0x190]
fstp dword [esp + 0x194]
push eax
fld1
push ebx
fstp dword [esp + 0x1a0]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call edx
mov eax, dword [esi + 0x144]
and eax, 0x80000007
jns 0x63ec79
dec eax
or eax, 0xfffffff8
inc eax
jne 0x63ed03
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63ec9e
fadd dword [0x871554]
fstp dword [esp + 0x1a4]
push 3
fldz
lea ecx, [esp + 0x1a8]
fstp dword [esp + 0x1ac]
push ecx
fld dword [0x871538]
push ebx
fstp dword [esp + 0x1b8]
push 0x64
mov edi, dword [esi]
add edi, 0x48
call fcn.004099f0
fld dword [esi + 0xf0]
add esp, 4
cmp eax, 0x32
seta dl
add dl, dl
mov eax, ebx
sub al, dl
mov edx, dword [edi]
mov ecx, esi
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35c
call edx
cmp dword [esi + 0x190], ebp
je 0x63ed2c
add word [esi + 0x36c], bx
movzx eax, word [esi + 0x36c]
cmp ax, 4
jl 0x63ed2c
mov word [esi + 0x36c], bp
mov dword [esi + 0x190], ebp
cmp word [esi + 0x13e], bx
jne 0x63ee74
mov eax, dword [esi + 0x144]
and eax, 0x80000001
jns 0x63ed4b
dec eax
or eax, 0xfffffffe
inc eax
jne 0x63ed72
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63ed6c
fadd dword [0x871554]
fstp dword [esi + 0x12c]
push 0x32
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x63ed8b
fadd dword [0x871554]
fmul qword [0x858c08]
mov edi, dword [esi + 0x35c]
push 0x50
fadd qword [0x858820]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
jge 0x63edca
fadd dword [0x871554]
fsub qword [0x858990]
push 0xc8
fadd dword [edi]
fstp dword [edi]
call fcn.004099f0
test eax, eax
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
jge 0x63edf0
fadd dword [0x871554]
fadd qword [0x858990]
mov eax, dword [esi + 0x35c]
add esp, 4
lea ecx, [esi + 4]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [eax + 4]
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
movzx eax, word [esi + 0x36c]
cmp ax, 7
jl 0x6365f7
add eax, 0xfffffff9
movzx ecx, al
push ecx
mov ecx, esi
mov word [esi + 0x36c], ax
call fcn.004b0ef0
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
cmp word [esi + 0x13e], 2
jne 0x63eee1
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fadd dword [esi + 0x11c]
fstp dword [esi + 0x11c]
fld dword [ecx + 4]
fsub qword [0x857f90]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ecx + 4]
fld dword [0x85c078]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x63eebd
fstp dword [ecx + 4]
jmp 0x63eebf
fstp st(0)
fld dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 6
jb 0x6365f7
sub al, 6
mov byte [esi + 0x113], al
cmp word [esi + 0x13e], 3
jne case.default.0x6396df
cmp dword [esi + 0x39c], ebp
je 0x63ef15
mov eax, dword [esi + 0x39c]
fld dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fstp dword [esi + 0xf0]
fld dword [esi + 0x12c]
fadd qword [0x857f50]
jmp 0x63aaeb
cmp dword [esi + 0x190], 5
je 0x6365f7
mov eax, dword [esi + 0x398]
cmp word [eax + 0x184], 0
jle 0x63d279
cmp word [esi + 0x13e], 0
jne 0x63efcf
fld dword [esi + 0x378]
fadd qword [0x858210]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x378]
fld dword [0x85b984]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x63ef88
fstp dword [esi + 0x378]
jmp 0x63ef8a
fstp st(0)
fld dword [esi + 0x378]
push ecx
fstp dword [esp]
call fcn.00409580
mov ecx, dword [esi + 0x35c]
fmul dword [ecx]
add esp, 4
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [0x85b984]
fcomp dword [esi + 0x378]
fnstsw ax
test ah, 0x41
jnp 0x6396af
cmp word [esi + 0x13e], 1
jne 0x63f07b
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0xf
idiv ecx
test edx, edx
jne 0x63f04c
mov edx, dword [esi + 0x35c]
fld dword [edx]
push 3
fstp dword [esp + 0x1c0]
lea ecx, [esp + 0x1c0]
fldz
push ecx
fstp dword [esp + 0x1c8]
push 1
fld dword [0x871538]
mov ecx, esi
fstp dword [esp + 0x1d0]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x35d
call eax
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x63f060
sub al, 0xa
mov byte [esi + 0x113], al
jmp 0x63f067
mov byte [esi + 0x113], 0
mov ecx, dword [esi + 0x398]
cmp word [ecx + 0x8b2], 0
jle 0x6396af
cmp word [esi + 0x13e], 2
jne 0x63f09b
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
cmp word [esi + 0x13e], 3
jne case.default.0x6396df
fld dword [esi + 0x11c]
fadd qword [0x85c070]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov eax, dword [esi + 0x144]
lea ecx, [eax + eax*2]
add ecx, ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.00409580
fmul qword [0x857928]
add esp, 4
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp dword [esp + 0x14]
mov dl, byte [esp + 0x14]
fldcw word [esp + 0x18]
jmp 0x63a563
mov ebp, 5
cmp dword [esi + 0x190], ebp
je 0x6365f7
movsx eax, word [esi + 0x13e]
cmp eax, 8
ja case.default.0x6396df
jmp dword [eax*4 + 0x64128c]
mov ecx, dword [esi + 0x398]
cmp word [ecx + 0x184], 0
jle 0x6365f7
cmp dword [esi + 0x144], 0
jne 0x63f1b7
mov edx, dword [esi + 0x35c]
fld dword [edx]
push 3
fstp dword [esp + 0x1d8]
lea ecx, [esp + 0x1d8]
fldz
push ecx
fstp dword [esp + 0x1e0]
push 1
fld dword [0x867860]
mov ecx, esi
fstp dword [esp + 0x1e8]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x384
call eax
mov ecx, dword [esi + 0x144]
and ecx, 0x80000003
jns 0x63f1ca
dec ecx
or ecx, 0xfffffffc
inc ecx
jne 0x63f2b7
push 0xe
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63f1ec
fadd dword [0x871554]
mov edx, dword [esi + 0x35c]
fld dword [edx]
push 3
fadd qword [0x871510]
lea eax, [esp + 0x1f0]
push eax
push 1
faddp st(1)
fsub qword [0x858ec0]
fstp dword [esp + 0x1f8]
fld dword [0x86782c]
fstp dword [esp + 0x1fc]
fld dword [0x871538]
fstp dword [esp + 0x200]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi + 0x35c]
mov edi, dword [esi]
fstp qword [esp + 0x34]
fld dword [esi + 0xec]
push ecx
fstp qword [esp + 0x30]
push ecx
fld dword [edx]
add edi, 0x44
fchs
fstp dword [esp]
call fcn.00409580
fmul qword [0x857958]
mov eax, dword [esi + 0x35c]
fsubr qword [esp + 0x3c]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push ecx
fld dword [eax]
fchs
fstp dword [esp]
call fcn.004095f0
movsx ecx, byte [esi + 0x104]
imul ecx, ecx, 0x23
mov edx, dword [edi]
mov dword [esp + 0x2c], ecx
mov ecx, esi
fimul dword [esp + 0x2c]
fsubr qword [esp + 0x38]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x384
call edx
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x867860]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x63f2e7
fstp dword [ecx + 4]
jmp 0x63f2e9
fstp st(0)
fld dword [0x871544]
sub esp, 0xc
fstp dword [esp + 8]
mov ecx, esi
fld1
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.0048cca0
mov eax, dword [esi + 0x35c]
fld dword [eax]
sub esp, 8
fstp dword [esi + 0x12c]
lea ecx, [esi + 4]
fld dword [eax + 4]
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
movsx eax, byte [esi + 0x104]
fld dword [esi + 0xf4]
mov dword [esp + 0x14], eax
push 0
mov ecx, esi
fild dword [esp + 0x18]
fmulp st(1)
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
call fcn.0048cde0
push 4
mov ecx, esi
call fcn.0048ce30
cmp word [esi + 0x184], 0xfda8
jg 0x63f419
fldz
push 3
fst dword [esp + 0xec]
lea eax, [esp + 0xec]
fstp dword [esp + 0xf0]
push eax
fld dword [0x85bca4]
push 1
fstp dword [esp + 0xfc]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x384
call edx
fld dword [0x85882c]
push 3
fstp dword [esp + 0xf4]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
lea ecx, [esp + 0xec]
push ecx
push 1
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x384
jmp 0x6373a4
cmp dword [esi + 0x190], 0
jne 0x63f432
cmp dword [esi + 0x144], 0x12c
jl case.default.0x6396df
mov ecx, dword [esi + 0x398]
push 6
call fcn.00464980
fldz
fst dword [esp + 0x6c]
push 3
fstp dword [esp + 0x74]
lea eax, [esp + 0x70]
fld1
push eax
fstp dword [esp + 0x7c]
push 1
fld dword [esi + 0xf0]
movzx ecx, byte [esi + 0x104]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x384
call edx
fld dword [0x8589f0]
fstp dword [esp + 0x74]
mov edi, 3
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x63f4af
fadd dword [0x871554]
push 0x32
fstp dword [esp + 0x74]
call fcn.004099f0
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63f4cf
fadd dword [0x871554]
fmul qword [0x867840]
push 3
lea ecx, [esp + 0x70]
push ecx
fstp dword [esp + 0x1c]
push 1
fld dword [esp + 0x20]
mov ecx, esi
fadd qword [0x8579b0]
fstp dword [esp + 0x7c]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x384
call eax
sub edi, 1
jne 0x63f493
fld dword [0x85bca4]
push 3
fstp dword [esp + 0x78]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
lea eax, [esp + 0x70]
push eax
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x384
call edx
fld dword [0x85882c]
push 3
fstp dword [esp + 0x78]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
lea ecx, [esp + 0x70]
push ecx
push 1
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x384
jmp 0x6373a4
xor ebx, ebx
cmp word [esi + 0x140], bx
mov edi, 1
jne 0x63f6cb
fld1
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jne 0x63f60d
fld dword [esi + 0x11c]
fld qword [0x857f78]
fadd st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fadd dword [esi + 0x120]
fstp dword [esi + 0x120]
fcom dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jp 0x63f60d
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov byte [esi + 0x194], 4
mov word [esi + 0x36e], di
jmp 0x63f60f
fstp st(0)
cmp word [esi + 0x36e], di
jne 0x63f65b
mov ecx, dword [esi + 0x144]
and ecx, 0x80000001
jns 0x63f62b
dec ecx
or ecx, 0xfffffffe
inc ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul qword [0x867840]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd qword [0x8677c8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
push ebx
mov ecx, esi
call fcn.0048cde0
mov eax, dword [esi + 0x190]
cmp eax, ebx
je 0x63f6a6
cmp eax, 4
je 0x63f677
cmp eax, 8
jne 0x63f67e
mov word [esi + 0x36c], bp
cmp byte [esi + 0x194], bl
jle 0x63f6ac
add word [esi + 0x36c], di
movzx eax, word [esi + 0x36c]
cmp ax, bp
jle 0x63f6a6
mov word [esi + 0x36c], bx
mov dword [esi + 0x190], ebx
cmp byte [esi + 0x194], bl
jne 0x63f6cb
fld1
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
jp 0x63f6cb
mov word [esi + 0x140], di
mov word [esi + 0x142], bx
cmp word [esi + 0x140], di
jne case.default.0x6396df
fld dword [esi + 0x11c]
fld qword [0x867840]
fsub st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esi + 0x120]
fldz
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 1
jne case.default.0x6396df
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x8677a8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63f74c
fstp dword [ecx + 4]
jmp 0x63f74e
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
cmp dword [esi + 0x144], 0xf
jl 0x63f7a4
fld dword [esi + 0x11c]
fmul qword [0x8581d8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
jmp 0x63a27e
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x858ea0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ecx + 4]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63f7e4
fstp dword [ecx + 4]
jmp 0x63f7e6
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
fld dword [esi + 0x11c]
fadd qword [0x857f90]
fstp dword [esi + 0x11c]
fld dword [esi + 0x120]
fstp dword [esi + 0x11c]
mov al, byte [esi + 0x113]
cmp al, 0xf
jbe 0x6365f7
sub al, 0xf
mov byte [esi + 0x113], al
mov al, 0xf1
add byte [esi + 0x110], al
add byte [esi + 0x111], al
jmp case.default.0x6396df
fld dword [esi + 0x12c]
fadd qword [0x871520]
fstp dword [esi + 0x12c]
fld dword [esi + 0x11c]
fadd qword [0x858ea0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov al, byte [esi + 0x113]
cmp al, 0xa
jbe 0x6365f7
sub al, 0xa
mov bl, 0xf6
mov byte [esi + 0x113], al
add byte [esi + 0x110], bl
add byte [esi + 0x111], bl
jmp case.default.0x6396df
fld dword [esi + 0x11c]
fmul qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x144], 2
jl case.default.0x6396df
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fld dword [esi + 0x12c]
fadd dword [esi + 0x378]
fstp dword [esi + 0x12c]
fld dword [esi + 0x378]
fmul qword [0x85b818]
fstp dword [esi + 0x378]
fld dword [esi + 0x37c]
fadd dword [esi + 0x11c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [esi + 0x37c]
fmul qword [0x8581d8]
fstp dword [esi + 0x37c]
mov al, byte [esi + 0x113]
cmp al, 5
jb 0x6365f7
sub al, 5
mov byte [esi + 0x113], al
jmp case.default.0x6396df
fld dword [esi + 0x12c]
fsub dword [esi + 0x378]
fstp dword [esi + 0x12c]
fld dword [esi + 0x378]
fmul qword [0x8581d8]
fstp dword [esi + 0x378]
fld dword [esi + 0x37c]
fadd dword [esi + 0x11c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [esi + 0x37c]
fmul qword [0x85a298]
fstp dword [esi + 0x37c]
mov al, byte [esi + 0x113]
cmp al, 5
jb 0x6365f7
sub al, 5
mov byte [esi + 0x113], al
jmp case.default.0x6396df
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
sub esp, 8
fmul qword [0x8581d8]
lea ecx, [esi + 4]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fst dword [eax + 4]
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
call fcn.00438c00
mov al, byte [esi + 0x113]
cmp al, 4
jb 0x6365f7
sub al, 4
mov byte [esi + 0x113], al
fld dword [esi + 0x12c]
fadd dword [esi + 0x378]
fstp dword [esi + 0x12c]
fld dword [esi + 0x378]
fmul qword [0x85b818]
fstp dword [esi + 0x378]
fld dword [esi + 0x11c]
fadd qword [0x85aaf8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fmul qword [0x858ea0]
jmp 0x63a296
cmp dword [esi + 0x190], 5
je 0x6365f7
movsx eax, word [esi + 0x13e]
add eax, 0xffffffff
cmp eax, 3
ja case.default.0x6363b8
jmp dword [eax*4 + 0x6412b0]
fld dword [esi + 0x11c]
fld qword [0x867840]
fsub st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esi + 0x120]
jmp case.default.0x6363b8
fld dword [esi + 0x11c]
fld qword [0x858c08]
fsub st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esi + 0x120]
fld dword [0x8677a8]
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
je 0x63fb36
cmp dword [esi + 0x144], 0xa
jle 0x63fb4c
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
fldz
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 1
je 0x6365f7
cmp byte [esi + 0x113], 0
jbe 0x6365f7
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x85d140]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld1
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63fb98
fstp dword [ecx + 4]
jmp 0x63fb9a
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
jmp 0x6364a9
cmp dword [esi + 0x39c], 0
je 0x6365f7
mov eax, dword [esi + 0x39c]
mov cl, byte [eax + 0x104]
mov byte [esi + 0x104], cl
mov eax, dword [esi + 0x39c]
movsx edx, byte [eax + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [eax + 0xf4]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf8]
fadd dword [eax + 0xf0]
fstp dword [esi + 0xf0]
fld dword [eax + 0x12c]
fstp dword [esi + 0x12c]
mov al, byte [eax + 0x113]
mov byte [esi + 0x113], al
jmp case.default.0x6363b8
mov eax, dword [esi + 0x398]
cmp word [eax + 0x184], 0
jle 0x6365f7
cmp word [eax + 0x89a], 0
jle 0x63fcd8
mov byte [esi + 0x194], 1
mov al, byte [esi + 0x113]
cmp al, 0xf5
jae 0x63fccf
add al, 0xa
mov byte [esi + 0x113], al
jmp 0x63fcfa
mov byte [esi + 0x113], 0xff
jmp 0x63fcfa
mov byte [esi + 0x194], 0
mov al, byte [esi + 0x113]
cmp al, 0x44
jbe 0x63fcf3
sub al, 0xa
mov byte [esi + 0x113], al
jmp 0x63fcfa
mov byte [esi + 0x113], 0x40
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x8677a0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fld dword [0x867860]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x63fd2a
fstp dword [ecx + 4]
jmp 0x63fd2c
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
cmp dword [esi + 0x144], 0x1a4
jg 0x63fdc8
cmp dword [esi + 0x190], 0
jne 0x63fdc8
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x6364a9
mov edi, 3
lea ecx, [ecx]
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x63fdec
fadd dword [0x871554]
push 0xf
fstp dword [esp + 0x20c]
call fcn.004099f0
add eax, 0xa
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x63fe12
fadd dword [0x871554]
fstp dword [esp + 0x208]
push 3
fld dword [0x8589f0]
lea eax, [esp + 0x208]
fstp dword [esp + 0x210]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push eax
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x38e
call edx
sub edi, 1
jne 0x63fdd0
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x190], 5
je 0x6365f7
mov eax, dword [esi + 0x398]
cmp word [eax + 0x184], 0
mov ebx, 2
jg 0x63feb1
cmp word [esi + 0x13e], bx
je 0x63feb1
mov edx, dword [esi]
mov eax, dword [edx + 0xc]
push ebx
call eax
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x13e], 0
jne 0x63ff39
fld dword [esi + 0x378]
fadd qword [0x858210]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [esi + 0x378]
fld dword [0x85b984]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x63fef2
fstp dword [esi + 0x378]
jmp 0x63fef4
fstp st(0)
fld dword [esi + 0x378]
push ecx
fstp dword [esp]
call fcn.00409580
mov ecx, dword [esi + 0x35c]
fmul dword [ecx]
add esp, 4
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
fld dword [0x85b984]
fcomp dword [esi + 0x378]
fnstsw ax
test ah, 0x41
jnp 0x6396af
cmp word [esi + 0x13e], 1
mov edi, 3
jne 0x6400db
mov ecx, dword [esi + 0x170]
fld dword [esi + 0xf0]
fld dword [ecx + 0xf0]
push ecx
fadd qword [0x857b20]
fsubp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004097a0
mov edx, dword [esi + 0x170]
fstp qword [esp + 0x2c]
fld dword [esi + 0xec]
fsub dword [edx + 0xec]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004097a0
fadd qword [esp + 0x2c]
fstp qword [esp + 0x2c]
fld dword [esi + 0x11c]
fmul qword [0x857b20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.004097a0
fcomp qword [esp + 0x2c]
add esp, 4
fnstsw ax
test ah, 0x41
jne 0x63ffdc
mov eax, dword [esi + 0x398]
mov word [eax + 0x89a], di
mov eax, dword [esi + 0x144]
cdq
mov ecx, 0xf
idiv ecx
test edx, edx
jne 0x64004a
mov edx, dword [esi + 0x35c]
fld dword [edx]
push edi
fstp dword [esp + 0x220]
lea ecx, [esp + 0x220]
fldz
push ecx
fstp dword [esp + 0x228]
push 1
fld dword [0x871538]
mov ecx, esi
fstp dword [esp + 0x230]
movzx edx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov eax, dword [esi]
mov eax, dword [eax + 0x44]
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x38f
call eax
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x64005e
sub al, 0xa
mov byte [esi + 0x113], al
jmp 0x640065
mov byte [esi + 0x113], 0
fild dword [esi + 0x144]
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fcompp
fnstsw ax
test ah, 0x41
jnp 0x6396af
cmp dword [0x8971d4], 0
je 0x6400db
fld dword [0x871538]
sub esp, 8
fstp dword [esp + 4]
lea ecx, [esi + 4]
fld dword [esi + 0x37c]
fstp dword [esp]
call fcn.00438c00
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
cmp word [esi + 0x13e], bx
jne 0x6400fa
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
cmp word [esi + 0x13e], di
jne case.default.0x6396df
fld dword [esi + 0x11c]
push ecx
fadd qword [0x85c070]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
mov eax, dword [esi + 0x144]
lea edx, [eax + eax*2]
add edx, edx
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fstp dword [esp]
call fcn.00409580
fmul qword [0x857928]
add esp, 4
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp dword [esp + 0x14]
mov al, byte [esp + 0x14]
mov byte [esi + 0x113], al
mov eax, dword [esi + 0x144]
fldcw word [esp + 0x18]
lea ecx, [eax + eax*2]
add ecx, ecx
cmp ecx, 0xb4
jl case.default.0x6396df
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x190], 5
je 0x6365f7
movsx eax, word [esi + 0x13e]
cmp eax, 4
ja case.default.0x6396df
jmp dword [eax*4 + 0x6412c0]
cmp word [esi + 0x140], 0
jne 0x63ab15
mov ecx, dword [esi + 0x398]
cmp word [ecx + 0x13c], 0x2d6
jne 0x639888
cmp word [ecx + 0x13e], 1
jg 0x639888
movsx edx, byte [esi + 0x104]
mov eax, dword [esi + 0x35c]
imul edx, edx, 0x32
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd dword [ecx + 0xec]
fstp dword [esi + 0xec]
fld dword [ecx + 0xf0]
fadd qword [0x85bc50]
fstp dword [esi + 0xf0]
fldz
fcomp dword [eax + 4]
fnstsw ax
fld dword [ecx + 0x89c]
test ah, 0x44
jnp 0x640239
fchs
fstp dword [esi + 0x12c]
mov eax, dword [esi + 0x144]
lea ecx, [eax + eax*4]
add ecx, ecx
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x639861
fld1
xor ecx, ecx
fst dword [esi + 0x11c]
fstp dword [esi + 0x120]
cmp dword [esi + 0x190], ecx
je 0x640291
add word [esi + 0x36c], 1
movzx eax, word [esi + 0x36c]
cmp ax, 3
jl 0x640291
mov word [esi + 0x36c], cx
mov dword [esi + 0x190], ecx
mov eax, dword [esi + 0x144]
cdq
mov ecx, 5
idiv ecx
test edx, edx
jne 0x64031b
push 0x168
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x6402c6
fadd dword [0x871554]
fstp dword [esp + 0x234]
push 3
fldz
lea eax, [esp + 0x238]
fstp dword [esp + 0x23c]
push eax
fld dword [0x8589f0]
push 1
fstp dword [esp + 0x248]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x330
call edx
cmp byte [esi + 0x194], 0
jle 0x6373ad
cmp dword [esi + 0x144], 0x1e
jge 0x6373ad
mov eax, dword [esi + 0x398]
movzx eax, word [eax + 0x13c]
cmp ax, 0x20d
jl 0x6373ad
cmp ax, 0x210
jle case.default.0x6396df
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x398]
movzx ecx, word [eax + 0x13c]
cmp cx, 0x20d
mov edx, 2
je 0x640385
cmp cx, 0x20e
jne 0x6403a5
cmp word [eax + 0x13e], dx
jne 0x6403a5
movsx ecx, byte [esi + 0x104]
imul ecx, ecx, 0x32
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x639a3b
cmp cx, 0x20f
je 0x6403b7
cmp cx, 0x210
jne 0x6365f7
cmp word [eax + 0x13e], dx
jne 0x6365f7
movsx edx, byte [esi + 0x104]
imul edx, edx, 0x32
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
jmp 0x639a89
mov eax, dword [esi + 0x398]
cmp word [eax + 0x13c], 0x2d6
jne 0x640426
cmp word [eax + 0x13e], 1
jg 0x640426
movsx ecx, byte [esi + 0x104]
imul ecx, ecx, 0x32
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf0]
fadd qword [0x85bc50]
fstp dword [esi + 0xf0]
mov eax, dword [esi + 0x144]
lea edx, [eax + eax*2]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.00409580
mov eax, dword [esi + 0x35c]
fld dword [eax + 4]
mov ecx, dword [esi + 0x398]
fmul dword [ecx + 0x89c]
add esp, 4
fmulp st(1)
fstp dword [esi + 0x12c]
jmp 0x63ab15
mov edi, 5
cmp dword [esi + 0x190], edi
je 0x6365f7
movsx eax, word [esi + 0x13e]
fld1
fldz
add eax, 0xffffffff
cmp eax, 0x10
lea ebp, [edi + 8]
lea ecx, [edi - 4]
ja case.0x64049a.1
movzx edx, byte [eax + 0x6412f8]
jmp dword [edx*4 + 0x6412d4]
cmp word [esi + 0x36c], 0
jne 0x640533
fld dword [esi + 0xf4]
fsub qword [0x858ea0]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0xf4]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x6404dc
fxch st(1)
fstp dword [esi + 0xf4]
jmp 0x6404de
fstp st(1)
fld dword [esi + 0xf8]
fsub qword [0x858ea8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0xf8]
fcomp dword [0x85b85c]
fnstsw ax
test ah, 5
jp 0x64051a
mov eax, dword [esi]
fstp st(0)
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 eax, dword [esi + 0x398]
cmp word [eax + 0x184], 0
jg 0x64054b
mov word [esi + 0x36c], cx
jmp 0x64054b
mov al, byte [esi + 0x113]
fstp st(1)
cmp al, 0xa
jbe 0x638262
sub al, 0xa
mov byte [esi + 0x113], al
fld dword [0x85c5e8]
fcomp dword [esi + 0xec]
fnstsw ax
fldz
test ah, 5
jp 0x640588
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x640588
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fld dword [esi + 0xec]
fcomp qword [0x858ef0]
fnstsw ax
test ah, 5
jp 0x6405c1
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fcompp
fnstsw ax
test ah, 5
jp 0x6405c3
fstp dword [esi + 0xf4]
jmp 0x6405c5
fstp st(0)
fstp st(0)
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf8]
fadd dword [esi + 0xf0]
fstp dword [esi + 0xf0]
jmp 0x640c25
mov edx, dword [esi + 0x398]
fstp st(1)
cmp word [edx + 0x184], 0
jg 0x640616
mov word [esi + 0x36c], cx
cmp word [esi + 0x36c], cx
jne 0x640635
mov al, byte [esi + 0x113]
cmp al, 0xa
jbe 0x638262
sub al, 0xa
mov byte [esi + 0x113], al
fld dword [0x85c5e8]
fcomp dword [esi + 0xec]
fnstsw ax
fldz
test ah, 5
jp 0x640672
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x640672
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fld dword [esi + 0xec]
fcomp qword [0x858ef0]
fnstsw ax
test ah, 5
jp 0x6406bd
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fcompp
fnstsw ax
test ah, 5
jp 0x6406bf
fstp dword [esi + 0xf4]
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
jmp 0x6405d4
fstp st(0)
movsx edx, byte [esi + 0x104]
fstp st(0)
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
jmp 0x6405d4
mov al, byte [esi + 0x113]
fstp st(1)
cmp al, 5
fstp st(0)
jb 0x6365f7
sub al, 5
mov byte [esi + 0x113], al
jmp 0x640c25
cmp word [esi + 0x36c], 0
fstp st(1)
jne 0x6407db
mov eax, dword [esi + 0x398]
cmp word [eax + 0x184], 0
jg 0x64071b
mov word [esi + 0x36c], cx
cmp word [esi + 0x13e], bp
jne 0x6407f1
mov eax, dword [esi + 0x144]
cdq
mov ebx, edi
idiv ebx
test edx, edx
jne 0x6407c7
fstp st(0)
push 3
fld dword [esi + 0x37c]
lea ebx, [esp + 0x250]
fadd dword [esi + 0x378]
push ebx
push ecx
mov ecx, esi
fstp dword [esp + 0x258]
fld dword [0x85b3b0]
fstp dword [esp + 0x25c]
fld dword [0x85b9d4]
fstp dword [esp + 0x260]
movzx eax, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
fadd qword [0x85bc50]
push eax
mov edx, dword [edx + 0x44]
movsx eax, al
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
imul eax, eax, 0x3a
sub esp, 8
mov dword [esp + 0x2c], eax
fstp dword [esp + 4]
fild dword [esp + 0x2c]
fadd dword [esi + 0xec]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [esp]
push 0x398
call edx
fldz
fld dword [esi + 0x37c]
fmul qword [0x8581d8]
fstp dword [esi + 0x37c]
jmp 0x6407f1
mov al, byte [esi + 0x113]
cmp al, 5
jb 0x638262
sub al, 5
mov byte [esi + 0x113], al
fld dword [0x85c5e8]
fcomp dword [esi + 0xec]
fnstsw ax
fldz
test ah, 5
jp 0x64082e
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x64082e
fxch st(1)
fst dword [esi + 0xf4]
fxch st(1)
fld dword [esi + 0xec]
fcomp qword [0x858ef0]
fnstsw ax
test ah, 5
jp 0x640867
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fcompp
fnstsw ax
test ah, 5
jp 0x640869
fstp dword [esi + 0xf4]
jmp 0x64086b
fstp st(0)
fstp st(0)
movsx edx, byte [esi + 0x104]
mov dword [esp + 0x14], edx
mov ecx, esi
fild dword [esp + 0x14]
fmul dword [esi + 0xf4]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0xf0]
fadd dword [esi + 0xf8]
fstp qword [esp + 0x28]
call fcn.004397f0
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x640c25
fldz
mov ecx, esi
fst dword [esi + 0xf4]
fstp dword [esi + 0xf8]
call fcn.004397f0
fstp dword [esi + 0xf0]
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 0xa
mov ecx, esi
call edx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x398]
fstp st(1)
cmp word [eax + 0x184], 0
fstp st(0)
jle 0x6365f7
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
cmp dword [0x8971d4], 3
jne 0x64097a
push 0
mov ecx, esi
call fcn.0048cde0
cmp dword [esi + 0x190], 0
je 0x640a36
mov edi, 2
lea esp, [esp]
push 0x168
call fcn.004099f0
test eax, eax
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
jge 0x6409ac
fadd dword [0x871554]
push 0xf
fstp dword [esp + 0x26c]
call fcn.004099f0
add eax, 0xa
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x6409d2
fadd dword [0x871554]
fstp dword [esp + 0x268]
push 3
fld dword [0x859f00]
lea eax, [esp + 0x268]
fstp dword [esp + 0x270]
movzx ecx, byte [esi + 0x104]
fld dword [esi + 0xf0]
mov edx, dword [esi]
mov edx, dword [edx + 0x44]
push eax
push 1
push ecx
sub esp, 8
mov ecx, esi
fstp dword [esp + 4]
fld dword [esi + 0xec]
fstp dword [esp]
push 0x398
call edx
sub edi, 1
jne 0x640990
add dword [esi + 0x34c], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, byte [esi + 0x104]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
jmp 0x6405d4
fstp st(1)
fstp st(0)
fld dword [esi + 0x11c]
fld qword [0x867840]
fsub st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esi + 0x120]
jmp 0x640c25
fld dword [esi + 0x11c]
fld qword [0x858c08]
fsub st(1), st(0)
fxch st(1)
fstp dword [esi + 0x11c]
fsubr dword [esi + 0x120]
fstp dword [esi + 0x120]
fld dword [0x8677a8]
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 0x41
je 0x640ab3
cmp dword [esi + 0x144], 0xa
jle 0x640ac9
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x640b98
sub al, 0xa
mov byte [esi + 0x113], al
fcomp dword [esi + 0x11c]
fnstsw ax
test ah, 1
je 0x638262
cmp byte [esi + 0x113], 0
jbe 0x638262
mov ecx, dword [esi + 0x35c]
fld dword [ecx + 4]
fsub qword [0x85d140]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fst dword [ecx + 4]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x640b0f
fstp dword [ecx + 4]
jmp 0x640b11
fstp st(0)
fld dword [ecx + 4]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx]
lea ecx, [esi + 4]
fstp dword [esp]
call fcn.00438c00
fld dword [0x85bab8]
fcomp dword [esi + 0xec]
fnstsw ax
test ah, 5
jnp 0x6373ad
fld dword [esi + 0xec]
fld qword [0x85bac0]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x638262
fld dword [0x85c458]
fcomp dword [esi + 0xf0]
fnstsw ax
test ah, 5
jnp 0x638262
fld dword [esi + 0xf0]
fcompp
fnstsw ax
test ah, 5
jnp 0x6373ad
movsx ecx, byte [esi + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
jmp 0x6405d4
add dword [esi + 0x34c], 0xffffffff
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x39c], 0
fstp st(1)
fstp st(0)
je 0x6365f7
mov edx, dword [esi + 0x39c]
mov al, byte [edx + 0x104]
mov byte [esi + 0x104], al
mov eax, dword [esi + 0x39c]
movsx ecx, byte [eax + 0x104]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [eax + 0xf4]
fadd dword [eax + 0xec]
fstp dword [esi + 0xec]
fld dword [eax + 0xf8]
fadd dword [eax + 0xf0]
fstp dword [esi + 0xf0]
fld dword [eax + 0x12c]
fstp dword [esi + 0x12c]
mov dl, byte [eax + 0x113]
mov byte [esi + 0x113], dl
jmp 0x640c25
fstp st(1)
fstp st(0)
mov ecx, esi
call fcn.00438c60
or ebx, 0xffffffff
test al, al
je 0x640c39
add dword [esi + 0x34c], ebx
cmp dword [esi + 0x144], 0
jne 0x640cea
cmp word [esi + 0x142], 0
jne 0x640cea
cmp word [esi + 0x140], 0
jne 0x640cea
cmp word [esi + 0x13e], di
jne 0x640cea
mov eax, dword [esi]
mov edx, dword [eax + 0xc]
push 0xc
mov ecx, esi
call edx
cmp byte [esi + 0x104], 1
jne 0x640cb2
mov eax, dword [esi + 0x170]
fld dword [esi + 0xec]
fld dword [eax + 0xec]
fcompp
fnstsw ax
test ah, 5
jp 0x640cb2
mov byte [esi + 0x104], bl
fld dword [esi + 0xf4]
fchs
fstp dword [esi + 0xf4]
cmp byte [esi + 0x104], bl
jne 0x640cea
fld dword [esi + 0xec]
mov ecx, dword [esi + 0x170]
fld dword [ecx + 0xec]
fcompp
fnstsw ax
test ah, 0x41
jne 0x640cea
mov byte [esi + 0x104], 1
fld dword [esi + 0xf4]
fchs
fstp dword [esi + 0xf4]
mov ecx, dword [esi + 0x144]
test ecx, ecx
jne 0x640de7
cmp word [esi + 0x142], cx
jne 0x640d81
cmp word [esi + 0x140], cx
jne 0x640d81
cmp word [esi + 0x13e], 0xb
jne 0x640d81
fld1
mov edx, dword [esi + 0x35c]
fcomp dword [edx + 0xc]
fnstsw ax
test ah, 0x44
jp 0x640d81
mov eax, dword [esi + 0x398]
fld dword [esi + 0xec]
fstp dword [eax + 0xec]
mov ecx, dword [esi + 0x398]
fld dword [esi + 0xf0]
push 0x2bc
fstp dword [ecx + 0xf0]
mov ecx, dword [esi + 0x398]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esi + 0x398]
mov word [ecx + 0x81c], 0x3c
add dword [esi + 0x34c], ebx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
test ecx, ecx
jne 0x640de7
cmp word [esi + 0x142], cx
jne 0x640de7
cmp word [esi + 0x140], cx
jne 0x640de7
cmp word [esi + 0x13e], bp
jne 0x640de7
push 0x32
call fcn.004099f0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jge 0x640dbc
fadd dword [0x871554]
fsubr qword [0x857990]
fstp dword [esi + 0x378]
mov eax, dword [0x8971d4]
cmp eax, 2
je 0x640ddb
cmp eax, 3
je 0x640ddb
fldz
jmp 0x640de1
fld dword [0x85bb84]
fstp dword [esi + 0x37c]
cmp dword [esi + 0x144], 0
jne 0x640f87
cmp word [esi + 0x142], 0
jne 0x640f87
cmp word [esi + 0x140], 0
jne 0x640f87
cmp word [esi + 0x13e], 0x10
jmp 0x636543
call fcn.0048c980
jmp case.default.0x6396df
mov edx, dword [esi + 0x398]
movzx eax, word [edx + 0x13c]
cmp ax, 0x99
jle 0x640e5f
cmp ax, 0x9e
jge 0x640e5f
mov eax, dword [esi + 0x35c]
fldz
fcomp dword [eax + 4]
push 0x50
fnstsw ax
test ah, 0x44
jp 0x640e58
push 0x1e
jmp 0x640e5a
push 0x46
call fcn.0048cf60
mov ecx, dword [esi + 0x398]
movzx eax, word [ecx + 0x13c]
cmp ax, 0x95
jle 0x640e9c
cmp ax, 0x9a
jge 0x640e9c
fldz
mov edx, dword [esi + 0x35c]
fcomp dword [edx + 4]
push 0x82
mov ecx, esi
fnstsw ax
test ah, 0x44
jp 0x640e95
push 0x14
jmp 0x640e97
push 0x3c
call fcn.0048cf60
mov eax, dword [esi + 0x398]
cmp word [eax + 0x13c], 0x9e
jne 0x640ed1
mov ecx, dword [esi + 0x35c]
fldz
fcomp dword [ecx + 4]
push 0x96
mov ecx, esi
fnstsw ax
test ah, 0x44
jp 0x640eca
push 0x1e
jmp 0x640ecc
push 0x46
call fcn.0048cf60
fld dword [esi + 0x11c]
fadd qword [0x858ea8]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esi + 0x11c]
fcomp dword [0x867860]
fnstsw ax
test ah, 0x41
jne 0x640f00
fld1
fstp dword [esi + 0x11c]
fld dword [esi + 0x11c]
mov ecx, 1
fstp dword [esi + 0x120]
cmp word [esi + 0x36c], 0
jne 0x640f5a
mov edx, dword [esi + 0x398]
movzx eax, word [edx + 0x13c]
cmp ax, 0x96
jl 0x640f34
cmp ax, 0x9e
jle 0x640f5a
fldz
mov word [esi + 0x36c], cx
mov eax, dword [esi + 0x35c]
fcomp dword [eax + 4]
fnstsw ax
test ah, 0x44
jp 0x640f5a
mov edx, dword [esi + 0x398]
mov byte [edx + 0x7f5], 0
cmp word [esi + 0x36c], cx
jne case.default.0x6396df
mov al, byte [esi + 0x113]
cmp al, 0xa
jb 0x6365f7
sub al, 0xa
mov byte [esi + 0x113], al
jmp case.default.0x6396df
call fcn.0048db20
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret