Function at 0x49bc40
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9c7344
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x954
mov dword [ebp - 0x8d8], ecx
mov dword [ebp - 0x2a4], 0
mov byte [ebp - 0x25d], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x26c], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x268], 0
fldz
fstp qword [ebp - 0x24]
fldz
fstp qword [ebp - 0x3c]
fldz
fstp qword [ebp - 0x3c]
jmp 0x49bcd4
fld qword [ebp - 0x3c]
fadd qword [0x9c9c40]
fstp qword [ebp - 0x3c]
fld qword [0x9cc6b0]
fcomp qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x49bd33
fld qword [0x9cc6a8]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fld qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fsubp st(1)
fld qword [0x9cc6a0]
fmul qword [ebp - 0x3c]
fmul qword [ebp - 0x3c]
fadd qword [0x9cc698]
fdivp st(1)
fadd qword [ebp - 0x24]
fstp qword [ebp - 0x24]
fld qword [0x9cc690]
fcomp qword [ebp - 0x24]
fnstsw ax
test ah, 5
jp 0x49bd31
fld qword [0x9cc688]
fmul qword [ebp - 0x3c]
fsubr qword [ebp - 0x24]
fstp qword [ebp - 0x24]
jmp 0x49bcc8
fldz
fcomp qword [ebp - 0x24]
fnstsw ax
test ah, 0x41
jne 0x49bd86
push 0x43
push esi
and dword [edi + 0x4c], ecx
and al, 0x47
inc esp
ja 0x49bd8c
push 0x67
pop ecx
xor dword [0x482f3629], edi
pop edi
daa
push esi
je 0x49bd98
jno 0x49bdbe
imul edi, dword [ecx + edi], 0x3c
sar dword cs:[edi], 1
rol byte [ebp - 0x2e], 1
inc edi
xlatb
aas
fild dword [ebx - 0x31]
inc edx
rol dword [esi - 0x27], 1
inc edx
fild dword [ebx - 0x2d]
inc eax
rol dword [edi + edx*8 + 0x3c], cl
iretd
mov dword [ebp - 0x40], 0x49bd5f
mov dword [ebp - 0x268], 0x49bd3f
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x2b8], eax
add bh, al
test dword [eax + 0x3ffffffd], ebx
mov ebp, 0x458b0049
inc ebp
ror byte [ecx - 0x2b77b], 0xff
mov ecx, dword [ebp - 0x268]
mov dword [ebp - 0x2b4], ecx
mov byte [ebp - 0x401], 0x24
mov dword [ebp - 0x3f8], 0
jmp 0x49bdce
jnp 0x45c659
mov edx, dword [ebp - 0x3f8]
add edx, 1
mov dword [ebp - 0x3f8], edx
inc dword [ebx - 0x6a76fe3e]
or ah, bh
invalid
cmp dword [ebp - 0x3f8], 0x100
jae 0x49bdef
mov eax, dword [ebp - 0x3f8]
mov cl, byte [ebp - 0x3f8]
mov byte [ebp + eax - 0x3cc], cl
jmp 0x49bdbf
mov dword [ebp - 0x2bc], 0
mov byte [ebp - 0x402], 0
mov dword [ebp - 0x3f8], 0xff
jmp 0x49be1b
mov edx, dword [ebp - 0x3f8]
sub edx, 1
mov dword [ebp - 0x3f8], edx
cmp dword [ebp - 0x3f8], 0
jbe 0x49c127
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x41c], 1
mov eax, dword [ebp - 0x41c]
cmp eax, dword [ebp - 0x3f8]
jae 0x49be5c
mov ecx, dword [ebp - 0x41c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x41c], edx
jmp 0x49be3c
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x8dc], eax
cmp dword [ebp - 0x8dc], 3
ja case.default.0x49be7b
mov ecx, dword [ebp - 0x8dc]
jmp dword [ecx*4 + 0x4a1450]
movzx edx, byte [ebp - 0x402]
movzx ecx, byte [ebp + edx - 0x3cc]
fld qword [ebp - 0x24]
fnstcw word [ebp - 0x8de]
movzx eax, word [ebp - 0x8de]
or eax, 0xc00
mov dword [ebp - 0x8e4], eax
fldcw word [ebp - 0x8e4]
fistp qword [ebp - 0x8ec]
fldcw word [ebp - 0x8de]
mov edx, dword [ebp - 0x8ec]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x402], cl
jmp 0x49c000
movzx eax, byte [ebp - 0x402]
movzx ecx, byte [ebp + eax - 0x3cc]
fld qword [ebp - 0x24]
fnstcw word [ebp - 0x8ee]
movzx eax, word [ebp - 0x8ee]
or eax, 0xc00
mov dword [ebp - 0x8f4], eax
fldcw word [ebp - 0x8f4]
fistp qword [ebp - 0x8fc]
fldcw word [ebp - 0x8ee]
mov edx, dword [ebp - 0x8fc]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x402], cl
jmp 0x49c000
movzx eax, byte [ebp - 0x402]
movzx ecx, byte [ebp + eax - 0x3cc]
fld qword [ebp - 0x24]
fnstcw word [ebp - 0x8fe]
movzx eax, word [ebp - 0x8fe]
or eax, 0xc00
mov dword [ebp - 0x904], eax
fldcw word [ebp - 0x904]
fistp qword [ebp - 0x90c]
fldcw word [ebp - 0x8fe]
mov edx, dword [ebp - 0x90c]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x402], cl
jmp 0x49c000
movzx eax, byte [ebp - 0x402]
movzx ecx, byte [ebp + eax - 0x3cc]
fld qword [ebp - 0x24]
fnstcw word [ebp - 0x90e]
movzx eax, word [ebp - 0x90e]
or eax, 0xc00
mov dword [ebp - 0x914], eax
fldcw word [ebp - 0x914]
fistp qword [ebp - 0x91c]
fldcw word [ebp - 0x90e]
mov edx, dword [ebp - 0x91c]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x402], cl
jmp 0x49c000
movzx eax, byte [ebp - 0x402]
movzx ecx, byte [ebp + eax - 0x3cc]
mov edx, dword [ebp - 0x2b4]
add edx, dword [ebp - 0x2bc]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x402], cl
mov ecx, dword [ebp - 0x2bc]
add ecx, 1
mov dword [ebp - 0x2bc], ecx
movzx edx, byte [ebp - 0x401]
cmp dword [ebp - 0x2bc], edx
jb 0x49c03e
mov dword [ebp - 0x2bc], 0
movzx eax, byte [ebp - 0x401]
movzx ecx, byte [ebp - 0x402]
add ecx, eax
mov byte [ebp - 0x402], cl
movzx edx, byte [ebp - 0x402]
and edx, dword [ebp - 0x41c]
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x414]
add eax, 1
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0xb
jbe 0x49c07d
mov eax, dword [ebp - 0x418]
xor edx, edx
div dword [ebp - 0x3f8]
mov dword [ebp - 0x418], edx
mov ecx, dword [ebp - 0x418]
cmp ecx, dword [ebp - 0x3f8]
ja 0x49be5c
mov edx, dword [ebp - 0x3f8]
cmp edx, dword [ebp - 0x418]
je 0x49c122
mov eax, dword [ebp - 0x418]
movzx ecx, byte [ebp + eax - 0x3cc]
mov edx, dword [ebp - 0x3f8]
movzx eax, byte [ebp + edx - 0x3cc]
xor eax, ecx
mov ecx, dword [ebp - 0x3f8]
mov byte [ebp + ecx - 0x3cc], al
mov edx, dword [ebp - 0x3f8]
movzx eax, byte [ebp + edx - 0x3cc]
mov ecx, dword [ebp - 0x418]
movzx edx, byte [ebp + ecx - 0x3cc]
xor edx, eax
mov eax, dword [ebp - 0x418]
mov byte [ebp + eax - 0x3cc], dl
mov ecx, dword [ebp - 0x418]
movzx edx, byte [ebp + ecx - 0x3cc]
mov eax, dword [ebp - 0x3f8]
movzx ecx, byte [ebp + eax - 0x3cc]
xor ecx, edx
mov edx, dword [ebp - 0x3f8]
mov byte [ebp + edx - 0x3cc], cl
jmp 0x49be0c
mov al, byte [ebp - 0x3cb]
mov byte [ebp - 0x40d], al
mov cl, byte [ebp - 0x3c9]
mov byte [ebp - 0x2c5], cl
mov dl, byte [ebp - 0x3c7]
mov byte [ebp - 0x3d5], dl
fld qword [0x9cc680]
fstp qword [ebp - 0x3f4]
fld qword [0x9cc678]
fstp qword [ebp - 0x3d4]
fld qword [0x9cc670]
fstp qword [ebp - 0x2c4]
fld qword [0x9cb310]
fstp qword [ebp - 0x40c]
fld qword [0x9cba90]
fstp qword [ebp - 0x3ec]
fld qword [0x9cc668]
fstp qword [ebp - 0x3e4]
fld qword [ebp - 0x2c4]
fsub qword [ebp - 0x3e4]
fstp qword [ebp - 0x2c4]
fld qword [ebp - 0x40c]
fadd qword [ebp - 0x3e4]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x3f4]
fsub qword [ebp - 0x3e4]
fstp qword [ebp - 0x3f4]
fld qword [ebp - 0x3f4]
fadd qword [ebp - 0x3e4]
fstp qword [ebp - 0x3f4]
fld qword [ebp - 0x3f4]
fsub qword [ebp - 0x3e4]
fstp qword [ebp - 0x3f4]
fld qword [ebp - 0x3ec]
fmul qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x3e4]
fcomp qword [ebp - 0x3ec]
fnstsw ax
test ah, 0x41
jne 0x49c3dd
fld qword [ebp - 0x2c4]
fmul qword [ebp - 0x40c]
fstp qword [ebp - 0x2c4]
fld qword [ebp - 0x2c4]
fdiv qword [ebp - 0x40c]
fstp qword [ebp - 0x2c4]
fld qword [ebp - 0x3ec]
fadd qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x3ec]
fdiv qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x3d4]
fdiv qword [ebp - 0x2c4]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x40c]
fmul qword [ebp - 0x3ec]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x2c4]
fmul qword [ebp - 0x40c]
fstp qword [ebp - 0x2c4]
fld qword [ebp - 0x3ec]
fdiv qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x40c]
fadd qword [ebp - 0x3ec]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x40c]
fdiv qword [ebp - 0x3ec]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x3d4]
fmul qword [ebp - 0x2c4]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3d4]
fmul qword [ebp - 0x2c4]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3e4]
fcomp qword [ebp - 0x40c]
fnstsw ax
test ah, 5
jp 0x49c36f
fld qword [ebp - 0x3f4]
fmul qword [ebp - 0x2c4]
fstp qword [ebp - 0x3f4]
fld qword [ebp - 0x2c4]
fsub qword [ebp - 0x3ec]
fstp qword [ebp - 0x2c4]
fld qword [ebp - 0x40c]
fmul qword [ebp - 0x3e4]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x3f4]
fadd qword [ebp - 0x2c4]
fstp qword [ebp - 0x3f4]
fld qword [ebp - 0x3d4]
fsub qword [ebp - 0x40c]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3e4]
fdiv qword [ebp - 0x3d4]
fstp qword [ebp - 0x3e4]
jmp 0x49c3db
fld qword [ebp - 0x2c4]
fmul qword [ebp - 0x40c]
fstp qword [ebp - 0x2c4]
fld qword [ebp - 0x40c]
fdiv qword [ebp - 0x3ec]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x3d4]
fadd qword [ebp - 0x2c4]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3ec]
fsub qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x40c]
fadd qword [ebp - 0x3ec]
fstp qword [ebp - 0x40c]
fld qword [ebp - 0x3d4]
fmul qword [ebp - 0x2c4]
fstp qword [ebp - 0x3d4]
jmp 0x49c455
fld qword [ebp - 0x3ec]
fsub qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x2c4]
fmul qword [ebp - 0x40c]
fstp qword [ebp - 0x2c4]
fld qword [ebp - 0x3ec]
fadd qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x3ec]
fsub qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
fld qword [ebp - 0x2c4]
fsub qword [ebp - 0x40c]
fstp qword [ebp - 0x2c4]
fld qword [ebp - 0x3ec]
fsub qword [ebp - 0x3e4]
fstp qword [ebp - 0x3ec]
mov al, byte [ebp - 0x3c5]
mov byte [ebp - 0x3f9], al
movzx ecx, byte [ebp - 0x402]
mov dl, byte [ebp + ecx - 0x3cc]
mov byte [ebp - 0x2ad], dl
mov dword [ebp - 0x400], 0x22
cmp dword [ebp - 0x400], 2
jle 0x49dd0a
mov eax, dword [ebp - 0x400]
and eax, 1
jne 0x49dd0a
mov dword [ebp - 0x43c], 0
mov dword [ebp - 0x438], 0
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
mov dword [ebp - 0x420], 0
mov edx, dword [ebp - 0x43c]
shl edx, 1
mov dword [ebp - 0x420], edx
mov dword [ebp - 0x44c], 0
mov eax, dword [ebp - 0x2b8]
add eax, dword [ebp - 0x420]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x428], 0
mov edx, dword [ebp - 0x428]
add edx, 0xcc
mov dword [ebp - 0x428], edx
mov dword [ebp - 0x430], 0
mov eax, dword [ebp - 0x43c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x430], ecx
mov dword [ebp - 0x45c], 0
mov edx, dword [ebp - 0x2b8]
add edx, dword [ebp - 0x430]
movzx eax, byte [edx]
add eax, dword [ebp - 0x45c]
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x448], 0
mov ecx, dword [ebp - 0x448]
add ecx, 0x3c
mov dword [ebp - 0x448], ecx
mov dword [ebp - 0x458], 0
mov edx, dword [ebp - 0x44c]
sub edx, dword [ebp - 0x428]
add edx, dword [ebp - 0x458]
mov dword [ebp - 0x458], edx
mov dword [ebp - 0x424], 0
mov eax, dword [ebp - 0x45c]
sub eax, dword [ebp - 0x448]
add eax, dword [ebp - 0x424]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x454], 0
mov ecx, dword [ebp - 0x458]
shl ecx, 4
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x444], 0
mov edx, dword [ebp - 0x424]
mov dword [ebp - 0x444], edx
mov dword [ebp - 0x434], 0
mov eax, dword [ebp - 0x454]
or eax, dword [ebp - 0x444]
mov dword [ebp - 0x434], eax
mov byte [ebp - 0x429], 0
mov cl, byte [ebp - 0x434]
mov byte [ebp - 0x429], cl
mov byte [ebp - 0x44d], 0
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + edx - 0x3cc]
mov byte [ebp - 0x44d], al
movzx ecx, byte [ebp - 0x40d]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx eax, byte [ebp - 0x2c5]
add eax, edx
mov byte [ebp - 0x2c5], al
mov cl, byte [ebp - 0x40d]
add cl, 1
mov byte [ebp - 0x40d], cl
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + edx - 0x3cc]
mov byte [ebp + eax - 0x3cc], cl
movzx edx, byte [ebp - 0x3f9]
movzx eax, byte [ebp - 0x2c5]
mov cl, byte [ebp + edx - 0x3cc]
mov byte [ebp + eax - 0x3cc], cl
movzx edx, byte [ebp - 0x40d]
movzx eax, byte [ebp - 0x3f9]
mov cl, byte [ebp + edx - 0x3cc]
mov byte [ebp + eax - 0x3cc], cl
movzx edx, byte [ebp - 0x40d]
mov al, byte [ebp - 0x44d]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x44d]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx eax, byte [ebp - 0x3d5]
add eax, edx
mov byte [ebp - 0x3d5], al
movzx ecx, byte [ebp - 0x429]
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp + edx - 0x3cc]
movzx edx, byte [ebp - 0x40d]
movzx edx, byte [ebp + edx - 0x3cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3cc]
xor ecx, eax
movzx edx, byte [ebp - 0x3f9]
movzx eax, byte [ebp + edx - 0x3cc]
movzx edx, byte [ebp - 0x2ad]
movzx edx, byte [ebp + edx - 0x3cc]
add eax, edx
movzx edx, byte [ebp - 0x3d5]
movzx edx, byte [ebp + edx - 0x3cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3cc]
movzx edx, byte [ebp + eax - 0x3cc]
xor ecx, edx
mov byte [ebp - 0x3f9], cl
mov al, byte [ebp - 0x429]
mov byte [ebp - 0x2ad], al
mov cl, byte [ebp - 0x3f9]
mov byte [ebp - 0x43d], cl
cmp dword [ebp - 0x43c], 0
jle 0x49c788
mov edx, dword [ebp - 0x43c]
mov al, byte [ebp - 0x43d]
mov byte [ebp + edx - 0x55], al
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
mov edx, dword [ebp - 0x438]
add edx, 1
mov dword [ebp - 0x438], edx
mov eax, dword [ebp - 0x43c]
shl eax, 1
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x2b8]
add ecx, dword [ebp - 0x420]
movzx edx, byte [ecx]
mov dword [ebp - 0x44c], edx
mov dword [ebp - 0x428], 0xcc
mov eax, dword [ebp - 0x43c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x2b8]
add edx, dword [ebp - 0x430]
movzx eax, byte [edx]
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x448], 0x3c
mov ecx, dword [ebp - 0x44c]
sub ecx, dword [ebp - 0x428]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x45c]
sub edx, dword [ebp - 0x448]
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x458]
shl eax, 4
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x454]
or edx, dword [ebp - 0x444]
mov dword [ebp - 0x434], edx
mov al, byte [ebp - 0x434]
mov byte [ebp - 0x429], al
movzx ecx, byte [ebp - 0x2ad]
mov dl, byte [ebp + ecx - 0x3cc]
mov byte [ebp - 0x44d], dl
movzx eax, byte [ebp - 0x40d]
movzx ecx, byte [ebp + eax - 0x3cc]
movzx edx, byte [ebp - 0x2c5]
add edx, ecx
mov byte [ebp - 0x2c5], dl
mov al, byte [ebp - 0x40d]
add al, 1
mov byte [ebp - 0x40d], al
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + ecx - 0x3cc]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x3f9]
movzx edx, byte [ebp - 0x2c5]
mov al, byte [ebp + ecx - 0x3cc]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x40d]
movzx edx, byte [ebp - 0x3f9]
mov al, byte [ebp + ecx - 0x3cc]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x40d]
mov dl, byte [ebp - 0x44d]
mov byte [ebp + ecx - 0x3cc], dl
movzx eax, byte [ebp - 0x44d]
movzx ecx, byte [ebp + eax - 0x3cc]
movzx edx, byte [ebp - 0x3d5]
add edx, ecx
mov byte [ebp - 0x3d5], dl
movzx eax, byte [ebp - 0x429]
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx ecx, byte [ebp - 0x40d]
movzx ecx, byte [ebp + ecx - 0x3cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3cc]
xor eax, edx
movzx ecx, byte [ebp - 0x3f9]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx ecx, byte [ebp - 0x2ad]
movzx ecx, byte [ebp + ecx - 0x3cc]
add edx, ecx
movzx ecx, byte [ebp - 0x3d5]
movzx ecx, byte [ebp + ecx - 0x3cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3cc]
movzx ecx, byte [ebp + edx - 0x3cc]
xor eax, ecx
mov byte [ebp - 0x3f9], al
mov dl, byte [ebp - 0x429]
mov byte [ebp - 0x2ad], dl
mov al, byte [ebp - 0x3f9]
mov byte [ebp - 0x43d], al
cmp dword [ebp - 0x43c], 0
jle 0x49c9dc
mov ecx, dword [ebp - 0x43c]
mov dl, byte [ebp - 0x43d]
mov byte [ebp + ecx - 0x55], dl
mov eax, dword [ebp - 0x43c]
add eax, 1
mov dword [ebp - 0x43c], eax
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x43c]
shl edx, 1
mov dword [ebp - 0x420], edx
mov eax, dword [ebp - 0x2b8]
add eax, dword [ebp - 0x420]
movzx ecx, byte [eax]
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x428], 0xcc
mov edx, dword [ebp - 0x43c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x2b8]
add ecx, dword [ebp - 0x430]
movzx edx, byte [ecx]
mov dword [ebp - 0x45c], edx
mov dword [ebp - 0x448], 0x3c
mov eax, dword [ebp - 0x44c]
sub eax, dword [ebp - 0x428]
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x45c]
sub ecx, dword [ebp - 0x448]
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x458]
shl edx, 4
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x424]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x454]
or ecx, dword [ebp - 0x444]
mov dword [ebp - 0x434], ecx
mov dl, byte [ebp - 0x434]
mov byte [ebp - 0x429], dl
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + eax - 0x3cc]
mov byte [ebp - 0x44d], cl
movzx edx, byte [ebp - 0x40d]
movzx eax, byte [ebp + edx - 0x3cc]
movzx ecx, byte [ebp - 0x2c5]
add ecx, eax
mov byte [ebp - 0x2c5], cl
mov dl, byte [ebp - 0x40d]
add dl, 1
mov byte [ebp - 0x40d], dl
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp - 0x2ad]
mov dl, byte [ebp + eax - 0x3cc]
mov byte [ebp + ecx - 0x3cc], dl
movzx eax, byte [ebp - 0x3f9]
movzx ecx, byte [ebp - 0x2c5]
mov dl, byte [ebp + eax - 0x3cc]
mov byte [ebp + ecx - 0x3cc], dl
movzx eax, byte [ebp - 0x40d]
movzx ecx, byte [ebp - 0x3f9]
mov dl, byte [ebp + eax - 0x3cc]
mov byte [ebp + ecx - 0x3cc], dl
movzx eax, byte [ebp - 0x40d]
mov cl, byte [ebp - 0x44d]
mov byte [ebp + eax - 0x3cc], cl
movzx edx, byte [ebp - 0x44d]
movzx eax, byte [ebp + edx - 0x3cc]
movzx ecx, byte [ebp - 0x3d5]
add ecx, eax
mov byte [ebp - 0x3d5], cl
movzx edx, byte [ebp - 0x429]
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp + eax - 0x3cc]
movzx eax, byte [ebp - 0x40d]
movzx eax, byte [ebp + eax - 0x3cc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3cc]
xor edx, ecx
movzx eax, byte [ebp - 0x3f9]
movzx ecx, byte [ebp + eax - 0x3cc]
movzx eax, byte [ebp - 0x2ad]
movzx eax, byte [ebp + eax - 0x3cc]
add ecx, eax
movzx eax, byte [ebp - 0x3d5]
movzx eax, byte [ebp + eax - 0x3cc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3cc]
movzx eax, byte [ebp + ecx - 0x3cc]
xor edx, eax
mov byte [ebp - 0x3f9], dl
mov cl, byte [ebp - 0x429]
mov byte [ebp - 0x2ad], cl
mov dl, byte [ebp - 0x3f9]
mov byte [ebp - 0x43d], dl
cmp dword [ebp - 0x43c], 0
jle 0x49cc31
mov eax, dword [ebp - 0x43c]
mov cl, byte [ebp - 0x43d]
mov byte [ebp + eax - 0x55], cl
mov edx, dword [ebp - 0x438]
add edx, 5
mov dword [ebp - 0x438], edx
mov eax, dword [ebp - 0x43c]
add eax, 1
mov dword [ebp - 0x460], eax
jmp 0x49cc60
mov ecx, dword [ebp - 0x460]
add ecx, 1
mov dword [ebp - 0x460], ecx
mov edx, dword [ebp - 0x460]
cmp edx, dword [ebp - 0x438]
jge 0x49cebb
mov eax, dword [ebp - 0x43c]
add eax, 1
mov dword [ebp - 0x43c], eax
mov ecx, dword [ebp - 0x43c]
shl ecx, 1
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x2b8]
add edx, dword [ebp - 0x420]
movzx eax, byte [edx]
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x428], 0xcc
mov ecx, dword [ebp - 0x43c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x2b8]
add eax, dword [ebp - 0x430]
movzx ecx, byte [eax]
mov dword [ebp - 0x45c], ecx
mov dword [ebp - 0x448], 0x3c
mov edx, dword [ebp - 0x44c]
sub edx, dword [ebp - 0x428]
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x45c]
sub eax, dword [ebp - 0x448]
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x458]
shl ecx, 4
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x424]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x454]
or eax, dword [ebp - 0x444]
mov dword [ebp - 0x434], eax
mov cl, byte [ebp - 0x434]
mov byte [ebp - 0x429], cl
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + edx - 0x3cc]
mov byte [ebp - 0x44d], al
movzx ecx, byte [ebp - 0x40d]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx eax, byte [ebp - 0x2c5]
add eax, edx
mov byte [ebp - 0x2c5], al
mov cl, byte [ebp - 0x40d]
add cl, 1
mov byte [ebp - 0x40d], cl
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + edx - 0x3cc]
mov byte [ebp + eax - 0x3cc], cl
movzx edx, byte [ebp - 0x3f9]
movzx eax, byte [ebp - 0x2c5]
mov cl, byte [ebp + edx - 0x3cc]
mov byte [ebp + eax - 0x3cc], cl
movzx edx, byte [ebp - 0x40d]
movzx eax, byte [ebp - 0x3f9]
mov cl, byte [ebp + edx - 0x3cc]
mov byte [ebp + eax - 0x3cc], cl
movzx edx, byte [ebp - 0x40d]
mov al, byte [ebp - 0x44d]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x44d]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx eax, byte [ebp - 0x3d5]
add eax, edx
mov byte [ebp - 0x3d5], al
movzx ecx, byte [ebp - 0x429]
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp + edx - 0x3cc]
movzx edx, byte [ebp - 0x40d]
movzx edx, byte [ebp + edx - 0x3cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3cc]
xor ecx, eax
movzx edx, byte [ebp - 0x3f9]
movzx eax, byte [ebp + edx - 0x3cc]
movzx edx, byte [ebp - 0x2ad]
movzx edx, byte [ebp + edx - 0x3cc]
add eax, edx
movzx edx, byte [ebp - 0x3d5]
movzx edx, byte [ebp + edx - 0x3cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3cc]
movzx edx, byte [ebp + eax - 0x3cc]
xor ecx, edx
mov byte [ebp - 0x3f9], cl
mov al, byte [ebp - 0x429]
mov byte [ebp - 0x2ad], al
mov cl, byte [ebp - 0x3f9]
mov byte [ebp - 0x43d], cl
cmp dword [ebp - 0x43c], 0
jle 0x49ceb6
mov edx, dword [ebp - 0x43c]
mov al, byte [ebp - 0x43d]
mov byte [ebp + edx - 0x55], al
jmp 0x49cc51
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x43c]
add edx, 1
mov dword [ebp - 0x43c], edx
mov eax, dword [ebp - 0x438]
add eax, 1
mov dword [ebp - 0x438], eax
mov ecx, dword [ebp - 0x43c]
shl ecx, 1
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x2b8]
add edx, dword [ebp - 0x420]
movzx eax, byte [edx]
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x428], 0xcc
mov ecx, dword [ebp - 0x43c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x2b8]
add eax, dword [ebp - 0x430]
movzx ecx, byte [eax]
mov dword [ebp - 0x45c], ecx
mov dword [ebp - 0x448], 0x3c
mov edx, dword [ebp - 0x44c]
sub edx, dword [ebp - 0x428]
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x45c]
sub eax, dword [ebp - 0x448]
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x458]
shl ecx, 4
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x424]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x454]
or eax, dword [ebp - 0x444]
mov dword [ebp - 0x434], eax
mov cl, byte [ebp - 0x434]
mov byte [ebp - 0x429], cl
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + edx - 0x3cc]
mov byte [ebp - 0x44d], al
movzx ecx, byte [ebp - 0x40d]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx eax, byte [ebp - 0x2c5]
add eax, edx
mov byte [ebp - 0x2c5], al
mov cl, byte [ebp - 0x40d]
add cl, 1
mov byte [ebp - 0x40d], cl
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + edx - 0x3cc]
mov byte [ebp + eax - 0x3cc], cl
movzx edx, byte [ebp - 0x3f9]
movzx eax, byte [ebp - 0x2c5]
mov cl, byte [ebp + edx - 0x3cc]
mov byte [ebp + eax - 0x3cc], cl
movzx edx, byte [ebp - 0x40d]
movzx eax, byte [ebp - 0x3f9]
mov cl, byte [ebp + edx - 0x3cc]
mov byte [ebp + eax - 0x3cc], cl
movzx edx, byte [ebp - 0x40d]
mov al, byte [ebp - 0x44d]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x44d]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx eax, byte [ebp - 0x3d5]
add eax, edx
mov byte [ebp - 0x3d5], al
movzx ecx, byte [ebp - 0x429]
movzx edx, byte [ebp - 0x2c5]
movzx eax, byte [ebp + edx - 0x3cc]
movzx edx, byte [ebp - 0x40d]
movzx edx, byte [ebp + edx - 0x3cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3cc]
xor ecx, eax
movzx edx, byte [ebp - 0x3f9]
movzx eax, byte [ebp + edx - 0x3cc]
movzx edx, byte [ebp - 0x2ad]
movzx edx, byte [ebp + edx - 0x3cc]
add eax, edx
movzx edx, byte [ebp - 0x3d5]
movzx edx, byte [ebp + edx - 0x3cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x3cc]
movzx edx, byte [ebp + eax - 0x3cc]
xor ecx, edx
mov byte [ebp - 0x3f9], cl
mov al, byte [ebp - 0x429]
mov byte [ebp - 0x2ad], al
mov cl, byte [ebp - 0x3f9]
mov byte [ebp - 0x43d], cl
cmp dword [ebp - 0x43c], 0
jle 0x49d11d
mov edx, dword [ebp - 0x43c]
mov al, byte [ebp - 0x43d]
mov byte [ebp + edx - 0x55], al
mov ecx, dword [ebp - 0x438]
add ecx, 6
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x43c]
add edx, 1
mov dword [ebp - 0x464], edx
jmp 0x49d14c
mov eax, dword [ebp - 0x464]
add eax, 1
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp - 0x464]
cmp ecx, dword [ebp - 0x438]
jge 0x49d84c
mov edx, dword [ebp - 0x43c]
add edx, 1
mov dword [ebp - 0x43c], edx
fld dword [0x9cc664]
fstp dword [ebp - 0x484]
fld dword [0x9cc660]
fstp dword [ebp - 0x46c]
fld dword [0x9cc65c]
fstp dword [ebp - 0x4a8]
fld dword [0x9cc658]
fstp dword [ebp - 0x498]
fld dword [0x9cc654]
fstp dword [ebp - 0x480]
fld dword [0x9cc650]
fstp dword [ebp - 0x468]
fld dword [ebp - 0x480]
fadd dword [ebp - 0x468]
fstp dword [ebp - 0x480]
fld dword [ebp - 0x46c]
fsub dword [ebp - 0x468]
fstp dword [ebp - 0x46c]
fld dword [ebp - 0x498]
fsub dword [ebp - 0x468]
fstp dword [ebp - 0x498]
fld dword [ebp - 0x498]
fmul dword [ebp - 0x468]
fstp dword [ebp - 0x498]
fld dword [ebp - 0x4a8]
fsub dword [ebp - 0x468]
fstp dword [ebp - 0x4a8]
fld dword [ebp - 0x484]
fadd dword [ebp - 0x468]
fstp dword [ebp - 0x484]
fld dword [ebp - 0x468]
fld dword [ebp - 0x498]
fcompp
fnstsw ax
test ah, 0x41
jne 0x49d2b2
fld dword [ebp - 0x468]
fmul dword [ebp - 0x484]
fstp dword [ebp - 0x468]
fld dword [ebp - 0x480]
fmul dword [ebp - 0x468]
fstp dword [ebp - 0x480]
fld dword [ebp - 0x468]
fmul dword [ebp - 0x484]
fstp dword [ebp - 0x468]
fld dword [ebp - 0x46c]
fsub dword [ebp - 0x4a8]
fstp dword [ebp - 0x46c]
fld dword [ebp - 0x468]
fmul dword [ebp - 0x484]
fstp dword [ebp - 0x468]
fld dword [ebp - 0x480]
fmul dword [ebp - 0x468]
fstp dword [ebp - 0x480]
mov eax, dword [ebp - 0x43c]
shl eax, 1
mov dword [ebp - 0x420], eax
jmp 0x49d31e
fld dword [ebp - 0x484]
fadd dword [ebp - 0x4a8]
fstp dword [ebp - 0x484]
fld dword [ebp - 0x46c]
fmul dword [ebp - 0x498]
fstp dword [ebp - 0x46c]
fld dword [ebp - 0x480]
fadd dword [ebp - 0x484]
fstp dword [ebp - 0x480]
fld dword [ebp - 0x480]
fsub dword [ebp - 0x484]
fstp dword [ebp - 0x480]
fld dword [ebp - 0x468]
fdiv dword [ebp - 0x46c]
fstp dword [ebp - 0x468]
fld dword [ebp - 0x484]
fmul dword [ebp - 0x4a8]
fstp dword [ebp - 0x484]
mov ecx, dword [ebp - 0x2b8]
add ecx, dword [ebp - 0x420]
movzx edx, byte [ecx]
mov dword [ebp - 0x44c], edx
mov dword [ebp - 0x428], 0xcc
mov eax, dword [ebp - 0x43c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x2b8]
add edx, dword [ebp - 0x430]
movzx eax, byte [edx]
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x448], 0x3c
fld qword [0x9cc648]
fstp qword [ebp - 0x4a4]
fld qword [0x9cc640]
fstp qword [ebp - 0x494]
fld qword [0x9cc638]
fstp qword [ebp - 0x47c]
fld qword [0x9cc630]
fstp qword [ebp - 0x48c]
fld qword [0x9cc628]
fstp qword [ebp - 0x474]
fld qword [0x9cc620]
fstp qword [ebp - 0x4b4]
fld qword [ebp - 0x47c]
fadd qword [ebp - 0x4b4]
fstp qword [ebp - 0x47c]
fld qword [ebp - 0x47c]
fsub qword [ebp - 0x4b4]
fstp qword [ebp - 0x47c]
fld qword [ebp - 0x4a4]
fadd qword [ebp - 0x4b4]
fstp qword [ebp - 0x4a4]
fld qword [ebp - 0x494]
fadd qword [ebp - 0x4b4]
fstp qword [ebp - 0x494]
fld qword [ebp - 0x48c]
fmul qword [ebp - 0x4b4]
fstp qword [ebp - 0x48c]
fld qword [ebp - 0x474]
fsub qword [ebp - 0x4b4]
fstp qword [ebp - 0x474]
fld qword [ebp - 0x48c]
fcomp qword [ebp - 0x474]
fnstsw ax
test ah, 0x41
jne 0x49d4ba
fld qword [ebp - 0x4a4]
fadd qword [ebp - 0x47c]
fstp qword [ebp - 0x4a4]
fld qword [ebp - 0x4a4]
fadd qword [ebp - 0x47c]
fstp qword [ebp - 0x4a4]
fld qword [ebp - 0x48c]
fadd qword [ebp - 0x4b4]
fstp qword [ebp - 0x48c]
fld qword [ebp - 0x4a4]
fadd qword [ebp - 0x47c]
fstp qword [ebp - 0x4a4]
fld qword [ebp - 0x494]
fsub qword [ebp - 0x48c]
fstp qword [ebp - 0x494]
fld qword [ebp - 0x47c]
fadd qword [ebp - 0x474]
fstp qword [ebp - 0x47c]
mov ecx, dword [ebp - 0x44c]
sub ecx, dword [ebp - 0x428]
mov dword [ebp - 0x458], ecx
jmp 0x49d67f
fld qword [ebp - 0x494]
fdiv qword [ebp - 0x47c]
fstp qword [ebp - 0x494]
fld qword [ebp - 0x494]
fsub qword [ebp - 0x47c]
fstp qword [ebp - 0x494]
fld qword [ebp - 0x474]
fmul qword [ebp - 0x4b4]
fstp qword [ebp - 0x474]
fld qword [ebp - 0x48c]
fadd qword [ebp - 0x474]
fstp qword [ebp - 0x48c]
fld qword [ebp - 0x474]
fdiv qword [ebp - 0x4b4]
fstp qword [ebp - 0x474]
fld qword [ebp - 0x494]
fdiv qword [ebp - 0x47c]
fstp qword [ebp - 0x494]
fld qword [ebp - 0x4a4]
fadd qword [ebp - 0x47c]
fstp qword [ebp - 0x4a4]
fld qword [ebp - 0x494]
fadd qword [ebp - 0x48c]
fstp qword [ebp - 0x494]
fld qword [ebp - 0x4a4]
fadd qword [ebp - 0x47c]
fstp qword [ebp - 0x4a4]
fld qword [ebp - 0x4a4]
fadd qword [ebp - 0x47c]
fstp qword [ebp - 0x4a4]
fld qword [ebp - 0x4a4]
fsub qword [ebp - 0x47c]
fstp qword [ebp - 0x4a4]
fld qword [ebp - 0x4b4]
fadd qword [ebp - 0x494]
fstp qword [ebp - 0x4b4]
fld qword [ebp - 0x474]
fcomp qword [ebp - 0x47c]
fnstsw ax
test ah, 0x41
jne 0x49d613
fld qword [ebp - 0x48c]
fdiv qword [ebp - 0x4b4]
fstp qword [ebp - 0x48c]
fld qword [ebp - 0x48c]
fsub qword [ebp - 0x4b4]
fstp qword [ebp - 0x48c]
fld qword [ebp - 0x4a4]
fsub qword [ebp - 0x47c]
fstp qword [ebp - 0x4a4]
fld qword [ebp - 0x494]
fadd qword [ebp - 0x48c]
fstp qword [ebp - 0x494]
fld qword [ebp - 0x4a4]
fdiv qword [ebp - 0x47c]
fstp qword [ebp - 0x4a4]
fld qword [ebp - 0x48c]
fadd qword [ebp - 0x4b4]
fstp qword [ebp - 0x48c]
jmp 0x49d67f
fld qword [ebp - 0x474]
fadd qword [ebp - 0x4a4]
fstp qword [ebp - 0x474]
fld qword [ebp - 0x4b4]
fmul qword [ebp - 0x494]
fstp qword [ebp - 0x4b4]
fld qword [ebp - 0x47c]
fsub qword [ebp - 0x474]
fstp qword [ebp - 0x47c]
fld qword [ebp - 0x474]
fdiv qword [ebp - 0x4a4]
fstp qword [ebp - 0x474]
fld qword [ebp - 0x48c]
fadd qword [ebp - 0x4b4]
fstp qword [ebp - 0x48c]
fld qword [ebp - 0x4b4]
fadd qword [ebp - 0x494]
fstp qword [ebp - 0x4b4]
mov edx, dword [ebp - 0x45c]
sub edx, dword [ebp - 0x448]
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x458]
shl eax, 4
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x454]
or edx, dword [ebp - 0x444]
mov dword [ebp - 0x434], edx
mov al, byte [ebp - 0x434]
mov byte [ebp - 0x429], al
movzx ecx, byte [ebp - 0x2ad]
mov dl, byte [ebp + ecx - 0x3cc]
mov byte [ebp - 0x44d], dl
movzx eax, byte [ebp - 0x40d]
movzx ecx, byte [ebp + eax - 0x3cc]
movzx edx, byte [ebp - 0x2c5]
add edx, ecx
mov byte [ebp - 0x2c5], dl
mov al, byte [ebp - 0x40d]
add al, 1
mov byte [ebp - 0x40d], al
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + ecx - 0x3cc]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x3f9]
movzx edx, byte [ebp - 0x2c5]
mov al, byte [ebp + ecx - 0x3cc]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x40d]
movzx edx, byte [ebp - 0x3f9]
mov al, byte [ebp + ecx - 0x3cc]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x40d]
mov dl, byte [ebp - 0x44d]
mov byte [ebp + ecx - 0x3cc], dl
movzx eax, byte [ebp - 0x44d]
movzx ecx, byte [ebp + eax - 0x3cc]
movzx edx, byte [ebp - 0x3d5]
add edx, ecx
mov byte [ebp - 0x3d5], dl
movzx eax, byte [ebp - 0x429]
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx ecx, byte [ebp - 0x40d]
movzx ecx, byte [ebp + ecx - 0x3cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3cc]
xor eax, edx
movzx ecx, byte [ebp - 0x3f9]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx ecx, byte [ebp - 0x2ad]
movzx ecx, byte [ebp + ecx - 0x3cc]
add edx, ecx
movzx ecx, byte [ebp - 0x3d5]
movzx ecx, byte [ebp + ecx - 0x3cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3cc]
movzx ecx, byte [ebp + edx - 0x3cc]
xor eax, ecx
mov byte [ebp - 0x3f9], al
mov dl, byte [ebp - 0x429]
mov byte [ebp - 0x2ad], dl
mov al, byte [ebp - 0x3f9]
mov byte [ebp - 0x43d], al
cmp dword [ebp - 0x43c], 0
jle 0x49d847
mov ecx, dword [ebp - 0x43c]
mov dl, byte [ebp - 0x43d]
mov byte [ebp + ecx - 0x55], dl
jmp 0x49d13d
mov eax, dword [ebp - 0x438]
add eax, 1
mov dword [ebp - 0x438], eax
mov ecx, dword [ebp - 0x43c]
add ecx, 1
mov dword [ebp - 0x43c], ecx
mov edx, dword [ebp - 0x438]
add edx, 1
mov dword [ebp - 0x438], edx
mov eax, dword [ebp - 0x43c]
shl eax, 1
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x2b8]
add ecx, dword [ebp - 0x420]
movzx edx, byte [ecx]
mov dword [ebp - 0x44c], edx
mov dword [ebp - 0x428], 0xcc
mov eax, dword [ebp - 0x43c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x2b8]
add edx, dword [ebp - 0x430]
movzx eax, byte [edx]
mov dword [ebp - 0x45c], eax
mov dword [ebp - 0x448], 0x3c
mov ecx, dword [ebp - 0x44c]
sub ecx, dword [ebp - 0x428]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x45c]
sub edx, dword [ebp - 0x448]
mov dword [ebp - 0x424], edx
mov eax, dword [ebp - 0x458]
shl eax, 4
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x454]
or edx, dword [ebp - 0x444]
mov dword [ebp - 0x434], edx
mov al, byte [ebp - 0x434]
mov byte [ebp - 0x429], al
movzx ecx, byte [ebp - 0x2ad]
mov dl, byte [ebp + ecx - 0x3cc]
mov byte [ebp - 0x44d], dl
movzx eax, byte [ebp - 0x40d]
movzx ecx, byte [ebp + eax - 0x3cc]
movzx edx, byte [ebp - 0x2c5]
add edx, ecx
mov byte [ebp - 0x2c5], dl
mov al, byte [ebp - 0x40d]
add al, 1
mov byte [ebp - 0x40d], al
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp - 0x2ad]
mov al, byte [ebp + ecx - 0x3cc]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x3f9]
movzx edx, byte [ebp - 0x2c5]
mov al, byte [ebp + ecx - 0x3cc]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x40d]
movzx edx, byte [ebp - 0x3f9]
mov al, byte [ebp + ecx - 0x3cc]
mov byte [ebp + edx - 0x3cc], al
movzx ecx, byte [ebp - 0x40d]
mov dl, byte [ebp - 0x44d]
mov byte [ebp + ecx - 0x3cc], dl
movzx eax, byte [ebp - 0x44d]
movzx ecx, byte [ebp + eax - 0x3cc]
movzx edx, byte [ebp - 0x3d5]
add edx, ecx
mov byte [ebp - 0x3d5], dl
movzx eax, byte [ebp - 0x429]
movzx ecx, byte [ebp - 0x2c5]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx ecx, byte [ebp - 0x40d]
movzx ecx, byte [ebp + ecx - 0x3cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3cc]
xor eax, edx
movzx ecx, byte [ebp - 0x3f9]
movzx edx, byte [ebp + ecx - 0x3cc]
movzx ecx, byte [ebp - 0x2ad]
movzx ecx, byte [ebp + ecx - 0x3cc]
add edx, ecx
movzx ecx, byte [ebp - 0x3d5]
movzx ecx, byte [ebp + ecx - 0x3cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x3cc]
movzx ecx, byte [ebp + edx - 0x3cc]
xor eax, ecx
mov byte [ebp - 0x3f9], al
mov dl, byte [ebp - 0x429]
mov byte [ebp - 0x2ad], dl
mov al, byte [ebp - 0x3f9]
mov byte [ebp - 0x43d], al
cmp dword [ebp - 0x43c], 0
jle 0x49daaf
mov ecx, dword [ebp - 0x43c]
mov dl, byte [ebp - 0x43d]
mov byte [ebp + ecx - 0x55], dl
mov eax, dword [ebp - 0x43c]
add eax, 1
mov dword [ebp - 0x43c], eax
mov ecx, dword [ebp - 0x438]
add ecx, 1
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x43c]
shl edx, 1
mov dword [ebp - 0x420], edx
mov eax, dword [ebp - 0x2b8]
add eax, dword [ebp - 0x420]
movzx ecx, byte [eax]
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x428], 0xcc
mov edx, dword [ebp - 0x43c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x2b8]
add ecx, dword [ebp - 0x430]
movzx edx, byte [ecx]
mov dword [ebp - 0x45c], edx
mov dword [ebp - 0x448], 0x3c
mov eax, dword [ebp - 0x44c]
sub eax, dword [ebp - 0x428]
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x45c]
sub ecx, dword [ebp - 0x448]
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x458]
shl edx, 4
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x424]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x454]
or ecx, dword [ebp - 0x444]
mov dword [ebp - 0x434], ecx
mov dl, byte [ebp - 0x434]
mov byte [ebp - 0x429], dl
movzx eax, byte [ebp - 0x2ad]
mov cl, byte [ebp + eax - 0x3cc]
mov byte [ebp - 0x44d], cl
movzx edx, byte [ebp - 0x40d]
movzx eax, byte [ebp + edx - 0x3cc]
movzx ecx, byte [ebp - 0x2c5]
add ecx, eax
mov byte [ebp - 0x2c5], cl
mov dl, byte [ebp - 0x40d]
add dl, 1
mov byte [ebp - 0x40d], dl
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp - 0x2ad]
mov dl, byte [ebp + eax - 0x3cc]
mov byte [ebp + ecx - 0x3cc], dl
movzx eax, byte [ebp - 0x3f9]
movzx ecx, byte [ebp - 0x2c5]
mov dl, byte [ebp + eax - 0x3cc]
mov byte [ebp + ecx - 0x3cc], dl
movzx eax, byte [ebp - 0x40d]
movzx ecx, byte [ebp - 0x3f9]
mov dl, byte [ebp + eax - 0x3cc]
mov byte [ebp + ecx - 0x3cc], dl
movzx eax, byte [ebp - 0x40d]
mov cl, byte [ebp - 0x44d]
mov byte [ebp + eax - 0x3cc], cl
movzx edx, byte [ebp - 0x44d]
movzx eax, byte [ebp + edx - 0x3cc]
movzx ecx, byte [ebp - 0x3d5]
add ecx, eax
mov byte [ebp - 0x3d5], cl
movzx edx, byte [ebp - 0x429]
movzx eax, byte [ebp - 0x2c5]
movzx ecx, byte [ebp + eax - 0x3cc]
movzx eax, byte [ebp - 0x40d]
movzx eax, byte [ebp + eax - 0x3cc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3cc]
xor edx, ecx
movzx eax, byte [ebp - 0x3f9]
movzx ecx, byte [ebp + eax - 0x3cc]
movzx eax, byte [ebp - 0x2ad]
movzx eax, byte [ebp + eax - 0x3cc]
add ecx, eax
movzx eax, byte [ebp - 0x3d5]
movzx eax, byte [ebp + eax - 0x3cc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x3cc]
movzx eax, byte [ebp + ecx - 0x3cc]
xor edx, eax
mov byte [ebp - 0x3f9], dl
mov cl, byte [ebp - 0x429]
mov byte [ebp - 0x2ad], cl
mov dl, byte [ebp - 0x3f9]
mov byte [ebp - 0x43d], dl
cmp dword [ebp - 0x43c], 0
jle 0x49dd04
mov eax, dword [ebp - 0x43c]
mov cl, byte [ebp - 0x43d]
mov byte [ebp + eax - 0x55], cl
mov byte [ebp - 0x44], 0
jmp 0x49dd3b
mov dword [ebp - 0x4b8], 0
jmp 0x49dd25
mov edx, dword [ebp - 0x4b8]
add edx, 1
mov dword [ebp - 0x4b8], edx
cmp dword [ebp - 0x4b8], 0x11
jge 0x49dd3b
mov eax, dword [ebp - 0x4b8]
mov byte [ebp + eax - 0x54], 0
jmp 0x49dd16
lea ecx, [ebp - 0x54]
push ecx
mov ecx, dword [0xa01a24]
call fcn.0044d080
mov dword [ebp - 0x2a8], eax
lea edx, [ebp - 0x30]
push edx
push 0xf01ff
mov eax, dword [ebp - 0x28]
push eax
call dword [ebp - 0x2a8]
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x1c]
call fcn.004e9840
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x264]
push ecx
lea edx, [ebp - 0x294]
push edx
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x8d8]
call fcn.00496510
cmp dword [ebp - 0x2c], 0
je 0x4a1412
mov dword [ebp - 0x4ec], 0
mov dword [ebp - 0x4bc], 0
fldz
fstp qword [ebp - 0x4c4]
fldz
fstp qword [ebp - 0x4f4]
fldz
fstp qword [ebp - 0x4f4]
jmp 0x49dddc
fld qword [ebp - 0x4f4]
fadd qword [0x9ca2c0]
fstp qword [ebp - 0x4f4]
fld qword [0x9cc618]
fcomp qword [ebp - 0x4f4]
fnstsw ax
test ah, 0x41
jne 0x49de65
fld qword [0x9cc610]
fmul qword [ebp - 0x4f4]
fmul qword [ebp - 0x4f4]
fld qword [ebp - 0x4f4]
fmul qword [ebp - 0x4f4]
fsubp st(1)
fld qword [0x9ca3e0]
fmul qword [ebp - 0x4f4]
fmul qword [ebp - 0x4f4]
fadd qword [0x9cc608]
fdivp st(1)
fadd qword [ebp - 0x4c4]
fstp qword [ebp - 0x4c4]
fld qword [0x9cc600]
fcomp qword [ebp - 0x4c4]
fnstsw ax
test ah, 5
jp 0x49de60
fld qword [0x9cc5f8]
fmul qword [ebp - 0x4f4]
fsubr qword [ebp - 0x4c4]
fstp qword [ebp - 0x4c4]
jmp 0x49ddca
fldz
fcomp qword [ebp - 0x4c4]
fnstsw ax
test ah, 0x41
jne 0x49deb5
invalid
mov dword [ebp - 0x4ec], 0x49de74
mov dword [ebp - 0x4bc], 0x49de96
mov ecx, dword [ebp - 0x4ec]
mov dword [ebp - 0x500], ecx
mov edx, dword [ebp - 0x4bc]
mov dword [ebp - 0x4fc], edx
mov byte [ebp - 0x61d], 0x1e
mov dword [ebp - 0x614], 0
jmp 0x49df03
mov eax, dword [ebp - 0x614]
add eax, 1
mov dword [ebp - 0x614], eax
cmp dword [ebp - 0x614], 0x100
jae 0x49df24
mov ecx, dword [ebp - 0x614]
mov dl, byte [ebp - 0x614]
mov byte [ebp + ecx - 0x60c], dl
jmp 0x49def4
mov dword [ebp - 0x504], 0
mov byte [ebp - 0x61e], 0
mov dword [ebp - 0x614], 0xff
jmp 0x49df50
mov eax, dword [ebp - 0x614]
sub eax, 1
mov dword [ebp - 0x614], eax
cmp dword [ebp - 0x614], 0
jbe 0x49e268
mov dword [ebp - 0x624], 0
mov dword [ebp - 0x62c], 1
mov ecx, dword [ebp - 0x62c]
cmp ecx, dword [ebp - 0x614]
jae 0x49df91
mov edx, dword [ebp - 0x62c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x62c], eax
jmp 0x49df71
mov ecx, dword [ebp - 0x504]
mov dword [ebp - 0x920], ecx
cmp dword [ebp - 0x920], 3
ja case.default.0x49dfb0
mov edx, dword [ebp - 0x920]
jmp dword [edx*4 + 0x4a1460]
movzx eax, byte [ebp - 0x61e]
movzx ecx, byte [ebp + eax - 0x60c]
fld qword [ebp - 0x4c4]
fnstcw word [ebp - 0x922]
movzx eax, word [ebp - 0x922]
or eax, 0xc00
mov dword [ebp - 0x928], eax
fldcw word [ebp - 0x928]
fistp qword [ebp - 0x930]
fldcw word [ebp - 0x922]
mov edx, dword [ebp - 0x930]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x61e], cl
jmp 0x49e141
movzx eax, byte [ebp - 0x61e]
movzx ecx, byte [ebp + eax - 0x60c]
fld qword [ebp - 0x4c4]
fnstcw word [ebp - 0x932]
movzx eax, word [ebp - 0x932]
or eax, 0xc00
mov dword [ebp - 0x938], eax
fldcw word [ebp - 0x938]
fistp qword [ebp - 0x940]
fldcw word [ebp - 0x932]
mov edx, dword [ebp - 0x940]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x61e], cl
jmp 0x49e141
movzx eax, byte [ebp - 0x61e]
movzx ecx, byte [ebp + eax - 0x60c]
fld qword [ebp - 0x4c4]
fnstcw word [ebp - 0x942]
movzx eax, word [ebp - 0x942]
or eax, 0xc00
mov dword [ebp - 0x948], eax
fldcw word [ebp - 0x948]
fistp qword [ebp - 0x950]
fldcw word [ebp - 0x942]
mov edx, dword [ebp - 0x950]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x61e], cl
jmp 0x49e141
movzx eax, byte [ebp - 0x61e]
movzx ecx, byte [ebp + eax - 0x60c]
fld qword [ebp - 0x4c4]
fnstcw word [ebp - 0x952]
movzx eax, word [ebp - 0x952]
or eax, 0xc00
mov dword [ebp - 0x958], eax
fldcw word [ebp - 0x958]
fistp qword [ebp - 0x960]
fldcw word [ebp - 0x952]
mov edx, dword [ebp - 0x960]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x61e], cl
jmp 0x49e141
movzx eax, byte [ebp - 0x61e]
movzx ecx, byte [ebp + eax - 0x60c]
mov edx, dword [ebp - 0x4fc]
add edx, dword [ebp - 0x504]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x61e], cl
mov ecx, dword [ebp - 0x504]
add ecx, 1
mov dword [ebp - 0x504], ecx
movzx edx, byte [ebp - 0x61d]
cmp dword [ebp - 0x504], edx
jb 0x49e17f
mov dword [ebp - 0x504], 0
movzx eax, byte [ebp - 0x61d]
movzx ecx, byte [ebp - 0x61e]
add ecx, eax
mov byte [ebp - 0x61e], cl
movzx edx, byte [ebp - 0x61e]
and edx, dword [ebp - 0x62c]
mov dword [ebp - 0x628], edx
mov eax, dword [ebp - 0x624]
add eax, 1
mov dword [ebp - 0x624], eax
cmp dword [ebp - 0x624], 0xb
jbe 0x49e1be
mov eax, dword [ebp - 0x628]
xor edx, edx
div dword [ebp - 0x614]
mov dword [ebp - 0x628], edx
mov ecx, dword [ebp - 0x628]
cmp ecx, dword [ebp - 0x614]
ja 0x49df91
mov edx, dword [ebp - 0x614]
cmp edx, dword [ebp - 0x628]
je 0x49e263
mov eax, dword [ebp - 0x628]
movzx ecx, byte [ebp + eax - 0x60c]
mov edx, dword [ebp - 0x614]
movzx eax, byte [ebp + edx - 0x60c]
xor eax, ecx
mov ecx, dword [ebp - 0x614]
mov byte [ebp + ecx - 0x60c], al
mov edx, dword [ebp - 0x614]
movzx eax, byte [ebp + edx - 0x60c]
mov ecx, dword [ebp - 0x628]
movzx edx, byte [ebp + ecx - 0x60c]
xor edx, eax
mov eax, dword [ebp - 0x628]
mov byte [ebp + eax - 0x60c], dl
mov ecx, dword [ebp - 0x628]
movzx edx, byte [ebp + ecx - 0x60c]
mov eax, dword [ebp - 0x614]
movzx ecx, byte [ebp + eax - 0x60c]
xor ecx, edx
mov edx, dword [ebp - 0x614]
mov byte [ebp + edx - 0x60c], cl
jmp 0x49df41
mov al, byte [ebp - 0x60b]
mov byte [ebp - 0x61f], al
mov cl, byte [ebp - 0x609]
mov byte [ebp - 0x505], cl
mov dl, byte [ebp - 0x607]
mov byte [ebp - 0x60d], dl
mov al, byte [ebp - 0x605]
mov byte [ebp - 0x615], al
movzx ecx, byte [ebp - 0x61e]
mov dl, byte [ebp + ecx - 0x60c]
mov byte [ebp - 0x4f5], dl
mov dword [ebp - 0x61c], 0x22
cmp dword [ebp - 0x61c], 2
jle 0x4a0fd2
mov eax, dword [ebp - 0x61c]
and eax, 1
jne 0x4a0fd2
mov dword [ebp - 0x6f0], 0
mov dword [ebp - 0x6ec], 0
mov ecx, dword [ebp - 0x6ec]
add ecx, 1
mov dword [ebp - 0x6ec], ecx
mov dword [ebp - 0x63c], 0
mov edx, dword [ebp - 0x6f0]
shl edx, 1
mov dword [ebp - 0x63c], edx
mov dword [ebp - 0x71c], 0
mov eax, dword [ebp - 0x500]
add eax, dword [ebp - 0x63c]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x71c]
mov dword [ebp - 0x71c], ecx
mov dword [ebp - 0x67c], 0
mov edx, dword [ebp - 0x67c]
add edx, 0xc1
mov dword [ebp - 0x67c], edx
mov dword [ebp - 0x6cc], 0
mov eax, dword [ebp - 0x6f0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x6cc], ecx
mov dword [ebp - 0x75c], 0
mov edx, dword [ebp - 0x500]
add edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
add eax, dword [ebp - 0x75c]
mov dword [ebp - 0x75c], eax
mov dword [ebp - 0x718], 0
mov ecx, dword [ebp - 0x718]
add ecx, 0x94
mov dword [ebp - 0x718], ecx
mov dword [ebp - 0x758], 0
mov edx, dword [ebp - 0x71c]
sub edx, dword [ebp - 0x67c]
add edx, dword [ebp - 0x758]
mov dword [ebp - 0x758], edx
mov dword [ebp - 0x640], 0
mov eax, dword [ebp - 0x75c]
sub eax, dword [ebp - 0x718]
add eax, dword [ebp - 0x640]
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x754], 0
mov ecx, dword [ebp - 0x758]
shl ecx, 4
mov dword [ebp - 0x754], ecx
mov dword [ebp - 0x714], 0
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0x714], edx
mov dword [ebp - 0x6e8], 0
mov eax, dword [ebp - 0x754]
or eax, dword [ebp - 0x714]
mov dword [ebp - 0x6e8], eax
mov byte [ebp - 0x69d], 0
mov cl, byte [ebp - 0x6e8]
mov byte [ebp - 0x69d], cl
mov byte [ebp - 0x74d], 0
movzx edx, byte [ebp - 0x4f5]
mov al, byte [ebp + edx - 0x60c]
mov byte [ebp - 0x74d], al
movzx ecx, byte [ebp - 0x61f]
movzx edx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp - 0x505]
add eax, edx
mov byte [ebp - 0x505], al
mov cl, byte [ebp - 0x61f]
add cl, 1
mov byte [ebp - 0x61f], cl
movzx edx, byte [ebp - 0x505]
movzx eax, byte [ebp - 0x4f5]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x615]
movzx eax, byte [ebp - 0x505]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x61f]
movzx eax, byte [ebp - 0x615]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x61f]
mov al, byte [ebp - 0x74d]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x74d]
movzx edx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp - 0x60d]
add eax, edx
mov byte [ebp - 0x60d], al
movzx ecx, byte [ebp - 0x69d]
movzx edx, byte [ebp - 0x505]
movzx eax, byte [ebp + edx - 0x60c]
movzx edx, byte [ebp - 0x61f]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x60c]
xor ecx, eax
movzx edx, byte [ebp - 0x615]
movzx eax, byte [ebp + edx - 0x60c]
movzx edx, byte [ebp - 0x4f5]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
movzx edx, byte [ebp - 0x60d]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x60c]
movzx edx, byte [ebp + eax - 0x60c]
xor ecx, edx
mov byte [ebp - 0x615], cl
mov al, byte [ebp - 0x69d]
mov byte [ebp - 0x4f5], al
mov cl, byte [ebp - 0x615]
mov byte [ebp - 0x70d], cl
cmp dword [ebp - 0x6f0], 0
jle 0x49e5d4
movsx dx, byte [ebp - 0x70d]
mov eax, dword [ebp - 0x6f0]
mov word [ebp + eax*2 - 0x4ea], dx
mov ecx, dword [ebp - 0x6f0]
add ecx, 1
mov dword [ebp - 0x6f0], ecx
mov edx, dword [ebp - 0x6ec]
add edx, 1
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebp - 0x6f0]
shl eax, 1
mov dword [ebp - 0x63c], eax
mov ecx, dword [ebp - 0x500]
add ecx, dword [ebp - 0x63c]
movzx edx, byte [ecx]
mov dword [ebp - 0x71c], edx
mov dword [ebp - 0x67c], 0xc1
fld dword [0x9cc5f0]
fstp dword [ebp - 0x6b0]
fld dword [0x9cc5ec]
fstp dword [ebp - 0x6fc]
fld dword [0x9cc5e8]
fstp dword [ebp - 0x74c]
fld dword [0x9cc5e4]
fstp dword [ebp - 0x66c]
fld dword [0x9cc5e0]
fstp dword [ebp - 0x6ac]
fld dword [ebp - 0x66c]
fmul dword [ebp - 0x6ac]
fstp dword [ebp - 0x66c]
fld dword [ebp - 0x66c]
fmul dword [ebp - 0x6ac]
fstp dword [ebp - 0x66c]
fld dword [ebp - 0x74c]
fmul dword [ebp - 0x6ac]
fstp dword [ebp - 0x74c]
fld dword [ebp - 0x6b0]
fmul dword [ebp - 0x6ac]
fstp dword [ebp - 0x6b0]
fld dword [ebp - 0x6b0]
fmul dword [ebp - 0x6ac]
fstp dword [ebp - 0x6b0]
fld dword [ebp - 0x6b0]
fld dword [ebp - 0x6ac]
fcompp
fnstsw ax
test ah, 5
jp 0x49e739
fld dword [ebp - 0x6b0]
fsub dword [ebp - 0x6fc]
fstp dword [ebp - 0x6b0]
fld dword [ebp - 0x6ac]
fmul dword [ebp - 0x6b0]
fstp dword [ebp - 0x6ac]
fld dword [ebp - 0x74c]
fmul dword [ebp - 0x66c]
fstp dword [ebp - 0x74c]
fld dword [ebp - 0x6b0]
fmul dword [ebp - 0x6fc]
fstp dword [ebp - 0x6b0]
fld dword [ebp - 0x6fc]
fmul dword [ebp - 0x74c]
fstp dword [ebp - 0x6fc]
mov eax, dword [ebp - 0x6f0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x6cc], ecx
jmp 0x49e8b8
fld dword [ebp - 0x6ac]
fmul dword [ebp - 0x6b0]
fstp dword [ebp - 0x6ac]
fld dword [ebp - 0x6ac]
fdiv dword [ebp - 0x6b0]
fstp dword [ebp - 0x6ac]
fld dword [ebp - 0x6fc]
fmul dword [ebp - 0x74c]
fstp dword [ebp - 0x6fc]
fld dword [ebp - 0x66c]
fsub dword [ebp - 0x6ac]
fstp dword [ebp - 0x66c]
fld dword [ebp - 0x6fc]
fmul dword [ebp - 0x74c]
fstp dword [ebp - 0x6fc]
fld dword [ebp - 0x6ac]
fmul dword [ebp - 0x6b0]
fstp dword [ebp - 0x6ac]
fld dword [ebp - 0x66c]
fdiv dword [ebp - 0x6ac]
fstp dword [ebp - 0x66c]
fld dword [ebp - 0x6ac]
fadd dword [ebp - 0x6b0]
fstp dword [ebp - 0x6ac]
fld dword [ebp - 0x66c]
fdiv dword [ebp - 0x6ac]
fstp dword [ebp - 0x66c]
fld dword [ebp - 0x6ac]
fmul dword [ebp - 0x6b0]
fstp dword [ebp - 0x6ac]
fld dword [ebp - 0x6fc]
fld dword [ebp - 0x66c]
fcompp
fnstsw ax
test ah, 5
jp 0x49e85e
fld dword [ebp - 0x6ac]
fdiv dword [ebp - 0x6fc]
fstp dword [ebp - 0x6ac]
fld dword [ebp - 0x6b0]
fdiv dword [ebp - 0x74c]
fstp dword [ebp - 0x6b0]
fld dword [ebp - 0x6fc]
fmul dword [ebp - 0x66c]
fstp dword [ebp - 0x6fc]
fld dword [ebp - 0x6fc]
fsub dword [ebp - 0x66c]
fstp dword [ebp - 0x6fc]
fld dword [ebp - 0x66c]
fdiv dword [ebp - 0x6b0]
fstp dword [ebp - 0x66c]
jmp 0x49e8b8
fld dword [ebp - 0x6b0]
fadd dword [ebp - 0x74c]
fstp dword [ebp - 0x6b0]
fld dword [ebp - 0x6b0]
fmul dword [ebp - 0x74c]
fstp dword [ebp - 0x6b0]
fld dword [ebp - 0x66c]
fsub dword [ebp - 0x6b0]
fstp dword [ebp - 0x66c]
fld dword [ebp - 0x74c]
fdiv dword [ebp - 0x6ac]
fstp dword [ebp - 0x74c]
fld dword [ebp - 0x74c]
fadd dword [ebp - 0x6ac]
fstp dword [ebp - 0x74c]
mov edx, dword [ebp - 0x500]
add edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
mov dword [ebp - 0x75c], eax
mov dword [ebp - 0x718], 0x94
mov ecx, dword [ebp - 0x71c]
sub ecx, dword [ebp - 0x67c]
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x75c]
sub edx, dword [ebp - 0x718]
mov dword [ebp - 0x640], edx
mov eax, dword [ebp - 0x758]
shl eax, 4
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x640]
mov dword [ebp - 0x714], ecx
mov edx, dword [ebp - 0x754]
or edx, dword [ebp - 0x714]
mov dword [ebp - 0x6e8], edx
mov al, byte [ebp - 0x6e8]
mov byte [ebp - 0x69d], al
movzx ecx, byte [ebp - 0x4f5]
mov dl, byte [ebp + ecx - 0x60c]
mov byte [ebp - 0x74d], dl
movzx eax, byte [ebp - 0x61f]
movzx ecx, byte [ebp + eax - 0x60c]
movzx edx, byte [ebp - 0x505]
add edx, ecx
mov byte [ebp - 0x505], dl
mov al, byte [ebp - 0x61f]
add al, 1
mov byte [ebp - 0x61f], al
movzx ecx, byte [ebp - 0x505]
movzx edx, byte [ebp - 0x4f5]
mov al, byte [ebp + ecx - 0x60c]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x615]
movzx edx, byte [ebp - 0x505]
mov al, byte [ebp + ecx - 0x60c]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x61f]
movzx edx, byte [ebp - 0x615]
mov al, byte [ebp + ecx - 0x60c]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x61f]
mov dl, byte [ebp - 0x74d]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x74d]
movzx ecx, byte [ebp + eax - 0x60c]
movzx edx, byte [ebp - 0x60d]
add edx, ecx
mov byte [ebp - 0x60d], dl
movzx eax, byte [ebp - 0x69d]
movzx ecx, byte [ebp - 0x505]
movzx edx, byte [ebp + ecx - 0x60c]
movzx ecx, byte [ebp - 0x61f]
movzx ecx, byte [ebp + ecx - 0x60c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x60c]
xor eax, edx
movzx ecx, byte [ebp - 0x615]
movzx edx, byte [ebp + ecx - 0x60c]
movzx ecx, byte [ebp - 0x4f5]
movzx ecx, byte [ebp + ecx - 0x60c]
add edx, ecx
movzx ecx, byte [ebp - 0x60d]
movzx ecx, byte [ebp + ecx - 0x60c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x60c]
movzx ecx, byte [ebp + edx - 0x60c]
xor eax, ecx
mov byte [ebp - 0x615], al
mov dl, byte [ebp - 0x69d]
mov byte [ebp - 0x4f5], dl
mov al, byte [ebp - 0x615]
mov byte [ebp - 0x70d], al
cmp dword [ebp - 0x6f0], 0
jle 0x49eab7
movsx cx, byte [ebp - 0x70d]
mov edx, dword [ebp - 0x6f0]
mov word [ebp + edx*2 - 0x4ea], cx
mov eax, dword [ebp - 0x6f0]
add eax, 1
mov dword [ebp - 0x6f0], eax
mov ecx, dword [ebp - 0x6ec]
add ecx, 1
mov dword [ebp - 0x6ec], ecx
mov edx, dword [ebp - 0x6f0]
shl edx, 1
mov dword [ebp - 0x63c], edx
mov eax, dword [ebp - 0x500]
add eax, dword [ebp - 0x63c]
movzx ecx, byte [eax]
mov dword [ebp - 0x71c], ecx
mov dword [ebp - 0x67c], 0xc1
mov edx, dword [ebp - 0x6f0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x6cc], eax
mov ecx, dword [ebp - 0x500]
add ecx, dword [ebp - 0x6cc]
movzx edx, byte [ecx]
mov dword [ebp - 0x75c], edx
mov dword [ebp - 0x718], 0x94
mov eax, dword [ebp - 0x71c]
sub eax, dword [ebp - 0x67c]
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x75c]
sub ecx, dword [ebp - 0x718]
mov dword [ebp - 0x640], ecx
mov edx, dword [ebp - 0x758]
shl edx, 4
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x640]
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 0x754]
or ecx, dword [ebp - 0x714]
mov dword [ebp - 0x6e8], ecx
mov dl, byte [ebp - 0x6e8]
mov byte [ebp - 0x69d], dl
movzx eax, byte [ebp - 0x4f5]
mov cl, byte [ebp + eax - 0x60c]
mov byte [ebp - 0x74d], cl
movzx edx, byte [ebp - 0x61f]
movzx eax, byte [ebp + edx - 0x60c]
movzx ecx, byte [ebp - 0x505]
add ecx, eax
mov byte [ebp - 0x505], cl
mov dl, byte [ebp - 0x61f]
add dl, 1
mov byte [ebp - 0x61f], dl
movzx eax, byte [ebp - 0x505]
movzx ecx, byte [ebp - 0x4f5]
mov dl, byte [ebp + eax - 0x60c]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x615]
movzx ecx, byte [ebp - 0x505]
mov dl, byte [ebp + eax - 0x60c]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x61f]
movzx ecx, byte [ebp - 0x615]
mov dl, byte [ebp + eax - 0x60c]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x61f]
mov cl, byte [ebp - 0x74d]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x74d]
movzx eax, byte [ebp + edx - 0x60c]
movzx ecx, byte [ebp - 0x60d]
add ecx, eax
mov byte [ebp - 0x60d], cl
movzx edx, byte [ebp - 0x69d]
movzx eax, byte [ebp - 0x505]
movzx ecx, byte [ebp + eax - 0x60c]
movzx eax, byte [ebp - 0x61f]
movzx eax, byte [ebp + eax - 0x60c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x60c]
xor edx, ecx
movzx eax, byte [ebp - 0x615]
movzx ecx, byte [ebp + eax - 0x60c]
movzx eax, byte [ebp - 0x4f5]
movzx eax, byte [ebp + eax - 0x60c]
add ecx, eax
movzx eax, byte [ebp - 0x60d]
movzx eax, byte [ebp + eax - 0x60c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp + ecx - 0x60c]
xor edx, eax
mov byte [ebp - 0x615], dl
mov cl, byte [ebp - 0x69d]
mov byte [ebp - 0x4f5], cl
mov dl, byte [ebp - 0x615]
mov byte [ebp - 0x70d], dl
cmp dword [ebp - 0x6f0], 0
jle 0x49ed12
movsx ax, byte [ebp - 0x70d]
mov ecx, dword [ebp - 0x6f0]
mov word [ebp + ecx*2 - 0x4ea], ax
mov edx, dword [ebp - 0x6ec]
add edx, 4
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebp - 0x6f0]
add eax, 1
mov dword [ebp - 0x760], eax
jmp 0x49ed41
mov ecx, dword [ebp - 0x760]
add ecx, 1
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x760]
cmp edx, dword [ebp - 0x6ec]
jge 0x49f0bf
mov eax, dword [ebp - 0x6f0]
add eax, 1
mov dword [ebp - 0x6f0], eax
mov ecx, dword [ebp - 0x6f0]
shl ecx, 1
mov dword [ebp - 0x63c], ecx
mov edx, dword [ebp - 0x500]
add edx, dword [ebp - 0x63c]
movzx eax, byte [edx]
mov dword [ebp - 0x71c], eax
mov dword [ebp - 0x67c], 0xc1
fld qword [0x9cc5d8]
fstp qword [ebp - 0x77c]
fld qword [0x9cc5d0]
fstp qword [ebp - 0x774]
fld qword [0x9cc5c8]
fstp qword [ebp - 0x784]
fld qword [0x9cc5c0]
fstp qword [ebp - 0x76c]
fld qword [ebp - 0x774]
fsub qword [ebp - 0x76c]
fstp qword [ebp - 0x774]
fld qword [ebp - 0x774]
fadd qword [ebp - 0x76c]
fstp qword [ebp - 0x774]
fld qword [ebp - 0x77c]
fadd qword [ebp - 0x76c]
fstp qword [ebp - 0x77c]
fld qword [ebp - 0x784]
fsub qword [ebp - 0x76c]
fstp qword [ebp - 0x784]
fld qword [ebp - 0x77c]
fcomp qword [ebp - 0x784]
fnstsw ax
test ah, 0x41
jne 0x49ee74
fld qword [ebp - 0x76c]
fadd qword [ebp - 0x77c]
fstp qword [ebp - 0x76c]
fld qword [ebp - 0x76c]
fsub qword [ebp - 0x77c]
fstp qword [ebp - 0x76c]
fld qword [ebp - 0x76c]
fsub qword [ebp - 0x77c]
fstp qword [ebp - 0x76c]
fld qword [ebp - 0x784]
fadd qword [ebp - 0x76c]
fstp qword [ebp - 0x784]
mov ecx, dword [ebp - 0x6f0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x6cc], edx
jmp 0x49eebc
fld qword [ebp - 0x76c]
fdiv qword [ebp - 0x77c]
fstp qword [ebp - 0x76c]
fld qword [ebp - 0x784]
fsub qword [ebp - 0x76c]
fstp qword [ebp - 0x784]
fld qword [ebp - 0x77c]
fdiv qword [ebp - 0x774]
fstp qword [ebp - 0x77c]
fld qword [ebp - 0x784]
fadd qword [ebp - 0x76c]
fstp qword [ebp - 0x784]
mov eax, dword [ebp - 0x500]
add eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
mov dword [ebp - 0x75c], ecx
mov dword [ebp - 0x718], 0x94
mov edx, dword [ebp - 0x71c]
sub edx, dword [ebp - 0x67c]
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x75c]
sub eax, dword [ebp - 0x718]
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x758]
shl ecx, 4
mov dword [ebp - 0x754], ecx
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0x714], edx
mov eax, dword [ebp - 0x754]
or eax, dword [ebp - 0x714]
mov dword [ebp - 0x6e8], eax
mov cl, byte [ebp - 0x6e8]
mov byte [ebp - 0x69d], cl
movzx edx, byte [ebp - 0x4f5]
mov al, byte [ebp + edx - 0x60c]
mov byte [ebp - 0x74d], al
movzx ecx, byte [ebp - 0x61f]
movzx edx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp - 0x505]
add eax, edx
mov byte [ebp - 0x505], al
mov cl, byte [ebp - 0x61f]
add cl, 1
mov byte [ebp - 0x61f], cl
movzx edx, byte [ebp - 0x505]
movzx eax, byte [ebp - 0x4f5]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x615]
movzx eax, byte [ebp - 0x505]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x61f]
movzx eax, byte [ebp - 0x615]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x61f]
mov al, byte [ebp - 0x74d]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x74d]
movzx edx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp - 0x60d]
add eax, edx
mov byte [ebp - 0x60d], al
movzx ecx, byte [ebp - 0x69d]
movzx edx, byte [ebp - 0x505]
movzx eax, byte [ebp + edx - 0x60c]
movzx edx, byte [ebp - 0x61f]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x60c]
xor ecx, eax
movzx edx, byte [ebp - 0x615]
movzx eax, byte [ebp + edx - 0x60c]
movzx edx, byte [ebp - 0x4f5]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
movzx edx, byte [ebp - 0x60d]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x60c]
movzx edx, byte [ebp + eax - 0x60c]
xor ecx, edx
mov byte [ebp - 0x615], cl
mov al, byte [ebp - 0x69d]
mov byte [ebp - 0x4f5], al
mov cl, byte [ebp - 0x615]
mov byte [ebp - 0x70d], cl
cmp dword [ebp - 0x6f0], 0
jle 0x49f0ba
movsx dx, byte [ebp - 0x70d]
mov eax, dword [ebp - 0x6f0]
mov word [ebp + eax*2 - 0x4ea], dx
jmp 0x49ed32
mov ecx, dword [ebp - 0x6ec]
add ecx, 1
mov dword [ebp - 0x6ec], ecx
mov edx, dword [ebp - 0x6f0]
add edx, 1
mov dword [ebp - 0x6f0], edx
mov eax, dword [ebp - 0x6ec]
add eax, 1
mov dword [ebp - 0x6ec], eax
mov ecx, dword [ebp - 0x6f0]
shl ecx, 1
mov dword [ebp - 0x63c], ecx
mov edx, dword [ebp - 0x500]
add edx, dword [ebp - 0x63c]
movzx eax, byte [edx]
mov dword [ebp - 0x71c], eax
mov dword [ebp - 0x67c], 0xc1
mov ecx, dword [ebp - 0x6f0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x6cc], edx
mov eax, dword [ebp - 0x500]
add eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
mov dword [ebp - 0x75c], ecx
mov dword [ebp - 0x718], 0x94
fld dword [0x9cc5bc]
fstp dword [ebp - 0x6a8]
fld dword [0x9cc5b8]
fstp dword [ebp - 0x6f8]
fld dword [0x9cc5b4]
fstp dword [ebp - 0x748]
fld dword [ebp - 0x6a8]
fmul dword [ebp - 0x748]
fstp dword [ebp - 0x6a8]
fld dword [ebp - 0x6f8]
fsub dword [ebp - 0x748]
fstp dword [ebp - 0x6f8]
fld dword [ebp - 0x6a8]
fadd dword [ebp - 0x748]
fstp dword [ebp - 0x6a8]
fld dword [ebp - 0x6f8]
fld dword [ebp - 0x6a8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x49f201
fld dword [ebp - 0x6f8]
fsub dword [ebp - 0x748]
fstp dword [ebp - 0x6f8]
fld dword [ebp - 0x748]
fadd dword [ebp - 0x6a8]
fstp dword [ebp - 0x748]
fld dword [ebp - 0x748]
fadd dword [ebp - 0x6a8]
fstp dword [ebp - 0x748]
mov edx, dword [ebp - 0x71c]
sub edx, dword [ebp - 0x67c]
mov dword [ebp - 0x758], edx
jmp 0x49f237
fld dword [ebp - 0x6f8]
fdiv dword [ebp - 0x6a8]
fstp dword [ebp - 0x6f8]
fld dword [ebp - 0x748]
fdiv dword [ebp - 0x6f8]
fstp dword [ebp - 0x748]
fld dword [ebp - 0x6a8]
fmul dword [ebp - 0x748]
fstp dword [ebp - 0x6a8]
mov eax, dword [ebp - 0x75c]
sub eax, dword [ebp - 0x718]
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x758]
shl ecx, 4
mov dword [ebp - 0x754], ecx
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0x714], edx
fld dword [0x9cc5b0]
fstp dword [ebp - 0x668]
fld dword [0x9cc5ac]
fstp dword [ebp - 0x6a4]
fld dword [0x9cc5a8]
fstp dword [ebp - 0x6f4]
fld dword [ebp - 0x668]
fsub dword [ebp - 0x6f4]
fstp dword [ebp - 0x668]
fld dword [ebp - 0x6a4]
fmul dword [ebp - 0x6f4]
fstp dword [ebp - 0x6a4]
fld dword [ebp - 0x6a4]
fsub dword [ebp - 0x6f4]
fstp dword [ebp - 0x6a4]
fld dword [ebp - 0x6f4]
fld dword [ebp - 0x6a4]
fcompp
fnstsw ax
test ah, 0x41
jne 0x49f31d
fld dword [ebp - 0x668]
fadd dword [ebp - 0x6f4]
fstp dword [ebp - 0x668]
fld dword [ebp - 0x6a4]
fsub dword [ebp - 0x668]
fstp dword [ebp - 0x6a4]
fld dword [ebp - 0x6f4]
fmul dword [ebp - 0x6a4]
fstp dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x754]
or eax, dword [ebp - 0x714]
mov dword [ebp - 0x6e8], eax
jmp 0x49f353
fld dword [ebp - 0x668]
fsub dword [ebp - 0x6f4]
fstp dword [ebp - 0x668]
fld dword [ebp - 0x6a4]
fadd dword [ebp - 0x668]
fstp dword [ebp - 0x6a4]
fld dword [ebp - 0x6f4]
fdiv dword [ebp - 0x6a4]
fstp dword [ebp - 0x6f4]
mov cl, byte [ebp - 0x6e8]
mov byte [ebp - 0x69d], cl
movzx edx, byte [ebp - 0x4f5]
mov al, byte [ebp + edx - 0x60c]
mov byte [ebp - 0x74d], al
movzx ecx, byte [ebp - 0x61f]
movzx edx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp - 0x505]
add eax, edx
mov byte [ebp - 0x505], al
mov cl, byte [ebp - 0x61f]
add cl, 1
mov byte [ebp - 0x61f], cl
movzx edx, byte [ebp - 0x505]
movzx eax, byte [ebp - 0x4f5]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x615]
movzx eax, byte [ebp - 0x505]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x61f]
movzx eax, byte [ebp - 0x615]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x61f]
mov al, byte [ebp - 0x74d]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x74d]
movzx edx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp - 0x60d]
add eax, edx
mov byte [ebp - 0x60d], al
movzx ecx, byte [ebp - 0x69d]
movzx edx, byte [ebp - 0x505]
movzx eax, byte [ebp + edx - 0x60c]
movzx edx, byte [ebp - 0x61f]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x60c]
xor ecx, eax
movzx edx, byte [ebp - 0x615]
movzx eax, byte [ebp + edx - 0x60c]
movzx edx, byte [ebp - 0x4f5]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
movzx edx, byte [ebp - 0x60d]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x60c]
movzx edx, byte [ebp + eax - 0x60c]
xor ecx, edx
mov byte [ebp - 0x615], cl
mov al, byte [ebp - 0x69d]
mov byte [ebp - 0x4f5], al
mov cl, byte [ebp - 0x615]
mov byte [ebp - 0x70d], cl
cmp dword [ebp - 0x6f0], 0
jle 0x49f4e1
movsx dx, byte [ebp - 0x70d]
mov eax, dword [ebp - 0x6f0]
mov word [ebp + eax*2 - 0x4ea], dx
mov ecx, dword [ebp - 0x6f0]
add ecx, 1
mov dword [ebp - 0x6f0], ecx
mov edx, dword [ebp - 0x6ec]
add edx, 1
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebp - 0x6f0]
shl eax, 1
mov dword [ebp - 0x63c], eax
mov ecx, dword [ebp - 0x500]
add ecx, dword [ebp - 0x63c]
movzx edx, byte [ecx]
mov dword [ebp - 0x71c], edx
mov dword [ebp - 0x67c], 0xc1
mov eax, dword [ebp - 0x6f0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x6cc], ecx
mov edx, dword [ebp - 0x500]
add edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
mov dword [ebp - 0x75c], eax
mov dword [ebp - 0x718], 0x94
mov ecx, dword [ebp - 0x71c]
sub ecx, dword [ebp - 0x67c]
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x75c]
sub edx, dword [ebp - 0x718]
mov dword [ebp - 0x640], edx
mov eax, dword [ebp - 0x758]
shl eax, 4
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x640]
mov dword [ebp - 0x714], ecx
mov edx, dword [ebp - 0x754]
or edx, dword [ebp - 0x714]
mov dword [ebp - 0x6e8], edx
mov al, byte [ebp - 0x6e8]
mov byte [ebp - 0x69d], al
movzx ecx, byte [ebp - 0x4f5]
mov dl, byte [ebp + ecx - 0x60c]
mov byte [ebp - 0x74d], dl
movzx eax, byte [ebp - 0x61f]
movzx ecx, byte [ebp + eax - 0x60c]
movzx edx, byte [ebp - 0x505]
add edx, ecx
mov byte [ebp - 0x505], dl
mov al, byte [ebp - 0x61f]
add al, 1
mov byte [ebp - 0x61f], al
movzx ecx, byte [ebp - 0x505]
movzx edx, byte [ebp - 0x4f5]
mov al, byte [ebp + ecx - 0x60c]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x615]
movzx edx, byte [ebp - 0x505]
mov al, byte [ebp + ecx - 0x60c]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x61f]
movzx edx, byte [ebp - 0x615]
mov al, byte [ebp + ecx - 0x60c]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x61f]
mov dl, byte [ebp - 0x74d]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x74d]
movzx ecx, byte [ebp + eax - 0x60c]
movzx edx, byte [ebp - 0x60d]
add edx, ecx
mov byte [ebp - 0x60d], dl
movzx eax, byte [ebp - 0x69d]
movzx ecx, byte [ebp - 0x505]
movzx edx, byte [ebp + ecx - 0x60c]
movzx ecx, byte [ebp - 0x61f]
movzx ecx, byte [ebp + ecx - 0x60c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x60c]
xor eax, edx
movzx ecx, byte [ebp - 0x615]
movzx edx, byte [ebp + ecx - 0x60c]
movzx ecx, byte [ebp - 0x4f5]
movzx ecx, byte [ebp + ecx - 0x60c]
add edx, ecx
movzx ecx, byte [ebp - 0x60d]
movzx ecx, byte [ebp + ecx - 0x60c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x60c]
movzx ecx, byte [ebp + edx - 0x60c]
xor eax, ecx
mov byte [ebp - 0x615], al
mov dl, byte [ebp - 0x69d]
mov byte [ebp - 0x4f5], dl
mov al, byte [ebp - 0x615]
mov byte [ebp - 0x70d], al
cmp dword [ebp - 0x6f0], 0
jle 0x49f73b
movsx cx, byte [ebp - 0x70d]
mov edx, dword [ebp - 0x6f0]
mov word [ebp + edx*2 - 0x4ea], cx
fld qword [0x9cc5a0]
fstp qword [ebp - 0x744]
fld qword [0x9cc598]
fstp qword [ebp - 0x73c]
fld qword [0x9cc590]
fstp qword [ebp - 0x664]
fld qword [0x9cc588]
fstp qword [ebp - 0x69c]
fld qword [0x9cc580]
fstp qword [ebp - 0x6e4]
fld qword [ebp - 0x73c]
fmul qword [ebp - 0x6e4]
fstp qword [ebp - 0x73c]
fld qword [ebp - 0x744]
fmul qword [ebp - 0x6e4]
fstp qword [ebp - 0x744]
fld qword [ebp - 0x69c]
fadd qword [ebp - 0x6e4]
fstp qword [ebp - 0x69c]
fld qword [ebp - 0x744]
fsub qword [ebp - 0x6e4]
fstp qword [ebp - 0x744]
fld qword [ebp - 0x73c]
fsub qword [ebp - 0x6e4]
fstp qword [ebp - 0x73c]
fld qword [ebp - 0x744]
fcomp qword [ebp - 0x6e4]
fnstsw ax
test ah, 5
jp 0x49f967
fld qword [ebp - 0x664]
fadd qword [ebp - 0x69c]
fstp qword [ebp - 0x664]
fld qword [ebp - 0x73c]
fadd qword [ebp - 0x664]
fstp qword [ebp - 0x73c]
fld qword [ebp - 0x6e4]
fsub qword [ebp - 0x744]
fstp qword [ebp - 0x6e4]
fld qword [ebp - 0x6e4]
fadd qword [ebp - 0x744]
fstp qword [ebp - 0x6e4]
fld qword [ebp - 0x744]
fmul qword [ebp - 0x73c]
fstp qword [ebp - 0x744]
fld qword [ebp - 0x744]
fmul qword [ebp - 0x73c]
fstp qword [ebp - 0x744]
fld qword [ebp - 0x6e4]
fsub qword [ebp - 0x744]
fstp qword [ebp - 0x6e4]
fld qword [ebp - 0x6e4]
fdiv qword [ebp - 0x744]
fstp qword [ebp - 0x6e4]
fld qword [ebp - 0x73c]
fadd qword [ebp - 0x664]
fstp qword [ebp - 0x73c]
fld qword [ebp - 0x69c]
fmul qword [ebp - 0x6e4]
fstp qword [ebp - 0x69c]
fld qword [ebp - 0x69c]
fcomp qword [ebp - 0x73c]
fnstsw ax
test ah, 0x41
jne 0x49f90b
fld qword [ebp - 0x744]
fsub qword [ebp - 0x664]
fstp qword [ebp - 0x744]
fld qword [ebp - 0x73c]
fmul qword [ebp - 0x69c]
fstp qword [ebp - 0x73c]
fld qword [ebp - 0x6e4]
fsub qword [ebp - 0x73c]
fstp qword [ebp - 0x6e4]
fld qword [ebp - 0x744]
fsub qword [ebp - 0x664]
fstp qword [ebp - 0x744]
fld qword [ebp - 0x69c]
fsub qword [ebp - 0x744]
fstp qword [ebp - 0x69c]
jmp 0x49f965
fld qword [ebp - 0x664]
fsub qword [ebp - 0x69c]
fstp qword [ebp - 0x664]
fld qword [ebp - 0x664]
fmul qword [ebp - 0x69c]
fstp qword [ebp - 0x664]
fld qword [ebp - 0x744]
fadd qword [ebp - 0x73c]
fstp qword [ebp - 0x744]
fld qword [ebp - 0x6e4]
fsub qword [ebp - 0x744]
fstp qword [ebp - 0x6e4]
fld qword [ebp - 0x69c]
fdiv qword [ebp - 0x6e4]
fstp qword [ebp - 0x69c]
jmp 0x49f9d0
fld qword [ebp - 0x6e4]
fsub qword [ebp - 0x73c]
fstp qword [ebp - 0x6e4]
fld qword [ebp - 0x664]
fmul qword [ebp - 0x6e4]
fstp qword [ebp - 0x664]
fld qword [ebp - 0x744]
fmul qword [ebp - 0x664]
fstp qword [ebp - 0x744]
fld qword [ebp - 0x664]
fsub qword [ebp - 0x6e4]
fstp qword [ebp - 0x664]
fld qword [ebp - 0x69c]
fadd qword [ebp - 0x744]
fstp qword [ebp - 0x69c]
mov eax, dword [ebp - 0x6f0]
add eax, 1
mov dword [ebp - 0x6f0], eax
mov ecx, dword [ebp - 0x6ec]
add ecx, 1
mov dword [ebp - 0x6ec], ecx
mov edx, dword [ebp - 0x6f0]
shl edx, 1
mov dword [ebp - 0x63c], edx
mov eax, dword [ebp - 0x500]
add eax, dword [ebp - 0x63c]
movzx ecx, byte [eax]
mov dword [ebp - 0x71c], ecx
mov dword [ebp - 0x67c], 0xc1
fld dword [0x9cc578]
fstp dword [ebp - 0x734]
fld dword [0x9cc574]
fstp dword [ebp - 0x65c]
fld dword [0x9cc570]
fstp dword [ebp - 0x690]
fld dword [0x9cc56c]
fstp dword [ebp - 0x6d8]
fld dword [0x9cc568]
fstp dword [ebp - 0x730]
fld dword [0x9cc564]
fstp dword [ebp - 0x658]
fld dword [ebp - 0x690]
fsub dword [ebp - 0x658]
fstp dword [ebp - 0x690]
fld dword [ebp - 0x65c]
fadd dword [ebp - 0x658]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x6d8]
fmul dword [ebp - 0x658]
fstp dword [ebp - 0x6d8]
fld dword [ebp - 0x6d8]
fsub dword [ebp - 0x658]
fstp dword [ebp - 0x6d8]
fld dword [ebp - 0x730]
fsub dword [ebp - 0x658]
fstp dword [ebp - 0x730]
fld dword [ebp - 0x6d8]
fsub dword [ebp - 0x658]
fstp dword [ebp - 0x6d8]
fld dword [ebp - 0x6d8]
fld dword [ebp - 0x730]
fcompp
fnstsw ax
test ah, 5
jp 0x49fb5a
fld dword [ebp - 0x6d8]
fadd dword [ebp - 0x730]
fstp dword [ebp - 0x6d8]
fld dword [ebp - 0x734]
fsub dword [ebp - 0x65c]
fstp dword [ebp - 0x734]
fld dword [ebp - 0x6d8]
fadd dword [ebp - 0x730]
fstp dword [ebp - 0x6d8]
fld dword [ebp - 0x734]
fmul dword [ebp - 0x65c]
fstp dword [ebp - 0x734]
fld dword [ebp - 0x658]
fmul dword [ebp - 0x734]
fstp dword [ebp - 0x658]
fld dword [ebp - 0x734]
fsub dword [ebp - 0x65c]
fstp dword [ebp - 0x734]
mov edx, dword [ebp - 0x6f0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x6cc], eax
jmp 0x49fd21
fld dword [ebp - 0x690]
fadd dword [ebp - 0x730]
fstp dword [ebp - 0x690]
fld dword [ebp - 0x658]
fadd dword [ebp - 0x65c]
fstp dword [ebp - 0x658]
fld dword [ebp - 0x730]
fmul dword [ebp - 0x734]
fstp dword [ebp - 0x730]
fld dword [ebp - 0x65c]
fadd dword [ebp - 0x6d8]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x734]
fdiv dword [ebp - 0x690]
fstp dword [ebp - 0x734]
fld dword [ebp - 0x658]
fsub dword [ebp - 0x65c]
fstp dword [ebp - 0x658]
fld dword [ebp - 0x734]
fadd dword [ebp - 0x65c]
fstp dword [ebp - 0x734]
fld dword [ebp - 0x734]
fmul dword [ebp - 0x65c]
fstp dword [ebp - 0x734]
fld dword [ebp - 0x6d8]
fadd dword [ebp - 0x730]
fstp dword [ebp - 0x6d8]
fld dword [ebp - 0x658]
fdiv dword [ebp - 0x734]
fstp dword [ebp - 0x658]
fld dword [ebp - 0x6d8]
fmul dword [ebp - 0x730]
fstp dword [ebp - 0x6d8]
fld dword [ebp - 0x658]
fmul dword [ebp - 0x734]
fstp dword [ebp - 0x658]
fld dword [ebp - 0x730]
fld dword [ebp - 0x734]
fcompp
fnstsw ax
test ah, 0x41
jne 0x49fcb5
fld dword [ebp - 0x65c]
fsub dword [ebp - 0x6d8]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x658]
fmul dword [ebp - 0x65c]
fstp dword [ebp - 0x658]
fld dword [ebp - 0x734]
fadd dword [ebp - 0x690]
fstp dword [ebp - 0x734]
fld dword [ebp - 0x734]
fdiv dword [ebp - 0x690]
fstp dword [ebp - 0x734]
fld dword [ebp - 0x730]
fsub dword [ebp - 0x734]
fstp dword [ebp - 0x730]
fld dword [ebp - 0x65c]
fmul dword [ebp - 0x6d8]
fstp dword [ebp - 0x65c]
jmp 0x49fd21
fld dword [ebp - 0x65c]
fsub dword [ebp - 0x6d8]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x690]
fadd dword [ebp - 0x730]
fstp dword [ebp - 0x690]
fld dword [ebp - 0x65c]
fadd dword [ebp - 0x6d8]
fstp dword [ebp - 0x65c]
fld dword [ebp - 0x658]
fadd dword [ebp - 0x65c]
fstp dword [ebp - 0x658]
fld dword [ebp - 0x658]
fadd dword [ebp - 0x65c]
fstp dword [ebp - 0x658]
fld dword [ebp - 0x734]
fadd dword [ebp - 0x690]
fstp dword [ebp - 0x734]
mov ecx, dword [ebp - 0x500]
add ecx, dword [ebp - 0x6cc]
movzx edx, byte [ecx]
mov dword [ebp - 0x75c], edx
mov dword [ebp - 0x718], 0x94
mov eax, dword [ebp - 0x71c]
sub eax, dword [ebp - 0x67c]
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x75c]
sub ecx, dword [ebp - 0x718]
mov dword [ebp - 0x640], ecx
mov edx, dword [ebp - 0x758]
shl edx, 4
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x640]
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 0x754]
or ecx, dword [ebp - 0x714]
mov dword [ebp - 0x6e8], ecx
mov dl, byte [ebp - 0x6e8]
mov byte [ebp - 0x69d], dl
movzx eax, byte [ebp - 0x4f5]
mov cl, byte [ebp + eax - 0x60c]
mov byte [ebp - 0x74d], cl
movzx edx, byte [ebp - 0x61f]
movzx eax, byte [ebp + edx - 0x60c]
movzx ecx, byte [ebp - 0x505]
add ecx, eax
mov byte [ebp - 0x505], cl
mov dl, byte [ebp - 0x61f]
add dl, 1
mov byte [ebp - 0x61f], dl
movzx eax, byte [ebp - 0x505]
movzx ecx, byte [ebp - 0x4f5]
mov dl, byte [ebp + eax - 0x60c]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x615]
movzx ecx, byte [ebp - 0x505]
mov dl, byte [ebp + eax - 0x60c]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x61f]
movzx ecx, byte [ebp - 0x615]
mov dl, byte [ebp + eax - 0x60c]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x61f]
mov cl, byte [ebp - 0x74d]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x74d]
movzx eax, byte [ebp + edx - 0x60c]
movzx ecx, byte [ebp - 0x60d]
add ecx, eax
mov byte [ebp - 0x60d], cl
movzx edx, byte [ebp - 0x69d]
movzx eax, byte [ebp - 0x505]
movzx ecx, byte [ebp + eax - 0x60c]
movzx eax, byte [ebp - 0x61f]
movzx eax, byte [ebp + eax - 0x60c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x60c]
xor edx, ecx
movzx eax, byte [ebp - 0x615]
movzx ecx, byte [ebp + eax - 0x60c]
movzx eax, byte [ebp - 0x4f5]
movzx eax, byte [ebp + eax - 0x60c]
add ecx, eax
movzx eax, byte [ebp - 0x60d]
movzx eax, byte [ebp + eax - 0x60c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp + ecx - 0x60c]
xor edx, eax
mov byte [ebp - 0x615], dl
mov cl, byte [ebp - 0x69d]
mov byte [ebp - 0x4f5], cl
mov dl, byte [ebp - 0x615]
mov byte [ebp - 0x70d], dl
cmp dword [ebp - 0x6f0], 0
jle 0x49ff21
movsx ax, byte [ebp - 0x70d]
mov ecx, dword [ebp - 0x6f0]
mov word [ebp + ecx*2 - 0x4ea], ax
mov edx, dword [ebp - 0x6ec]
add edx, 4
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebp - 0x6f0]
add eax, 1
mov dword [ebp - 0x788], eax
jmp 0x49ff50
mov ecx, dword [ebp - 0x788]
add ecx, 1
mov dword [ebp - 0x788], ecx
mov edx, dword [ebp - 0x788]
cmp edx, dword [ebp - 0x6ec]
jge 0x4a01b1
mov eax, dword [ebp - 0x6f0]
add eax, 1
mov dword [ebp - 0x6f0], eax
mov ecx, dword [ebp - 0x6f0]
shl ecx, 1
mov dword [ebp - 0x63c], ecx
mov edx, dword [ebp - 0x500]
add edx, dword [ebp - 0x63c]
movzx eax, byte [edx]
mov dword [ebp - 0x71c], eax
mov dword [ebp - 0x67c], 0xc1
mov ecx, dword [ebp - 0x6f0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x6cc], edx
mov eax, dword [ebp - 0x500]
add eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
mov dword [ebp - 0x75c], ecx
mov dword [ebp - 0x718], 0x94
mov edx, dword [ebp - 0x71c]
sub edx, dword [ebp - 0x67c]
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x75c]
sub eax, dword [ebp - 0x718]
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x758]
shl ecx, 4
mov dword [ebp - 0x754], ecx
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0x714], edx
mov eax, dword [ebp - 0x754]
or eax, dword [ebp - 0x714]
mov dword [ebp - 0x6e8], eax
mov cl, byte [ebp - 0x6e8]
mov byte [ebp - 0x69d], cl
movzx edx, byte [ebp - 0x4f5]
mov al, byte [ebp + edx - 0x60c]
mov byte [ebp - 0x74d], al
movzx ecx, byte [ebp - 0x61f]
movzx edx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp - 0x505]
add eax, edx
mov byte [ebp - 0x505], al
mov cl, byte [ebp - 0x61f]
add cl, 1
mov byte [ebp - 0x61f], cl
movzx edx, byte [ebp - 0x505]
movzx eax, byte [ebp - 0x4f5]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x615]
movzx eax, byte [ebp - 0x505]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x61f]
movzx eax, byte [ebp - 0x615]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x61f]
mov al, byte [ebp - 0x74d]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x74d]
movzx edx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp - 0x60d]
add eax, edx
mov byte [ebp - 0x60d], al
movzx ecx, byte [ebp - 0x69d]
movzx edx, byte [ebp - 0x505]
movzx eax, byte [ebp + edx - 0x60c]
movzx edx, byte [ebp - 0x61f]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x60c]
xor ecx, eax
movzx edx, byte [ebp - 0x615]
movzx eax, byte [ebp + edx - 0x60c]
movzx edx, byte [ebp - 0x4f5]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
movzx edx, byte [ebp - 0x60d]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x60c]
movzx edx, byte [ebp + eax - 0x60c]
xor ecx, edx
mov byte [ebp - 0x615], cl
mov al, byte [ebp - 0x69d]
mov byte [ebp - 0x4f5], al
mov cl, byte [ebp - 0x615]
mov byte [ebp - 0x70d], cl
cmp dword [ebp - 0x6f0], 0
jle 0x4a01ac
movsx dx, byte [ebp - 0x70d]
mov eax, dword [ebp - 0x6f0]
mov word [ebp + eax*2 - 0x4ea], dx
jmp 0x49ff41
mov ecx, dword [ebp - 0x6ec]
add ecx, 1
mov dword [ebp - 0x6ec], ecx
mov edx, dword [ebp - 0x6f0]
add edx, 1
mov dword [ebp - 0x6f0], edx
mov eax, dword [ebp - 0x6ec]
add eax, 1
mov dword [ebp - 0x6ec], eax
mov ecx, dword [ebp - 0x6f0]
shl ecx, 1
mov dword [ebp - 0x63c], ecx
mov edx, dword [ebp - 0x500]
add edx, dword [ebp - 0x63c]
movzx eax, byte [edx]
mov dword [ebp - 0x71c], eax
mov dword [ebp - 0x67c], 0xc1
mov ecx, dword [ebp - 0x6f0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x6cc], edx
mov eax, dword [ebp - 0x500]
add eax, dword [ebp - 0x6cc]
movzx ecx, byte [eax]
mov dword [ebp - 0x75c], ecx
mov dword [ebp - 0x718], 0x94
mov edx, dword [ebp - 0x71c]
sub edx, dword [ebp - 0x67c]
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x75c]
sub eax, dword [ebp - 0x718]
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x758]
shl ecx, 4
mov dword [ebp - 0x754], ecx
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0x714], edx
mov eax, dword [ebp - 0x754]
or eax, dword [ebp - 0x714]
mov dword [ebp - 0x6e8], eax
mov cl, byte [ebp - 0x6e8]
mov byte [ebp - 0x69d], cl
movzx edx, byte [ebp - 0x4f5]
mov al, byte [ebp + edx - 0x60c]
mov byte [ebp - 0x74d], al
movzx ecx, byte [ebp - 0x61f]
movzx edx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp - 0x505]
add eax, edx
mov byte [ebp - 0x505], al
mov cl, byte [ebp - 0x61f]
add cl, 1
mov byte [ebp - 0x61f], cl
movzx edx, byte [ebp - 0x505]
movzx eax, byte [ebp - 0x4f5]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x615]
movzx eax, byte [ebp - 0x505]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x61f]
movzx eax, byte [ebp - 0x615]
mov cl, byte [ebp + edx - 0x60c]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x61f]
mov al, byte [ebp - 0x74d]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x74d]
movzx edx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp - 0x60d]
add eax, edx
mov byte [ebp - 0x60d], al
movzx ecx, byte [ebp - 0x69d]
movzx edx, byte [ebp - 0x505]
movzx eax, byte [ebp + edx - 0x60c]
movzx edx, byte [ebp - 0x61f]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x60c]
xor ecx, eax
movzx edx, byte [ebp - 0x615]
movzx eax, byte [ebp + edx - 0x60c]
movzx edx, byte [ebp - 0x4f5]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
movzx edx, byte [ebp - 0x60d]
movzx edx, byte [ebp + edx - 0x60c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x60c]
movzx edx, byte [ebp + eax - 0x60c]
xor ecx, edx
mov byte [ebp - 0x615], cl
mov al, byte [ebp - 0x69d]
mov byte [ebp - 0x4f5], al
mov cl, byte [ebp - 0x615]
mov byte [ebp - 0x70d], cl
cmp dword [ebp - 0x6f0], 0
jle 0x4a0419
movsx dx, byte [ebp - 0x70d]
mov eax, dword [ebp - 0x6f0]
mov word [ebp + eax*2 - 0x4ea], dx
mov ecx, dword [ebp - 0x6f0]
add ecx, 1
mov dword [ebp - 0x6f0], ecx
mov edx, dword [ebp - 0x6ec]
add edx, 1
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebp - 0x6f0]
shl eax, 1
mov dword [ebp - 0x63c], eax
mov ecx, dword [ebp - 0x500]
add ecx, dword [ebp - 0x63c]
movzx edx, byte [ecx]
mov dword [ebp - 0x71c], edx
mov dword [ebp - 0x67c], 0xc1
mov eax, dword [ebp - 0x6f0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x6cc], ecx
mov edx, dword [ebp - 0x500]
add edx, dword [ebp - 0x6cc]
movzx eax, byte [edx]
mov dword [ebp - 0x75c], eax
mov dword [ebp - 0x718], 0x94
mov ecx, dword [ebp - 0x71c]
sub ecx, dword [ebp - 0x67c]
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x75c]
sub edx, dword [ebp - 0x718]
mov dword [ebp - 0x640], edx
mov eax, dword [ebp - 0x758]
shl eax, 4
mov dword [ebp - 0x754], eax
fld dword [0x9cc560]
fstp dword [ebp - 0x70c]
fld dword [0x9cc55c]
fstp dword [ebp - 0x6c8]
fld dword [0x9cc558]
fstp dword [ebp - 0x678]
fld dword [0x9cc554]
fstp dword [ebp - 0x638]
fld dword [0x9cc550]
fstp dword [ebp - 0x708]
fld dword [ebp - 0x6c8]
fmul dword [ebp - 0x708]
fstp dword [ebp - 0x6c8]
fld dword [ebp - 0x638]
fmul dword [ebp - 0x708]
fstp dword [ebp - 0x638]
fld dword [ebp - 0x70c]
fmul dword [ebp - 0x708]
fstp dword [ebp - 0x70c]
fld dword [ebp - 0x6c8]
fsub dword [ebp - 0x708]
fstp dword [ebp - 0x6c8]
fld dword [ebp - 0x6c8]
fmul dword [ebp - 0x708]
fstp dword [ebp - 0x6c8]
fld dword [ebp - 0x6c8]
fld dword [ebp - 0x708]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4a06f6
fld dword [ebp - 0x70c]
fsub dword [ebp - 0x6c8]
fstp dword [ebp - 0x70c]
fld dword [ebp - 0x6c8]
fadd dword [ebp - 0x678]
fstp dword [ebp - 0x6c8]
fld dword [ebp - 0x70c]
fdiv dword [ebp - 0x6c8]
fstp dword [ebp - 0x70c]
fld dword [ebp - 0x638]
fadd dword [ebp - 0x708]
fstp dword [ebp - 0x638]
fld dword [ebp - 0x678]
fsub dword [ebp - 0x638]
fstp dword [ebp - 0x678]
fld dword [ebp - 0x638]
fadd dword [ebp - 0x70c]
fstp dword [ebp - 0x638]
fld dword [ebp - 0x6c8]
fmul dword [ebp - 0x638]
fstp dword [ebp - 0x6c8]
fld dword [ebp - 0x708]
fadd dword [ebp - 0x6c8]
fstp dword [ebp - 0x708]
fld dword [ebp - 0x70c]
fsub dword [ebp - 0x678]
fstp dword [ebp - 0x70c]
fld dword [ebp - 0x678]
fsub dword [ebp - 0x708]
fstp dword [ebp - 0x678]
fld dword [ebp - 0x6c8]
fld dword [ebp - 0x638]
fcompp
fnstsw ax
test ah, 5
jp 0x4a069a
fld dword [ebp - 0x678]
fmul dword [ebp - 0x708]
fstp dword [ebp - 0x678]
fld dword [ebp - 0x6c8]
fsub dword [ebp - 0x638]
fstp dword [ebp - 0x6c8]
fld dword [ebp - 0x708]
fadd dword [ebp - 0x6c8]
fstp dword [ebp - 0x708]
fld dword [ebp - 0x6c8]
fadd dword [ebp - 0x638]
fstp dword [ebp - 0x6c8]
fld dword [ebp - 0x678]
fadd dword [ebp - 0x708]
fstp dword [ebp - 0x678]
jmp 0x4a06f4
fld dword [ebp - 0x6c8]
fdiv dword [ebp - 0x638]
fstp dword [ebp - 0x6c8]
fld dword [ebp - 0x638]
fsub dword [ebp - 0x70c]
fstp dword [ebp - 0x638]
fld dword [ebp - 0x70c]
fmul dword [ebp - 0x678]
fstp dword [ebp - 0x70c]
fld dword [ebp - 0x638]
fadd dword [ebp - 0x70c]
fstp dword [ebp - 0x638]
fld dword [ebp - 0x70c]
fmul dword [ebp - 0x678]
fstp dword [ebp - 0x70c]
jmp 0x4a075c
fld dword [ebp - 0x638]
fsub dword [ebp - 0x70c]
fstp dword [ebp - 0x638]
fld dword [ebp - 0x708]
fmul dword [ebp - 0x6c8]
fstp dword [ebp - 0x708]
fld dword [ebp - 0x638]
fmul dword [ebp - 0x70c]
fstp dword [ebp - 0x638]
fld dword [ebp - 0x638]
fsub dword [ebp - 0x70c]
fstp dword [ebp - 0x638]
fld dword [ebp - 0x6c8]
fmul dword [ebp - 0x638]
fstp dword [ebp - 0x6c8]
mov ecx, dword [ebp - 0x640]
mov dword [ebp - 0x714], ecx
mov edx, dword [ebp - 0x754]
or edx, dword [ebp - 0x714]
mov dword [ebp - 0x6e8], edx
mov al, byte [ebp - 0x6e8]
mov byte [ebp - 0x69d], al
movzx ecx, byte [ebp - 0x4f5]
mov dl, byte [ebp + ecx - 0x60c]
mov byte [ebp - 0x74d], dl
movzx eax, byte [ebp - 0x61f]
movzx ecx, byte [ebp + eax - 0x60c]
movzx edx, byte [ebp - 0x505]
add edx, ecx
mov byte [ebp - 0x505], dl
mov al, byte [ebp - 0x61f]
add al, 1
mov byte [ebp - 0x61f], al
movzx ecx, byte [ebp - 0x505]
movzx edx, byte [ebp - 0x4f5]
mov al, byte [ebp + ecx - 0x60c]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x615]
movzx edx, byte [ebp - 0x505]
mov al, byte [ebp + ecx - 0x60c]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x61f]
movzx edx, byte [ebp - 0x615]
mov al, byte [ebp + ecx - 0x60c]
mov byte [ebp + edx - 0x60c], al
movzx ecx, byte [ebp - 0x61f]
mov dl, byte [ebp - 0x74d]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x74d]
movzx ecx, byte [ebp + eax - 0x60c]
movzx edx, byte [ebp - 0x60d]
add edx, ecx
mov byte [ebp - 0x60d], dl
movzx eax, byte [ebp - 0x69d]
movzx ecx, byte [ebp - 0x505]
movzx edx, byte [ebp + ecx - 0x60c]
movzx ecx, byte [ebp - 0x61f]
movzx ecx, byte [ebp + ecx - 0x60c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x60c]
xor eax, edx
movzx ecx, byte [ebp - 0x615]
movzx edx, byte [ebp + ecx - 0x60c]
movzx ecx, byte [ebp - 0x4f5]
movzx ecx, byte [ebp + ecx - 0x60c]
add edx, ecx
movzx ecx, byte [ebp - 0x60d]
movzx ecx, byte [ebp + ecx - 0x60c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x60c]
movzx ecx, byte [ebp + edx - 0x60c]
xor eax, ecx
mov byte [ebp - 0x615], al
mov dl, byte [ebp - 0x69d]
mov byte [ebp - 0x4f5], dl
mov al, byte [ebp - 0x615]
mov byte [ebp - 0x70d], al
cmp dword [ebp - 0x6f0], 0
jle 0x4a08fd
movsx cx, byte [ebp - 0x70d]
mov edx, dword [ebp - 0x6f0]
mov word [ebp + edx*2 - 0x4ea], cx
mov eax, dword [ebp - 0x6f0]
add eax, 1
mov dword [ebp - 0x6f0], eax
mov ecx, dword [ebp - 0x6ec]
add ecx, 1
mov dword [ebp - 0x6ec], ecx
fld qword [0x9cc548]
fstp qword [ebp - 0x6c4]
fld qword [0x9cc540]
fstp qword [ebp - 0x674]
fld qword [0x9cc538]
fstp qword [ebp - 0x634]
fld qword [0x9cc530]
fstp qword [ebp - 0x704]
fld qword [0x9cc528]
fstp qword [ebp - 0x6bc]
fld qword [0x9cc520]
fstp qword [ebp - 0x72c]
fld qword [0x9cc518]
fstp qword [ebp - 0x654]
fld qword [ebp - 0x6c4]
fadd qword [ebp - 0x654]
fstp qword [ebp - 0x6c4]
fld qword [ebp - 0x72c]
fadd qword [ebp - 0x654]
fstp qword [ebp - 0x72c]
fld qword [ebp - 0x6bc]
fmul qword [ebp - 0x654]
fstp qword [ebp - 0x6bc]
fld qword [ebp - 0x72c]
fadd qword [ebp - 0x654]
fstp qword [ebp - 0x72c]
fld qword [ebp - 0x704]
fsub qword [ebp - 0x654]
fstp qword [ebp - 0x704]
fld qword [ebp - 0x674]
fsub qword [ebp - 0x654]
fstp qword [ebp - 0x674]
fld qword [ebp - 0x72c]
fsub qword [ebp - 0x654]
fstp qword [ebp - 0x72c]
fld qword [ebp - 0x654]
fcomp qword [ebp - 0x6bc]
fnstsw ax
test ah, 0x41
jne 0x4a0a87
fld qword [ebp - 0x654]
fdiv qword [ebp - 0x6c4]
fstp qword [ebp - 0x654]
fld qword [ebp - 0x72c]
fdiv qword [ebp - 0x654]
fstp qword [ebp - 0x72c]
fld qword [ebp - 0x72c]
fmul qword [ebp - 0x654]
fstp qword [ebp - 0x72c]
fld qword [ebp - 0x674]
fdiv qword [ebp - 0x634]
fstp qword [ebp - 0x674]
fld qword [ebp - 0x654]
fdiv qword [ebp - 0x6c4]
fstp qword [ebp - 0x654]
fld qword [ebp - 0x6bc]
fsub qword [ebp - 0x72c]
fstp qword [ebp - 0x6bc]
fld qword [ebp - 0x654]
fdiv qword [ebp - 0x6c4]
fstp qword [ebp - 0x654]
jmp 0x4a0b13
fld qword [ebp - 0x634]
fadd qword [ebp - 0x6bc]
fstp qword [ebp - 0x634]
fld qword [ebp - 0x6c4]
fsub qword [ebp - 0x634]
fstp qword [ebp - 0x6c4]
fld qword [ebp - 0x634]
fmul qword [ebp - 0x6bc]
fstp qword [ebp - 0x634]
fld qword [ebp - 0x634]
fmul qword [ebp - 0x6bc]
fstp qword [ebp - 0x634]
fld qword [ebp - 0x654]
fsub qword [ebp - 0x674]
fstp qword [ebp - 0x654]
fld qword [ebp - 0x634]
fmul qword [ebp - 0x6bc]
fstp qword [ebp - 0x634]
fld qword [ebp - 0x6bc]
fsub qword [ebp - 0x654]
fstp qword [ebp - 0x6bc]
mov edx, dword [ebp - 0x6f0]
shl edx, 1
mov dword [ebp - 0x63c], edx
mov eax, dword [ebp - 0x500]
add eax, dword [ebp - 0x63c]
movzx ecx, byte [eax]
mov dword [ebp - 0x71c], ecx
mov dword [ebp - 0x67c], 0xc1
mov edx, dword [ebp - 0x6f0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x6cc], eax
fld qword [0x9cc510]
fstp qword [ebp - 0x68c]
fld qword [0x9cc508]
fstp qword [ebp - 0x6d4]
fld qword [0x9cc500]
fstp qword [ebp - 0x724]
fld qword [0x9cc4f8]
fstp qword [ebp - 0x64c]
fld qword [0x9cc4f0]
fstp qword [ebp - 0x684]
fld qword [ebp - 0x724]
fsub qword [ebp - 0x684]
fstp qword [ebp - 0x724]
fld qword [ebp - 0x6d4]
fmul qword [ebp - 0x684]
fstp qword [ebp - 0x6d4]
fld qword [ebp - 0x64c]
fadd qword [ebp - 0x684]
fstp qword [ebp - 0x64c]
fld qword [ebp - 0x68c]
fmul qword [ebp - 0x684]
fstp qword [ebp - 0x68c]
fld qword [ebp - 0x68c]
fsub qword [ebp - 0x684]
fstp qword [ebp - 0x68c]
fld qword [ebp - 0x684]
fcomp qword [ebp - 0x68c]
fnstsw ax
test ah, 5
jp 0x4a0c5f
fld qword [ebp - 0x724]
fsub qword [ebp - 0x684]
fstp qword [ebp - 0x724]
fld qword [ebp - 0x724]
fmul qword [ebp - 0x684]
fstp qword [ebp - 0x724]
fld qword [ebp - 0x64c]
fsub qword [ebp - 0x68c]
fstp qword [ebp - 0x64c]
fld qword [ebp - 0x64c]
fsub qword [ebp - 0x68c]
fstp qword [ebp - 0x64c]
fld qword [ebp - 0x6d4]
fsub qword [ebp - 0x64c]
fstp qword [ebp - 0x6d4]
mov ecx, dword [ebp - 0x500]
add ecx, dword [ebp - 0x6cc]
movzx edx, byte [ecx]
mov dword [ebp - 0x75c], edx
jmp 0x4a0ddc
fld qword [ebp - 0x684]
fadd qword [ebp - 0x6d4]
fstp qword [ebp - 0x684]
fld qword [ebp - 0x724]
fmul qword [ebp - 0x684]
fstp qword [ebp - 0x724]
fld qword [ebp - 0x6d4]
fadd qword [ebp - 0x64c]
fstp qword [ebp - 0x6d4]
fld qword [ebp - 0x724]
fdiv qword [ebp - 0x684]
fstp qword [ebp - 0x724]
fld qword [ebp - 0x6d4]
fadd qword [ebp - 0x64c]
fstp qword [ebp - 0x6d4]
fld qword [ebp - 0x6d4]
fdiv qword [ebp - 0x724]
fstp qword [ebp - 0x6d4]
fld qword [ebp - 0x64c]
fdiv qword [ebp - 0x684]
fstp qword [ebp - 0x64c]
fld qword [ebp - 0x6d4]
fdiv qword [ebp - 0x724]
fstp qword [ebp - 0x6d4]
fld qword [ebp - 0x6d4]
fdiv qword [ebp - 0x724]
fstp qword [ebp - 0x6d4]
fld qword [ebp - 0x6d4]
fmul qword [ebp - 0x724]
fstp qword [ebp - 0x6d4]
fld qword [ebp - 0x724]
fcomp qword [ebp - 0x68c]
fnstsw ax
test ah, 0x41
jne 0x4a0d82
fld qword [ebp - 0x6d4]
fmul qword [ebp - 0x64c]
fstp qword [ebp - 0x6d4]
fld qword [ebp - 0x68c]
fsub qword [ebp - 0x724]
fstp qword [ebp - 0x68c]
fld qword [ebp - 0x724]
fmul qword [ebp - 0x684]
fstp qword [ebp - 0x724]
fld qword [ebp - 0x724]
fadd qword [ebp - 0x684]
fstp qword [ebp - 0x724]
fld qword [ebp - 0x724]
fsub qword [ebp - 0x684]
fstp qword [ebp - 0x724]
jmp 0x4a0ddc
fld qword [ebp - 0x6d4]
fdiv qword [ebp - 0x64c]
fstp qword [ebp - 0x6d4]
fld qword [ebp - 0x68c]
fsub qword [ebp - 0x724]
fstp qword [ebp - 0x68c]
fld qword [ebp - 0x68c]
fmul qword [ebp - 0x724]
fstp qword [ebp - 0x68c]
fld qword [ebp - 0x64c]
fadd qword [ebp - 0x68c]
fstp qword [ebp - 0x64c]
fld qword [ebp - 0x68c]
fmul qword [ebp - 0x724]
fstp qword [ebp - 0x68c]
mov dword [ebp - 0x718], 0x94
mov eax, dword [ebp - 0x71c]
sub eax, dword [ebp - 0x67c]
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x75c]
sub ecx, dword [ebp - 0x718]
mov dword [ebp - 0x640], ecx
mov edx, dword [ebp - 0x758]
shl edx, 4
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x640]
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 0x754]
or ecx, dword [ebp - 0x714]
mov dword [ebp - 0x6e8], ecx
mov dl, byte [ebp - 0x6e8]
mov byte [ebp - 0x69d], dl
movzx eax, byte [ebp - 0x4f5]
mov cl, byte [ebp + eax - 0x60c]
mov byte [ebp - 0x74d], cl
movzx edx, byte [ebp - 0x61f]
movzx eax, byte [ebp + edx - 0x60c]
movzx ecx, byte [ebp - 0x505]
add ecx, eax
mov byte [ebp - 0x505], cl
mov dl, byte [ebp - 0x61f]
add dl, 1
mov byte [ebp - 0x61f], dl
movzx eax, byte [ebp - 0x505]
movzx ecx, byte [ebp - 0x4f5]
mov dl, byte [ebp + eax - 0x60c]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x615]
movzx ecx, byte [ebp - 0x505]
mov dl, byte [ebp + eax - 0x60c]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x61f]
movzx ecx, byte [ebp - 0x615]
mov dl, byte [ebp + eax - 0x60c]
mov byte [ebp + ecx - 0x60c], dl
movzx eax, byte [ebp - 0x61f]
mov cl, byte [ebp - 0x74d]
mov byte [ebp + eax - 0x60c], cl
movzx edx, byte [ebp - 0x74d]
movzx eax, byte [ebp + edx - 0x60c]
movzx ecx, byte [ebp - 0x60d]
add ecx, eax
mov byte [ebp - 0x60d], cl
movzx edx, byte [ebp - 0x69d]
movzx eax, byte [ebp - 0x505]
movzx ecx, byte [ebp + eax - 0x60c]
movzx eax, byte [ebp - 0x61f]
movzx eax, byte [ebp + eax - 0x60c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x60c]
xor edx, ecx
movzx eax, byte [ebp - 0x615]
movzx ecx, byte [ebp + eax - 0x60c]
movzx eax, byte [ebp - 0x4f5]
movzx eax, byte [ebp + eax - 0x60c]
add ecx, eax
movzx eax, byte [ebp - 0x60d]
movzx eax, byte [ebp + eax - 0x60c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x60c]
movzx eax, byte [ebp + ecx - 0x60c]
xor edx, eax
mov byte [ebp - 0x615], dl
mov cl, byte [ebp - 0x69d]
mov byte [ebp - 0x4f5], cl
mov dl, byte [ebp - 0x615]
mov byte [ebp - 0x70d], dl
cmp dword [ebp - 0x6f0], 0
jle 0x4a0fc7
movsx ax, byte [ebp - 0x70d]
mov ecx, dword [ebp - 0x6f0]
mov word [ebp + ecx*2 - 0x4ea], ax
xor edx, edx
mov word [ebp - 0x4c8], dx
jmp 0x4a1008
mov dword [ebp - 0x78c], 0
jmp 0x4a0fed
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
cmp dword [ebp - 0x78c], 0x11
jge 0x4a1008
xor ecx, ecx
mov edx, dword [ebp - 0x78c]
mov word [ebp + edx*2 - 0x4e8], cx
jmp 0x4a0fde
push 1
lea eax, [ebp - 0x4e8]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x8d8]
call fcn.0048a990
mov dword [ebp - 0x298], eax
lea edx, [ebp - 0x2a0]
push edx
push 0
mov eax, dword [ebp - 0x2ac]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x8d8]
mov eax, dword [edx + 0x10]
call eax
test eax, eax
je 0x4a139f
mov ecx, dword [ebp - 0x2a0]
shr ecx, 2
mov dword [ebp - 0x790], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x790]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0095f977
add esp, 4
mov dword [ebp - 0x818], eax
mov eax, dword [ebp - 0x818]
mov dword [ebp - 0x2ac], eax
lea ecx, [ebp - 0x2a0]
push ecx
mov edx, dword [ebp - 0x790]
shl edx, 2
push edx
mov eax, dword [ebp - 0x2ac]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x8d8]
mov eax, dword [edx + 0x10]
call eax
test eax, eax
je 0x4a1384
mov dword [ebp - 0x794], 0
jmp 0x4a10d7
mov ecx, dword [ebp - 0x794]
add ecx, 1
mov dword [ebp - 0x794], ecx
mov edx, dword [ebp - 0x794]
cmp edx, dword [ebp - 0x790]
jae 0x4a1384
push 0x104
lea eax, [ebp - 0x25c]
push eax
mov ecx, dword [ebp - 0x794]
mov edx, dword [ebp - 0x2ac]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x8d8]
mov edx, dword [ecx]
call edx
test eax, eax
je 0x4a137f
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x808]
call fcn.00430b20
mov byte [ebp - 4], 1
push fcn.0096125e
lea ecx, [ebp - 0x81c]
push ecx
lea ecx, [ebp - 0x808]
call fcn.00449b80
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x820]
push eax
lea ecx, [ebp - 0x808]
call fcn.00449ba0
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x824]
push edx
lea ecx, [ebp - 0x808]
call fcn.00449b80
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x828]
push ecx
call fcn.00449c20
add esp, 0x14
lea edx, [ebp - 0x82c]
push edx
lea ecx, [ebp - 0x808]
call fcn.00449ba0
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x830]
push ecx
lea ecx, [ebp - 0x808]
call fcn.00449b80
mov edx, dword [eax]
push edx
lea ecx, [ebp - 0x7b0]
call fcn.004927c0
mov byte [ebp - 4], 2
push 0x5c
lea ecx, [ebp - 0x7b0]
call fcn.00471b40
push eax
call fcn.009612f0
add esp, 8
mov dword [ebp - 0x7b4], eax
cmp dword [ebp - 0x7b4], 0
jne 0x4a1201
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7b0]
call fcn.004b4c60
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x808]
call fcn.0042f920
jmp 0x4a10c8
lea ecx, [ebp - 0x7ec]
call fcn.00473c40
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x264]
cdq
push 0
push 4
push edx
push eax
call fcn.00960520
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x7ec]
call fcn.004737c0
mov ecx, dword [ebp - 0x7b4]
add ecx, 1
push ecx
lea ecx, [ebp - 0x84c]
call fcn.00496ba0
mov byte [ebp - 4], 4
lea edx, [ebp - 0x84c]
push edx
lea ecx, [ebp - 0x7ec]
call fcn.00473df0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x84c]
call fcn.004b4c60
lea ecx, [ebp - 0x7ec]
call fcn.00473870
mov dword [ebp - 0x80c], 0
jmp 0x4a1295
mov eax, dword [ebp - 0x80c]
add eax, 1
mov dword [ebp - 0x80c], eax
lea ecx, [ebp - 0x1c]
call fcn.00491fe0
cmp dword [ebp - 0x80c], eax
jae 0x4a1352
mov dword [ebp - 0x810], 0
jmp 0x4a12c4
mov ecx, dword [ebp - 0x810]
add ecx, 1
mov dword [ebp - 0x810], ecx
mov edx, dword [ebp - 0x80c]
push edx
lea ecx, [ebp - 0x1c]
call fcn.0045b8b0
mov ecx, dword [eax]
add ecx, 4
call fcn.00491fe0
cmp dword [ebp - 0x810], eax
jae 0x4a134d
lea ecx, [ebp - 0x7ec]
call fcn.0044d0f0
push eax
mov eax, dword [ebp - 0x810]
push eax
mov ecx, dword [ebp - 0x80c]
push ecx
lea ecx, [ebp - 0x1c]
call fcn.0045b8b0
mov ecx, dword [eax]
add ecx, 4
call fcn.0045b8b0
mov ecx, dword [eax]
call fcn.00473f90
mov byte [ebp - 0x811], al
movzx edx, byte [ebp - 0x811]
test edx, edx
je 0x4a1348
mov eax, dword [ebp - 0x80c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.0045b8b0
mov ecx, dword [eax]
mov edx, dword [ebp - 0x2a4]
or edx, dword [ecx]
mov dword [ebp - 0x2a4], edx
jmp 0x4a12b5
jmp 0x4a1286
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x7ec]
call fcn.0045b9b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7b0]
call fcn.004b4c60
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x808]
call fcn.0042f920
jmp 0x4a10c8
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x850]
push ecx
call fcn.0095f961
add esp, 4
cmp dword [ebp - 0x298], 0
je 0x4a13c0
push 0
lea edx, [ebp - 0x4e8]
push edx
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x8d8]
call fcn.0048a990
mov dword [ebp - 0x8d0], 0x22
lea ecx, [ebp - 0x4e8]
mov dword [ebp - 0x8cc], ecx
cmp dword [ebp - 0x8d0], 0
je 0x4a1408
mov edx, dword [ebp - 0x8cc]
mov byte [edx], 0
mov eax, dword [ebp - 0x8cc]
add eax, 1
mov dword [ebp - 0x8cc], eax
mov ecx, dword [ebp - 0x8d0]
sub ecx, 1
mov dword [ebp - 0x8d0], ecx
jmp 0x4a13d6
mov edx, dword [ebp - 0x28]
push edx
call dword [0xa01a30]
lea eax, [ebp - 0x1c]
push eax
call fcn.00496b30
add esp, 4
mov ecx, dword [ebp - 0x2a4]
mov dword [ebp - 0x854], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.0045b9e0
mov eax, dword [ebp - 0x854]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret