Function at 0x497961
Capabilities:
Encrypt data using speck
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57e009
mov eax, dword fs:[0]
push eax
mov eax, 0x1814
call fcn.0051c460
mov eax, dword [0x59e080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x810], ecx
push 0x208
push 0
lea eax, [ebp - 0x4b0]
push eax
call fcn.0055e280
add esp, 0xc
push 0x208
push 0
lea ecx, [ebp - 0x2a8]
push ecx
call fcn.0055e280
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x6ec], 0
mov dword [ebp - 0x6f0], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xbac], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xb58], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xb58], xmm0
jmp 0x49788b
movsd xmm0, qword [ebp - 0xb58]
addsd xmm0, qword [0x580ac0]
movsd qword [ebp - 0xb58], xmm0
movsd xmm0, qword [0x582108]
comisd xmm0, xmmword [ebp - 0xb58]
jbe 0x49793c
movsd xmm0, qword [0x582038]
mulsd xmm0, qword [ebp - 0xb58]
mulsd xmm0, qword [ebp - 0xb58]
movsd xmm1, qword [ebp - 0xb58]
mulsd xmm1, qword [ebp - 0xb58]
subsd xmm0, xmm1
movsd xmm1, qword [0x581e60]
mulsd xmm1, qword [ebp - 0xb58]
mulsd xmm1, qword [ebp - 0xb58]
addsd xmm1, qword [0x581ed8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xbac]
movsd qword [ebp - 0xbac], xmm0
movsd xmm0, qword [ebp - 0xbac]
comisd xmm0, xmmword [0x581fb8]
jbe 0x497937
movsd xmm0, qword [0x581e00]
mulsd xmm0, qword [ebp - 0xb58]
movsd xmm1, qword [ebp - 0xbac]
subsd xmm1, xmm0
movsd qword [ebp - 0xbac], xmm1
jmp 0x497873
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xbac]
jbe 0x497986
pop esi
mov al, byte [0x9e5fa563]
pop edi
mov al, byte [0x9665a463]
pushfd
cdq
bound ebx, qword [eax - 0x5e9d609c]
xchg esi, eax
jns 0x4979ac
dec ecx
push ecx
pop ebp
imul edi, dword [ecx + 0x73], 0x4a
outsb dx, byte [esi]
xor eax, 0x762a585a
jge 0x4979cf
jbe 0x4979cf
inc ebx
pushal
dec eax
imul esi, dword [edx], 0x4f26652e
inc ebp
xor dword [ecx + ebp*8 - 0x24], ebx
push cs
add byte [eax], al
mov dword [ebp - 0x6ec], 0x497949
mov dword [ebp - 0x6f0], 0x497961
mov eax, dword [ebp - 0x6ec]
mov dword [ebp - 0xa3c], eax
mov ecx, dword [ebp - 0x6f0]
mov dword [ebp - 0x12cc], ecx
mov byte [ebp - 0x9bc], 0x24
mov dword [ebp - 0x830], 0
jmp 0x4979d4
mov edx, dword [ebp - 0x830]
add edx, 1
mov dword [ebp - 0x830], edx
xchg ebp, eax
sal bh, 1
invalid
cmp dword [ebp - 0x830], 0x100
jae 0x4979f5
mov eax, dword [ebp - 0x830]
mov cl, byte [ebp - 0x830]
mov byte [ebp + eax - 0x1614], cl
jmp 0x4979c5
mov dword [ebp - 0xaa4], 0
mov byte [ebp - 0x737], 0
mov dword [ebp - 0x830], 0xff
jmp 0x497a21
mov edx, dword [ebp - 0x830]
sub edx, 1
mov dword [ebp - 0x830], edx
cmp dword [ebp - 0x830], 0
jbe 0x497c91
mov dword [ebp - 0xca0], 0
mov dword [ebp - 0xbc0], 1
mov eax, dword [ebp - 0xbc0]
cmp eax, dword [ebp - 0x830]
jae 0x497a62
mov ecx, dword [ebp - 0xbc0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xbc0], edx
jmp 0x497a42
mov eax, dword [ebp - 0xaa4]
mov dword [ebp - 0xe60], eax
cmp dword [ebp - 0xe60], 3
ja case.default.0x497a81
mov ecx, dword [ebp - 0xe60]
jmp dword [ecx*4 + 0x4a6520]
movzx edx, byte [ebp - 0x737]
movzx ebx, byte [ebp + edx - 0x1614]
movsd xmm0, qword [ebp - 0xbac]
call fcn.0051c6e0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x737], bl
jmp 0x497b6a
movzx eax, byte [ebp - 0x737]
movzx ebx, byte [ebp + eax - 0x1614]
movsd xmm0, qword [ebp - 0xbac]
call fcn.0051c6e0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x737], bl
jmp 0x497b6a
movzx ecx, byte [ebp - 0x737]
movzx ebx, byte [ebp + ecx - 0x1614]
movsd xmm0, qword [ebp - 0xbac]
call fcn.0051c6e0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x737], bl
jmp 0x497b6a
movzx edx, byte [ebp - 0x737]
movzx ebx, byte [ebp + edx - 0x1614]
movsd xmm0, qword [ebp - 0xbac]
call fcn.0051c6e0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x737], bl
jmp 0x497b6a
movzx eax, byte [ebp - 0x737]
movzx ecx, byte [ebp + eax - 0x1614]
mov edx, dword [ebp - 0x12cc]
add edx, dword [ebp - 0xaa4]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x737], cl
mov ecx, dword [ebp - 0xaa4]
add ecx, 1
mov dword [ebp - 0xaa4], ecx
movzx edx, byte [ebp - 0x9bc]
cmp dword [ebp - 0xaa4], edx
jb 0x497ba8
mov dword [ebp - 0xaa4], 0
movzx eax, byte [ebp - 0x9bc]
movzx ecx, byte [ebp - 0x737]
add ecx, eax
mov byte [ebp - 0x737], cl
movzx edx, byte [ebp - 0x737]
and edx, dword [ebp - 0xbc0]
mov dword [ebp - 0xa78], edx
mov eax, dword [ebp - 0xca0]
add eax, 1
mov dword [ebp - 0xca0], eax
cmp dword [ebp - 0xca0], 0xb
jbe 0x497be7
mov eax, dword [ebp - 0xa78]
xor edx, edx
div dword [ebp - 0x830]
mov dword [ebp - 0xa78], edx
mov ecx, dword [ebp - 0xa78]
cmp ecx, dword [ebp - 0x830]
ja 0x497a62
mov edx, dword [ebp - 0x830]
cmp edx, dword [ebp - 0xa78]
je 0x497c8c
mov eax, dword [ebp - 0xa78]
movzx ecx, byte [ebp + eax - 0x1614]
mov edx, dword [ebp - 0x830]
movzx eax, byte [ebp + edx - 0x1614]
xor eax, ecx
mov ecx, dword [ebp - 0x830]
mov byte [ebp + ecx - 0x1614], al
mov edx, dword [ebp - 0x830]
movzx eax, byte [ebp + edx - 0x1614]
mov ecx, dword [ebp - 0xa78]
movzx edx, byte [ebp + ecx - 0x1614]
xor edx, eax
mov eax, dword [ebp - 0xa78]
mov byte [ebp + eax - 0x1614], dl
mov ecx, dword [ebp - 0xa78]
movzx edx, byte [ebp + ecx - 0x1614]
mov eax, dword [ebp - 0x830]
movzx ecx, byte [ebp + eax - 0x1614]
xor ecx, edx
mov edx, dword [ebp - 0x830]
mov byte [ebp + edx - 0x1614], cl
jmp 0x497a12
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x1614]
mov byte [ebp - 0x713], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x1614]
mov byte [ebp - 0x720], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x1614]
mov byte [ebp - 0x73b], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x1614]
mov byte [ebp - 0x721], cl
movzx edx, byte [ebp - 0x737]
mov al, byte [ebp + edx - 0x1614]
mov byte [ebp - 0x724], al
mov dword [ebp - 0xe30], 0x18
cmp dword [ebp - 0xe30], 2
jle 0x49880d
mov ecx, dword [ebp - 0xe30]
and ecx, 1
jne 0x49880d
mov dword [ebp - 0x7a4], 0
mov dword [ebp - 0x948], 0
mov edx, dword [ebp - 0x948]
add edx, 1
mov dword [ebp - 0x948], edx
mov dword [ebp - 0xa7c], 0
mov eax, dword [ebp - 0x7a4]
shl eax, 1
mov dword [ebp - 0xa7c], eax
mov dword [ebp - 0xa10], 0
mov ecx, dword [ebp - 0xa3c]
add ecx, dword [ebp - 0xa7c]
movzx edx, byte [ecx]
add edx, dword [ebp - 0xa10]
mov dword [ebp - 0xa10], edx
mov dword [ebp - 0xa14], 0
mov eax, dword [ebp - 0xa14]
add eax, 0x59
mov dword [ebp - 0xa14], eax
mov dword [ebp - 0xa40], 0
mov ecx, dword [ebp - 0x7a4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa40], edx
mov dword [ebp - 0xa18], 0
mov eax, dword [ebp - 0xa3c]
add eax, dword [ebp - 0xa40]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0xa18]
mov dword [ebp - 0xa18], ecx
mov dword [ebp - 0xa1c], 0
mov edx, dword [ebp - 0xa1c]
add edx, 0x96
mov dword [ebp - 0xa1c], edx
mov dword [ebp - 0xa20], 0
mov eax, dword [ebp - 0xa10]
sub eax, dword [ebp - 0xa14]
add eax, dword [ebp - 0xa20]
mov dword [ebp - 0xa20], eax
mov dword [ebp - 0xa24], 0
mov ecx, dword [ebp - 0xa18]
sub ecx, dword [ebp - 0xa1c]
add ecx, dword [ebp - 0xa24]
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0xa58], 0
mov edx, dword [ebp - 0xa20]
shl edx, 4
mov dword [ebp - 0xa58], edx
mov dword [ebp - 0xa5c], 0
mov eax, dword [ebp - 0xa24]
mov dword [ebp - 0xa5c], eax
mov dword [ebp - 0xa60], 0
mov ecx, dword [ebp - 0xa58]
or ecx, dword [ebp - 0xa5c]
mov dword [ebp - 0xa60], ecx
mov byte [ebp - 0x73a], 0
mov dl, byte [ebp - 0xa60]
mov byte [ebp - 0x73a], dl
mov byte [ebp - 0x73c], 0
movzx eax, byte [ebp - 0x724]
mov cl, byte [ebp + eax - 0x1614]
mov byte [ebp - 0x73c], cl
movzx edx, byte [ebp - 0x713]
movzx eax, byte [ebp + edx - 0x1614]
mov dword [ebp - 0x12d0], eax
mov cl, byte [ebp - 0x713]
add cl, 1
mov byte [ebp - 0x713], cl
movzx edx, byte [ebp - 0x720]
add edx, dword [ebp - 0x12d0]
mov byte [ebp - 0x720], dl
movzx eax, byte [ebp - 0x720]
movzx ecx, byte [ebp - 0x724]
mov dl, byte [ebp + eax - 0x1614]
mov byte [ebp + ecx - 0x1614], dl
movzx eax, byte [ebp - 0x721]
movzx ecx, byte [ebp - 0x720]
mov dl, byte [ebp + eax - 0x1614]
mov byte [ebp + ecx - 0x1614], dl
movzx eax, byte [ebp - 0x713]
movzx ecx, byte [ebp - 0x721]
mov dl, byte [ebp + eax - 0x1614]
mov byte [ebp + ecx - 0x1614], dl
movzx eax, byte [ebp - 0x713]
mov cl, byte [ebp - 0x73c]
mov byte [ebp + eax - 0x1614], cl
movzx edx, byte [ebp - 0x73c]
movzx eax, byte [ebp + edx - 0x1614]
movzx ecx, byte [ebp - 0x73b]
add ecx, eax
mov byte [ebp - 0x73b], cl
movzx edx, byte [ebp - 0x73a]
movzx eax, byte [ebp - 0x720]
movzx ecx, byte [ebp + eax - 0x1614]
movzx eax, byte [ebp - 0x713]
movzx eax, byte [ebp + eax - 0x1614]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1614]
xor edx, ecx
movzx eax, byte [ebp - 0x721]
movzx ecx, byte [ebp + eax - 0x1614]
movzx eax, byte [ebp - 0x724]
movzx eax, byte [ebp + eax - 0x1614]
add ecx, eax
movzx eax, byte [ebp - 0x73b]
movzx eax, byte [ebp + eax - 0x1614]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1614]
movzx eax, byte [ebp + ecx - 0x1614]
xor edx, eax
mov byte [ebp - 0x721], dl
mov cl, byte [ebp - 0x73a]
mov byte [ebp - 0x724], cl
mov dl, byte [ebp - 0x721]
mov byte [ebp - 0x769], dl
cmp dword [ebp - 0x7a4], 0
jle 0x49802a
movsx ax, byte [ebp - 0x769]
mov ecx, dword [ebp - 0x7a4]
mov word [ebp + ecx*2 - 0xa2], ax
mov edx, dword [ebp - 0x948]
add edx, 5
mov dword [ebp - 0x948], edx
mov eax, dword [ebp - 0x7a4]
add eax, 1
mov dword [ebp - 0xc84], eax
jmp 0x498059
mov ecx, dword [ebp - 0xc84]
add ecx, 1
mov dword [ebp - 0xc84], ecx
mov edx, dword [ebp - 0xc84]
cmp edx, dword [ebp - 0x948]
jge 0x4982c3
mov eax, dword [ebp - 0x7a4]
add eax, 1
mov dword [ebp - 0x7a4], eax
mov ecx, dword [ebp - 0x7a4]
shl ecx, 1
mov dword [ebp - 0xa7c], ecx
mov edx, dword [ebp - 0xa3c]
add edx, dword [ebp - 0xa7c]
movzx eax, byte [edx]
mov dword [ebp - 0xa10], eax
mov dword [ebp - 0xa14], 0x59
mov ecx, dword [ebp - 0x7a4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa40], edx
mov eax, dword [ebp - 0xa3c]
add eax, dword [ebp - 0xa40]
movzx ecx, byte [eax]
mov dword [ebp - 0xa18], ecx
mov dword [ebp - 0xa1c], 0x96
mov edx, dword [ebp - 0xa10]
sub edx, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa18]
sub eax, dword [ebp - 0xa1c]
mov dword [ebp - 0xa24], eax
mov ecx, dword [ebp - 0xa20]
shl ecx, 4
mov dword [ebp - 0xa58], ecx
mov edx, dword [ebp - 0xa24]
mov dword [ebp - 0xa5c], edx
mov eax, dword [ebp - 0xa58]
or eax, dword [ebp - 0xa5c]
mov dword [ebp - 0xa60], eax
mov cl, byte [ebp - 0xa60]
mov byte [ebp - 0x73a], cl
movzx edx, byte [ebp - 0x724]
mov al, byte [ebp + edx - 0x1614]
mov byte [ebp - 0x73c], al
movzx ecx, byte [ebp - 0x713]
movzx edx, byte [ebp + ecx - 0x1614]
mov dword [ebp - 0x12d4], edx
mov al, byte [ebp - 0x713]
add al, 1
mov byte [ebp - 0x713], al
movzx ecx, byte [ebp - 0x720]
add ecx, dword [ebp - 0x12d4]
mov byte [ebp - 0x720], cl
movzx edx, byte [ebp - 0x720]
movzx eax, byte [ebp - 0x724]
mov cl, byte [ebp + edx - 0x1614]
mov byte [ebp + eax - 0x1614], cl
movzx edx, byte [ebp - 0x721]
movzx eax, byte [ebp - 0x720]
mov cl, byte [ebp + edx - 0x1614]
mov byte [ebp + eax - 0x1614], cl
movzx edx, byte [ebp - 0x713]
movzx eax, byte [ebp - 0x721]
mov cl, byte [ebp + edx - 0x1614]
mov byte [ebp + eax - 0x1614], cl
movzx edx, byte [ebp - 0x713]
mov al, byte [ebp - 0x73c]
mov byte [ebp + edx - 0x1614], al
movzx ecx, byte [ebp - 0x73c]
movzx edx, byte [ebp + ecx - 0x1614]
movzx eax, byte [ebp - 0x73b]
add eax, edx
mov byte [ebp - 0x73b], al
movzx ecx, byte [ebp - 0x73a]
movzx edx, byte [ebp - 0x720]
movzx eax, byte [ebp + edx - 0x1614]
movzx edx, byte [ebp - 0x713]
movzx edx, byte [ebp + edx - 0x1614]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1614]
xor ecx, eax
movzx edx, byte [ebp - 0x721]
movzx eax, byte [ebp + edx - 0x1614]
movzx edx, byte [ebp - 0x724]
movzx edx, byte [ebp + edx - 0x1614]
add eax, edx
movzx edx, byte [ebp - 0x73b]
movzx edx, byte [ebp + edx - 0x1614]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1614]
movzx edx, byte [ebp + eax - 0x1614]
xor ecx, edx
mov byte [ebp - 0x721], cl
mov al, byte [ebp - 0x73a]
mov byte [ebp - 0x724], al
mov cl, byte [ebp - 0x721]
mov byte [ebp - 0x769], cl
cmp dword [ebp - 0x7a4], 0
jle 0x4982be
movsx dx, byte [ebp - 0x769]
mov eax, dword [ebp - 0x7a4]
mov word [ebp + eax*2 - 0xa2], dx
jmp 0x49804a
mov ecx, dword [ebp - 0x948]
add ecx, 1
mov dword [ebp - 0x948], ecx
mov edx, dword [ebp - 0x948]
add edx, 5
mov dword [ebp - 0x948], edx
mov eax, dword [ebp - 0x7a4]
add eax, 1
mov dword [ebp - 0xca4], eax
jmp 0x498301
mov ecx, dword [ebp - 0xca4]
add ecx, 1
mov dword [ebp - 0xca4], ecx
mov edx, dword [ebp - 0xca4]
cmp edx, dword [ebp - 0x948]
jge 0x49856b
mov eax, dword [ebp - 0x7a4]
add eax, 1
mov dword [ebp - 0x7a4], eax
mov ecx, dword [ebp - 0x7a4]
shl ecx, 1
mov dword [ebp - 0xa7c], ecx
mov edx, dword [ebp - 0xa3c]
add edx, dword [ebp - 0xa7c]
movzx eax, byte [edx]
mov dword [ebp - 0xa10], eax
mov dword [ebp - 0xa14], 0x59
mov ecx, dword [ebp - 0x7a4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa40], edx
mov eax, dword [ebp - 0xa3c]
add eax, dword [ebp - 0xa40]
movzx ecx, byte [eax]
mov dword [ebp - 0xa18], ecx
mov dword [ebp - 0xa1c], 0x96
mov edx, dword [ebp - 0xa10]
sub edx, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa18]
sub eax, dword [ebp - 0xa1c]
mov dword [ebp - 0xa24], eax
mov ecx, dword [ebp - 0xa20]
shl ecx, 4
mov dword [ebp - 0xa58], ecx
mov edx, dword [ebp - 0xa24]
mov dword [ebp - 0xa5c], edx
mov eax, dword [ebp - 0xa58]
or eax, dword [ebp - 0xa5c]
mov dword [ebp - 0xa60], eax
mov cl, byte [ebp - 0xa60]
mov byte [ebp - 0x73a], cl
movzx edx, byte [ebp - 0x724]
mov al, byte [ebp + edx - 0x1614]
mov byte [ebp - 0x73c], al
movzx ecx, byte [ebp - 0x713]
movzx edx, byte [ebp + ecx - 0x1614]
mov dword [ebp - 0x12d8], edx
mov al, byte [ebp - 0x713]
add al, 1
mov byte [ebp - 0x713], al
movzx ecx, byte [ebp - 0x720]
add ecx, dword [ebp - 0x12d8]
mov byte [ebp - 0x720], cl
movzx edx, byte [ebp - 0x720]
movzx eax, byte [ebp - 0x724]
mov cl, byte [ebp + edx - 0x1614]
mov byte [ebp + eax - 0x1614], cl
movzx edx, byte [ebp - 0x721]
movzx eax, byte [ebp - 0x720]
mov cl, byte [ebp + edx - 0x1614]
mov byte [ebp + eax - 0x1614], cl
movzx edx, byte [ebp - 0x713]
movzx eax, byte [ebp - 0x721]
mov cl, byte [ebp + edx - 0x1614]
mov byte [ebp + eax - 0x1614], cl
movzx edx, byte [ebp - 0x713]
mov al, byte [ebp - 0x73c]
mov byte [ebp + edx - 0x1614], al
movzx ecx, byte [ebp - 0x73c]
movzx edx, byte [ebp + ecx - 0x1614]
movzx eax, byte [ebp - 0x73b]
add eax, edx
mov byte [ebp - 0x73b], al
movzx ecx, byte [ebp - 0x73a]
movzx edx, byte [ebp - 0x720]
movzx eax, byte [ebp + edx - 0x1614]
movzx edx, byte [ebp - 0x713]
movzx edx, byte [ebp + edx - 0x1614]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1614]
xor ecx, eax
movzx edx, byte [ebp - 0x721]
movzx eax, byte [ebp + edx - 0x1614]
movzx edx, byte [ebp - 0x724]
movzx edx, byte [ebp + edx - 0x1614]
add eax, edx
movzx edx, byte [ebp - 0x73b]
movzx edx, byte [ebp + edx - 0x1614]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1614]
movzx edx, byte [ebp + eax - 0x1614]
xor ecx, edx
mov byte [ebp - 0x721], cl
mov al, byte [ebp - 0x73a]
mov byte [ebp - 0x724], al
mov cl, byte [ebp - 0x721]
mov byte [ebp - 0x769], cl
cmp dword [ebp - 0x7a4], 0
jle 0x498566
movsx dx, byte [ebp - 0x769]
mov eax, dword [ebp - 0x7a4]
mov word [ebp + eax*2 - 0xa2], dx
jmp 0x4982f2
mov ecx, dword [ebp - 0x948]
add ecx, 1
mov dword [ebp - 0x948], ecx
mov edx, dword [ebp - 0x7a4]
add edx, 1
mov dword [ebp - 0x7a4], edx
mov eax, dword [ebp - 0x948]
add eax, 1
mov dword [ebp - 0x948], eax
mov ecx, dword [ebp - 0x7a4]
shl ecx, 1
mov dword [ebp - 0xa7c], ecx
mov edx, dword [ebp - 0xa3c]
add edx, dword [ebp - 0xa7c]
movzx eax, byte [edx]
mov dword [ebp - 0xa10], eax
mov dword [ebp - 0xa14], 0x59
mov ecx, dword [ebp - 0x7a4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa40], edx
mov eax, dword [ebp - 0xa3c]
add eax, dword [ebp - 0xa40]
movzx ecx, byte [eax]
mov dword [ebp - 0xa18], ecx
mov dword [ebp - 0xa1c], 0x96
mov edx, dword [ebp - 0xa10]
sub edx, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa18]
sub eax, dword [ebp - 0xa1c]
mov dword [ebp - 0xa24], eax
mov ecx, dword [ebp - 0xa20]
shl ecx, 4
mov dword [ebp - 0xa58], ecx
mov edx, dword [ebp - 0xa24]
mov dword [ebp - 0xa5c], edx
mov eax, dword [ebp - 0xa58]
or eax, dword [ebp - 0xa5c]
mov dword [ebp - 0xa60], eax
mov cl, byte [ebp - 0xa60]
mov byte [ebp - 0x73a], cl
movzx edx, byte [ebp - 0x724]
mov al, byte [ebp + edx - 0x1614]
mov byte [ebp - 0x73c], al
movzx ecx, byte [ebp - 0x713]
movzx edx, byte [ebp + ecx - 0x1614]
mov dword [ebp - 0x1408], edx
mov al, byte [ebp - 0x713]
add al, 1
mov byte [ebp - 0x713], al
movzx ecx, byte [ebp - 0x720]
add ecx, dword [ebp - 0x1408]
mov byte [ebp - 0x720], cl
movzx edx, byte [ebp - 0x720]
movzx eax, byte [ebp - 0x724]
mov cl, byte [ebp + edx - 0x1614]
mov byte [ebp + eax - 0x1614], cl
movzx edx, byte [ebp - 0x721]
movzx eax, byte [ebp - 0x720]
mov cl, byte [ebp + edx - 0x1614]
mov byte [ebp + eax - 0x1614], cl
movzx edx, byte [ebp - 0x713]
movzx eax, byte [ebp - 0x721]
mov cl, byte [ebp + edx - 0x1614]
mov byte [ebp + eax - 0x1614], cl
movzx edx, byte [ebp - 0x713]
mov al, byte [ebp - 0x73c]
mov byte [ebp + edx - 0x1614], al
movzx ecx, byte [ebp - 0x73c]
movzx edx, byte [ebp + ecx - 0x1614]
movzx eax, byte [ebp - 0x73b]
add eax, edx
mov byte [ebp - 0x73b], al
movzx ecx, byte [ebp - 0x73a]
movzx edx, byte [ebp - 0x720]
movzx eax, byte [ebp + edx - 0x1614]
movzx edx, byte [ebp - 0x713]
movzx edx, byte [ebp + edx - 0x1614]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1614]
xor ecx, eax
movzx edx, byte [ebp - 0x721]
movzx eax, byte [ebp + edx - 0x1614]
movzx edx, byte [ebp - 0x724]
movzx edx, byte [ebp + edx - 0x1614]
add eax, edx
movzx edx, byte [ebp - 0x73b]
movzx edx, byte [ebp + edx - 0x1614]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1614]
movzx edx, byte [ebp + eax - 0x1614]
xor ecx, edx
mov byte [ebp - 0x721], cl
mov al, byte [ebp - 0x73a]
mov byte [ebp - 0x724], al
mov cl, byte [ebp - 0x721]
mov byte [ebp - 0x769], cl
cmp dword [ebp - 0x7a4], 0
jle 0x4987dc
movsx dx, byte [ebp - 0x769]
mov eax, dword [ebp - 0x7a4]
mov word [ebp + eax*2 - 0xa2], dx
mov ecx, 2
imul edx, ecx, 0xb
mov dword [ebp - 0xe34], edx
cmp dword [ebp - 0xe34], 0x18
jae 0x4987f5
jmp 0x4987fb
call fcn.0051c285
nop
xor eax, eax
mov ecx, dword [ebp - 0xe34]
mov word [ebp + ecx - 0xa0], ax
jmp 0x498862
mov dword [ebp - 0xbc4], 0
jmp 0x498828
mov edx, dword [ebp - 0xbc4]
add edx, 1
mov dword [ebp - 0xbc4], edx
cmp dword [ebp - 0xbc4], 0xc
jge 0x498862
mov eax, dword [ebp - 0xbc4]
shl eax, 1
mov dword [ebp - 0xe4c], eax
cmp dword [ebp - 0xe4c], 0x18
jae 0x49884a
jmp 0x498850
call fcn.0051c285
nop
xor ecx, ecx
mov edx, dword [ebp - 0xe4c]
mov word [ebp + edx - 0xa0], cx
jmp 0x498819
mov dword [ebp - 0x6f4], 0
mov dword [ebp - 0x6e4], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xb9c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xaec], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xaec], xmm0
jmp 0x4988b1
movsd xmm0, qword [ebp - 0xaec]
addsd xmm0, qword [0x580ac0]
movsd qword [ebp - 0xaec], xmm0
movsd xmm0, qword [0x582168]
comisd xmm0, xmmword [ebp - 0xaec]
jbe 0x498962
movsd xmm0, qword [0x582020]
mulsd xmm0, qword [ebp - 0xaec]
mulsd xmm0, qword [ebp - 0xaec]
movsd xmm1, qword [ebp - 0xaec]
mulsd xmm1, qword [ebp - 0xaec]
subsd xmm0, xmm1
movsd xmm1, qword [0x581e98]
mulsd xmm1, qword [ebp - 0xaec]
mulsd xmm1, qword [ebp - 0xaec]
addsd xmm1, qword [0x581f40]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xb9c]
movsd qword [ebp - 0xb9c], xmm0
movsd xmm0, qword [ebp - 0xb9c]
comisd xmm0, xmmword [0x581fd8]
jbe 0x49895d
movsd xmm0, qword [0x581e30]
mulsd xmm0, qword [ebp - 0xaec]
movsd xmm1, qword [ebp - 0xb9c]
subsd xmm1, xmm0
movsd qword [ebp - 0xb9c], xmm1
jmp 0x498899
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xb9c]
jbe 0x4989b6
xor byte [ecx + 0x31], dh
das
and dword [ebp + 0x2e], edx
das
push 0x6f4f703a
push edx
inc ecx
inc ebp
sub al, 0x57
xor eax, 0x45647557
insd dword es:[edi], dx
jle 0x4989b4
xor byte ss:[ebp + 0x42], bl
adc eax, 0xb951093
mov dword [ebx], ecx
invalid
add byte [eax], al
mov dword [ebp - 0x6f4], 0x49898f
mov dword [ebp - 0x6e4], 0x49896f
mov eax, dword [ebp - 0x6f4]
mov dword [ebp - 0x9f0], eax
mov ecx, dword [ebp - 0x6e4]
mov dword [ebp - 0x12dc], ecx
mov byte [ebp - 0x9ba], 0x24
mov dword [ebp - 0x834], 0
jmp 0x498a04
mov edx, dword [ebp - 0x834]
add edx, 1
mov dword [ebp - 0x834], edx
cmp dword [ebp - 0x834], 0x100
jae 0x498a25
mov eax, dword [ebp - 0x834]
mov cl, byte [ebp - 0x834]
mov byte [ebp + eax - 0x1514], cl
jmp 0x4989f5
mov dword [ebp - 0xab0], 0
mov byte [ebp - 0x736], 0
mov dword [ebp - 0x834], 0xff
jmp 0x498a51
mov edx, dword [ebp - 0x834]
sub edx, 1
mov dword [ebp - 0x834], edx
cmp dword [ebp - 0x834], 0
jbe 0x498cc1
mov dword [ebp - 0xca8], 0
mov dword [ebp - 0xbc8], 1
mov eax, dword [ebp - 0xbc8]
cmp eax, dword [ebp - 0x834]
jae 0x498a92
mov ecx, dword [ebp - 0xbc8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xbc8], edx
jmp 0x498a72
mov eax, dword [ebp - 0xab0]
mov dword [ebp - 0xe64], eax
cmp dword [ebp - 0xe64], 3
ja case.default.0x498ab1
mov ecx, dword [ebp - 0xe64]
jmp dword [ecx*4 + 0x4a6530]
movzx edx, byte [ebp - 0x736]
movzx ebx, byte [ebp + edx - 0x1514]
movsd xmm0, qword [ebp - 0xb9c]
call fcn.0051c6e0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x736], bl
jmp 0x498b9a
movzx eax, byte [ebp - 0x736]
movzx ebx, byte [ebp + eax - 0x1514]
movsd xmm0, qword [ebp - 0xb9c]
call fcn.0051c6e0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x736], bl
jmp 0x498b9a
movzx ecx, byte [ebp - 0x736]
movzx ebx, byte [ebp + ecx - 0x1514]
movsd xmm0, qword [ebp - 0xb9c]
call fcn.0051c6e0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x736], bl
jmp 0x498b9a
movzx edx, byte [ebp - 0x736]
movzx ebx, byte [ebp + edx - 0x1514]
movsd xmm0, qword [ebp - 0xb9c]
call fcn.0051c6e0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x736], bl
jmp 0x498b9a
movzx eax, byte [ebp - 0x736]
movzx ecx, byte [ebp + eax - 0x1514]
mov edx, dword [ebp - 0x12dc]
add edx, dword [ebp - 0xab0]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x736], cl
mov ecx, dword [ebp - 0xab0]
add ecx, 1
mov dword [ebp - 0xab0], ecx
movzx edx, byte [ebp - 0x9ba]
cmp dword [ebp - 0xab0], edx
jb 0x498bd8
mov dword [ebp - 0xab0], 0
movzx eax, byte [ebp - 0x9ba]
movzx ecx, byte [ebp - 0x736]
add ecx, eax
mov byte [ebp - 0x736], cl
movzx edx, byte [ebp - 0x736]
and edx, dword [ebp - 0xbc8]
mov dword [ebp - 0xa64], edx
mov eax, dword [ebp - 0xca8]
add eax, 1
mov dword [ebp - 0xca8], eax
cmp dword [ebp - 0xca8], 0xb
jbe 0x498c17
mov eax, dword [ebp - 0xa64]
xor edx, edx
div dword [ebp - 0x834]
mov dword [ebp - 0xa64], edx
mov ecx, dword [ebp - 0xa64]
cmp ecx, dword [ebp - 0x834]
ja 0x498a92
mov edx, dword [ebp - 0x834]
cmp edx, dword [ebp - 0xa64]
je 0x498cbc
mov eax, dword [ebp - 0xa64]
movzx ecx, byte [ebp + eax - 0x1514]
mov edx, dword [ebp - 0x834]
movzx eax, byte [ebp + edx - 0x1514]
xor eax, ecx
mov ecx, dword [ebp - 0x834]
mov byte [ebp + ecx - 0x1514], al
mov edx, dword [ebp - 0x834]
movzx eax, byte [ebp + edx - 0x1514]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ebp + ecx - 0x1514]
xor edx, eax
mov eax, dword [ebp - 0xa64]
mov byte [ebp + eax - 0x1514], dl
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ebp + ecx - 0x1514]
mov eax, dword [ebp - 0x834]
movzx ecx, byte [ebp + eax - 0x1514]
xor ecx, edx
mov edx, dword [ebp - 0x834]
mov byte [ebp + edx - 0x1514], cl
jmp 0x498a42
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x1514]
mov byte [ebp - 0x70e], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x1514]
mov byte [ebp - 0x711], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x1514]
mov byte [ebp - 0x726], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x1514]
mov byte [ebp - 0x712], cl
movzx edx, byte [ebp - 0x736]
mov al, byte [ebp + edx - 0x1514]
mov byte [ebp - 0x722], al
mov dword [ebp - 0xe68], 0x22
cmp dword [ebp - 0xe68], 2
jle 0x499f1b
mov ecx, dword [ebp - 0xe68]
and ecx, 1
jne 0x499f1b
mov dword [ebp - 0x770], 0
mov dword [ebp - 0x884], 0
mov edx, dword [ebp - 0x884]
add edx, 1
mov dword [ebp - 0x884], edx
mov dword [ebp - 0x9ec], 0
mov eax, dword [ebp - 0x770]
shl eax, 1
mov dword [ebp - 0x9ec], eax
mov dword [ebp - 0x990], 0
mov ecx, dword [ebp - 0x9f0]
add ecx, dword [ebp - 0x9ec]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x990]
mov dword [ebp - 0x990], edx
mov dword [ebp - 0x994], 0
mov eax, dword [ebp - 0x994]
add eax, 6
mov dword [ebp - 0x994], eax
mov dword [ebp - 0x9f4], 0
mov ecx, dword [ebp - 0x770]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x9f4], edx
mov dword [ebp - 0x998], 0
mov eax, dword [ebp - 0x9f0]
add eax, dword [ebp - 0x9f4]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x998]
mov dword [ebp - 0x998], ecx
mov dword [ebp - 0x99c], 0
mov edx, dword [ebp - 0x99c]
add edx, 0x89
mov dword [ebp - 0x99c], edx
mov dword [ebp - 0x9b4], 0
mov eax, dword [ebp - 0x990]
sub eax, dword [ebp - 0x994]
add eax, dword [ebp - 0x9b4]
mov dword [ebp - 0x9b4], eax
mov dword [ebp - 0x9b8], 0
mov ecx, dword [ebp - 0x998]
sub ecx, dword [ebp - 0x99c]
add ecx, dword [ebp - 0x9b8]
mov dword [ebp - 0x9b8], ecx
mov dword [ebp - 0x9f8], 0
mov edx, dword [ebp - 0x9b4]
shl edx, 4
mov dword [ebp - 0x9f8], edx
mov dword [ebp - 0x9fc], 0
mov eax, dword [ebp - 0x9b8]
mov dword [ebp - 0x9fc], eax
mov dword [ebp - 0x9c4], 0
mov ecx, dword [ebp - 0x9f8]
or ecx, dword [ebp - 0x9fc]
mov dword [ebp - 0x9c4], ecx
mov byte [ebp - 0x727], 0
mov dl, byte [ebp - 0x9c4]
mov byte [ebp - 0x727], dl
mov byte [ebp - 0x725], 0
movzx eax, byte [ebp - 0x722]
mov cl, byte [ebp + eax - 0x1514]
mov byte [ebp - 0x725], cl
movzx edx, byte [ebp - 0x70e]
movzx eax, byte [ebp + edx - 0x1514]
mov dword [ebp - 0x12e0], eax
mov cl, byte [ebp - 0x70e]
add cl, 1
mov byte [ebp - 0x70e], cl
movzx edx, byte [ebp - 0x711]
add edx, dword [ebp - 0x12e0]
mov byte [ebp - 0x711], dl
movzx eax, byte [ebp - 0x711]
movzx ecx, byte [ebp - 0x722]
mov dl, byte [ebp + eax - 0x1514]
mov byte [ebp + ecx - 0x1514], dl
movzx eax, byte [ebp - 0x712]
movzx ecx, byte [ebp - 0x711]
mov dl, byte [ebp + eax - 0x1514]
mov byte [ebp + ecx - 0x1514], dl
movzx eax, byte [ebp - 0x70e]
movzx ecx, byte [ebp - 0x712]
mov dl, byte [ebp + eax - 0x1514]
mov byte [ebp + ecx - 0x1514], dl
movzx eax, byte [ebp - 0x70e]
mov cl, byte [ebp - 0x725]
mov byte [ebp + eax - 0x1514], cl
movzx edx, byte [ebp - 0x725]
movzx eax, byte [ebp + edx - 0x1514]
movzx ecx, byte [ebp - 0x726]
add ecx, eax
mov byte [ebp - 0x726], cl
movzx edx, byte [ebp - 0x727]
movzx eax, byte [ebp - 0x711]
movzx ecx, byte [ebp + eax - 0x1514]
movzx eax, byte [ebp - 0x70e]
movzx eax, byte [ebp + eax - 0x1514]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1514]
xor edx, ecx
movzx eax, byte [ebp - 0x712]
movzx ecx, byte [ebp + eax - 0x1514]
movzx eax, byte [ebp - 0x722]
movzx eax, byte [ebp + eax - 0x1514]
add ecx, eax
movzx eax, byte [ebp - 0x726]
movzx eax, byte [ebp + eax - 0x1514]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1514]
movzx eax, byte [ebp + ecx - 0x1514]
xor edx, eax
mov byte [ebp - 0x712], dl
mov cl, byte [ebp - 0x727]
mov byte [ebp - 0x722], cl
mov dl, byte [ebp - 0x712]
mov byte [ebp - 0x751], dl
cmp dword [ebp - 0x770], 0
jle 0x499054
mov eax, dword [ebp - 0x770]
mov cl, byte [ebp - 0x751]
mov byte [ebp + eax - 0x71], cl
mov edx, dword [ebp - 0x770]
add edx, 1
mov dword [ebp - 0x770], edx
mov eax, dword [ebp - 0x884]
add eax, 1
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0x770]
shl ecx, 1
mov dword [ebp - 0x9ec], ecx
mov edx, dword [ebp - 0x9f0]
add edx, dword [ebp - 0x9ec]
movzx eax, byte [edx]
mov dword [ebp - 0x990], eax
mov dword [ebp - 0x994], 6
mov ecx, dword [ebp - 0x770]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x9f4], edx
mov eax, dword [ebp - 0x9f0]
add eax, dword [ebp - 0x9f4]
movzx ecx, byte [eax]
mov dword [ebp - 0x998], ecx
mov dword [ebp - 0x99c], 0x89
mov edx, dword [ebp - 0x990]
sub edx, dword [ebp - 0x994]
mov dword [ebp - 0x9b4], edx
mov eax, dword [ebp - 0x998]
sub eax, dword [ebp - 0x99c]
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x9b4]
shl ecx, 4
mov dword [ebp - 0x9f8], ecx
mov edx, dword [ebp - 0x9b8]
mov dword [ebp - 0x9fc], edx
mov eax, dword [ebp - 0x9f8]
or eax, dword [ebp - 0x9fc]
mov dword [ebp - 0x9c4], eax
mov cl, byte [ebp - 0x9c4]
mov byte [ebp - 0x727], cl
movzx edx, byte [ebp - 0x722]
mov al, byte [ebp + edx - 0x1514]
mov byte [ebp - 0x725], al
movzx ecx, byte [ebp - 0x70e]
movzx edx, byte [ebp + ecx - 0x1514]
mov dword [ebp - 0x12e4], edx
mov al, byte [ebp - 0x70e]
add al, 1
mov byte [ebp - 0x70e], al
movzx ecx, byte [ebp - 0x711]
add ecx, dword [ebp - 0x12e4]
mov byte [ebp - 0x711], cl
movzx edx, byte [ebp - 0x711]
movzx eax, byte [ebp - 0x722]
mov cl, byte [ebp + edx - 0x1514]
mov byte [ebp + eax - 0x1514], cl
movzx edx, byte [ebp - 0x712]
movzx eax, byte [ebp - 0x711]
mov cl, byte [ebp + edx - 0x1514]
mov byte [ebp + eax - 0x1514], cl
movzx edx, byte [ebp - 0x70e]
movzx eax, byte [ebp - 0x712]
mov cl, byte [ebp + edx - 0x1514]
mov byte [ebp + eax - 0x1514], cl
movzx edx, byte [ebp - 0x70e]
mov al, byte [ebp - 0x725]
mov byte [ebp + edx - 0x1514], al
movzx ecx, byte [ebp - 0x725]
movzx edx, byte [ebp + ecx - 0x1514]
movzx eax, byte [ebp - 0x726]
add eax, edx
mov byte [ebp - 0x726], al
movzx ecx, byte [ebp - 0x727]
movzx edx, byte [ebp - 0x711]
movzx eax, byte [ebp + edx - 0x1514]
movzx edx, byte [ebp - 0x70e]
movzx edx, byte [ebp + edx - 0x1514]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1514]
xor ecx, eax
movzx edx, byte [ebp - 0x712]
movzx eax, byte [ebp + edx - 0x1514]
movzx edx, byte [ebp - 0x722]
movzx edx, byte [ebp + edx - 0x1514]
add eax, edx
movzx edx, byte [ebp - 0x726]
movzx edx, byte [ebp + edx - 0x1514]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1514]
movzx edx, byte [ebp + eax - 0x1514]
xor ecx, edx
mov byte [ebp - 0x712], cl
mov al, byte [ebp - 0x727]
mov byte [ebp - 0x722], al
mov cl, byte [ebp - 0x712]
mov byte [ebp - 0x751], cl
cmp dword [ebp - 0x770], 0
jle 0x4992b0
mov edx, dword [ebp - 0x770]
mov al, byte [ebp - 0x751]
mov byte [ebp + edx - 0x71], al
mov ecx, dword [ebp - 0x884]
add ecx, 7
mov dword [ebp - 0x884], ecx
mov edx, dword [ebp - 0x770]
add edx, 1
mov dword [ebp - 0xcac], edx
jmp 0x4992df
mov eax, dword [ebp - 0xcac]
add eax, 1
mov dword [ebp - 0xcac], eax
mov ecx, dword [ebp - 0xcac]
cmp ecx, dword [ebp - 0x884]
jge 0x499546
mov edx, dword [ebp - 0x770]
add edx, 1
mov dword [ebp - 0x770], edx
mov eax, dword [ebp - 0x770]
shl eax, 1
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, dword [ebp - 0x9ec]
movzx edx, byte [ecx]
mov dword [ebp - 0x990], edx
mov dword [ebp - 0x994], 6
mov eax, dword [ebp - 0x770]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x9f4], ecx
mov edx, dword [ebp - 0x9f0]
add edx, dword [ebp - 0x9f4]
movzx eax, byte [edx]
mov dword [ebp - 0x998], eax
mov dword [ebp - 0x99c], 0x89
mov ecx, dword [ebp - 0x990]
sub ecx, dword [ebp - 0x994]
mov dword [ebp - 0x9b4], ecx
mov edx, dword [ebp - 0x998]
sub edx, dword [ebp - 0x99c]
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x9b4]
shl eax, 4
mov dword [ebp - 0x9f8], eax
mov ecx, dword [ebp - 0x9b8]
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0x9f8]
or edx, dword [ebp - 0x9fc]
mov dword [ebp - 0x9c4], edx
mov al, byte [ebp - 0x9c4]
mov byte [ebp - 0x727], al
movzx ecx, byte [ebp - 0x722]
mov dl, byte [ebp + ecx - 0x1514]
mov byte [ebp - 0x725], dl
movzx eax, byte [ebp - 0x70e]
movzx ecx, byte [ebp + eax - 0x1514]
mov dword [ebp - 0x12e8], ecx
mov dl, byte [ebp - 0x70e]
add dl, 1
mov byte [ebp - 0x70e], dl
movzx eax, byte [ebp - 0x711]
add eax, dword [ebp - 0x12e8]
mov byte [ebp - 0x711], al
movzx ecx, byte [ebp - 0x711]
movzx edx, byte [ebp - 0x722]
mov al, byte [ebp + ecx - 0x1514]
mov byte [ebp + edx - 0x1514], al
movzx ecx, byte [ebp - 0x712]
movzx edx, byte [ebp - 0x711]
mov al, byte [ebp + ecx - 0x1514]
mov byte [ebp + edx - 0x1514], al
movzx ecx, byte [ebp - 0x70e]
movzx edx, byte [ebp - 0x712]
mov al, byte [ebp + ecx - 0x1514]
mov byte [ebp + edx - 0x1514], al
movzx ecx, byte [ebp - 0x70e]
mov dl, byte [ebp - 0x725]
mov byte [ebp + ecx - 0x1514], dl
movzx eax, byte [ebp - 0x725]
movzx ecx, byte [ebp + eax - 0x1514]
movzx edx, byte [ebp - 0x726]
add edx, ecx
mov byte [ebp - 0x726], dl
movzx eax, byte [ebp - 0x727]
movzx ecx, byte [ebp - 0x711]
movzx edx, byte [ebp + ecx - 0x1514]
movzx ecx, byte [ebp - 0x70e]
movzx ecx, byte [ebp + ecx - 0x1514]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x1514]
xor eax, edx
movzx ecx, byte [ebp - 0x712]
movzx edx, byte [ebp + ecx - 0x1514]
movzx ecx, byte [ebp - 0x722]
movzx ecx, byte [ebp + ecx - 0x1514]
add edx, ecx
movzx ecx, byte [ebp - 0x726]
movzx ecx, byte [ebp + ecx - 0x1514]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x1514]
movzx ecx, byte [ebp + edx - 0x1514]
xor eax, ecx
mov byte [ebp - 0x712], al
mov dl, byte [ebp - 0x727]
mov byte [ebp - 0x722], dl
mov al, byte [ebp - 0x712]
mov byte [ebp - 0x751], al
cmp dword [ebp - 0x770], 0
jle 0x499541
mov ecx, dword [ebp - 0x770]
mov dl, byte [ebp - 0x751]
mov byte [ebp + ecx - 0x71], dl
jmp 0x4992d0
mov eax, dword [ebp - 0x884]
add eax, 1
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0x770]
add ecx, 1
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x884]
add edx, 1
mov dword [ebp - 0x884], edx
mov eax, dword [ebp - 0x770]
shl eax, 1
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, dword [ebp - 0x9ec]
movzx edx, byte [ecx]
mov dword [ebp - 0x990], edx
mov dword [ebp - 0x994], 6
mov eax, dword [ebp - 0x770]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x9f4], ecx
mov edx, dword [ebp - 0x9f0]
add edx, dword [ebp - 0x9f4]
movzx eax, byte [edx]
mov dword [ebp - 0x998], eax
mov dword [ebp - 0x99c], 0x89
mov ecx, dword [ebp - 0x990]
sub ecx, dword [ebp - 0x994]
mov dword [ebp - 0x9b4], ecx
mov edx, dword [ebp - 0x998]
sub edx, dword [ebp - 0x99c]
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x9b4]
shl eax, 4
mov dword [ebp - 0x9f8], eax
mov ecx, dword [ebp - 0x9b8]
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0x9f8]
or edx, dword [ebp - 0x9fc]
mov dword [ebp - 0x9c4], edx
mov al, byte [ebp - 0x9c4]
mov byte [ebp - 0x727], al
movzx ecx, byte [ebp - 0x722]
mov dl, byte [ebp + ecx - 0x1514]
mov byte [ebp - 0x725], dl
movzx eax, byte [ebp - 0x70e]
movzx ecx, byte [ebp + eax - 0x1514]
mov dword [ebp - 0x12ec], ecx
mov dl, byte [ebp - 0x70e]
add dl, 1
mov byte [ebp - 0x70e], dl
movzx eax, byte [ebp - 0x711]
add eax, dword [ebp - 0x12ec]
mov byte [ebp - 0x711], al
movzx ecx, byte [ebp - 0x711]
movzx edx, byte [ebp - 0x722]
mov al, byte [ebp + ecx - 0x1514]
mov byte [ebp + edx - 0x1514], al
movzx ecx, byte [ebp - 0x712]
movzx edx, byte [ebp - 0x711]
mov al, byte [ebp + ecx - 0x1514]
mov byte [ebp + edx - 0x1514], al
movzx ecx, byte [ebp - 0x70e]
movzx edx, byte [ebp - 0x712]
mov al, byte [ebp + ecx - 0x1514]
mov byte [ebp + edx - 0x1514], al
movzx ecx, byte [ebp - 0x70e]
mov dl, byte [ebp - 0x725]
mov byte [ebp + ecx - 0x1514], dl
movzx eax, byte [ebp - 0x725]
movzx ecx, byte [ebp + eax - 0x1514]
movzx edx, byte [ebp - 0x726]
add edx, ecx
mov byte [ebp - 0x726], dl
movzx eax, byte [ebp - 0x727]
movzx ecx, byte [ebp - 0x711]
movzx edx, byte [ebp + ecx - 0x1514]
movzx ecx, byte [ebp - 0x70e]
movzx ecx, byte [ebp + ecx - 0x1514]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x1514]
xor eax, edx
movzx ecx, byte [ebp - 0x712]
movzx edx, byte [ebp + ecx - 0x1514]
movzx ecx, byte [ebp - 0x722]
movzx ecx, byte [ebp + ecx - 0x1514]
add edx, ecx
movzx ecx, byte [ebp - 0x726]
movzx ecx, byte [ebp + ecx - 0x1514]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x1514]
movzx ecx, byte [ebp + edx - 0x1514]
xor eax, ecx
mov byte [ebp - 0x712], al
mov dl, byte [ebp - 0x727]
mov byte [ebp - 0x722], dl
mov al, byte [ebp - 0x712]
mov byte [ebp - 0x751], al
cmp dword [ebp - 0x770], 0
jle 0x4997b4
mov ecx, dword [ebp - 0x770]
mov dl, byte [ebp - 0x751]
mov byte [ebp + ecx - 0x71], dl
mov eax, dword [ebp - 0x884]
add eax, 7
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0x770]
add ecx, 1
mov dword [ebp - 0xcb0], ecx
jmp 0x4997e3
mov edx, dword [ebp - 0xcb0]
add edx, 1
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0xcb0]
cmp eax, dword [ebp - 0x884]
jge 0x499a4a
mov ecx, dword [ebp - 0x770]
add ecx, 1
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x770]
shl edx, 1
mov dword [ebp - 0x9ec], edx
mov eax, dword [ebp - 0x9f0]
add eax, dword [ebp - 0x9ec]
movzx ecx, byte [eax]
mov dword [ebp - 0x990], ecx
mov dword [ebp - 0x994], 6
mov edx, dword [ebp - 0x770]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x9f4], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, dword [ebp - 0x9f4]
movzx edx, byte [ecx]
mov dword [ebp - 0x998], edx
mov dword [ebp - 0x99c], 0x89
mov eax, dword [ebp - 0x990]
sub eax, dword [ebp - 0x994]
mov dword [ebp - 0x9b4], eax
mov ecx, dword [ebp - 0x998]
sub ecx, dword [ebp - 0x99c]
mov dword [ebp - 0x9b8], ecx
mov edx, dword [ebp - 0x9b4]
shl edx, 4
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x9b8]
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0x9f8]
or ecx, dword [ebp - 0x9fc]
mov dword [ebp - 0x9c4], ecx
mov dl, byte [ebp - 0x9c4]
mov byte [ebp - 0x727], dl
movzx eax, byte [ebp - 0x722]
mov cl, byte [ebp + eax - 0x1514]
mov byte [ebp - 0x725], cl
movzx edx, byte [ebp - 0x70e]
movzx eax, byte [ebp + edx - 0x1514]
mov dword [ebp - 0x12f0], eax
mov cl, byte [ebp - 0x70e]
add cl, 1
mov byte [ebp - 0x70e], cl
movzx edx, byte [ebp - 0x711]
add edx, dword [ebp - 0x12f0]
mov byte [ebp - 0x711], dl
movzx eax, byte [ebp - 0x711]
movzx ecx, byte [ebp - 0x722]
mov dl, byte [ebp + eax - 0x1514]
mov byte [ebp + ecx - 0x1514], dl
movzx eax, byte [ebp - 0x712]
movzx ecx, byte [ebp - 0x711]
mov dl, byte [ebp + eax - 0x1514]
mov byte [ebp + ecx - 0x1514], dl
movzx eax, byte [ebp - 0x70e]
movzx ecx, byte [ebp - 0x712]
mov dl, byte [ebp + eax - 0x1514]
mov byte [ebp + ecx - 0x1514], dl
movzx eax, byte [ebp - 0x70e]
mov cl, byte [ebp - 0x725]
mov byte [ebp + eax - 0x1514], cl
movzx edx, byte [ebp - 0x725]
movzx eax, byte [ebp + edx - 0x1514]
movzx ecx, byte [ebp - 0x726]
add ecx, eax
mov byte [ebp - 0x726], cl
movzx edx, byte [ebp - 0x727]
movzx eax, byte [ebp - 0x711]
movzx ecx, byte [ebp + eax - 0x1514]
movzx eax, byte [ebp - 0x70e]
movzx eax, byte [ebp + eax - 0x1514]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1514]
xor edx, ecx
movzx eax, byte [ebp - 0x712]
movzx ecx, byte [ebp + eax - 0x1514]
movzx eax, byte [ebp - 0x722]
movzx eax, byte [ebp + eax - 0x1514]
add ecx, eax
movzx eax, byte [ebp - 0x726]
movzx eax, byte [ebp + eax - 0x1514]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1514]
movzx eax, byte [ebp + ecx - 0x1514]
xor edx, eax
mov byte [ebp - 0x712], dl
mov cl, byte [ebp - 0x727]
mov byte [ebp - 0x722], cl
mov dl, byte [ebp - 0x712]
mov byte [ebp - 0x751], dl
cmp dword [ebp - 0x770], 0
jle 0x499a45
mov eax, dword [ebp - 0x770]
mov cl, byte [ebp - 0x751]
mov byte [ebp + eax - 0x71], cl
jmp 0x4997d4
movsd xmm0, qword [0x582740]
movsd qword [ebp - 0xba4], xmm0
movsd xmm0, qword [0x5826c8]
movsd qword [ebp - 0xa04], xmm0
movsd xmm0, qword [0x582618]
movsd qword [ebp - 0xaac], xmm0
movsd xmm0, qword [0x5824f8]
movsd qword [ebp - 0x964], xmm0
movsd xmm0, qword [0x5823e8]
movsd qword [ebp - 0xad4], xmm0
movsd xmm0, qword [0x5822c8]
movsd qword [ebp - 0x9b0], xmm0
movsd xmm0, qword [0x582110]
movsd qword [ebp - 0x95c], xmm0
movsd xmm0, qword [ebp - 0xa04]
subsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0xa04], xmm0
movsd xmm0, qword [ebp - 0xa04]
addsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0xa04], xmm0
movsd xmm0, qword [ebp - 0xaac]
subsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0xaac], xmm0
movsd xmm0, qword [ebp - 0x964]
subsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0x964], xmm0
movsd xmm0, qword [ebp - 0x9b0]
addsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0x9b0], xmm0
movsd xmm0, qword [ebp - 0x964]
mulsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0x964], xmm0
movsd xmm0, qword [ebp - 0x964]
addsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0x964], xmm0
movsd xmm0, qword [ebp - 0x95c]
comisd xmm0, xmmword [ebp - 0x964]
jbe 0x499e38
movsd xmm0, qword [ebp - 0x9b0]
mulsd xmm0, qword [ebp - 0xba4]
movsd qword [ebp - 0x9b0], xmm0
movsd xmm0, qword [ebp - 0x95c]
divsd xmm0, qword [ebp - 0xa04]
movsd qword [ebp - 0x95c], xmm0
movsd xmm0, qword [ebp - 0x95c]
mulsd xmm0, qword [ebp - 0xa04]
movsd qword [ebp - 0x95c], xmm0
movsd xmm0, qword [ebp - 0xba4]
subsd xmm0, qword [ebp - 0xaac]
movsd qword [ebp - 0xba4], xmm0
movsd xmm0, qword [ebp - 0x95c]
subsd xmm0, qword [ebp - 0xa04]
movsd qword [ebp - 0x95c], xmm0
movsd xmm0, qword [ebp - 0x964]
subsd xmm0, qword [ebp - 0x9b0]
movsd qword [ebp - 0x964], xmm0
movsd xmm0, qword [ebp - 0x964]
divsd xmm0, qword [ebp - 0x9b0]
movsd qword [ebp - 0x964], xmm0
movsd xmm0, qword [ebp - 0x95c]
mulsd xmm0, qword [ebp - 0xa04]
movsd qword [ebp - 0x95c], xmm0
movsd xmm0, qword [ebp - 0xaac]
subsd xmm0, qword [ebp - 0xad4]
movsd qword [ebp - 0xaac], xmm0
movsd xmm0, qword [ebp - 0xad4]
addsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0xad4], xmm0
movsd xmm0, qword [ebp - 0x9b0]
mulsd xmm0, qword [ebp - 0xba4]
movsd qword [ebp - 0x9b0], xmm0
movsd xmm0, qword [ebp - 0xad4]
mulsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0xad4], xmm0
movsd xmm0, qword [ebp - 0xaac]
addsd xmm0, qword [ebp - 0xad4]
movsd qword [ebp - 0xaac], xmm0
movsd xmm0, qword [ebp - 0x9b0]
addsd xmm0, qword [ebp - 0xba4]
movsd qword [ebp - 0x9b0], xmm0
movsd xmm0, qword [ebp - 0xa04]
comisd xmm0, xmmword [ebp - 0x964]
jbe 0x499d8b
movsd xmm0, qword [ebp - 0x9b0]
mulsd xmm0, qword [ebp - 0xba4]
movsd qword [ebp - 0x9b0], xmm0
movsd xmm0, qword [ebp - 0xa04]
subsd xmm0, qword [ebp - 0x964]
movsd qword [ebp - 0xa04], xmm0
movsd xmm0, qword [ebp - 0x964]
addsd xmm0, qword [ebp - 0x9b0]
movsd qword [ebp - 0x964], xmm0
movsd xmm0, qword [ebp - 0xa04]
addsd xmm0, qword [ebp - 0x964]
movsd qword [ebp - 0xa04], xmm0
movsd xmm0, qword [ebp - 0x964]
mulsd xmm0, qword [ebp - 0x9b0]
movsd qword [ebp - 0x964], xmm0
movsd xmm0, qword [ebp - 0xba4]
addsd xmm0, qword [ebp - 0xaac]
movsd qword [ebp - 0xba4], xmm0
movsd xmm0, qword [ebp - 0x964]
divsd xmm0, qword [ebp - 0x9b0]
movsd qword [ebp - 0x964], xmm0
jmp 0x499e33
movsd xmm0, qword [ebp - 0xaac]
mulsd xmm0, qword [ebp - 0x964]
movsd qword [ebp - 0xaac], xmm0
movsd xmm0, qword [ebp - 0x9b0]
divsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0x9b0], xmm0
movsd xmm0, qword [ebp - 0xad4]
divsd xmm0, qword [ebp - 0x9b0]
movsd qword [ebp - 0xad4], xmm0
movsd xmm0, qword [ebp - 0xa04]
divsd xmm0, qword [ebp - 0xaac]
movsd qword [ebp - 0xa04], xmm0
movsd xmm0, qword [ebp - 0x9b0]
addsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0x9b0], xmm0
movsd xmm0, qword [ebp - 0x95c]
divsd xmm0, qword [ebp - 0xba4]
movsd qword [ebp - 0x95c], xmm0
movsd xmm0, qword [ebp - 0xaac]
addsd xmm0, qword [ebp - 0x964]
movsd qword [ebp - 0xaac], xmm0
jmp 0x499eef
movsd xmm0, qword [ebp - 0xa04]
addsd xmm0, qword [ebp - 0x964]
movsd qword [ebp - 0xa04], xmm0
movsd xmm0, qword [ebp - 0xad4]
subsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0xad4], xmm0
movsd xmm0, qword [ebp - 0x95c]
subsd xmm0, qword [ebp - 0xa04]
movsd qword [ebp - 0x95c], xmm0
movsd xmm0, qword [ebp - 0xa04]
mulsd xmm0, qword [ebp - 0x964]
movsd qword [ebp - 0xa04], xmm0
movsd xmm0, qword [ebp - 0xad4]
addsd xmm0, qword [ebp - 0x95c]
movsd qword [ebp - 0xad4], xmm0
movsd xmm0, qword [ebp - 0x964]
addsd xmm0, qword [ebp - 0x9b0]
movsd qword [ebp - 0x964], xmm0
movsd xmm0, qword [ebp - 0x9b0]
mulsd xmm0, qword [ebp - 0xba4]
movsd qword [ebp - 0x9b0], xmm0
mov edx, dword [ebp - 0x884]
add edx, 1
mov dword [ebp - 0x884], edx
mov eax, 1
shl eax, 4
mov dword [ebp - 0xe8c], eax
cmp dword [ebp - 0xe8c], 0x11
jae 0x499f08
jmp 0x499f0e
call fcn.0051c285
nop
mov ecx, dword [ebp - 0xe8c]
mov byte [ebp + ecx - 0x70], 0
jmp 0x499f69
mov dword [ebp - 0xbcc], 0
jmp 0x499f36
mov edx, dword [ebp - 0xbcc]
add edx, 1
mov dword [ebp - 0xbcc], edx
cmp dword [ebp - 0xbcc], 0x11
jge 0x499f69
mov eax, dword [ebp - 0xbcc]
mov dword [ebp - 0xe90], eax
cmp dword [ebp - 0xe90], 0x11
jae 0x499f56
jmp 0x499f5c
call fcn.0051c285
nop
mov ecx, dword [ebp - 0xe90]
mov byte [ebp + ecx - 0x70], 0
jmp 0x499f27
push 4
call fcn.0051c0e5
add esp, 4
mov dword [ebp - 0xcb4], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0xcb4], 0
je 0x499fb0
push 4
mov ecx, dword [ebp - 0xcb4]
call fcn.004aa490
lea edx, [ebp - 0xa0]
push edx
mov ecx, dword [ebp - 0xcb4]
call fcn.004dd310
mov dword [ebp - 0xe2c], eax
jmp 0x499fba
mov dword [ebp - 0xe2c], 0
mov eax, dword [ebp - 0xe2c]
mov dword [ebp - 0x12f4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x12f4]
mov dword [ebp - 0x12fc], ecx
lea edx, [ebp - 0x70]
push edx
mov ecx, dword [ebp - 0x12fc]
call fcn.004dd330
mov dword [ebp - 0xe10], eax
mov dword [ebp - 0x6e8], 0
mov dword [ebp - 0x6f8], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xb6c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xaf4], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xaf4], xmm0
jmp 0x49a03d
movsd xmm0, qword [ebp - 0xaf4]
addsd xmm0, qword [0x580ac0]
movsd qword [ebp - 0xaf4], xmm0
movsd xmm0, qword [0x582190]
comisd xmm0, xmmword [ebp - 0xaf4]
jbe 0x49a0ee
movsd xmm0, qword [0x582050]
mulsd xmm0, qword [ebp - 0xaf4]
mulsd xmm0, qword [ebp - 0xaf4]
movsd xmm1, qword [ebp - 0xaf4]
mulsd xmm1, qword [ebp - 0xaf4]
subsd xmm0, xmm1
movsd xmm1, qword [0x580b80]
mulsd xmm1, qword [ebp - 0xaf4]
mulsd xmm1, qword [ebp - 0xaf4]
addsd xmm1, qword [0x581f18]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xb6c]
movsd qword [ebp - 0xb6c], xmm0
movsd xmm0, qword [ebp - 0xb6c]
comisd xmm0, xmmword [0x581f78]
jbe 0x49a0e9
movsd xmm0, qword [0x581e40]
mulsd xmm0, qword [ebp - 0xaf4]
movsd xmm1, qword [ebp - 0xb6c]
subsd xmm1, xmm0
movsd qword [ebp - 0xb6c], xmm1
jmp 0x49a025
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xb6c]
jbe 0x49a136
pop esi
bound ebp, qword [ebx]
popal
and edx, dword [esp + ebx*2 + 0x24]
push ebx
jl 0x49a161
push edi
outsb dx, byte cs:[esi]
imul esi, dword [ebx], 0x55
cmp eax, 0x4f42662e
je 0x49a167
push eax
jle 0x49a186
inc ebp
imul ebx, dword [ecx + 0x20], 0x3b
sbb eax, dword [ebx + 0x1c]
inc ebp
push ss
inc eax
adc eax, 0x15401a3f
inc ebx
sbb dword [ebx], edi
pop ss
aaa
pop ds
cmp edx, dword [ebx]
cmp al, 0x1a
inc ebp
jmp 0x49b9a6
mov dword [ebp - 0x6e8], 0x49a119
mov dword [ebp - 0x6f8], 0x49a0fb
mov eax, dword [ebp - 0x6e8]
mov dword [ebp - 0x88c], eax
mov ecx, dword [ebp - 0x6f8]
mov dword [ebp - 0x1300], ecx
mov byte [ebp - 0x9bb], 0x22
mov dword [ebp - 0x838], 0
jmp 0x49a184
inc esi
test dword [ebp - 0xa], eax
invalid
jmp dword [edx]
mov edx, dword [ebp - 0x838]
add edx, 1
mov dword [ebp - 0x838], edx
cmp dword [ebp - 0x838], 0x100
enter 0xfffffffffffffff7, 0xffffffffffffffff
add byte [ecx], al
add byte [eax], al
jae 0x49a1a5
mov eax, dword [ebp - 0x838]
mov cl, byte [ebp - 0x838]
mov byte [ebp + eax - 0xfa8], cl
jmp 0x49a175
mov dword [ebp - 0xab4], 0
mov byte [ebp - 0x735], 0
mov dword [ebp - 0x838], 0xff
jmp 0x49a1d1
mov edx, dword [ebp - 0x838]
sub edx, 1
mov dword [ebp - 0x838], edx
cmp dword [ebp - 0x838], 0
jbe 0x49a441
mov dword [ebp - 0xcb8], 0
mov dword [ebp - 0xbd0], 1
mov eax, dword [ebp - 0xbd0]
cmp eax, dword [ebp - 0x838]
jae 0x49a212
mov ecx, dword [ebp - 0xbd0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xbd0], edx
jmp 0x49a1f2
mov eax, dword [ebp - 0xab4]
mov dword [ebp - 0xe38], eax
cmp dword [ebp - 0xe38], 3
ja case.default.0x49a231
mov ecx, dword [ebp - 0xe38]
jmp dword [ecx*4 + 0x4a6540]
movzx edx, byte [ebp - 0x735]
movzx ebx, byte [ebp + edx - 0xfa8]
movsd xmm0, qword [ebp - 0xb6c]
call fcn.0051c6e0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x735], bl
jmp 0x49a31a
movzx eax, byte [ebp - 0x735]
movzx ebx, byte [ebp + eax - 0xfa8]
movsd xmm0, qword [ebp - 0xb6c]
call fcn.0051c6e0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x735], bl
jmp 0x49a31a
movzx ecx, byte [ebp - 0x735]
movzx ebx, byte [ebp + ecx - 0xfa8]
movsd xmm0, qword [ebp - 0xb6c]
call fcn.0051c6e0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x735], bl
jmp 0x49a31a
movzx edx, byte [ebp - 0x735]
movzx ebx, byte [ebp + edx - 0xfa8]
movsd xmm0, qword [ebp - 0xb6c]
call fcn.0051c6e0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x735], bl
jmp 0x49a31a
movzx eax, byte [ebp - 0x735]
movzx ecx, byte [ebp + eax - 0xfa8]
mov edx, dword [ebp - 0x1300]
add edx, dword [ebp - 0xab4]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x735], cl
mov ecx, dword [ebp - 0xab4]
add ecx, 1
mov dword [ebp - 0xab4], ecx
movzx edx, byte [ebp - 0x9bb]
cmp dword [ebp - 0xab4], edx
jb 0x49a358
mov dword [ebp - 0xab4], 0
movzx eax, byte [ebp - 0x9bb]
movzx ecx, byte [ebp - 0x735]
add ecx, eax
mov byte [ebp - 0x735], cl
movzx edx, byte [ebp - 0x735]
and edx, dword [ebp - 0xbd0]
mov dword [ebp - 0xa68], edx
mov eax, dword [ebp - 0xcb8]
add eax, 1
mov dword [ebp - 0xcb8], eax
cmp dword [ebp - 0xcb8], 0xb
jbe 0x49a397
mov eax, dword [ebp - 0xa68]
xor edx, edx
div dword [ebp - 0x838]
mov dword [ebp - 0xa68], edx
mov ecx, dword [ebp - 0xa68]
cmp ecx, dword [ebp - 0x838]
ja 0x49a212
mov edx, dword [ebp - 0x838]
cmp edx, dword [ebp - 0xa68]
je 0x49a43c
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [ebp + eax - 0xfa8]
mov edx, dword [ebp - 0x838]
movzx eax, byte [ebp + edx - 0xfa8]
xor eax, ecx
mov ecx, dword [ebp - 0x838]
mov byte [ebp + ecx - 0xfa8], al
mov edx, dword [ebp - 0x838]
movzx eax, byte [ebp + edx - 0xfa8]
mov ecx, dword [ebp - 0xa68]
movzx edx, byte [ebp + ecx - 0xfa8]
xor edx, eax
mov eax, dword [ebp - 0xa68]
mov byte [ebp + eax - 0xfa8], dl
mov ecx, dword [ebp - 0xa68]
movzx edx, byte [ebp + ecx - 0xfa8]
mov eax, dword [ebp - 0x838]
movzx ecx, byte [ebp + eax - 0xfa8]
xor ecx, edx
mov edx, dword [ebp - 0x838]
mov byte [ebp + edx - 0xfa8], cl
jmp 0x49a1c2
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0xfa8]
mov byte [ebp - 0x6fc], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0xfa8]
mov byte [ebp - 0x700], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0xfa8]
mov byte [ebp - 0x715], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0xfa8]
mov byte [ebp - 0x701], cl
movzx edx, byte [ebp - 0x735]
mov al, byte [ebp + edx - 0xfa8]
mov byte [ebp - 0x70a], al
mov dword [ebp - 0xe3c], 0x18
cmp dword [ebp - 0xe3c], 2
jle 0x49b951
mov ecx, dword [ebp - 0xe3c]
and ecx, 1
jne 0x49b951
mov dword [ebp - 0x744], 0
mov dword [ebp - 0x7b4], 0
mov edx, dword [ebp - 0x7b4]
add edx, 1
mov dword [ebp - 0x7b4], edx
mov dword [ebp - 0x888], 0
mov eax, dword [ebp - 0x744]
shl eax, 1
mov dword [ebp - 0x888], eax
mov dword [ebp - 0x858], 0
mov ecx, dword [ebp - 0x88c]
add ecx, dword [ebp - 0x888]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x858]
mov dword [ebp - 0x858], edx
mov dword [ebp - 0x85c], 0
mov eax, dword [ebp - 0x85c]
add eax, 0x12
mov dword [ebp - 0x85c], eax
mov dword [ebp - 0x890], 0
mov ecx, dword [ebp - 0x744]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x890], edx
mov dword [ebp - 0x860], 0
mov eax, dword [ebp - 0x88c]
add eax, dword [ebp - 0x890]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x860]
mov dword [ebp - 0x860], ecx
mov dword [ebp - 0x864], 0
mov edx, dword [ebp - 0x864]
add edx, 0x37
mov dword [ebp - 0x864], edx
mov dword [ebp - 0x868], 0
mov eax, dword [ebp - 0x858]
sub eax, dword [ebp - 0x85c]
add eax, dword [ebp - 0x868]
mov dword [ebp - 0x868], eax
mov dword [ebp - 0x86c], 0
mov ecx, dword [ebp - 0x860]
sub ecx, dword [ebp - 0x864]
add ecx, dword [ebp - 0x86c]
mov dword [ebp - 0x86c], ecx
mov dword [ebp - 0x894], 0
mov edx, dword [ebp - 0x868]
shl edx, 4
mov dword [ebp - 0x894], edx
mov dword [ebp - 0x898], 0
mov eax, dword [ebp - 0x86c]
mov dword [ebp - 0x898], eax
mov dword [ebp - 0x89c], 0
mov ecx, dword [ebp - 0x894]
or ecx, dword [ebp - 0x898]
mov dword [ebp - 0x89c], ecx
mov byte [ebp - 0x716], 0
mov dl, byte [ebp - 0x89c]
mov byte [ebp - 0x716], dl
mov byte [ebp - 0x714], 0
movzx eax, byte [ebp - 0x70a]
mov cl, byte [ebp + eax - 0xfa8]
mov byte [ebp - 0x714], cl
movzx edx, byte [ebp - 0x6fc]
movzx eax, byte [ebp + edx - 0xfa8]
mov dword [ebp - 0x1304], eax
mov cl, byte [ebp - 0x6fc]
add cl, 1
mov byte [ebp - 0x6fc], cl
movzx edx, byte [ebp - 0x700]
add edx, dword [ebp - 0x1304]
mov byte [ebp - 0x700], dl
movzx eax, byte [ebp - 0x700]
movzx ecx, byte [ebp - 0x70a]
mov dl, byte [ebp + eax - 0xfa8]
mov byte [ebp + ecx - 0xfa8], dl
movzx eax, byte [ebp - 0x701]
movzx ecx, byte [ebp - 0x700]
mov dl, byte [ebp + eax - 0xfa8]
mov byte [ebp + ecx - 0xfa8], dl
movzx eax, byte [ebp - 0x6fc]
movzx ecx, byte [ebp - 0x701]
mov dl, byte [ebp + eax - 0xfa8]
mov byte [ebp + ecx - 0xfa8], dl
movzx eax, byte [ebp - 0x6fc]
mov cl, byte [ebp - 0x714]
mov byte [ebp + eax - 0xfa8], cl
movzx edx, byte [ebp - 0x714]
movzx eax, byte [ebp + edx - 0xfa8]
movzx ecx, byte [ebp - 0x715]
add ecx, eax
mov byte [ebp - 0x715], cl
movzx edx, byte [ebp - 0x716]
movzx eax, byte [ebp - 0x700]
movzx ecx, byte [ebp + eax - 0xfa8]
movzx eax, byte [ebp - 0x6fc]
movzx eax, byte [ebp + eax - 0xfa8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xfa8]
xor edx, ecx
movzx eax, byte [ebp - 0x701]
movzx ecx, byte [ebp + eax - 0xfa8]
movzx eax, byte [ebp - 0x70a]
movzx eax, byte [ebp + eax - 0xfa8]
add ecx, eax
movzx eax, byte [ebp - 0x715]
movzx eax, byte [ebp + eax - 0xfa8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xfa8]
movzx eax, byte [ebp + ecx - 0xfa8]
xor edx, eax
mov byte [ebp - 0x701], dl
mov cl, byte [ebp - 0x716]
mov byte [ebp - 0x70a], cl
mov dl, byte [ebp - 0x701]
mov byte [ebp - 0x728], dl
cmp dword [ebp - 0x744], 0
jle 0x49a7d7
movsx ax, byte [ebp - 0x728]
mov ecx, dword [ebp - 0x744]
mov word [ebp + ecx*2 - 0x8a], ax
mov edx, dword [ebp - 0x744]
add edx, 1
mov dword [ebp - 0x744], edx
mov eax, dword [ebp - 0x7b4]
add eax, 1
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x744]
shl ecx, 1
mov dword [ebp - 0x888], ecx
mov edx, dword [ebp - 0x88c]
add edx, dword [ebp - 0x888]
movzx eax, byte [edx]
mov dword [ebp - 0x858], eax
mov dword [ebp - 0x85c], 0x12
mov ecx, dword [ebp - 0x744]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x890], edx
mov eax, dword [ebp - 0x88c]
add eax, dword [ebp - 0x890]
movzx ecx, byte [eax]
mov dword [ebp - 0x860], ecx
mov dword [ebp - 0x864], 0x37
mov edx, dword [ebp - 0x858]
sub edx, dword [ebp - 0x85c]
mov dword [ebp - 0x868], edx
mov eax, dword [ebp - 0x860]
sub eax, dword [ebp - 0x864]
mov dword [ebp - 0x86c], eax
mov ecx, dword [ebp - 0x868]
shl ecx, 4
mov dword [ebp - 0x894], ecx
mov edx, dword [ebp - 0x86c]
mov dword [ebp - 0x898], edx
mov eax, dword [ebp - 0x894]
or eax, dword [ebp - 0x898]
mov dword [ebp - 0x89c], eax
mov cl, byte [ebp - 0x89c]
mov byte [ebp - 0x716], cl
movzx edx, byte [ebp - 0x70a]
mov al, byte [ebp + edx - 0xfa8]
mov byte [ebp - 0x714], al
movzx ecx, byte [ebp - 0x6fc]
movzx edx, byte [ebp + ecx - 0xfa8]
mov dword [ebp - 0x1308], edx
mov al, byte [ebp - 0x6fc]
add al, 1
mov byte [ebp - 0x6fc], al
movzx ecx, byte [ebp - 0x700]
add ecx, dword [ebp - 0x1308]
mov byte [ebp - 0x700], cl
movzx edx, byte [ebp - 0x700]
movzx eax, byte [ebp - 0x70a]
mov cl, byte [ebp + edx - 0xfa8]
mov byte [ebp + eax - 0xfa8], cl
movzx edx, byte [ebp - 0x701]
movzx eax, byte [ebp - 0x700]
mov cl, byte [ebp + edx - 0xfa8]
mov byte [ebp + eax - 0xfa8], cl
movzx edx, byte [ebp - 0x6fc]
movzx eax, byte [ebp - 0x701]
mov cl, byte [ebp + edx - 0xfa8]
mov byte [ebp + eax - 0xfa8], cl
movzx edx, byte [ebp - 0x6fc]
mov al, byte [ebp - 0x714]
mov byte [ebp + edx - 0xfa8], al
movzx ecx, byte [ebp - 0x714]
movzx edx, byte [ebp + ecx - 0xfa8]
movzx eax, byte [ebp - 0x715]
add eax, edx
mov byte [ebp - 0x715], al
movzx ecx, byte [ebp - 0x716]
movzx edx, byte [ebp - 0x700]
movzx eax, byte [ebp + edx - 0xfa8]
movzx edx, byte [ebp - 0x6fc]
movzx edx, byte [ebp + edx - 0xfa8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xfa8]
xor ecx, eax
movzx edx, byte [ebp - 0x701]
movzx eax, byte [ebp + edx - 0xfa8]
movzx edx, byte [ebp - 0x70a]
movzx edx, byte [ebp + edx - 0xfa8]
add eax, edx
movzx edx, byte [ebp - 0x715]
movzx edx, byte [ebp + edx - 0xfa8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xfa8]
movzx edx, byte [ebp + eax - 0xfa8]
xor ecx, edx
mov byte [ebp - 0x701], cl
mov al, byte [ebp - 0x716]
mov byte [ebp - 0x70a], al
mov cl, byte [ebp - 0x701]
mov byte [ebp - 0x728], cl
cmp dword [ebp - 0x744], 0
jle 0x49aa39
movsx dx, byte [ebp - 0x728]
mov eax, dword [ebp - 0x744]
mov word [ebp + eax*2 - 0x8a], dx
mov ecx, dword [ebp - 0x7b4]
add ecx, 3
mov dword [ebp - 0x7b4], ecx
mov edx, dword [ebp - 0x744]
add edx, 1
mov dword [ebp - 0xcbc], edx
jmp 0x49aa68
mov eax, dword [ebp - 0xcbc]
add eax, 1
mov dword [ebp - 0xcbc], eax
mov ecx, dword [ebp - 0xcbc]
cmp ecx, dword [ebp - 0x7b4]
jge 0x49acd5
mov edx, dword [ebp - 0x744]
add edx, 1
mov dword [ebp - 0x744], edx
mov eax, dword [ebp - 0x744]
shl eax, 1
mov dword [ebp - 0x888], eax
mov ecx, dword [ebp - 0x88c]
add ecx, dword [ebp - 0x888]
movzx edx, byte [ecx]
mov dword [ebp - 0x858], edx
mov dword [ebp - 0x85c], 0x12
mov eax, dword [ebp - 0x744]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x890], ecx
mov edx, dword [ebp - 0x88c]
add edx, dword [ebp - 0x890]
movzx eax, byte [edx]
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x864], 0x37
mov ecx, dword [ebp - 0x858]
sub ecx, dword [ebp - 0x85c]
mov dword [ebp - 0x868], ecx
mov edx, dword [ebp - 0x860]
sub edx, dword [ebp - 0x864]
mov dword [ebp - 0x86c], edx
mov eax, dword [ebp - 0x868]
shl eax, 4
mov dword [ebp - 0x894], eax
mov ecx, dword [ebp - 0x86c]
mov dword [ebp - 0x898], ecx
mov edx, dword [ebp - 0x894]
or edx, dword [ebp - 0x898]
mov dword [ebp - 0x89c], edx
mov al, byte [ebp - 0x89c]
mov byte [ebp - 0x716], al
movzx ecx, byte [ebp - 0x70a]
mov dl, byte [ebp + ecx - 0xfa8]
mov byte [ebp - 0x714], dl
movzx eax, byte [ebp - 0x6fc]
movzx ecx, byte [ebp + eax - 0xfa8]
mov dword [ebp - 0x130c], ecx
mov dl, byte [ebp - 0x6fc]
add dl, 1
mov byte [ebp - 0x6fc], dl
movzx eax, byte [ebp - 0x700]
add eax, dword [ebp - 0x130c]
mov byte [ebp - 0x700], al
movzx ecx, byte [ebp - 0x700]
movzx edx, byte [ebp - 0x70a]
mov al, byte [ebp + ecx - 0xfa8]
mov byte [ebp + edx - 0xfa8], al
movzx ecx, byte [ebp - 0x701]
movzx edx, byte [ebp - 0x700]
mov al, byte [ebp + ecx - 0xfa8]
mov byte [ebp + edx - 0xfa8], al
movzx ecx, byte [ebp - 0x6fc]
movzx edx, byte [ebp - 0x701]
mov al, byte [ebp + ecx - 0xfa8]
mov byte [ebp + edx - 0xfa8], al
movzx ecx, byte [ebp - 0x6fc]
mov dl, byte [ebp - 0x714]
mov byte [ebp + ecx - 0xfa8], dl
movzx eax, byte [ebp - 0x714]
movzx ecx, byte [ebp + eax - 0xfa8]
movzx edx, byte [ebp - 0x715]
add edx, ecx
mov byte [ebp - 0x715], dl
movzx eax, byte [ebp - 0x716]
movzx ecx, byte [ebp - 0x700]
movzx edx, byte [ebp + ecx - 0xfa8]
movzx ecx, byte [ebp - 0x6fc]
movzx ecx, byte [ebp + ecx - 0xfa8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xfa8]
xor eax, edx
movzx ecx, byte [ebp - 0x701]
movzx edx, byte [ebp + ecx - 0xfa8]
movzx ecx, byte [ebp - 0x70a]
movzx ecx, byte [ebp + ecx - 0xfa8]
add edx, ecx
movzx ecx, byte [ebp - 0x715]
movzx ecx, byte [ebp + ecx - 0xfa8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xfa8]
movzx ecx, byte [ebp + edx - 0xfa8]
xor eax, ecx
mov byte [ebp - 0x701], al
mov dl, byte [ebp - 0x716]
mov byte [ebp - 0x70a], dl
mov al, byte [ebp - 0x701]
mov byte [ebp - 0x728], al
cmp dword [ebp - 0x744], 0
jle 0x49acd0
movsx cx, byte [ebp - 0x728]
mov edx, dword [ebp - 0x744]
mov word [ebp + edx*2 - 0x8a], cx
jmp 0x49aa59
mov eax, dword [ebp - 0x7b4]
add eax, 1
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x744]
add ecx, 1
mov dword [ebp - 0x744], ecx
mov edx, dword [ebp - 0x7b4]
add edx, 1
mov dword [ebp - 0x7b4], edx
mov eax, dword [ebp - 0x744]
shl eax, 1
mov dword [ebp - 0x888], eax
mov ecx, dword [ebp - 0x88c]
add ecx, dword [ebp - 0x888]
movzx edx, byte [ecx]
mov dword [ebp - 0x858], edx
mov dword [ebp - 0x85c], 0x12
mov eax, dword [ebp - 0x744]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x890], ecx
mov edx, dword [ebp - 0x88c]
add edx, dword [ebp - 0x890]
movzx eax, byte [edx]
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x864], 0x37
mov ecx, dword [ebp - 0x858]
sub ecx, dword [ebp - 0x85c]
mov dword [ebp - 0x868], ecx
mov edx, dword [ebp - 0x860]
sub edx, dword [ebp - 0x864]
mov dword [ebp - 0x86c], edx
mov eax, dword [ebp - 0x868]
shl eax, 4
mov dword [ebp - 0x894], eax
mov ecx, dword [ebp - 0x86c]
mov dword [ebp - 0x898], ecx
mov edx, dword [ebp - 0x894]
or edx, dword [ebp - 0x898]
mov dword [ebp - 0x89c], edx
mov al, byte [ebp - 0x89c]
mov byte [ebp - 0x716], al
movzx ecx, byte [ebp - 0x70a]
mov dl, byte [ebp + ecx - 0xfa8]
mov byte [ebp - 0x714], dl
movzx eax, byte [ebp - 0x6fc]
movzx ecx, byte [ebp + eax - 0xfa8]
mov dword [ebp - 0x1314], ecx
mov dl, byte [ebp - 0x6fc]
add dl, 1
mov byte [ebp - 0x6fc], dl
movzx eax, byte [ebp - 0x700]
add eax, dword [ebp - 0x1314]
mov byte [ebp - 0x700], al
movzx ecx, byte [ebp - 0x700]
movzx edx, byte [ebp - 0x70a]
mov al, byte [ebp + ecx - 0xfa8]
mov byte [ebp + edx - 0xfa8], al
movzx ecx, byte [ebp - 0x701]
movzx edx, byte [ebp - 0x700]
mov al, byte [ebp + ecx - 0xfa8]
mov byte [ebp + edx - 0xfa8], al
movzx ecx, byte [ebp - 0x6fc]
movzx edx, byte [ebp - 0x701]
mov al, byte [ebp + ecx - 0xfa8]
mov byte [ebp + edx - 0xfa8], al
movzx ecx, byte [ebp - 0x6fc]
mov dl, byte [ebp - 0x714]
mov byte [ebp + ecx - 0xfa8], dl
movzx eax, byte [ebp - 0x714]
movzx ecx, byte [ebp + eax - 0xfa8]
movzx edx, byte [ebp - 0x715]
add edx, ecx
mov byte [ebp - 0x715], dl
movzx eax, byte [ebp - 0x716]
movzx ecx, byte [ebp - 0x700]
movzx edx, byte [ebp + ecx - 0xfa8]
movzx ecx, byte [ebp - 0x6fc]
movzx ecx, byte [ebp + ecx - 0xfa8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xfa8]
xor eax, edx
movzx ecx, byte [ebp - 0x701]
movzx edx, byte [ebp + ecx - 0xfa8]
movzx ecx, byte [ebp - 0x70a]
movzx ecx, byte [ebp + ecx - 0xfa8]
add edx, ecx
movzx ecx, byte [ebp - 0x715]
movzx ecx, byte [ebp + ecx - 0xfa8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xfa8]
movzx ecx, byte [ebp + edx - 0xfa8]
xor eax, ecx
mov byte [ebp - 0x701], al
mov dl, byte [ebp - 0x716]
mov byte [ebp - 0x70a], dl
mov al, byte [ebp - 0x701]
mov byte [ebp - 0x728], al
cmp dword [ebp - 0x744], 0
jle 0x49af49
movsx cx, byte [ebp - 0x728]
mov edx, dword [ebp - 0x744]
mov word [ebp + edx*2 - 0x8a], cx
mov eax, dword [ebp - 0x744]
add eax, 1
mov dword [ebp - 0x744], eax
mov ecx, dword [ebp - 0x7b4]
add ecx, 1
mov dword [ebp - 0x7b4], ecx
mov edx, dword [ebp - 0x744]
shl edx, 1
mov dword [ebp - 0x888], edx
mov eax, dword [ebp - 0x88c]
add eax, dword [ebp - 0x888]
movzx ecx, byte [eax]
mov dword [ebp - 0x858], ecx
mov dword [ebp - 0x85c], 0x12
mov edx, dword [ebp - 0x744]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x890], eax
mov ecx, dword [ebp - 0x88c]
add ecx, dword [ebp - 0x890]
movzx edx, byte [ecx]
mov dword [ebp - 0x860], edx
mov dword [ebp - 0x864], 0x37
mov eax, dword [ebp - 0x858]
sub eax, dword [ebp - 0x85c]
mov dword [ebp - 0x868], eax
mov ecx, dword [ebp - 0x860]
mov dword [ebp - 0xbd4], 0
jmp 0x49b96c
mov ecx, dword [ebp - 0xbd4]
add ecx, 1
mov dword [ebp - 0xbd4], ecx
cmp dword [ebp - 0xbd4], 0xc
jge 0x49b9a6
mov edx, dword [ebp - 0xbd4]
shl edx, 1
mov dword [ebp - 0xe44], edx
cmp dword [ebp - 0xe44], 0x18
jae 0x49b98e
jmp 0x49b994
call fcn.0051c285
nop
xor eax, eax
mov ecx, dword [ebp - 0xe44]
mov word [ebp + ecx - 0x88], ax
jmp 0x49b95d