Function at 0x4eaa50
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x532373
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xb24
mov eax, dword [0x5d2280]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x584], ecx
mov dword [ebp - 0x644], 0
mov byte [ebp - 0x63d], 0
mov dword [ebp - 0x580], 0
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0xad8], 0
mov dword [ebp - 0xadc], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x378], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x608], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5d8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5d8], xmm0
jmp 0x4eab2b
movsd xmm0, qword [ebp - 0x5d8]
addsd xmm0, qword [0x534560]
movsd qword [ebp - 0x5d8], xmm0
movsd xmm0, qword [0x535f30]
comisd xmm0, xmmword [ebp - 0x5d8]
jbe 0x4eabdc
movsd xmm0, qword [0x535d98]
mulsd xmm0, qword [ebp - 0x5d8]
mulsd xmm0, qword [ebp - 0x5d8]
movsd xmm1, qword [ebp - 0x5d8]
mulsd xmm1, qword [ebp - 0x5d8]
subsd xmm0, xmm1
movsd xmm1, qword [0x535c28]
mulsd xmm1, qword [ebp - 0x5d8]
mulsd xmm1, qword [ebp - 0x5d8]
addsd xmm1, qword [0x535c40]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x608]
movsd qword [ebp - 0x608], xmm0
movsd xmm0, qword [ebp - 0x608]
comisd xmm0, xmmword [0x535d18]
jbe 0x4eabd7
movsd xmm0, qword [0x535b20]
mulsd xmm0, qword [ebp - 0x5d8]
movsd xmm1, qword [ebp - 0x608]
subsd xmm1, xmm0
movsd qword [ebp - 0x608], xmm1
jmp 0x4eab13
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x608]
jbe 0x4eac18
and edi, dword [esi]
and eax, 0x2c382e3a
inc ecx
and eax, 0x2b38263c
inc esi
inc ebp
sub eax, 0x2543273f
sub eax, 0x2543273f
inc esi
jae 0x4eac39
pop esp
imul edx, dword [ebx + 0x44], 0x59
aas
pop ecx
xor dword [edx + 0x6c], ebp
dec esp
jp 0x4eabfd
inc esi
and eax, dword [eax]
add bh, al
test dword [eax - 0x16000004], eax
stosd dword es:[edi], eax
dec esi
add bh, al
test dword [eax + 0x3fffffc], ecx
lodsb al, byte [esi]
dec esi
add byte [ebx - 0x37f7b], cl
dec dword [ecx - 0x48f7b]
dec dword [ebx - 0x37773]
dec dword [ecx - 0x9e373]
inc esi
test dword [edi], edi
sti
invalid
mov dword [ebp - 0x380], 0x4eabe9
mov dword [ebp - 0x378], 0x4eac03
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x490], eax
mov ecx, dword [ebp - 0x378]
mov dword [ebp - 0x9e4], ecx
mov byte [ebp - 0x4c1], 0x14
mov dword [ebp - 0x3f0], 0
jmp 0x4eac66
lea ecx, [eax - 0x76000004]
lea ebx, [esi + esi*8]
invalid
mov edx, dword [ebp - 0x3f0]
add edx, 1
mov dword [ebp - 0x3f0], edx
cmp dword [ebp - 0x3f0], 0x100
jae 0x4eac87
mov eax, dword [ebp - 0x3f0]
mov cl, byte [ebp - 0x3f0]
mov byte [ebp + eax - 0x9d0], cl
jmp 0x4eac57
mov dword [ebp - 0x5b0], 0
mov byte [ebp - 0x3a6], 0
mov dword [ebp - 0x3f0], 0xff
jmp 0x4eacb3
mov edx, dword [ebp - 0x3f0]
sub edx, 1
mov dword [ebp - 0x3f0], edx
cmp dword [ebp - 0x3f0], 0
jbe 0x4eaf53
mov dword [ebp - 0x65c], 0
mov dword [ebp - 0x624], 1
mov eax, dword [ebp - 0x624]
cmp eax, dword [ebp - 0x3f0]
jae 0x4eacf4
mov ecx, dword [ebp - 0x624]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x624], edx
jmp 0x4eacd4
mov eax, dword [ebp - 0x5b0]
mov dword [ebp - 0x68c], eax
cmp dword [ebp - 0x68c], 3
ja case.default.0x4ead13
mov ecx, dword [ebp - 0x68c]
jmp dword [ecx*4 + 0x4f21dc]
movzx edx, byte [ebp - 0x3a6]
movzx eax, byte [ebp + edx - 0x9d0]
movsd xmm0, qword [ebp - 0x608]
mov dword [ebp - 0x9d4], eax
call fcn.00523390
and eax, 0xff
mov ecx, dword [ebp - 0x9d4]
add ecx, eax
mov byte [ebp - 0x3a6], cl
jmp 0x4eae2c
movzx eax, byte [ebp - 0x3a6]
movzx eax, byte [ebp + eax - 0x9d0]
movsd xmm0, qword [ebp - 0x608]
mov dword [ebp - 0x9d8], eax
call fcn.00523390
shr eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0x9d8]
add ecx, eax
mov byte [ebp - 0x3a6], cl
jmp 0x4eae2c
movzx ecx, byte [ebp - 0x3a6]
movzx eax, byte [ebp + ecx - 0x9d0]
movsd xmm0, qword [ebp - 0x608]
mov dword [ebp - 0x9dc], eax
call fcn.00523390
shr eax, 0x10
and eax, 0xff
mov ecx, dword [ebp - 0x9dc]
add ecx, eax
mov byte [ebp - 0x3a6], cl
jmp 0x4eae2c
movzx edx, byte [ebp - 0x3a6]
movzx eax, byte [ebp + edx - 0x9d0]
movsd xmm0, qword [ebp - 0x608]
mov dword [ebp - 0x9e0], eax
call fcn.00523390
shr eax, 0x18
and eax, 0xff
mov ecx, dword [ebp - 0x9e0]
add ecx, eax
mov byte [ebp - 0x3a6], cl
jmp 0x4eae2c
movzx eax, byte [ebp - 0x3a6]
movzx ecx, byte [ebp + eax - 0x9d0]
mov edx, dword [ebp - 0x9e4]
add edx, dword [ebp - 0x5b0]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x3a6], cl
mov ecx, dword [ebp - 0x5b0]
add ecx, 1
mov dword [ebp - 0x5b0], ecx
movzx edx, byte [ebp - 0x4c1]
cmp dword [ebp - 0x5b0], edx
jb 0x4eae6a
mov dword [ebp - 0x5b0], 0
movzx eax, byte [ebp - 0x4c1]
movzx ecx, byte [ebp - 0x3a6]
add ecx, eax
mov byte [ebp - 0x3a6], cl
movzx edx, byte [ebp - 0x3a6]
and edx, dword [ebp - 0x624]
mov dword [ebp - 0x554], edx
mov eax, dword [ebp - 0x65c]
add eax, 1
mov dword [ebp - 0x65c], eax
cmp dword [ebp - 0x65c], 0xb
jbe 0x4eaea9
mov eax, dword [ebp - 0x554]
xor edx, edx
div dword [ebp - 0x3f0]
mov dword [ebp - 0x554], edx
mov ecx, dword [ebp - 0x554]
cmp ecx, dword [ebp - 0x3f0]
ja 0x4eacf4
mov edx, dword [ebp - 0x3f0]
cmp edx, dword [ebp - 0x554]
je 0x4eaf4e
mov eax, dword [ebp - 0x554]
movzx ecx, byte [ebp + eax - 0x9d0]
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [ebp + edx - 0x9d0]
xor eax, ecx
mov ecx, dword [ebp - 0x3f0]
mov byte [ebp + ecx - 0x9d0], al
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [ebp + edx - 0x9d0]
mov ecx, dword [ebp - 0x554]
movzx edx, byte [ebp + ecx - 0x9d0]
xor edx, eax
mov eax, dword [ebp - 0x554]
mov byte [ebp + eax - 0x9d0], dl
mov ecx, dword [ebp - 0x554]
movzx edx, byte [ebp + ecx - 0x9d0]
mov eax, dword [ebp - 0x3f0]
movzx ecx, byte [ebp + eax - 0x9d0]
xor ecx, edx
mov edx, dword [ebp - 0x3f0]
mov byte [ebp + edx - 0x9d0], cl
jmp 0x4eaca4
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x9d0]
mov byte [ebp - 0x38f], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x9d0]
mov byte [ebp - 0x390], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x9d0]
mov byte [ebp - 0x39a], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x9d0]
mov byte [ebp - 0x391], cl
movzx edx, byte [ebp - 0x3a6]
mov al, byte [ebp + edx - 0x9d0]
mov byte [ebp - 0x396], al
mov dword [ebp - 0x6c0], 0x1a
cmp dword [ebp - 0x6c0], 2
jle 0x4ecf0c
mov ecx, dword [ebp - 0x6c0]
and ecx, 1
jne 0x4ecf0c
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x3e0], 0
mov edx, dword [ebp - 0x3e0]
add edx, 1
mov dword [ebp - 0x3e0], edx
mov dword [ebp - 0x48c], 0
mov eax, dword [ebp - 0x3b0]
shl eax, 1
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x41c], 0
mov ecx, dword [ebp - 0x490]
add ecx, dword [ebp - 0x48c]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x41c]
mov dword [ebp - 0x41c], edx
mov dword [ebp - 0x420], 0
mov eax, dword [ebp - 0x420]
add eax, 0x23
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x494], 0
mov ecx, dword [ebp - 0x3b0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x494], edx
mov dword [ebp - 0x424], 0
mov eax, dword [ebp - 0x490]
add eax, dword [ebp - 0x494]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x424]
mov dword [ebp - 0x424], ecx
mov dword [ebp - 0x428], 0
mov edx, dword [ebp - 0x428]
add edx, 0x38
mov dword [ebp - 0x428], edx
mov dword [ebp - 0x42c], 0
mov eax, dword [ebp - 0x41c]
sub eax, dword [ebp - 0x420]
add eax, dword [ebp - 0x42c]
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x430], 0
mov ecx, dword [ebp - 0x424]
sub ecx, dword [ebp - 0x428]
add ecx, dword [ebp - 0x430]
mov dword [ebp - 0x430], ecx
mov dword [ebp - 0x46c], 0
mov edx, dword [ebp - 0x42c]
shl edx, 4
mov dword [ebp - 0x46c], edx
mov dword [ebp - 0x488], 0
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], 0
mov ecx, dword [ebp - 0x46c]
or ecx, dword [ebp - 0x488]
mov dword [ebp - 0x484], ecx
mov byte [ebp - 0x39b], 0
mov dl, byte [ebp - 0x484]
mov byte [ebp - 0x39b], dl
mov byte [ebp - 0x399], 0
movzx eax, byte [ebp - 0x396]
mov cl, byte [ebp + eax - 0x9d0]
mov byte [ebp - 0x399], cl
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp + edx - 0x9d0]
mov dword [ebp - 0x9e8], eax
mov cl, byte [ebp - 0x38f]
add cl, 1
mov byte [ebp - 0x38f], cl
movzx edx, byte [ebp - 0x390]
add edx, dword [ebp - 0x9e8]
mov byte [ebp - 0x390], dl
movzx eax, byte [ebp - 0x390]
movzx ecx, byte [ebp - 0x396]
mov dl, byte [ebp + eax - 0x9d0]
mov byte [ebp + ecx - 0x9d0], dl
movzx eax, byte [ebp - 0x391]
movzx ecx, byte [ebp - 0x390]
mov dl, byte [ebp + eax - 0x9d0]
mov byte [ebp + ecx - 0x9d0], dl
movzx eax, byte [ebp - 0x38f]
movzx ecx, byte [ebp - 0x391]
mov dl, byte [ebp + eax - 0x9d0]
mov byte [ebp + ecx - 0x9d0], dl
movzx eax, byte [ebp - 0x38f]
mov cl, byte [ebp - 0x399]
mov byte [ebp + eax - 0x9d0], cl
movzx edx, byte [ebp - 0x399]
movzx eax, byte [ebp + edx - 0x9d0]
movzx ecx, byte [ebp - 0x39a]
add ecx, eax
mov byte [ebp - 0x39a], cl
movzx edx, byte [ebp - 0x39b]
movzx eax, byte [ebp - 0x390]
movzx ecx, byte [ebp + eax - 0x9d0]
movzx eax, byte [ebp - 0x38f]
movzx eax, byte [ebp + eax - 0x9d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d0]
xor edx, ecx
movzx eax, byte [ebp - 0x391]
movzx ecx, byte [ebp + eax - 0x9d0]
movzx eax, byte [ebp - 0x396]
movzx eax, byte [ebp + eax - 0x9d0]
add ecx, eax
movzx eax, byte [ebp - 0x39a]
movzx eax, byte [ebp + eax - 0x9d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d0]
movzx eax, byte [ebp + ecx - 0x9d0]
xor edx, eax
mov byte [ebp - 0x391], dl
mov cl, byte [ebp - 0x39b]
mov byte [ebp - 0x396], cl
mov dl, byte [ebp - 0x391]
mov byte [ebp - 0x3a2], dl
cmp dword [ebp - 0x3b0], 0
jle 0x4eb2e6
movsx ax, byte [ebp - 0x3a2]
mov ecx, dword [ebp - 0x3b0]
mov word [ebp + ecx*2 - 0x46], ax
mov edx, dword [ebp - 0x3b0]
add edx, 1
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x3e0]
add eax, 1
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3b0]
shl ecx, 1
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp - 0x490]
add edx, dword [ebp - 0x48c]
movzx eax, byte [edx]
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x420], 0x23
mov ecx, dword [ebp - 0x3b0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x494], edx
mov eax, dword [ebp - 0x490]
add eax, dword [ebp - 0x494]
movzx ecx, byte [eax]
mov dword [ebp - 0x424], ecx
mov dword [ebp - 0x428], 0x38
mov edx, dword [ebp - 0x41c]
sub edx, dword [ebp - 0x420]
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0x424]
sub eax, dword [ebp - 0x428]
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x42c]
shl ecx, 4
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x430]
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x46c]
or eax, dword [ebp - 0x488]
mov dword [ebp - 0x484], eax
mov cl, byte [ebp - 0x484]
mov byte [ebp - 0x39b], cl
movzx edx, byte [ebp - 0x396]
mov al, byte [ebp + edx - 0x9d0]
mov byte [ebp - 0x399], al
movzx ecx, byte [ebp - 0x38f]
movzx edx, byte [ebp + ecx - 0x9d0]
mov dword [ebp - 0x9ec], edx
mov al, byte [ebp - 0x38f]
add al, 1
mov byte [ebp - 0x38f], al
movzx ecx, byte [ebp - 0x390]
add ecx, dword [ebp - 0x9ec]
mov byte [ebp - 0x390], cl
movzx edx, byte [ebp - 0x390]
movzx eax, byte [ebp - 0x396]
mov cl, byte [ebp + edx - 0x9d0]
mov byte [ebp + eax - 0x9d0], cl
movzx edx, byte [ebp - 0x391]
movzx eax, byte [ebp - 0x390]
mov cl, byte [ebp + edx - 0x9d0]
mov byte [ebp + eax - 0x9d0], cl
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp - 0x391]
mov cl, byte [ebp + edx - 0x9d0]
mov byte [ebp + eax - 0x9d0], cl
movzx edx, byte [ebp - 0x38f]
mov al, byte [ebp - 0x399]
mov byte [ebp + edx - 0x9d0], al
movzx ecx, byte [ebp - 0x399]
movzx edx, byte [ebp + ecx - 0x9d0]
movzx eax, byte [ebp - 0x39a]
add eax, edx
mov byte [ebp - 0x39a], al
movzx ecx, byte [ebp - 0x39b]
movzx edx, byte [ebp - 0x390]
movzx eax, byte [ebp + edx - 0x9d0]
movzx edx, byte [ebp - 0x38f]
movzx edx, byte [ebp + edx - 0x9d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x9d0]
xor ecx, eax
movzx edx, byte [ebp - 0x391]
movzx eax, byte [ebp + edx - 0x9d0]
movzx edx, byte [ebp - 0x396]
movzx edx, byte [ebp + edx - 0x9d0]
add eax, edx
movzx edx, byte [ebp - 0x39a]
movzx edx, byte [ebp + edx - 0x9d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x9d0]
movzx edx, byte [ebp + eax - 0x9d0]
xor ecx, edx
mov byte [ebp - 0x391], cl
mov al, byte [ebp - 0x39b]
mov byte [ebp - 0x396], al
mov cl, byte [ebp - 0x391]
mov byte [ebp - 0x3a2], cl
cmp dword [ebp - 0x3b0], 0
jle 0x4eb545
movsx dx, byte [ebp - 0x3a2]
mov eax, dword [ebp - 0x3b0]
mov word [ebp + eax*2 - 0x46], dx
mov ecx, dword [ebp - 0x3b0]
add ecx, 1
mov dword [ebp - 0x3b0], ecx
mov edx, dword [ebp - 0x3e0]
add edx, 1
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x3b0]
shl eax, 1
mov dword [ebp - 0x48c], eax
mov ecx, dword [ebp - 0x490]
add ecx, dword [ebp - 0x48c]
movzx edx, byte [ecx]
mov dword [ebp - 0x41c], edx
mov dword [ebp - 0x420], 0x23
mov eax, dword [ebp - 0x3b0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x494], ecx
mov edx, dword [ebp - 0x490]
add edx, dword [ebp - 0x494]
movzx eax, byte [edx]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x428], 0x38
mov ecx, dword [ebp - 0x41c]
sub ecx, dword [ebp - 0x420]
mov dword [ebp - 0x42c], ecx
mov edx, dword [ebp - 0x424]
sub edx, dword [ebp - 0x428]
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x42c]
shl eax, 4
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x430]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x46c]
or edx, dword [ebp - 0x488]
mov dword [ebp - 0x484], edx
mov al, byte [ebp - 0x484]
mov byte [ebp - 0x39b], al
movzx ecx, byte [ebp - 0x396]
mov dl, byte [ebp + ecx - 0x9d0]
mov byte [ebp - 0x399], dl
movzx eax, byte [ebp - 0x38f]
movzx ecx, byte [ebp + eax - 0x9d0]
mov dword [ebp - 0x9f0], ecx
mov dl, byte [ebp - 0x38f]
add dl, 1
mov byte [ebp - 0x38f], dl
movzx eax, byte [ebp - 0x390]
add eax, dword [ebp - 0x9f0]
mov byte [ebp - 0x390], al
movzx ecx, byte [ebp - 0x390]
movzx edx, byte [ebp - 0x396]
mov al, byte [ebp + ecx - 0x9d0]
mov byte [ebp + edx - 0x9d0], al
movzx ecx, byte [ebp - 0x391]
movzx edx, byte [ebp - 0x390]
mov al, byte [ebp + ecx - 0x9d0]
mov byte [ebp + edx - 0x9d0], al
movzx ecx, byte [ebp - 0x38f]
movzx edx, byte [ebp - 0x391]
mov al, byte [ebp + ecx - 0x9d0]
mov byte [ebp + edx - 0x9d0], al
movzx ecx, byte [ebp - 0x38f]
mov dl, byte [ebp - 0x399]
mov byte [ebp + ecx - 0x9d0], dl
movzx eax, byte [ebp - 0x399]
movzx ecx, byte [ebp + eax - 0x9d0]
movzx edx, byte [ebp - 0x39a]
add edx, ecx
mov byte [ebp - 0x39a], dl
movsd xmm0, qword [0x536378]
movsd qword [ebp - 0x528], xmm0
movsd xmm0, qword [0x5362e0]
movsd qword [ebp - 0x5c0], xmm0
movsd xmm0, qword [0x536220]
movsd qword [ebp - 0x570], xmm0
movsd xmm0, qword [0x536108]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [0x536020]
movsd qword [ebp - 0x538], xmm0
movsd xmm0, qword [0x535e68]
movsd qword [ebp - 0x4b8], xmm0
movsd xmm0, qword [ebp - 0x528]
mulsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x528], xmm0
movsd xmm0, qword [ebp - 0x538]
mulsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x538], xmm0
movsd xmm0, qword [ebp - 0x570]
subsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x570], xmm0
movsd xmm0, qword [ebp - 0x570]
mulsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x570], xmm0
movsd xmm0, qword [ebp - 0x528]
subsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x528], xmm0
movsd xmm0, qword [ebp - 0x538]
addsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x538], xmm0
movsd xmm0, qword [ebp - 0x528]
comisd xmm0, xmmword [ebp - 0x4b8]
jbe 0x4eb90e
movsd xmm0, qword [ebp - 0x508]
addsd xmm0, qword [ebp - 0x538]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x528]
subsd xmm0, qword [ebp - 0x5c0]
movsd qword [ebp - 0x528], xmm0
movsd xmm0, qword [ebp - 0x508]
subsd xmm0, qword [ebp - 0x538]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x4b8]
addsd xmm0, qword [ebp - 0x528]
movsd qword [ebp - 0x4b8], xmm0
movsd xmm0, qword [ebp - 0x5c0]
addsd xmm0, qword [ebp - 0x570]
movsd qword [ebp - 0x5c0], xmm0
movsd xmm0, qword [ebp - 0x570]
addsd xmm0, qword [ebp - 0x508]
movsd qword [ebp - 0x570], xmm0
movzx eax, byte [ebp - 0x39b]
movzx ecx, byte [ebp - 0x390]
movzx edx, byte [ebp + ecx - 0x9d0]
movzx ecx, byte [ebp - 0x38f]
movzx ecx, byte [ebp + ecx - 0x9d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x9d0]
xor eax, edx
movzx ecx, byte [ebp - 0x391]
movzx edx, byte [ebp + ecx - 0x9d0]
movzx ecx, byte [ebp - 0x396]
movzx ecx, byte [ebp + ecx - 0x9d0]
add edx, ecx
movzx ecx, byte [ebp - 0x39a]
movzx ecx, byte [ebp + ecx - 0x9d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x9d0]
movzx ecx, byte [ebp + edx - 0x9d0]
xor eax, ecx
mov byte [ebp - 0x391], al
jmp 0x4ebb69
movsd xmm0, qword [ebp - 0x4b8]
subsd xmm0, qword [ebp - 0x5c0]
movsd qword [ebp - 0x4b8], xmm0
movsd xmm0, qword [ebp - 0x570]
addsd xmm0, qword [ebp - 0x538]
movsd qword [ebp - 0x570], xmm0
movsd xmm0, qword [ebp - 0x570]
subsd xmm0, qword [ebp - 0x538]
movsd qword [ebp - 0x570], xmm0
movsd xmm0, qword [ebp - 0x508]
addsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x508]
divsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x508]
mulsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x528]
mulsd xmm0, qword [ebp - 0x570]
movsd qword [ebp - 0x528], xmm0
movsd xmm0, qword [ebp - 0x4b8]
subsd xmm0, qword [ebp - 0x5c0]
movsd qword [ebp - 0x4b8], xmm0
movsd xmm0, qword [ebp - 0x508]
mulsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x538]
addsd xmm0, qword [ebp - 0x528]
movsd qword [ebp - 0x538], xmm0
movsd xmm0, qword [ebp - 0x5c0]
mulsd xmm0, qword [ebp - 0x508]
movsd qword [ebp - 0x5c0], xmm0
movsd xmm0, qword [ebp - 0x508]
divsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x5c0]
comisd xmm0, xmmword [ebp - 0x508]
jbe 0x4ebad9
movsd xmm0, qword [ebp - 0x4b8]
subsd xmm0, qword [ebp - 0x528]
movsd qword [ebp - 0x4b8], xmm0
movsd xmm0, qword [ebp - 0x528]
mulsd xmm0, qword [ebp - 0x5c0]
movsd qword [ebp - 0x528], xmm0
movsd xmm0, qword [ebp - 0x508]
subsd xmm0, qword [ebp - 0x538]
movsd qword [ebp - 0x508], xmm0
movsd xmm0, qword [ebp - 0x5c0]
divsd xmm0, qword [ebp - 0x570]
movsd qword [ebp - 0x5c0], xmm0
movsd xmm0, qword [ebp - 0x538]
mulsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x538], xmm0
movsd xmm0, qword [ebp - 0x4b8]
addsd xmm0, qword [ebp - 0x528]
movsd qword [ebp - 0x4b8], xmm0
jmp 0x4ebb69
movsd xmm0, qword [ebp - 0x538]
mulsd xmm0, qword [ebp - 0x528]
movsd qword [ebp - 0x538], xmm0
movsd xmm0, qword [ebp - 0x4b8]
subsd xmm0, qword [ebp - 0x5c0]
movsd qword [ebp - 0x4b8], xmm0
movsd xmm0, qword [ebp - 0x528]
divsd xmm0, qword [ebp - 0x570]
movsd qword [ebp - 0x528], xmm0
movsd xmm0, qword [ebp - 0x570]
mulsd xmm0, qword [ebp - 0x538]
movsd qword [ebp - 0x570], xmm0
movsd xmm0, qword [ebp - 0x538]
mulsd xmm0, qword [ebp - 0x528]
movsd qword [ebp - 0x538], xmm0
movsd xmm0, qword [ebp - 0x508]
subsd xmm0, qword [ebp - 0x4b8]
movsd qword [ebp - 0x508], xmm0
mov dl, byte [ebp - 0x39b]
mov byte [ebp - 0x396], dl
mov al, byte [ebp - 0x391]
mov byte [ebp - 0x3a2], al
cmp dword [ebp - 0x3b0], 0
jle 0x4ebb9d
movsx cx, byte [ebp - 0x3a2]
mov edx, dword [ebp - 0x3b0]
mov word [ebp + edx*2 - 0x46], cx
mov eax, dword [ebp - 0x3e0]
add eax, 3
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3b0]
add ecx, 1
mov dword [ebp - 0x680], ecx
jmp 0x4ebbcc
mov edx, dword [ebp - 0x680]
add edx, 1
mov dword [ebp - 0x680], edx
mov eax, dword [ebp - 0x680]
cmp eax, dword [ebp - 0x3e0]
jge 0x4ebe36
mov ecx, dword [ebp - 0x3b0]
add ecx, 1
mov dword [ebp - 0x3b0], ecx
mov edx, dword [ebp - 0x3b0]
shl edx, 1
mov dword [ebp - 0x48c], edx
mov eax, dword [ebp - 0x490]
add eax, dword [ebp - 0x48c]
movzx ecx, byte [eax]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x420], 0x23
mov edx, dword [ebp - 0x3b0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x490]
add ecx, dword [ebp - 0x494]
movzx edx, byte [ecx]
mov dword [ebp - 0x424], edx
mov dword [ebp - 0x428], 0x38
mov eax, dword [ebp - 0x41c]
sub eax, dword [ebp - 0x420]
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x424]
sub ecx, dword [ebp - 0x428]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x42c]
shl edx, 4
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x46c]
or ecx, dword [ebp - 0x488]
mov dword [ebp - 0x484], ecx
mov dl, byte [ebp - 0x484]
mov byte [ebp - 0x39b], dl
movzx eax, byte [ebp - 0x396]
mov cl, byte [ebp + eax - 0x9d0]
mov byte [ebp - 0x399], cl
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp + edx - 0x9d0]
mov dword [ebp - 0x9f4], eax
mov cl, byte [ebp - 0x38f]
add cl, 1
mov byte [ebp - 0x38f], cl
movzx edx, byte [ebp - 0x390]
add edx, dword [ebp - 0x9f4]
mov byte [ebp - 0x390], dl
movzx eax, byte [ebp - 0x390]
movzx ecx, byte [ebp - 0x396]
mov dl, byte [ebp + eax - 0x9d0]
mov byte [ebp + ecx - 0x9d0], dl
movzx eax, byte [ebp - 0x391]
movzx ecx, byte [ebp - 0x390]
mov dl, byte [ebp + eax - 0x9d0]
mov byte [ebp + ecx - 0x9d0], dl
movzx eax, byte [ebp - 0x38f]
movzx ecx, byte [ebp - 0x391]
mov dl, byte [ebp + eax - 0x9d0]
mov byte [ebp + ecx - 0x9d0], dl
movzx eax, byte [ebp - 0x38f]
mov cl, byte [ebp - 0x399]
mov byte [ebp + eax - 0x9d0], cl
movzx edx, byte [ebp - 0x399]
movzx eax, byte [ebp + edx - 0x9d0]
movzx ecx, byte [ebp - 0x39a]
add ecx, eax
mov byte [ebp - 0x39a], cl
movzx edx, byte [ebp - 0x39b]
movzx eax, byte [ebp - 0x390]
movzx ecx, byte [ebp + eax - 0x9d0]
movzx eax, byte [ebp - 0x38f]
movzx eax, byte [ebp + eax - 0x9d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d0]
xor edx, ecx
movzx eax, byte [ebp - 0x391]
movzx ecx, byte [ebp + eax - 0x9d0]
movzx eax, byte [ebp - 0x396]
movzx eax, byte [ebp + eax - 0x9d0]
add ecx, eax
movzx eax, byte [ebp - 0x39a]
movzx eax, byte [ebp + eax - 0x9d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d0]
movzx eax, byte [ebp + ecx - 0x9d0]
xor edx, eax
mov byte [ebp - 0x391], dl
mov cl, byte [ebp - 0x39b]
mov byte [ebp - 0x396], cl
mov dl, byte [ebp - 0x391]
mov byte [ebp - 0x3a2], dl
cmp dword [ebp - 0x3b0], 0
jle 0x4ebe31
movsx ax, byte [ebp - 0x3a2]
mov ecx, dword [ebp - 0x3b0]
mov word [ebp + ecx*2 - 0x46], ax
jmp 0x4ebbbd
mov edx, dword [ebp - 0x3e0]
add edx, 1
mov dword [ebp - 0x3e0], edx
mov eax, dword [ebp - 0x3b0]
add eax, 1
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3e0]
add ecx, 1
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x3b0]
shl edx, 1
mov dword [ebp - 0x48c], edx
mov eax, dword [ebp - 0x490]
add eax, dword [ebp - 0x48c]
movzx ecx, byte [eax]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x420], 0x23
mov edx, dword [ebp - 0x3b0]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x490]
add ecx, dword [ebp - 0x494]
movzx edx, byte [ecx]
mov dword [ebp - 0x424], edx
mov dword [ebp - 0x428], 0x38
mov eax, dword [ebp - 0x41c]
sub eax, dword [ebp - 0x420]
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x424]
sub ecx, dword [ebp - 0x428]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x42c]
shl edx, 4
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x430]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x46c]
or ecx, dword [ebp - 0x488]
mov dword [ebp - 0x484], ecx
mov dl, byte [ebp - 0x484]
mov byte [ebp - 0x39b], dl
movzx eax, byte [ebp - 0x396]
mov cl, byte [ebp + eax - 0x9d0]
mov byte [ebp - 0x399], cl
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp + edx - 0x9d0]
mov dword [ebp - 0xa2c], eax
mov cl, byte [ebp - 0x38f]
add cl, 1
mov byte [ebp - 0x38f], cl
movzx edx, byte [ebp - 0x390]
add edx, dword [ebp - 0xa2c]
mov byte [ebp - 0x390], dl
movzx eax, byte [ebp - 0x390]
movzx ecx, byte [ebp - 0x396]
mov dl, byte [ebp + eax - 0x9d0]
mov byte [ebp + ecx - 0x9d0], dl
movzx eax, byte [ebp - 0x391]
movzx ecx, byte [ebp - 0x390]
mov dl, byte [ebp + eax - 0x9d0]
mov byte [ebp + ecx - 0x9d0], dl
movzx eax, byte [ebp - 0x38f]
movzx ecx, byte [ebp - 0x391]
mov dl, byte [ebp + eax - 0x9d0]
mov byte [ebp + ecx - 0x9d0], dl
movzx eax, byte [ebp - 0x38f]
mov cl, byte [ebp - 0x399]
mov byte [ebp + eax - 0x9d0], cl
movzx edx, byte [ebp - 0x399]
movzx eax, byte [ebp + edx - 0x9d0]
movzx ecx, byte [ebp - 0x39a]
add ecx, eax
mov byte [ebp - 0x39a], cl
movzx edx, byte [ebp - 0x39b]
movzx eax, byte [ebp - 0x390]
movzx ecx, byte [ebp + eax - 0x9d0]
movzx eax, byte [ebp - 0x38f]
movzx eax, byte [ebp + eax - 0x9d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d0]
xor edx, ecx
movzx eax, byte [ebp - 0x391]
movzx ecx, byte [ebp + eax - 0x9d0]
movzx eax, byte [ebp - 0x396]
movzx eax, byte [ebp + eax - 0x9d0]
add ecx, eax
movzx eax, byte [ebp - 0x39a]
movzx eax, byte [ebp + eax - 0x9d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9d0]
movzx eax, byte [ebp + ecx - 0x9d0]
xor edx, eax
mov byte [ebp - 0x391], dl
mov cl, byte [ebp - 0x39b]
mov byte [ebp - 0x396], cl
mov dl, byte [ebp - 0x391]
mov byte [ebp - 0x3a2], dl
cmp dword [ebp - 0x3b0], 0
jle 0x4ec0a7
movsx ax, byte [ebp - 0x3a2]
mov ecx, dword [ebp - 0x3b0]
mov word [ebp + ecx*2 - 0x46], ax
mov edx, dword [ebp - 0x3b0]
add edx, 1
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x3e0]
add eax, 1
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3b0]
shl ecx, 1
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp - 0x490]
add edx, dword [ebp - 0x48c]
movzx eax, byte [edx]
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x420], 0x23
mov ecx, dword [ebp - 0x3b0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x494], edx
mov eax, dword [ebp - 0x490]
add eax, dword [ebp - 0x494]
movzx ecx, byte [eax]
mov dword [ebp - 0x424], ecx
mov dword [ebp - 0x428], 0x38
mov edx, dword [ebp - 0x41c]
sub edx, dword [ebp - 0x420]
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0x424]
sub eax, dword [ebp - 0x428]
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x42c]
shl ecx, 4
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x430]
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x46c]
or eax, dword [ebp - 0x488]
mov dword [ebp - 0x484], eax
mov cl, byte [ebp - 0x484]
mov byte [ebp - 0x39b], cl
movzx edx, byte [ebp - 0x396]
mov al, byte [ebp + edx - 0x9d0]
mov byte [ebp - 0x399], al
movzx ecx, byte [ebp - 0x38f]
movzx edx, byte [ebp + ecx - 0x9d0]
mov dword [ebp - 0xa28], edx
mov al, byte [ebp - 0x38f]
add al, 1
mov byte [ebp - 0x38f], al
movzx ecx, byte [ebp - 0x390]
add ecx, dword [ebp - 0xa28]
mov byte [ebp - 0x390], cl
movzx edx, byte [ebp - 0x390]
movzx eax, byte [ebp - 0x396]
mov cl, byte [ebp + edx - 0x9d0]
mov byte [ebp + eax - 0x9d0], cl
movsd xmm0, qword [0x536398]
movsd qword [ebp - 0x548], xmm0
movsd xmm0, qword [0x536260]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [0x536048]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x530]
subsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x530]
addsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x548]
addsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x548], xmm0
movsd xmm0, qword [ebp - 0x4d8]
comisd xmm0, xmmword [ebp - 0x548]
jbe 0x4ec3a8
movsd xmm0, qword [ebp - 0x530]
divsd xmm0, qword [ebp - 0x548]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x4d8]
subsd xmm0, qword [ebp - 0x530]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x548]
mulsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x548], xmm0
movsd xmm0, qword [ebp - 0x548]
subsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x548], xmm0
movsd xmm0, qword [ebp - 0x4d8]
mulsd xmm0, qword [ebp - 0x530]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x4d8]
divsd xmm0, qword [ebp - 0x530]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x530]
comisd xmm0, xmmword [ebp - 0x548]
jbe 0x4ec35e
movsd xmm0, qword [ebp - 0x530]
subsd xmm0, qword [ebp - 0x548]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x4d8]
mulsd xmm0, qword [ebp - 0x530]
movsd qword [ebp - 0x4d8], xmm0
movsd xmm0, qword [ebp - 0x4d8]
addsd xmm0, qword [ebp - 0x530]
movsd qword [ebp - 0x4d8], xmm0
jmp 0x4ec3a6
movsd xmm0, qword [ebp - 0x548]
mulsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x548], xmm0
movsd xmm0, qword [ebp - 0x548]
subsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x548], xmm0
movsd xmm0, qword [ebp - 0x4d8]
mulsd xmm0, qword [ebp - 0x530]
movsd qword [ebp - 0x4d8], xmm0
jmp 0x4ec40c
movsd xmm0, qword [ebp - 0x530]
subsd xmm0, qword [ebp - 0x548]
movsd qword [ebp - 0x530], xmm0
movsd xmm0, qword [ebp - 0x548]
addsd xmm0, qword [ebp - 0x4d8]
movsd qword [ebp - 0x548], xmm0
movsd xmm0, qword [ebp - 0x4d8]
addsd xmm0, qword [ebp - 0x530]
movsd qword [ebp - 0x4d8], xmm0
movzx edx, byte [ebp - 0x391]
movzx eax, byte [ebp - 0x390]
mov cl, byte [ebp + edx - 0x9d0]
mov byte [ebp + eax - 0x9d0], cl
movzx edx, byte [ebp - 0x38f]
movzx eax, byte [ebp - 0x391]
mov cl, byte [ebp + edx - 0x9d0]
mov byte [ebp + eax - 0x9d0], cl
movzx edx, byte [ebp - 0x38f]
mov al, byte [ebp - 0x399]
mov byte [ebp + edx - 0x9d0], al
movzx ecx, byte [ebp - 0x399]
movzx edx, byte [ebp + ecx - 0x9d0]
movzx eax, byte [ebp - 0x39a]
add eax, edx
mov byte [ebp - 0x39a], al
movzx ecx, byte [ebp - 0x39b]
movzx edx, byte [ebp - 0x390]
movzx eax, byte [ebp + edx - 0x9d0]
movzx edx, byte [ebp - 0x38f]
movzx edx, byte [ebp + edx - 0x9d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x9d0]
xor ecx, eax
movzx edx, byte [ebp - 0x391]
movzx eax, byte [ebp + edx - 0x9d0]
movzx edx, byte [ebp - 0x396]
movzx edx, byte [ebp + edx - 0x9d0]
add eax, edx
movzx edx, byte [ebp - 0x39a]
movzx edx, byte [ebp + edx - 0x9d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x9d0]
movzx edx, byte [ebp + eax - 0x9d0]
xor ecx, edx
mov byte [ebp - 0x391], cl
mov al, byte [ebp - 0x39b]
mov byte [ebp - 0x396], al
mov cl, byte [ebp - 0x391]
mov byte [ebp - 0x3a2], cl
cmp dword [ebp - 0x3b0], 0
jle 0x4ec512
movsx dx, byte [ebp - 0x3a2]
mov eax, dword [ebp - 0x3b0]
mov word [ebp + eax*2 - 0x46], dx
mov ecx, dword [ebp - 0x3e0]
add ecx, 4
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x3b0]
add edx, 1
mov dword [ebp - 0x66c], edx
jmp 0x4ec541
mov eax, dword [ebp - 0x66c]
add eax, 1
mov dword [ebp - 0x66c], eax
mov ecx, dword [ebp - 0x66c]
cmp ecx, dword [ebp - 0x3e0]
jge 0x4ec7ab
mov edx, dword [ebp - 0x3b0]
add edx, 1
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x3b0]
shl eax, 1
mov dword [ebp - 0x48c], eax
mov ecx, dword [ebp - 0x490]
add ecx, dword [ebp - 0x48c]
movzx edx, byte [ecx]
mov dword [ebp - 0x41c], edx
mov dword [ebp - 0x420], 0x23
mov eax, dword [ebp - 0x3b0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x494], ecx
mov edx, dword [ebp - 0x490]
add edx, dword [ebp - 0x494]
movzx eax, byte [edx]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x428], 0x38
mov ecx, dword [ebp - 0x41c]
sub ecx, dword [ebp - 0x420]
mov dword [ebp - 0x42c], ecx
mov edx, dword [ebp - 0x424]
sub edx, dword [ebp - 0x428]
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x42c]
shl eax, 4
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x430]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x46c]
or edx, dword [ebp - 0x488]
mov dword [ebp - 0x484], edx
mov al, byte [ebp - 0x484]
mov byte [ebp - 0x39b], al
movzx ecx, byte [ebp - 0x396]
mov dl, byte [ebp + ecx - 0x9d0]
mov byte [ebp - 0x399], dl
movzx eax, byte [ebp - 0x38f]
movzx ecx, byte [ebp + eax - 0x9d0]
mov dword [ebp - 0xa24], ecx
mov dl, byte [ebp - 0x38f]
add dl, 1
mov byte [ebp - 0x38f], dl
movzx eax, byte [ebp - 0x390]
add eax, dword [ebp - 0xa24]
mov byte [ebp - 0x390], al
movzx ecx, byte [ebp - 0x390]
movzx edx, byte [ebp - 0x396]
mov al, byte [ebp + ecx - 0x9d0]
mov byte [ebp + edx - 0x9d0], al
movzx ecx, byte [ebp - 0x391]
movzx edx, byte [ebp - 0x390]
mov al, byte [ebp + ecx - 0x9d0]
mov byte [ebp + edx - 0x9d0], al
movzx ecx, byte [ebp - 0x38f]
movzx edx, byte [ebp - 0x391]
mov al, byte [ebp + ecx - 0x9d0]
mov byte [ebp + edx - 0x9d0], al
movzx ecx, byte [ebp - 0x38f]
mov dl, byte [ebp - 0x399]
mov byte [ebp + ecx - 0x9d0], dl
movzx eax, byte [ebp - 0x399]
movzx ecx, byte [ebp + eax - 0x9d0]
movzx edx, byte [ebp - 0x39a]
add edx, ecx
mov byte [ebp - 0x39a], dl
movzx eax, byte [ebp - 0x39b]
movzx ecx, byte [ebp - 0x390]
movzx edx, byte [ebp + ecx - 0x9d0]
movzx ecx, byte [ebp - 0x38f]
movzx ecx, byte [ebp + ecx - 0x9d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x9d0]
xor eax, edx
movzx ecx, byte [ebp - 0x391]
movzx edx, byte [ebp + ecx - 0x9d0]
movzx ecx, byte [ebp - 0x396]
movzx ecx, byte [ebp + ecx - 0x9d0]
add edx, ecx
movzx ecx, byte [ebp - 0x39a]
movzx ecx, byte [ebp + ecx - 0x9d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x9d0]
movzx ecx, byte [ebp + edx - 0x9d0]
xor eax, ecx
mov byte [ebp - 0x391], al
mov dl, byte [ebp - 0x39b]
mov byte [ebp - 0x396], dl
mov al, byte [ebp - 0x391]
mov byte [ebp - 0x3a2], al
cmp dword [ebp - 0x3b0], 0
jle 0x4ec7a6
movsx cx, byte [ebp - 0x3a2]
mov edx, dword [ebp - 0x3b0]
mov word [ebp + edx*2 - 0x46], cx
jmp 0x4ec532
mov eax, dword [ebp - 0x3e0]
add eax, 1
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3b0]
add ecx, 1
mov dword [ebp - 0x3b0], ecx
movss xmm0, dword [0x536548]
movss dword [ebp - 0x4ac], xmm0
movss xmm0, dword [0x5364d8]
movss dword [ebp - 0x678], xmm0
movss xmm0, dword [0x536478]
movss dword [ebp - 0x578], xmm0
movss xmm0, dword [0x536400]
movss dword [ebp - 0x4a0], xmm0
movss xmm0, dword [ebp - 0x4ac]
addss xmm0, dword [ebp - 0x4a0]
movss dword [ebp - 0x4ac], xmm0
movss xmm0, dword [ebp - 0x578]
addss xmm0, dword [ebp - 0x4a0]
movss dword [ebp - 0x578], xmm0
movss xmm0, dword [ebp - 0x4ac]
mulss xmm0, dword [ebp - 0x4a0]
movss dword [ebp - 0x4ac], xmm0
movss xmm0, dword [ebp - 0x4ac]
addss xmm0, dword [ebp - 0x4a0]
movss dword [ebp - 0x4ac], xmm0
movss xmm0, dword [ebp - 0x4ac]
comiss xmm0, dword [ebp - 0x4a0]
jbe 0x4ec8eb
movss xmm0, dword [ebp - 0x4a0]
subss xmm0, dword [ebp - 0x4ac]
movss dword [ebp - 0x4a0], xmm0
movss xmm0, dword [ebp - 0x578]
addss xmm0, dword [ebp - 0x4a0]
movss dword [ebp - 0x578], xmm0
movss xmm0, dword [ebp - 0x678]
addss xmm0, dword [ebp - 0x578]
movss dword [ebp - 0x678], xmm0
movss xmm0, dword [ebp - 0x578]
subss xmm0, dword [ebp - 0x4a0]
movss dword [ebp - 0x578], xmm0
mov edx, dword [ebp - 0x3e0]
add edx, 1
mov dword [ebp - 0x3e0], edx
jmp 0x4ec94b
movss xmm0, dword [ebp - 0x4a0]
divss xmm0, dword [ebp - 0x4ac]
movss dword [ebp - 0x4a0], xmm0
movss xmm0, dword [ebp - 0x4a0]
subss xmm0, dword [ebp - 0x4ac]
movss dword [ebp - 0x4a0], xmm0
movss xmm0, dword [ebp - 0x4a0]
divss xmm0, dword [ebp - 0x4ac]
movss dword [ebp - 0x4a0], xmm0
movss xmm0, dword [ebp - 0x4ac]
addss xmm0, dword [ebp - 0x678]
movss dword [ebp - 0x4ac], xmm0
mov eax, dword [ebp - 0x3b0]
shl eax, 1
mov dword [ebp - 0x48c], eax
mov ecx, dword [ebp - 0x490]
add ecx, dword [ebp - 0x48c]
movzx edx, byte [ecx]
mov dword [ebp - 0x41c], edx
mov dword [ebp - 0x420], 0x23
mov eax, dword [ebp - 0x3b0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x494], ecx
mov edx, dword [ebp - 0x490]
add edx, dword [ebp - 0x494]
movzx eax, byte [edx]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x428], 0x38
mov ecx, dword [ebp - 0x41c]
sub ecx, dword [ebp - 0x420]
mov dword [ebp - 0x42c], ecx
mov edx, dword [ebp - 0x424]
sub edx, dword [ebp - 0x428]
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x42c]
shl eax, 4
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x430]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x46c]
or edx, dword [ebp - 0x488]
mov dword [ebp - 0x484], edx
mov al, byte [ebp - 0x484]
mov byte [ebp - 0x39b], al
movzx ecx, byte [ebp - 0x396]
mov dl, byte [ebp + ecx - 0x9d0]
mov byte [ebp - 0x399], dl
movzx eax, byte [ebp - 0x38f]
movzx ecx, byte [ebp + eax - 0x9d0]
mov dword [ebp - 0xa20], ecx
mov dl, byte [ebp - 0x38f]
add dl, 1
mov byte [ebp - 0x38f], dl
movzx eax, byte [ebp - 0x390]
add eax, dword [ebp - 0xa20]
mov byte [ebp - 0x390], al
movzx ecx, byte [ebp - 0x390]
movzx edx, byte [ebp - 0x396]
mov al, byte [ebp + ecx - 0x9d0]
mov byte [ebp + edx - 0x9d0], al
movzx ecx, byte [ebp - 0x391]
movzx edx, byte [ebp - 0x390]
mov al, byte [ebp + ecx - 0x9d0]
mov byte [ebp + edx - 0x9d0], al
movzx ecx, byte [ebp - 0x38f]
movzx edx, byte [ebp - 0x391]
mov al, byte [ebp + ecx - 0x9d0]
mov byte [ebp + edx - 0x9d0], al
movsd xmm0, qword [0x5361b0]
movsd qword [ebp - 0x5a0], xmm0
movsd xmm0, qword [0x5360f0]
movsd qword [ebp - 0x540], xmm0
movsd xmm0, qword [0x536050]
movsd qword [ebp - 0x500], xmm0
movsd xmm0, qword [0x535f28]
movsd qword [ebp - 0x550], xmm0
movsd xmm0, qword [0x535e30]
movsd qword [ebp - 0x4c0], xmm0
movsd xmm0, qword [ebp - 0x5a0]
addsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x5a0], xmm0
movsd xmm0, qword [ebp - 0x550]
addsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x550], xmm0
movsd xmm0, qword [ebp - 0x500]
subsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x500], xmm0
movsd xmm0, qword [ebp - 0x500]
addsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x500], xmm0
movsd xmm0, qword [ebp - 0x540]
subsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x540], xmm0
movsd xmm0, qword [ebp - 0x5a0]
comisd xmm0, xmmword [ebp - 0x4c0]
jbe 0x4ecc12
movsd xmm0, qword [ebp - 0x550]
subsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x550], xmm0
movsd xmm0, qword [ebp - 0x550]
mulsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x550], xmm0
movsd xmm0, qword [ebp - 0x540]
addsd xmm0, qword [ebp - 0x500]
movsd qword [ebp - 0x540], xmm0
movsd xmm0, qword [ebp - 0x4c0]
mulsd xmm0, qword [ebp - 0x5a0]
movsd qword [ebp - 0x4c0], xmm0
movsd xmm0, qword [ebp - 0x540]
mulsd xmm0, qword [ebp - 0x500]
movsd qword [ebp - 0x540], xmm0
movzx ecx, byte [ebp - 0x38f]
mov dl, byte [ebp - 0x399]
mov byte [ebp + ecx - 0x9d0], dl
jmp 0x4ece06
movsd xmm0, qword [ebp - 0x550]
addsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x550], xmm0
movsd xmm0, qword [ebp - 0x4c0]
mulsd xmm0, qword [ebp - 0x5a0]
movsd qword [ebp - 0x4c0], xmm0
movsd xmm0, qword [ebp - 0x5a0]
addsd xmm0, qword [ebp - 0x540]
movsd qword [ebp - 0x5a0], xmm0
movsd xmm0, qword [ebp - 0x5a0]
subsd xmm0, qword [ebp - 0x540]
movsd qword [ebp - 0x5a0], xmm0
movsd xmm0, qword [ebp - 0x4c0]
subsd xmm0, qword [ebp - 0x5a0]
movsd qword [ebp - 0x4c0], xmm0
movsd xmm0, qword [ebp - 0x500]
divsd xmm0, qword [ebp - 0x550]
movsd qword [ebp - 0x500], xmm0
movsd xmm0, qword [ebp - 0x540]
subsd xmm0, qword [ebp - 0x500]
movsd qword [ebp - 0x540], xmm0
movsd xmm0, qword [ebp - 0x540]
divsd xmm0, qword [ebp - 0x500]
movsd qword [ebp - 0x540], xmm0
movsd xmm0, qword [ebp - 0x4c0]
addsd xmm0, qword [ebp - 0x5a0]
movsd qword [ebp - 0x4c0], xmm0
movsd xmm0, qword [ebp - 0x550]
subsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x550], xmm0
movsd xmm0, qword [ebp - 0x500]
comisd xmm0, xmmword [ebp - 0x5a0]
jbe 0x4ecd8e
movsd xmm0, qword [ebp - 0x500]
addsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x500], xmm0
movsd xmm0, qword [ebp - 0x4c0]
mulsd xmm0, qword [ebp - 0x540]
movsd qword [ebp - 0x4c0], xmm0
movsd xmm0, qword [ebp - 0x540]
subsd xmm0, qword [ebp - 0x550]
movsd qword [ebp - 0x540], xmm0
movsd xmm0, qword [ebp - 0x550]
subsd xmm0, qword [ebp - 0x5a0]
movsd qword [ebp - 0x550], xmm0
movsd xmm0, qword [ebp - 0x540]
mulsd xmm0, qword [ebp - 0x550]
movsd qword [ebp - 0x540], xmm0
jmp 0x4ece06
movsd xmm0, qword [ebp - 0x500]
divsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x500], xmm0
movsd xmm0, qword [ebp - 0x500]
divsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x500], xmm0
movsd xmm0, qword [ebp - 0x550]
mulsd xmm0, qword [ebp - 0x5a0]
movsd qword [ebp - 0x550], xmm0
movsd xmm0, qword [ebp - 0x500]
divsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x500], xmm0
movsd xmm0, qword [ebp - 0x500]
subsd xmm0, qword [ebp - 0x4c0]
movsd qword [ebp - 0x500], xmm0
movzx eax, byte [ebp - 0x399]
movzx ecx, byte [ebp + eax - 0x9d0]
movzx edx, byte [ebp - 0x39a]
add edx, ecx
mov byte [ebp - 0x39a], dl
movzx eax, byte [ebp - 0x39b]
movzx ecx, byte [ebp - 0x390]
movzx edx, byte [ebp + ecx - 0x9d0]
movzx ecx, byte [ebp - 0x38f]
movzx ecx, byte [ebp + ecx - 0x9d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x9d0]
xor eax, edx
movzx ecx, byte [ebp - 0x391]
movzx edx, byte [ebp + ecx - 0x9d0]
movzx ecx, byte [ebp - 0x396]
movzx ecx, byte [ebp + ecx - 0x9d0]
add edx, ecx
movzx ecx, byte [ebp - 0x39a]
movzx ecx, byte [ebp + ecx - 0x9d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x9d0]
movzx ecx, byte [ebp + edx - 0x9d0]
xor eax, ecx
mov byte [ebp - 0x391], al
mov dl, byte [ebp - 0x39b]
mov byte [ebp - 0x396], dl
mov al, byte [ebp - 0x391]
mov byte [ebp - 0x3a2], al
cmp dword [ebp - 0x3b0], 0
jle 0x4ecede
movsx cx, byte [ebp - 0x3a2]
mov edx, dword [ebp - 0x3b0]
mov word [ebp + edx*2 - 0x46], cx
mov eax, 2
imul ecx, eax, 0xc
mov dword [ebp - 0x6b8], ecx
cmp dword [ebp - 0x6b8], 0x1a
jae 0x4ecef7
jmp 0x4ecefd
call fcn.00522f55
nop
xor edx, edx
mov eax, dword [ebp - 0x6b8]
mov word [ebp + eax - 0x44], dx
jmp 0x4ecf5e
mov dword [ebp - 0x60c], 0
jmp 0x4ecf27
mov ecx, dword [ebp - 0x60c]
add ecx, 1
mov dword [ebp - 0x60c], ecx
cmp dword [ebp - 0x60c], 0xd
jge 0x4ecf5e
mov edx, dword [ebp - 0x60c]
shl edx, 1
mov dword [ebp - 0x6cc], edx
cmp dword [ebp - 0x6cc], 0x1a
jae 0x4ecf49
jmp 0x4ecf4f
call fcn.00522f55
nop
xor eax, eax
mov ecx, dword [ebp - 0x6cc]
mov word [ebp + ecx - 0x44], ax
jmp 0x4ecf18
push 4
call fcn.00522db5
add esp, 4
mov dword [ebp - 0x64c], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x64c], 0
je 0x4ecfa2
push 4
mov ecx, dword [ebp - 0x64c]
call fcn.004a46d0
lea edx, [ebp - 0x44]
push edx
mov ecx, dword [ebp - 0x64c]
call fcn.004da4f0
mov dword [ebp - 0x6bc], eax
jmp 0x4ecfac
mov dword [ebp - 0x6bc], 0
mov eax, dword [ebp - 0x6bc]
mov dword [ebp - 0xad4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xad4]
mov dword [ebp - 0xa94], ecx
mov dword [ebp - 0x37c], 0
mov dword [ebp - 0x374], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x600], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5d0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5d0], xmm0
jmp 0x4ed01a
movsd xmm0, qword [ebp - 0x5d0]
addsd xmm0, qword [0x534558]
movsd qword [ebp - 0x5d0], xmm0
movsd xmm0, qword [0x537498]
comisd xmm0, xmmword [ebp - 0x5d0]
jbe 0x4ed0cb
movsd xmm0, qword [0x537400]
mulsd xmm0, qword [ebp - 0x5d0]
mulsd xmm0, qword [ebp - 0x5d0]
movsd xmm1, qword [ebp - 0x5d0]
mulsd xmm1, qword [ebp - 0x5d0]
subsd xmm0, xmm1
movsd xmm1, qword [0x537380]
mulsd xmm1, qword [ebp - 0x5d0]
mulsd xmm1, qword [ebp - 0x5d0]
addsd xmm1, qword [0x537398]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x600]
movsd qword [ebp - 0x600], xmm0
movsd xmm0, qword [ebp - 0x600]
comisd xmm0, xmmword [0x5373c8]
jbe 0x4ed0c6
movsd xmm0, qword [0x537368]
mulsd xmm0, qword [ebp - 0x5d0]
movsd xmm1, qword [ebp - 0x600]
subsd xmm1, xmm0
movsd qword [ebp - 0x600], xmm1
jmp 0x4ed002
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x600]
jbe 0x4ed11c
cmp dword [ebx - 0x7fcd86c3], eax
xor eax, 0x3b7a3677
test dword [esp + edi*2], esi
cmp edi, dword [ecx + 0x32]
jg 0x4ed11e
jnp 0x4ed129
jle 0x4ed12d
xor dword [edi], 0xffffff80
jp 0x4ed132
jg 0x4ed12d
jnp 0x4ed129
jp 0x4ed165
pop ecx
pop esi
and al, 0x41
dec ecx
push ebp
xor eax, 0x4c47676b
push esp
cmp dl, byte [ecx + 0x2d]
daa
inc esi
dec esp
jnp 0x4ed141
aaa
aas
cmp eax, 0x706b3562
inc ecx
jmp 0x4ef59f
mov dword [ebp - 0x37c], 0x4ed0d8
mov dword [ebp - 0x374], 0x4ed0fa
test ah, bh
invalid
cld
invalid
ror byte [esi], 1
mov edx, dword [ebp - 0x37c]
mov dword [ebp - 0x47c], edx
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0xabc], eax
mov byte [ebp - 0x4c9], 0x21
mov dword [ebp - 0x400], 0
jmp 0x4ed16a
test ah, bh
invalid
dec dword [ecx - 0xabb7b]
inc esi
test dword [edi], esi
sti
invalid
mov ecx, dword [ebp - 0x400]
add ecx, 1
mov dword [ebp - 0x400], ecx
lea eax, [eax]
cld
invalid
cmp dword [ebp - 0x400], 0x100
jae 0x4ed18b
mov edx, dword [ebp - 0x400]
mov al, byte [ebp - 0x400]
mov byte [ebp + edx - 0x8d0], al
jmp 0x4ed15b
mov dword [ebp - 0x5b4], 0
mov byte [ebp - 0x3a7], 0
mov dword [ebp - 0x400], 0xff
jmp 0x4ed1b7
mov ecx, dword [ebp - 0x400]
sub ecx, 1
mov dword [ebp - 0x400], ecx
cmp dword [ebp - 0x400], 0
jbe 0x4ed457
mov dword [ebp - 0x638], 0
mov dword [ebp - 0x62c], 1
mov edx, dword [ebp - 0x62c]
cmp edx, dword [ebp - 0x400]
jae 0x4ed1f8
mov eax, dword [ebp - 0x62c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x62c], ecx
jmp 0x4ed1d8
mov edx, dword [ebp - 0x5b4]
mov dword [ebp - 0x690], edx
cmp dword [ebp - 0x690], 3
ja case.default.0x4ed217
mov eax, dword [ebp - 0x690]
jmp dword [eax*4 + 0x4f21ec]
movzx ecx, byte [ebp - 0x3a7]
movzx eax, byte [ebp + ecx - 0x8d0]
movsd xmm0, qword [ebp - 0x600]
mov dword [ebp - 0xad0], eax
call fcn.00523390
and eax, 0xff
mov ecx, dword [ebp - 0xad0]
add ecx, eax
mov byte [ebp - 0x3a7], cl
jmp 0x4ed330
movzx edx, byte [ebp - 0x3a7]
movzx eax, byte [ebp + edx - 0x8d0]
movsd xmm0, qword [ebp - 0x600]
mov dword [ebp - 0xacc], eax
call fcn.00523390
shr eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0xacc]
add ecx, eax
mov byte [ebp - 0x3a7], cl
jmp 0x4ed330
movzx eax, byte [ebp - 0x3a7]
movzx eax, byte [ebp + eax - 0x8d0]
movsd xmm0, qword [ebp - 0x600]
mov dword [ebp - 0xac8], eax
call fcn.00523390
shr eax, 0x10
and eax, 0xff
mov ecx, dword [ebp - 0xac8]
add ecx, eax
mov byte [ebp - 0x3a7], cl
jmp 0x4ed330
movzx ecx, byte [ebp - 0x3a7]
movzx eax, byte [ebp + ecx - 0x8d0]
movsd xmm0, qword [ebp - 0x600]
mov dword [ebp - 0xac4], eax
call fcn.00523390
shr eax, 0x18
and eax, 0xff
mov ecx, dword [ebp - 0xac4]
add ecx, eax
mov byte [ebp - 0x3a7], cl
jmp 0x4ed330
movzx edx, byte [ebp - 0x3a7]
movzx eax, byte [ebp + edx - 0x8d0]
mov ecx, dword [ebp - 0xabc]
add ecx, dword [ebp - 0x5b4]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0x3a7], al
mov eax, dword [ebp - 0x5b4]
add eax, 1
mov dword [ebp - 0x5b4], eax
movzx ecx, byte [ebp - 0x4c9]
cmp dword [ebp - 0x5b4], ecx
jb 0x4ed36e
mov dword [ebp - 0x5b4], 0
movzx edx, byte [ebp - 0x4c9]
movzx eax, byte [ebp - 0x3a7]
add eax, edx
mov byte [ebp - 0x3a7], al
movzx ecx, byte [ebp - 0x3a7]
and ecx, dword [ebp - 0x62c]
mov dword [ebp - 0x558], ecx
mov edx, dword [ebp - 0x638]
add edx, 1
mov dword [ebp - 0x638], edx
cmp dword [ebp - 0x638], 0xb
jbe 0x4ed3ad
mov eax, dword [ebp - 0x558]
xor edx, edx
div dword [ebp - 0x400]
mov dword [ebp - 0x558], edx
mov eax, dword [ebp - 0x558]
cmp eax, dword [ebp - 0x400]
ja 0x4ed1f8
mov ecx, dword [ebp - 0x400]
cmp ecx, dword [ebp - 0x558]
je 0x4ed452
mov edx, dword [ebp - 0x558]
movzx eax, byte [ebp + edx - 0x8d0]
mov ecx, dword [ebp - 0x400]
movzx edx, byte [ebp + ecx - 0x8d0]
xor edx, eax
mov eax, dword [ebp - 0x400]
mov byte [ebp + eax - 0x8d0], dl
mov ecx, dword [ebp - 0x400]
movzx edx, byte [ebp + ecx - 0x8d0]
mov eax, dword [ebp - 0x558]
movzx ecx, byte [ebp + eax - 0x8d0]
xor ecx, edx
mov edx, dword [ebp - 0x558]
mov byte [ebp + edx - 0x8d0], cl
mov eax, dword [ebp - 0x558]
movzx ecx, byte [ebp + eax - 0x8d0]
mov edx, dword [ebp - 0x400]
movzx eax, byte [ebp + edx - 0x8d0]
xor eax, ecx
mov ecx, dword [ebp - 0x400]
mov byte [ebp + ecx - 0x8d0], al
jmp 0x4ed1a8
mov edx, 1
shl edx, 0
mov al, byte [ebp + edx - 0x8d0]
mov byte [ebp - 0x38d], al
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x8d0]
mov byte [ebp - 0x392], al
mov ecx, 1
imul edx, ecx, 5
mov al, byte [ebp + edx - 0x8d0]
mov byte [ebp - 0x39d], al
mov ecx, 1
imul edx, ecx, 7
mov al, byte [ebp + edx - 0x8d0]
mov byte [ebp - 0x393], al
movzx ecx, byte [ebp - 0x3a7]
mov dl, byte [ebp + ecx - 0x8d0]
mov byte [ebp - 0x397], dl
mov dword [ebp - 0x694], 0x22
cmp dword [ebp - 0x694], 2
jle 0x4ef551
mov eax, dword [ebp - 0x694]
and eax, 1
jne 0x4ef551
mov dword [ebp - 0x3b4], 0
mov dword [ebp - 0x3d8], 0
mov ecx, dword [ebp - 0x3d8]
add ecx, 1
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x480], 0
mov edx, dword [ebp - 0x3b4]
shl edx, 1
mov dword [ebp - 0x480], edx
mov dword [ebp - 0x434], 0
mov eax, dword [ebp - 0x47c]
add eax, dword [ebp - 0x480]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x434]
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x438], 0
mov edx, dword [ebp - 0x438]
add edx, 0x30
mov dword [ebp - 0x438], edx
mov dword [ebp - 0x478], 0
mov eax, dword [ebp - 0x3b4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x478], ecx
mov dword [ebp - 0x43c], 0
mov edx, dword [ebp - 0x47c]
add edx, dword [ebp - 0x478]
movzx eax, byte [edx]
add eax, dword [ebp - 0x43c]
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x440], 0
mov ecx, dword [ebp - 0x440]
add ecx, 0x76
mov dword [ebp - 0x440], ecx
mov dword [ebp - 0x444], 0
mov edx, dword [ebp - 0x434]
sub edx, dword [ebp - 0x438]
add edx, dword [ebp - 0x444]
mov dword [ebp - 0x444], edx
mov dword [ebp - 0x448], 0
mov eax, dword [ebp - 0x43c]
sub eax, dword [ebp - 0x440]
add eax, dword [ebp - 0x448]
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x474], 0
mov ecx, dword [ebp - 0x444]
shl ecx, 4
mov dword [ebp - 0x474], ecx
mov dword [ebp - 0x470], 0
mov edx, dword [ebp - 0x448]
mov dword [ebp - 0x470], edx
mov dword [ebp - 0x498], 0
mov eax, dword [ebp - 0x474]
or eax, dword [ebp - 0x470]
mov dword [ebp - 0x498], eax
mov byte [ebp - 0x39e], 0
mov cl, byte [ebp - 0x498]
mov byte [ebp - 0x39e], cl
mov byte [ebp - 0x39c], 0
movzx edx, byte [ebp - 0x397]
mov al, byte [ebp + edx - 0x8d0]
mov byte [ebp - 0x39c], al
movzx ecx, byte [ebp - 0x38d]
movzx edx, byte [ebp + ecx - 0x8d0]
mov dword [ebp - 0xab8], edx
mov al, byte [ebp - 0x38d]
add al, 1
mov byte [ebp - 0x38d], al
movzx ecx, byte [ebp - 0x392]
add ecx, dword [ebp - 0xab8]
mov byte [ebp - 0x392], cl
movzx edx, byte [ebp - 0x392]
movzx eax, byte [ebp - 0x397]
mov cl, byte [ebp + edx - 0x8d0]
mov byte [ebp + eax - 0x8d0], cl
movzx edx, byte [ebp - 0x393]
movzx eax, byte [ebp - 0x392]
mov cl, byte [ebp + edx - 0x8d0]
mov byte [ebp + eax - 0x8d0], cl
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp - 0x393]
mov cl, byte [ebp + edx - 0x8d0]
mov byte [ebp + eax - 0x8d0], cl
movzx edx, byte [ebp - 0x38d]
mov al, byte [ebp - 0x39c]
mov byte [ebp + edx - 0x8d0], al
movzx ecx, byte [ebp - 0x39c]
movzx edx, byte [ebp + ecx - 0x8d0]
movzx eax, byte [ebp - 0x39d]
add eax, edx
mov byte [ebp - 0x39d], al
movzx ecx, byte [ebp - 0x39e]
movzx edx, byte [ebp - 0x392]
movzx eax, byte [ebp + edx - 0x8d0]
movzx edx, byte [ebp - 0x38d]
movzx edx, byte [ebp + edx - 0x8d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8d0]
xor ecx, eax
movzx edx, byte [ebp - 0x393]
movzx eax, byte [ebp + edx - 0x8d0]
movzx edx, byte [ebp - 0x397]
movzx edx, byte [ebp + edx - 0x8d0]
add eax, edx
movzx edx, byte [ebp - 0x39d]
movzx edx, byte [ebp + edx - 0x8d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8d0]
movzx edx, byte [ebp + eax - 0x8d0]
xor ecx, edx
mov byte [ebp - 0x393], cl
mov al, byte [ebp - 0x39e]
mov byte [ebp - 0x397], al
mov cl, byte [ebp - 0x393]
mov byte [ebp - 0x3a3], cl
cmp dword [ebp - 0x3b4], 0
jle 0x4ed7e4
mov edx, dword [ebp - 0x3b4]
mov al, byte [ebp - 0x3a3]
mov byte [ebp + edx - 0x29], al
mov ecx, dword [ebp - 0x3b4]
add ecx, 1
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x3d8]
add edx, 1
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3b4]
shl eax, 1
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x47c]
add ecx, dword [ebp - 0x480]
movzx edx, byte [ecx]
mov dword [ebp - 0x434], edx
mov dword [ebp - 0x438], 0x30
mov eax, dword [ebp - 0x3b4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x478], ecx
mov edx, dword [ebp - 0x47c]
add edx, dword [ebp - 0x478]
movzx eax, byte [edx]
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x440], 0x76
mov ecx, dword [ebp - 0x434]
sub ecx, dword [ebp - 0x438]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x43c]
sub edx, dword [ebp - 0x440]
mov dword [ebp - 0x448], edx
mov eax, dword [ebp - 0x444]
shl eax, 4
mov dword [ebp - 0x474], eax
mov ecx, dword [ebp - 0x448]
mov dword [ebp - 0x470], ecx
mov edx, dword [ebp - 0x474]
or edx, dword [ebp - 0x470]
mov dword [ebp - 0x498], edx
mov al, byte [ebp - 0x498]
mov byte [ebp - 0x39e], al
movzx ecx, byte [ebp - 0x397]
mov dl, byte [ebp + ecx - 0x8d0]
mov byte [ebp - 0x39c], dl
movzx eax, byte [ebp - 0x38d]
movzx ecx, byte [ebp + eax - 0x8d0]
mov dword [ebp - 0xab0], ecx
mov dl, byte [ebp - 0x38d]
add dl, 1
mov byte [ebp - 0x38d], dl
movzx eax, byte [ebp - 0x392]
add eax, dword [ebp - 0xab0]
mov byte [ebp - 0x392], al
movzx ecx, byte [ebp - 0x392]
movzx edx, byte [ebp - 0x397]
mov al, byte [ebp + ecx - 0x8d0]
mov byte [ebp + edx - 0x8d0], al
movzx ecx, byte [ebp - 0x393]
movzx edx, byte [ebp - 0x392]
mov al, byte [ebp + ecx - 0x8d0]
mov byte [ebp + edx - 0x8d0], al
movzx ecx, byte [ebp - 0x38d]
movzx edx, byte [ebp - 0x393]
mov al, byte [ebp + ecx - 0x8d0]
mov byte [ebp + edx - 0x8d0], al
movzx ecx, byte [ebp - 0x38d]
mov dl, byte [ebp - 0x39c]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x39c]
movzx ecx, byte [ebp + eax - 0x8d0]
movzx edx, byte [ebp - 0x39d]
add edx, ecx
mov byte [ebp - 0x39d], dl
movzx eax, byte [ebp - 0x39e]
movzx ecx, byte [ebp - 0x392]
movzx edx, byte [ebp + ecx - 0x8d0]
movzx ecx, byte [ebp - 0x38d]
movzx ecx, byte [ebp + ecx - 0x8d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x8d0]
xor eax, edx
movzx ecx, byte [ebp - 0x393]
movzx edx, byte [ebp + ecx - 0x8d0]
movzx ecx, byte [ebp - 0x397]
movzx ecx, byte [ebp + ecx - 0x8d0]
add edx, ecx
movzx ecx, byte [ebp - 0x39d]
movzx ecx, byte [ebp + ecx - 0x8d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x8d0]
movzx ecx, byte [ebp + edx - 0x8d0]
xor eax, ecx
mov byte [ebp - 0x393], al
mov dl, byte [ebp - 0x39e]
mov byte [ebp - 0x397], dl
mov al, byte [ebp - 0x393]
mov byte [ebp - 0x3a3], al
cmp dword [ebp - 0x3b4], 0
jle 0x4eda43
mov ecx, dword [ebp - 0x3b4]
mov dl, byte [ebp - 0x3a3]
mov byte [ebp + ecx - 0x29], dl
mov eax, dword [ebp - 0x3d8]
add eax, 5
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3b4]
add ecx, 1
mov dword [ebp - 0x664], ecx
jmp 0x4eda72
mov edx, dword [ebp - 0x664]
add edx, 1
mov dword [ebp - 0x664], edx
mov eax, dword [ebp - 0x664]
cmp eax, dword [ebp - 0x3d8]
jge 0x4ee37f
mov ecx, dword [ebp - 0x3b4]
add ecx, 1
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x3b4]
shl edx, 1
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x47c]
add eax, dword [ebp - 0x480]
movzx ecx, byte [eax]
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x438], 0x30
mov edx, dword [ebp - 0x3b4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x47c]
add ecx, dword [ebp - 0x478]
movzx edx, byte [ecx]
mov dword [ebp - 0x43c], edx
movss xmm0, dword [0x537688]
movss dword [ebp - 0x3ec], xmm0
movss xmm0, dword [0x537674]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [0x537658]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [0x53763c]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [0x537624]
movss dword [ebp - 0x3f4], xmm0
movss xmm0, dword [0x537608]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [0x5375e8]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3b8]
mulss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3bc]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3b8]
mulss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3c8]
mulss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3bc]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3f4]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3f4], xmm0
movss xmm0, dword [ebp - 0x3b8]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3b8]
comiss xmm0, dword [ebp - 0x3c0]
jbe 0x4edcc9
movss xmm0, dword [ebp - 0x3f4]
subss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3f4], xmm0
movss xmm0, dword [ebp - 0x3c4]
mulss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3ec]
addss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3ec], xmm0
movss xmm0, dword [ebp - 0x3b8]
subss xmm0, dword [ebp - 0x3bc]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3b8]
addss xmm0, dword [ebp - 0x3bc]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3c4]
subss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3b8]
addss xmm0, dword [ebp - 0x3bc]
movss dword [ebp - 0x3b8], xmm0
mov dword [ebp - 0x440], 0x76
jmp 0x4ee195
movss xmm0, dword [ebp - 0x3c4]
divss xmm0, dword [ebp - 0x3bc]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3c0]
subss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3bc]
divss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3c4]
addss xmm0, dword [ebp - 0x3bc]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3bc]
subss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3c8]
subss xmm0, dword [ebp - 0x3ec]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3b8]
mulss xmm0, dword [ebp - 0x3f4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3b8]
divss xmm0, dword [ebp - 0x3f4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3c8]
divss xmm0, dword [ebp - 0x3ec]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3c4]
divss xmm0, dword [ebp - 0x3bc]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3bc]
subss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3b8]
addss xmm0, dword [ebp - 0x3f4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3b8]
divss xmm0, dword [ebp - 0x3f4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3bc]
divss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3b8]
comiss xmm0, dword [ebp - 0x3ec]
jbe 0x4ededb
movss xmm0, dword [ebp - 0x3c0]
addss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3bc]
mulss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3bc]
addss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3f4]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3f4], xmm0
movss xmm0, dword [ebp - 0x3bc]
addss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3b8]
mulss xmm0, dword [ebp - 0x3f4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3c0]
mulss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3c0], xmm0
jmp 0x4ee195
movss xmm0, dword [ebp - 0x3f4]
addss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3f4], xmm0
movss xmm0, dword [ebp - 0x3b8]
addss xmm0, dword [ebp - 0x3f4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3c8]
mulss xmm0, dword [ebp - 0x3ec]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3bc]
mulss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3bc]
divss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3b8]
subss xmm0, dword [ebp - 0x3f4]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3c8]
addss xmm0, dword [ebp - 0x3ec]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3c4]
subss xmm0, dword [ebp - 0x3bc]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3c0]
mulss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3c0]
divss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3c4]
subss xmm0, dword [ebp - 0x3bc]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3c0]
subss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3c8]
divss xmm0, dword [ebp - 0x3ec]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3ec]
addss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3ec], xmm0
movss xmm0, dword [ebp - 0x3c4]
comiss xmm0, dword [ebp - 0x3c0]
jbe 0x4ee0ed
movss xmm0, dword [ebp - 0x3c0]
addss xmm0, dword [ebp - 0x3ec]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3f4]
addss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x3f4], xmm0
movss xmm0, dword [ebp - 0x3c4]
subss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c4], xmm0
movss xmm0, dword [ebp - 0x3bc]
addss xmm0, dword [ebp - 0x3f4]
movss dword [ebp - 0x3bc], xmm0
movss xmm0, dword [ebp - 0x3c0]
addss xmm0, dword [ebp - 0x3ec]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3c0]
mulss xmm0, dword [ebp - 0x3ec]
movss dword [ebp - 0x3c0], xmm0
movss xmm0, dword [ebp - 0x3c4]
mulss xmm0, dword [ebp - 0x3b8]
movss dword [ebp - 0x3c4], xmm0
jmp 0x4ee195
movss xmm0, dword [ebp - 0x3c8]
mulss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3b8]
divss xmm0, dword [ebp - 0x3bc]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3b8]
mulss xmm0, dword [ebp - 0x3bc]
movss dword [ebp - 0x3b8], xmm0
movss xmm0, dword [ebp - 0x3c8]
subss xmm0, dword [ebp - 0x3c0]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3ec]
addss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3ec], xmm0
movss xmm0, dword [ebp - 0x3ec]
subss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3ec], xmm0
movss xmm0, dword [ebp - 0x3ec]
divss xmm0, dword [ebp - 0x3c4]
movss dword [ebp - 0x3ec], xmm0
mov eax, dword [ebp - 0x434]
sub eax, dword [ebp - 0x438]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x43c]
sub ecx, dword [ebp - 0x440]
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x444]
shl edx, 4
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x474]
or ecx, dword [ebp - 0x470]
mov dword [ebp - 0x498], ecx
mov dl, byte [ebp - 0x498]
mov byte [ebp - 0x39e], dl
movzx eax, byte [ebp - 0x397]
mov cl, byte [ebp + eax - 0x8d0]
mov byte [ebp - 0x39c], cl
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp + edx - 0x8d0]
mov dword [ebp - 0xaac], eax
mov cl, byte [ebp - 0x38d]
add cl, 1
mov byte [ebp - 0x38d], cl
movzx edx, byte [ebp - 0x392]
add edx, dword [ebp - 0xaac]
mov byte [ebp - 0x392], dl
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp - 0x397]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp - 0x392]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x38d]
movzx ecx, byte [ebp - 0x393]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x38d]
mov cl, byte [ebp - 0x39c]
mov byte [ebp + eax - 0x8d0], cl
movzx edx, byte [ebp - 0x39c]
movzx eax, byte [ebp + edx - 0x8d0]
movzx ecx, byte [ebp - 0x39d]
add ecx, eax
mov byte [ebp - 0x39d], cl
movzx edx, byte [ebp - 0x39e]
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp + eax - 0x8d0]
movzx eax, byte [ebp - 0x38d]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8d0]
xor edx, ecx
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp + eax - 0x8d0]
movzx eax, byte [ebp - 0x397]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
movzx eax, byte [ebp - 0x39d]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8d0]
movzx eax, byte [ebp + ecx - 0x8d0]
xor edx, eax
mov byte [ebp - 0x393], dl
mov cl, byte [ebp - 0x39e]
mov byte [ebp - 0x397], cl
mov dl, byte [ebp - 0x393]
mov byte [ebp - 0x3a3], dl
cmp dword [ebp - 0x3b4], 0
jle 0x4ee37a
mov eax, dword [ebp - 0x3b4]
mov cl, byte [ebp - 0x3a3]
mov byte [ebp + eax - 0x29], cl
jmp 0x4eda63
mov edx, dword [ebp - 0x3d8]
add edx, 1
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3d8]
add eax, 6
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3b4]
add ecx, 1
mov dword [ebp - 0x668], ecx
jmp 0x4ee3bd
mov edx, dword [ebp - 0x668]
add edx, 1
mov dword [ebp - 0x668], edx
mov eax, dword [ebp - 0x668]
cmp eax, dword [ebp - 0x3d8]
jge 0x4ee624
mov ecx, dword [ebp - 0x3b4]
add ecx, 1
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x3b4]
shl edx, 1
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x47c]
add eax, dword [ebp - 0x480]
movzx ecx, byte [eax]
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x438], 0x30
mov edx, dword [ebp - 0x3b4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x47c]
add ecx, dword [ebp - 0x478]
movzx edx, byte [ecx]
mov dword [ebp - 0x43c], edx
mov dword [ebp - 0x440], 0x76
mov eax, dword [ebp - 0x434]
sub eax, dword [ebp - 0x438]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x43c]
sub ecx, dword [ebp - 0x440]
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x444]
shl edx, 4
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x474]
or ecx, dword [ebp - 0x470]
mov dword [ebp - 0x498], ecx
mov dl, byte [ebp - 0x498]
mov byte [ebp - 0x39e], dl
movzx eax, byte [ebp - 0x397]
mov cl, byte [ebp + eax - 0x8d0]
mov byte [ebp - 0x39c], cl
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp + edx - 0x8d0]
mov dword [ebp - 0xaa8], eax
mov cl, byte [ebp - 0x38d]
add cl, 1
mov byte [ebp - 0x38d], cl
movzx edx, byte [ebp - 0x392]
add edx, dword [ebp - 0xaa8]
mov byte [ebp - 0x392], dl
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp - 0x397]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp - 0x392]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x38d]
movzx ecx, byte [ebp - 0x393]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x38d]
mov cl, byte [ebp - 0x39c]
mov byte [ebp + eax - 0x8d0], cl
movzx edx, byte [ebp - 0x39c]
movzx eax, byte [ebp + edx - 0x8d0]
movzx ecx, byte [ebp - 0x39d]
add ecx, eax
mov byte [ebp - 0x39d], cl
movzx edx, byte [ebp - 0x39e]
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp + eax - 0x8d0]
movzx eax, byte [ebp - 0x38d]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8d0]
xor edx, ecx
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp + eax - 0x8d0]
movzx eax, byte [ebp - 0x397]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
movzx eax, byte [ebp - 0x39d]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8d0]
movzx eax, byte [ebp + ecx - 0x8d0]
xor edx, eax
mov byte [ebp - 0x393], dl
mov cl, byte [ebp - 0x39e]
mov byte [ebp - 0x397], cl
mov dl, byte [ebp - 0x393]
mov byte [ebp - 0x3a3], dl
cmp dword [ebp - 0x3b4], 0
jle 0x4ee61f
mov eax, dword [ebp - 0x3b4]
mov cl, byte [ebp - 0x3a3]
mov byte [ebp + eax - 0x29], cl
jmp 0x4ee3ae
mov edx, dword [ebp - 0x3d8]
add edx, 1
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3b4]
add eax, 1
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x3d8]
add ecx, 1
mov dword [ebp - 0x3d8], ecx
mov edx, dword [ebp - 0x3b4]
shl edx, 1
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x47c]
add eax, dword [ebp - 0x480]
movzx ecx, byte [eax]
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x438], 0x30
mov edx, dword [ebp - 0x3b4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x47c]
add ecx, dword [ebp - 0x478]
movzx edx, byte [ecx]
mov dword [ebp - 0x43c], edx
mov dword [ebp - 0x440], 0x76
mov eax, dword [ebp - 0x434]
sub eax, dword [ebp - 0x438]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x43c]
sub ecx, dword [ebp - 0x440]
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x444]
shl edx, 4
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x474]
or ecx, dword [ebp - 0x470]
mov dword [ebp - 0x498], ecx
mov dl, byte [ebp - 0x498]
mov byte [ebp - 0x39e], dl
movzx eax, byte [ebp - 0x397]
mov cl, byte [ebp + eax - 0x8d0]
mov byte [ebp - 0x39c], cl
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp + edx - 0x8d0]
mov dword [ebp - 0xaa4], eax
mov cl, byte [ebp - 0x38d]
add cl, 1
mov byte [ebp - 0x38d], cl
movzx edx, byte [ebp - 0x392]
add edx, dword [ebp - 0xaa4]
mov byte [ebp - 0x392], dl
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp - 0x397]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp - 0x392]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x38d]
movzx ecx, byte [ebp - 0x393]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x38d]
mov cl, byte [ebp - 0x39c]
mov byte [ebp + eax - 0x8d0], cl
movzx edx, byte [ebp - 0x39c]
movzx eax, byte [ebp + edx - 0x8d0]
movzx ecx, byte [ebp - 0x39d]
add ecx, eax
mov byte [ebp - 0x39d], cl
movzx edx, byte [ebp - 0x39e]
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp + eax - 0x8d0]
movzx eax, byte [ebp - 0x38d]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8d0]
xor edx, ecx
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp + eax - 0x8d0]
movzx eax, byte [ebp - 0x397]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
movzx eax, byte [ebp - 0x39d]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8d0]
movzx eax, byte [ebp + ecx - 0x8d0]
xor edx, eax
mov byte [ebp - 0x393], dl
mov cl, byte [ebp - 0x39e]
mov byte [ebp - 0x397], cl
mov dl, byte [ebp - 0x393]
mov byte [ebp - 0x3a3], dl
cmp dword [ebp - 0x3b4], 0
jle 0x4ee892
mov eax, dword [ebp - 0x3b4]
mov cl, byte [ebp - 0x3a3]
mov byte [ebp + eax - 0x29], cl
mov edx, dword [ebp - 0x3b4]
add edx, 1
mov dword [ebp - 0x3b4], edx
mov eax, dword [ebp - 0x3d8]
add eax, 1
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x3b4]
shl ecx, 1
mov dword [ebp - 0x480], ecx
mov edx, dword [ebp - 0x47c]
add edx, dword [ebp - 0x480]
movzx eax, byte [edx]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x438], 0x30
mov ecx, dword [ebp - 0x3b4]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x478], edx
mov eax, dword [ebp - 0x47c]
add eax, dword [ebp - 0x478]
movzx ecx, byte [eax]
mov dword [ebp - 0x43c], ecx
mov dword [ebp - 0x440], 0x76
mov edx, dword [ebp - 0x434]
sub edx, dword [ebp - 0x438]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x43c]
sub eax, dword [ebp - 0x440]
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x444]
shl ecx, 4
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x448]
mov dword [ebp - 0x470], edx
mov eax, dword [ebp - 0x474]
or eax, dword [ebp - 0x470]
mov dword [ebp - 0x498], eax
mov cl, byte [ebp - 0x498]
mov byte [ebp - 0x39e], cl
movzx edx, byte [ebp - 0x397]
mov al, byte [ebp + edx - 0x8d0]
mov byte [ebp - 0x39c], al
movzx ecx, byte [ebp - 0x38d]
movzx edx, byte [ebp + ecx - 0x8d0]
mov dword [ebp - 0xaa0], edx
mov al, byte [ebp - 0x38d]
add al, 1
mov byte [ebp - 0x38d], al
movzx ecx, byte [ebp - 0x392]
add ecx, dword [ebp - 0xaa0]
mov byte [ebp - 0x392], cl
movzx edx, byte [ebp - 0x392]
movzx eax, byte [ebp - 0x397]
mov cl, byte [ebp + edx - 0x8d0]
mov byte [ebp + eax - 0x8d0], cl
movzx edx, byte [ebp - 0x393]
movzx eax, byte [ebp - 0x392]
mov cl, byte [ebp + edx - 0x8d0]
mov byte [ebp + eax - 0x8d0], cl
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp - 0x393]
mov cl, byte [ebp + edx - 0x8d0]
mov byte [ebp + eax - 0x8d0], cl
movzx edx, byte [ebp - 0x38d]
mov al, byte [ebp - 0x39c]
mov byte [ebp + edx - 0x8d0], al
movzx ecx, byte [ebp - 0x39c]
movzx edx, byte [ebp + ecx - 0x8d0]
movzx eax, byte [ebp - 0x39d]
add eax, edx
mov byte [ebp - 0x39d], al
movzx ecx, byte [ebp - 0x39e]
movzx edx, byte [ebp - 0x392]
movzx eax, byte [ebp + edx - 0x8d0]
movzx edx, byte [ebp - 0x38d]
movzx edx, byte [ebp + edx - 0x8d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8d0]
xor ecx, eax
movzx edx, byte [ebp - 0x393]
movzx eax, byte [ebp + edx - 0x8d0]
movzx edx, byte [ebp - 0x397]
movzx edx, byte [ebp + edx - 0x8d0]
add eax, edx
movzx edx, byte [ebp - 0x39d]
movzx edx, byte [ebp + edx - 0x8d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8d0]
movzx edx, byte [ebp + eax - 0x8d0]
xor ecx, edx
mov byte [ebp - 0x393], cl
movss xmm0, dword [0x5376a0]
movss dword [ebp - 0x5e4], xmm0
movss xmm0, dword [0x537690]
movss dword [ebp - 0x4ec], xmm0
movss xmm0, dword [0x537670]
movss dword [ebp - 0x55c], xmm0
movss xmm0, dword [0x53764c]
movss dword [ebp - 0x4c8], xmm0
movss xmm0, dword [0x537620]
movss dword [ebp - 0x57c], xmm0
movss xmm0, dword [0x5375fc]
movss dword [ebp - 0x4a4], xmm0
movss xmm0, dword [ebp - 0x4c8]
addss xmm0, dword [ebp - 0x4a4]
movss dword [ebp - 0x4c8], xmm0
movss xmm0, dword [ebp - 0x4ec]
addss xmm0, dword [ebp - 0x4a4]
movss dword [ebp - 0x4ec], xmm0
movss xmm0, dword [ebp - 0x4ec]
mulss xmm0, dword [ebp - 0x4a4]
movss dword [ebp - 0x4ec], xmm0
movss xmm0, dword [ebp - 0x4c8]
subss xmm0, dword [ebp - 0x4a4]
movss dword [ebp - 0x4c8], xmm0
movss xmm0, dword [ebp - 0x55c]
addss xmm0, dword [ebp - 0x4a4]
movss dword [ebp - 0x55c], xmm0
movss xmm0, dword [ebp - 0x57c]
subss xmm0, dword [ebp - 0x4a4]
movss dword [ebp - 0x57c], xmm0
movss xmm0, dword [ebp - 0x57c]
comiss xmm0, dword [ebp - 0x4ec]
jbe 0x4eec57
movss xmm0, dword [ebp - 0x4c8]
divss xmm0, dword [ebp - 0x4a4]
movss dword [ebp - 0x4c8], xmm0
movss xmm0, dword [ebp - 0x4ec]
divss xmm0, dword [ebp - 0x4c8]
movss dword [ebp - 0x4ec], xmm0
movss xmm0, dword [ebp - 0x55c]
subss xmm0, dword [ebp - 0x57c]
movss dword [ebp - 0x55c], xmm0
movss xmm0, dword [ebp - 0x4a4]
divss xmm0, dword [ebp - 0x4ec]
movss dword [ebp - 0x4a4], xmm0
movss xmm0, dword [ebp - 0x4c8]
divss xmm0, dword [ebp - 0x4a4]
movss dword [ebp - 0x4c8], xmm0
movss xmm0, dword [ebp - 0x4c8]
mulss xmm0, dword [ebp - 0x4a4]
movss dword [ebp - 0x4c8], xmm0
jmp 0x4eecf3
movss xmm0, dword [ebp - 0x5e4]
addss xmm0, dword [ebp - 0x55c]
movss dword [ebp - 0x5e4], xmm0
movss xmm0, dword [ebp - 0x55c]
addss xmm0, dword [ebp - 0x57c]
movss dword [ebp - 0x55c], xmm0
movss xmm0, dword [ebp - 0x4a4]
mulss xmm0, dword [ebp - 0x4ec]
movss dword [ebp - 0x4a4], xmm0
movss xmm0, dword [ebp - 0x57c]
addss xmm0, dword [ebp - 0x5e4]
movss dword [ebp - 0x57c], xmm0
movss xmm0, dword [ebp - 0x5e4]
addss xmm0, dword [ebp - 0x55c]
movss dword [ebp - 0x5e4], xmm0
movss xmm0, dword [ebp - 0x4a4]
subss xmm0, dword [ebp - 0x4ec]
movss dword [ebp - 0x4a4], xmm0
mov al, byte [ebp - 0x39e]
mov byte [ebp - 0x397], al
mov cl, byte [ebp - 0x393]
mov byte [ebp - 0x3a3], cl
cmp dword [ebp - 0x3b4], 0
jle 0x4eed18
mov edx, dword [ebp - 0x3b4]
mov al, byte [ebp - 0x3a3]
mov byte [ebp + edx - 0x29], al
mov ecx, dword [ebp - 0x3b4]
add ecx, 1
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x3d8]
add edx, 1
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3b4]
shl eax, 1
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x47c]
add ecx, dword [ebp - 0x480]
movzx edx, byte [ecx]
mov dword [ebp - 0x434], edx
mov dword [ebp - 0x438], 0x30
mov eax, dword [ebp - 0x3b4]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x478], ecx
mov edx, dword [ebp - 0x47c]
add edx, dword [ebp - 0x478]
movzx eax, byte [edx]
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x440], 0x76
mov ecx, dword [ebp - 0x434]
sub ecx, dword [ebp - 0x438]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x43c]
sub edx, dword [ebp - 0x440]
mov dword [ebp - 0x448], edx
mov eax, dword [ebp - 0x444]
shl eax, 4
mov dword [ebp - 0x474], eax
mov ecx, dword [ebp - 0x448]
mov dword [ebp - 0x470], ecx
mov edx, dword [ebp - 0x474]
or edx, dword [ebp - 0x470]
mov dword [ebp - 0x498], edx
mov al, byte [ebp - 0x498]
mov byte [ebp - 0x39e], al
movzx ecx, byte [ebp - 0x397]
mov dl, byte [ebp + ecx - 0x8d0]
mov byte [ebp - 0x39c], dl
movzx eax, byte [ebp - 0x38d]
movzx ecx, byte [ebp + eax - 0x8d0]
mov dword [ebp - 0xa9c], ecx
mov dl, byte [ebp - 0x38d]
add dl, 1
mov byte [ebp - 0x38d], dl
movzx eax, byte [ebp - 0x392]
add eax, dword [ebp - 0xa9c]
mov byte [ebp - 0x392], al
movzx ecx, byte [ebp - 0x392]
movzx edx, byte [ebp - 0x397]
mov al, byte [ebp + ecx - 0x8d0]
mov byte [ebp + edx - 0x8d0], al
movzx ecx, byte [ebp - 0x393]
movzx edx, byte [ebp - 0x392]
mov al, byte [ebp + ecx - 0x8d0]
mov byte [ebp + edx - 0x8d0], al
movzx ecx, byte [ebp - 0x38d]
movzx edx, byte [ebp - 0x393]
mov al, byte [ebp + ecx - 0x8d0]
mov byte [ebp + edx - 0x8d0], al
movzx ecx, byte [ebp - 0x38d]
mov dl, byte [ebp - 0x39c]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x39c]
movzx ecx, byte [ebp + eax - 0x8d0]
movzx edx, byte [ebp - 0x39d]
add edx, ecx
mov byte [ebp - 0x39d], dl
movzx eax, byte [ebp - 0x39e]
movzx ecx, byte [ebp - 0x392]
movzx edx, byte [ebp + ecx - 0x8d0]
movzx ecx, byte [ebp - 0x38d]
movzx ecx, byte [ebp + ecx - 0x8d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x8d0]
xor eax, edx
movzx ecx, byte [ebp - 0x393]
movzx edx, byte [ebp + ecx - 0x8d0]
movzx ecx, byte [ebp - 0x397]
movzx ecx, byte [ebp + ecx - 0x8d0]
add edx, ecx
movzx ecx, byte [ebp - 0x39d]
movzx ecx, byte [ebp + ecx - 0x8d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x8d0]
movzx ecx, byte [ebp + edx - 0x8d0]
xor eax, ecx
mov byte [ebp - 0x393], al
mov dl, byte [ebp - 0x39e]
mov byte [ebp - 0x397], dl
mov al, byte [ebp - 0x393]
mov byte [ebp - 0x3a3], al
cmp dword [ebp - 0x3b4], 0
jle 0x4eef77
mov ecx, dword [ebp - 0x3b4]
mov dl, byte [ebp - 0x3a3]
mov byte [ebp + ecx - 0x29], dl
mov eax, dword [ebp - 0x3b4]
add eax, 1
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x3d8]
add ecx, 1
mov dword [ebp - 0x3d8], ecx
mov edx, dword [ebp - 0x3b4]
shl edx, 1
mov dword [ebp - 0x480], edx
mov eax, dword [ebp - 0x47c]
add eax, dword [ebp - 0x480]
movzx ecx, byte [eax]
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x438], 0x30
mov edx, dword [ebp - 0x3b4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x47c]
add ecx, dword [ebp - 0x478]
movzx edx, byte [ecx]
mov dword [ebp - 0x43c], edx
mov dword [ebp - 0x440], 0x76
mov eax, dword [ebp - 0x434]
sub eax, dword [ebp - 0x438]
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x43c]
sub ecx, dword [ebp - 0x440]
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x444]
shl edx, 4
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x474]
or ecx, dword [ebp - 0x470]
mov dword [ebp - 0x498], ecx
movsd xmm0, qword [0x537558]
movsd qword [ebp - 0x518], xmm0
movsd xmm0, qword [0x537518]
movsd qword [ebp - 0x520], xmm0
movsd xmm0, qword [0x5374d8]
movsd qword [ebp - 0x598], xmm0
movsd xmm0, qword [0x537488]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [0x537420]
movsd qword [ebp - 0x510], xmm0
movsd xmm0, qword [ebp - 0x518]
addsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x518], xmm0
movsd xmm0, qword [ebp - 0x4f8]
addsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x518]
subsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x518], xmm0
movsd xmm0, qword [ebp - 0x518]
addsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x518], xmm0
movsd xmm0, qword [ebp - 0x520]
addsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x520], xmm0
movsd xmm0, qword [ebp - 0x518]
comisd xmm0, xmmword [ebp - 0x510]
jbe 0x4ef1a9
movsd xmm0, qword [ebp - 0x598]
addsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x598], xmm0
movsd xmm0, qword [ebp - 0x520]
addsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x520], xmm0
movsd xmm0, qword [ebp - 0x510]
mulsd xmm0, qword [ebp - 0x520]
movsd qword [ebp - 0x510], xmm0
movsd xmm0, qword [ebp - 0x510]
subsd xmm0, qword [ebp - 0x520]
movsd qword [ebp - 0x510], xmm0
movsd xmm0, qword [ebp - 0x520]
mulsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x520], xmm0
mov dl, byte [ebp - 0x498]
mov byte [ebp - 0x39e], dl
jmp 0x4ef39d
movsd xmm0, qword [ebp - 0x4f8]
subsd xmm0, qword [ebp - 0x518]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x518]
addsd xmm0, qword [ebp - 0x598]
movsd qword [ebp - 0x518], xmm0
movsd xmm0, qword [ebp - 0x520]
subsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x520], xmm0
movsd xmm0, qword [ebp - 0x4f8]
addsd xmm0, qword [ebp - 0x518]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x520]
mulsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x520], xmm0
movsd xmm0, qword [ebp - 0x518]
addsd xmm0, qword [ebp - 0x598]
movsd qword [ebp - 0x518], xmm0
movsd xmm0, qword [ebp - 0x598]
mulsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x598], xmm0
movsd xmm0, qword [ebp - 0x598]
mulsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x598], xmm0
movsd xmm0, qword [ebp - 0x4f8]
subsd xmm0, qword [ebp - 0x518]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x520]
addsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x520], xmm0
movsd xmm0, qword [ebp - 0x598]
comisd xmm0, xmmword [ebp - 0x518]
jbe 0x4ef325
movsd xmm0, qword [ebp - 0x510]
subsd xmm0, qword [ebp - 0x518]
movsd qword [ebp - 0x510], xmm0
movsd xmm0, qword [ebp - 0x598]
addsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x598], xmm0
movsd xmm0, qword [ebp - 0x4f8]
subsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x4f8]
mulsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x520]
subsd xmm0, qword [ebp - 0x598]
movsd qword [ebp - 0x520], xmm0
jmp 0x4ef39d
movsd xmm0, qword [ebp - 0x4f8]
mulsd xmm0, qword [ebp - 0x510]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x510]
divsd xmm0, qword [ebp - 0x518]
movsd qword [ebp - 0x510], xmm0
movsd xmm0, qword [ebp - 0x520]
divsd xmm0, qword [ebp - 0x598]
movsd qword [ebp - 0x520], xmm0
movsd xmm0, qword [ebp - 0x598]
subsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x598], xmm0
movsd xmm0, qword [ebp - 0x518]
divsd xmm0, qword [ebp - 0x520]
movsd qword [ebp - 0x518], xmm0
movzx eax, byte [ebp - 0x397]
mov cl, byte [ebp + eax - 0x8d0]
mov byte [ebp - 0x39c], cl
movzx edx, byte [ebp - 0x38d]
movzx eax, byte [ebp + edx - 0x8d0]
mov dword [ebp - 0xa98], eax
mov cl, byte [ebp - 0x38d]
add cl, 1
mov byte [ebp - 0x38d], cl
movzx edx, byte [ebp - 0x392]
add edx, dword [ebp - 0xa98]
mov byte [ebp - 0x392], dl
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp - 0x397]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp - 0x392]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x38d]
movzx ecx, byte [ebp - 0x393]
mov dl, byte [ebp + eax - 0x8d0]
mov byte [ebp + ecx - 0x8d0], dl
movzx eax, byte [ebp - 0x38d]
mov cl, byte [ebp - 0x39c]
mov byte [ebp + eax - 0x8d0], cl
movzx edx, byte [ebp - 0x39c]
movzx eax, byte [ebp + edx - 0x8d0]
movzx ecx, byte [ebp - 0x39d]
add ecx, eax
mov byte [ebp - 0x39d], cl
movzx edx, byte [ebp - 0x39e]
movzx eax, byte [ebp - 0x392]
movzx ecx, byte [ebp + eax - 0x8d0]
movzx eax, byte [ebp - 0x38d]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8d0]
xor edx, ecx
movzx eax, byte [ebp - 0x393]
movzx ecx, byte [ebp + eax - 0x8d0]
movzx eax, byte [ebp - 0x397]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
movzx eax, byte [ebp - 0x39d]
movzx eax, byte [ebp + eax - 0x8d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8d0]
movzx eax, byte [ebp + ecx - 0x8d0]
xor edx, eax
mov byte [ebp - 0x393], dl
mov cl, byte [ebp - 0x39e]
mov byte [ebp - 0x397], cl
mov dl, byte [ebp - 0x393]
mov byte [ebp - 0x3a3], dl
cmp dword [ebp - 0x3b4], 0
jle 0x4ef525
mov eax, dword [ebp - 0x3b4]
mov cl, byte [ebp - 0x3a3]
mov byte [ebp + eax - 0x29], cl
mov edx, 1
shl edx, 4
mov dword [ebp - 0x698], edx
cmp dword [ebp - 0x698], 0x11
jae 0x4ef53e
jmp 0x4ef544
call fcn.00522f55
nop
mov eax, dword [ebp - 0x698]
mov byte [ebp + eax - 0x28], 0
jmp 0x4ef59f
mov dword [ebp - 0x630], 0
jmp 0x4ef56c
mov ecx, dword [ebp - 0x630]
add ecx, 1
mov dword [ebp - 0x630], ecx
cmp dword [ebp - 0x630], 0x11
jge 0x4ef59f
mov edx, dword [ebp - 0x630]
mov dword [ebp - 0x69c], edx
cmp dword [ebp - 0x69c], 0x11
jae 0x4ef58c
jmp 0x4ef592
call fcn.00522f55
nop
mov eax, dword [ebp - 0x69c]
mov byte [ebp + eax - 0x28], 0
jmp 0x4ef55d
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0xa94]
call fcn.004da510
mov dword [ebp - 0xa90], eax
mov edx, dword [ebp - 0xa90]
mov dword [ebp - 0xa8c], edx
lea eax, [ebp - 0x388]
push eax
push 0xf01ff
mov ecx, dword [ebp - 0x620]
push ecx
call dword [ebp - 0xa8c]
mov dword [ebp - 0xa88], eax
push 0xc
lea ecx, [ebp - 0x2a8]
call fcn.004a46d0
lea ecx, [ebp - 0x2a8]
call fcn.004e7ab0
mov dword [ebp - 4], 1
lea edx, [ebp - 0x2ac]
push edx
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x2a8]
push ecx
mov ecx, dword [ebp - 0x584]
call fcn.004f4390
nop
cmp dword [ebp - 0xa88], 0
je 0x4f218c
mov dword [ebp - 0x38c], 0
mov dword [ebp - 0x384], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x5f8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5e0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x5e0], xmm0
jmp 0x4ef67b
movsd xmm0, qword [ebp - 0x5e0]
addsd xmm0, qword [0x5348a0]
movsd qword [ebp - 0x5e0], xmm0
movsd xmm0, qword [0x537478]
comisd xmm0, xmmword [ebp - 0x5e0]
jbe 0x4ef72c
movsd xmm0, qword [0x5373e8]
mulsd xmm0, qword [ebp - 0x5e0]
mulsd xmm0, qword [ebp - 0x5e0]
movsd xmm1, qword [ebp - 0x5e0]
mulsd xmm1, qword [ebp - 0x5e0]
subsd xmm0, xmm1
movsd xmm1, qword [0x534580]
mulsd xmm1, qword [ebp - 0x5e0]
mulsd xmm1, qword [ebp - 0x5e0]
addsd xmm1, qword [0x5373a8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x5f8]
movsd qword [ebp - 0x5f8], xmm0
movsd xmm0, qword [ebp - 0x5f8]
comisd xmm0, xmmword [0x5373b8]
jbe 0x4ef727
movsd xmm0, qword [0x537360]
mulsd xmm0, qword [ebp - 0x5e0]
movsd xmm1, qword [ebp - 0x5f8]
subsd xmm1, xmm0
movsd qword [ebp - 0x5f8], xmm1
jmp 0x4ef663
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x5f8]
jbe 0x4ef776
jns 0x4ef783
je 0x4ef783
jle 0x4ef777
js 0x4ef785
sub eax, 0x47493c77
push edi
daa
pop edx
xor byte [ebx], ah
pop ecx
xor dword [ebp + 0x2d], edx
dec esi
daa
dec edi
and edx, dword [ebp + 0x29]
dec esp
xor byte [ebx + 0x24], bl
push esp
daa
pop edx
daa
dec edi
and eax, 0x2f50305a
pop eax
and eax, 0x32572855
push esi
das
push eax
jmp 0x4f1c64
mov dword [ebp - 0x38c], 0x4ef74f
mov dword [ebp - 0x384], 0x4ef739
mov edx, dword [ebp - 0x38c]
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0xa68], eax
mov byte [ebp - 0x4ca], 0x1a
mov dword [ebp - 0x3fc], 0
jmp 0x4ef7c4
test dword [esp + edi*8 - 1], esi
dec dword [edi - 9]
dec esi
add bh, al
test dword [esp + edi*8 - 1], edi
cld
invalid
invalid
mov ecx, dword [ebp - 0x3fc]
add ecx, 1
mov dword [ebp - 0x3fc], ecx
cmp dword [ebp - 0x3fc], 0x100
jae 0x4ef7e5
mov edx, dword [ebp - 0x3fc]
mov al, byte [ebp - 0x3fc]
mov byte [ebp + edx - 0x7d0], al
jmp 0x4ef7b5
mov dword [ebp - 0x5b8], 0
mov byte [ebp - 0x3a5], 0
mov dword [ebp - 0x3fc], 0xff
jmp 0x4ef811
mov ecx, dword [ebp - 0x3fc]
sub ecx, 1
mov dword [ebp - 0x3fc], ecx
cmp dword [ebp - 0x3fc], 0
jbe 0x4eff45
mov dword [ebp - 0x63c], 0
mov dword [ebp - 0x634], 1
mov edx, dword [ebp - 0x634]
cmp edx, dword [ebp - 0x3fc]
jae 0x4ef852
mov eax, dword [ebp - 0x634]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x634], ecx
jmp 0x4ef832
mov edx, dword [ebp - 0x5b8]
mov dword [ebp - 0x6a0], edx
cmp dword [ebp - 0x6a0], 3
ja case.default.0x4ef871
mov eax, dword [ebp - 0x6a0]
jmp dword [eax*4 + 0x4f21fc]
movzx ecx, byte [ebp - 0x3a5]
movzx eax, byte [ebp + ecx - 0x7d0]
movsd xmm0, qword [ebp - 0x5f8]
mov dword [ebp - 0xa84], eax
call fcn.00523390
and eax, 0xff
mov ecx, dword [ebp - 0xa84]
add ecx, eax
mov byte [ebp - 0x3a5], cl
jmp 0x4ef98a
movzx edx, byte [ebp - 0x3a5]
movzx eax, byte [ebp + edx - 0x7d0]
movsd xmm0, qword [ebp - 0x5f8]
mov dword [ebp - 0xa80], eax
call fcn.00523390
shr eax, 8
and eax, 0xff
mov ecx, dword [ebp - 0xa80]
add ecx, eax
mov byte [ebp - 0x3a5], cl
jmp 0x4ef98a
movzx eax, byte [ebp - 0x3a5]
movzx eax, byte [ebp + eax - 0x7d0]
movsd xmm0, qword [ebp - 0x5f8]
mov dword [ebp - 0xa7c], eax
call fcn.00523390
shr eax, 0x10
and eax, 0xff
mov ecx, dword [ebp - 0xa7c]
add ecx, eax
mov byte [ebp - 0x3a5], cl
jmp 0x4ef98a
movzx ecx, byte [ebp - 0x3a5]
movzx eax, byte [ebp + ecx - 0x7d0]
movsd xmm0, qword [ebp - 0x5f8]
mov dword [ebp - 0xa6c], eax
call fcn.00523390
shr eax, 0x18
and eax, 0xff
mov ecx, dword [ebp - 0xa6c]
add ecx, eax
mov byte [ebp - 0x3a5], cl
jmp 0x4ef98a
movzx edx, byte [ebp - 0x3a5]
movzx eax, byte [ebp + edx - 0x7d0]
mov ecx, dword [ebp - 0xa68]
add ecx, dword [ebp - 0x5b8]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0x3a5], al
mov eax, dword [ebp - 0x5b8]
add eax, 1
mov dword [ebp - 0x5b8], eax
movzx ecx, byte [ebp - 0x4ca]
cmp dword [ebp - 0x5b8], ecx
jb 0x4ef9c8
mov dword [ebp - 0x5b8], 0
movzx edx, byte [ebp - 0x4ca]
movzx eax, byte [ebp - 0x3a5]
add eax, edx
mov byte [ebp - 0x3a5], al
movss xmm0, dword [0x537694]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [0x537680]
movss dword [ebp - 0x3f8], xmm0
movss xmm0, dword [0x53766c]
movss dword [ebp - 0x49c], xmm0
movss xmm0, dword [0x537650]
movss dword [ebp - 0x4a8], xmm0
movss xmm0, dword [0x537630]
movss dword [ebp - 0x4b0], xmm0
movss xmm0, dword [0x537614]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [0x5375f0]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3cc]
addss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x49c]
addss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x49c], xmm0
movss xmm0, dword [ebp - 0x3cc]
addss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x3e4]
subss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [ebp - 0x3e4]
mulss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [ebp - 0x3cc]
addss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x3e4]
addss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [ebp - 0x3d0]
comiss xmm0, dword [ebp - 0x3e4]
jbe 0x4efdb4
movss xmm0, dword [ebp - 0x3d0]
addss xmm0, dword [ebp - 0x3f8]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3e4]
mulss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [ebp - 0x3f8]
subss xmm0, dword [ebp - 0x4a8]
movss dword [ebp - 0x3f8], xmm0
movss xmm0, dword [ebp - 0x4a8]
subss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x4a8], xmm0
movss xmm0, dword [ebp - 0x3e4]
addss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [ebp - 0x3cc]
addss xmm0, dword [ebp - 0x49c]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x3d0]
mulss xmm0, dword [ebp - 0x3f8]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3d0]
mulss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3f8]
divss xmm0, dword [ebp - 0x49c]
movss dword [ebp - 0x3f8], xmm0
movss xmm0, dword [ebp - 0x3e4]
mulss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [ebp - 0x49c]
subss xmm0, dword [ebp - 0x4a8]
movss dword [ebp - 0x49c], xmm0
movss xmm0, dword [ebp - 0x3f8]
addss xmm0, dword [ebp - 0x49c]
movss dword [ebp - 0x3f8], xmm0
movss xmm0, dword [ebp - 0x4b0]
subss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x4b0], xmm0
movss xmm0, dword [ebp - 0x3f8]
addss xmm0, dword [ebp - 0x49c]
movss dword [ebp - 0x3f8], xmm0
movss xmm0, dword [ebp - 0x49c]
comiss xmm0, dword [ebp - 0x4b0]
jbe 0x4efd07
movss xmm0, dword [ebp - 0x4a8]
mulss xmm0, dword [ebp - 0x4b0]
movss dword [ebp - 0x4a8], xmm0
movss xmm0, dword [ebp - 0x3f8]
subss xmm0, dword [ebp - 0x49c]
movss dword [ebp - 0x3f8], xmm0
movss xmm0, dword [ebp - 0x3cc]
divss xmm0, dword [ebp - 0x3f8]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x3cc]
addss xmm0, dword [ebp - 0x3f8]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x4a8]
addss xmm0, dword [ebp - 0x4b0]
movss dword [ebp - 0x4a8], xmm0
movss xmm0, dword [ebp - 0x3d0]
subss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3cc]
subss xmm0, dword [ebp - 0x3f8]
movss dword [ebp - 0x3cc], xmm0
jmp 0x4efdaf
movss xmm0, dword [ebp - 0x3e4]
mulss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [ebp - 0x49c]
divss xmm0, dword [ebp - 0x4b0]
movss dword [ebp - 0x49c], xmm0
movss xmm0, dword [ebp - 0x3e4]
mulss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [ebp - 0x3d0]
subss xmm0, dword [ebp - 0x3f8]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x4a8]
addss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x4a8], xmm0
movss xmm0, dword [ebp - 0x49c]
subss xmm0, dword [ebp - 0x4b0]
movss dword [ebp - 0x49c], xmm0
movss xmm0, dword [ebp - 0x4b0]
divss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x4b0], xmm0
jmp 0x4efe6f
movss xmm0, dword [ebp - 0x3cc]
addss xmm0, dword [ebp - 0x49c]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x4b0]
addss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x4b0], xmm0
movss xmm0, dword [ebp - 0x4a8]
mulss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x4a8], xmm0
movss xmm0, dword [ebp - 0x4b0]
addss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x4b0], xmm0
movss xmm0, dword [ebp - 0x4a8]
mulss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x4a8], xmm0
movss xmm0, dword [ebp - 0x3f8]
subss xmm0, dword [ebp - 0x4a8]
movss dword [ebp - 0x3f8], xmm0
movss xmm0, dword [ebp - 0x3cc]
addss xmm0, dword [ebp - 0x49c]
movss dword [ebp - 0x3cc], xmm0
movzx ecx, byte [ebp - 0x3a5]
and ecx, dword [ebp - 0x634]
mov dword [ebp - 0x560], ecx
mov edx, dword [ebp - 0x63c]
add edx, 1
mov dword [ebp - 0x63c], edx
cmp dword [ebp - 0x63c], 0xb
jbe 0x4efe9b
mov eax, dword [ebp - 0x560]
xor edx, edx
div dword [ebp - 0x3fc]
mov dword [ebp - 0x560], edx
mov eax, dword [ebp - 0x560]
cmp eax, dword [ebp - 0x3fc]
ja 0x4ef852
mov ecx, dword [ebp - 0x3fc]
cmp ecx, dword [ebp - 0x560]
je 0x4eff40
mov edx, dword [ebp - 0x560]
movzx eax, byte [ebp + edx - 0x7d0]
mov ecx, dword [ebp - 0x3fc]
movzx edx, byte [ebp + ecx - 0x7d0]
xor edx, eax
mov eax, dword [ebp - 0x3fc]
mov byte [ebp + eax - 0x7d0], dl
mov ecx, dword [ebp - 0x3fc]
movzx edx, byte [ebp + ecx - 0x7d0]
mov eax, dword [ebp - 0x560]
movzx ecx, byte [ebp + eax - 0x7d0]
xor ecx, edx
mov edx, dword [ebp - 0x560]
mov byte [ebp + edx - 0x7d0], cl
mov eax, dword [ebp - 0x560]
movzx ecx, byte [ebp + eax - 0x7d0]
mov edx, dword [ebp - 0x3fc]
movzx eax, byte [ebp + edx - 0x7d0]
xor eax, ecx
mov ecx, dword [ebp - 0x3fc]
mov byte [ebp + ecx - 0x7d0], al
jmp 0x4ef802
mov edx, 1
shl edx, 0
mov al, byte [ebp + edx - 0x7d0]
mov byte [ebp - 0x38e], al
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x7d0]
mov byte [ebp - 0x394], al
mov ecx, 1
imul edx, ecx, 5
mov al, byte [ebp + edx - 0x7d0]
mov byte [ebp - 0x3a0], al
mov ecx, 1
imul edx, ecx, 7
mov al, byte [ebp + edx - 0x7d0]
mov byte [ebp - 0x395], al
movzx ecx, byte [ebp - 0x3a5]
mov dl, byte [ebp + ecx - 0x7d0]
mov byte [ebp - 0x398], dl
mov dword [ebp - 0x6a4], 0x22
cmp dword [ebp - 0x6a4], 2
jle 0x4f1c12
mov eax, dword [ebp - 0x6a4]
and eax, 1
jne 0x4f1c12
mov dword [ebp - 0x3ac], 0
mov dword [ebp - 0x3d4], 0
mov ecx, dword [ebp - 0x3d4]
add ecx, 1
mov dword [ebp - 0x3d4], ecx
mov dword [ebp - 0x450], 0
mov edx, dword [ebp - 0x3ac]
shl edx, 1
mov dword [ebp - 0x450], edx
mov dword [ebp - 0x44c], 0
mov eax, dword [ebp - 0x454]
add eax, dword [ebp - 0x450]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x44c]
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x404], 0
mov edx, dword [ebp - 0x404]
add edx, 0x23
mov dword [ebp - 0x404], edx
mov dword [ebp - 0x458], 0
mov eax, dword [ebp - 0x3ac]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x408], 0
mov edx, dword [ebp - 0x454]
add edx, dword [ebp - 0x458]
movzx eax, byte [edx]
add eax, dword [ebp - 0x408]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x40c], 0
mov ecx, dword [ebp - 0x40c]
add ecx, 0x4c
mov dword [ebp - 0x40c], ecx
mov dword [ebp - 0x410], 0
mov edx, dword [ebp - 0x44c]
sub edx, dword [ebp - 0x404]
add edx, dword [ebp - 0x410]
mov dword [ebp - 0x410], edx
mov dword [ebp - 0x414], 0
mov eax, dword [ebp - 0x408]
sub eax, dword [ebp - 0x40c]
add eax, dword [ebp - 0x414]
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x460], 0
mov ecx, dword [ebp - 0x410]
shl ecx, 4
mov dword [ebp - 0x460], ecx
mov dword [ebp - 0x464], 0
mov edx, dword [ebp - 0x414]
mov dword [ebp - 0x464], edx
mov dword [ebp - 0x468], 0
mov eax, dword [ebp - 0x460]
or eax, dword [ebp - 0x464]
mov dword [ebp - 0x468], eax
mov byte [ebp - 0x3a1], 0
mov cl, byte [ebp - 0x468]
mov byte [ebp - 0x3a1], cl
mov byte [ebp - 0x39f], 0
movzx edx, byte [ebp - 0x398]
mov al, byte [ebp + edx - 0x7d0]
mov byte [ebp - 0x39f], al
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp + ecx - 0x7d0]
mov dword [ebp - 0xa64], edx
mov al, byte [ebp - 0x38e]
add al, 1
mov byte [ebp - 0x38e], al
movzx ecx, byte [ebp - 0x394]
add ecx, dword [ebp - 0xa64]
mov byte [ebp - 0x394], cl
movzx edx, byte [ebp - 0x394]
movzx eax, byte [ebp - 0x398]
mov cl, byte [ebp + edx - 0x7d0]
mov byte [ebp + eax - 0x7d0], cl
movzx edx, byte [ebp - 0x395]
movzx eax, byte [ebp - 0x394]
mov cl, byte [ebp + edx - 0x7d0]
mov byte [ebp + eax - 0x7d0], cl
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp - 0x395]
mov cl, byte [ebp + edx - 0x7d0]
mov byte [ebp + eax - 0x7d0], cl
movzx edx, byte [ebp - 0x38e]
mov al, byte [ebp - 0x39f]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x39f]
movzx edx, byte [ebp + ecx - 0x7d0]
movzx eax, byte [ebp - 0x3a0]
add eax, edx
mov byte [ebp - 0x3a0], al
movzx ecx, byte [ebp - 0x3a1]
movzx edx, byte [ebp - 0x394]
movzx eax, byte [ebp + edx - 0x7d0]
movzx edx, byte [ebp - 0x38e]
movzx edx, byte [ebp + edx - 0x7d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7d0]
xor ecx, eax
movzx edx, byte [ebp - 0x395]
movzx eax, byte [ebp + edx - 0x7d0]
movzx edx, byte [ebp - 0x398]
movzx edx, byte [ebp + edx - 0x7d0]
add eax, edx
movzx edx, byte [ebp - 0x3a0]
movzx edx, byte [ebp + edx - 0x7d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7d0]
movzx edx, byte [ebp + eax - 0x7d0]
xor ecx, edx
mov byte [ebp - 0x395], cl
mov al, byte [ebp - 0x3a1]
mov byte [ebp - 0x398], al
mov cl, byte [ebp - 0x395]
mov byte [ebp - 0x3a4], cl
cmp dword [ebp - 0x3ac], 0
jle 0x4f02d5
movsx dx, byte [ebp - 0x3a4]
mov eax, dword [ebp - 0x3ac]
mov word [ebp + eax*2 - 0x6a], dx
mov ecx, dword [ebp - 0x3d4]
add ecx, 5
mov dword [ebp - 0x3d4], ecx
mov edx, dword [ebp - 0x3ac]
add edx, 1
mov dword [ebp - 0x670], edx
jmp 0x4f0304
mov eax, dword [ebp - 0x670]
add eax, 1
mov dword [ebp - 0x670], eax
mov ecx, dword [ebp - 0x670]
cmp ecx, dword [ebp - 0x3d4]
jge 0x4f056e
mov edx, dword [ebp - 0x3ac]
add edx, 1
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0x3ac]
shl eax, 1
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x454]
add ecx, dword [ebp - 0x450]
movzx edx, byte [ecx]
mov dword [ebp - 0x44c], edx
mov dword [ebp - 0x404], 0x23
mov eax, dword [ebp - 0x3ac]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x454]
add edx, dword [ebp - 0x458]
movzx eax, byte [edx]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x40c], 0x4c
mov ecx, dword [ebp - 0x44c]
sub ecx, dword [ebp - 0x404]
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x408]
sub edx, dword [ebp - 0x40c]
mov dword [ebp - 0x414], edx
mov eax, dword [ebp - 0x410]
shl eax, 4
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x414]
mov dword [ebp - 0x464], ecx
mov edx, dword [ebp - 0x460]
or edx, dword [ebp - 0x464]
mov dword [ebp - 0x468], edx
mov al, byte [ebp - 0x468]
mov byte [ebp - 0x3a1], al
movzx ecx, byte [ebp - 0x398]
mov dl, byte [ebp + ecx - 0x7d0]
mov byte [ebp - 0x39f], dl
movzx eax, byte [ebp - 0x38e]
movzx ecx, byte [ebp + eax - 0x7d0]
mov dword [ebp - 0xa60], ecx
mov dl, byte [ebp - 0x38e]
add dl, 1
mov byte [ebp - 0x38e], dl
movzx eax, byte [ebp - 0x394]
add eax, dword [ebp - 0xa60]
mov byte [ebp - 0x394], al
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp - 0x398]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp - 0x394]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp - 0x395]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x38e]
mov dl, byte [ebp - 0x39f]
mov byte [ebp + ecx - 0x7d0], dl
movzx eax, byte [ebp - 0x39f]
movzx ecx, byte [ebp + eax - 0x7d0]
movzx edx, byte [ebp - 0x3a0]
add edx, ecx
mov byte [ebp - 0x3a0], dl
movzx eax, byte [ebp - 0x3a1]
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp + ecx - 0x7d0]
movzx ecx, byte [ebp - 0x38e]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7d0]
xor eax, edx
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp + ecx - 0x7d0]
movzx ecx, byte [ebp - 0x398]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
movzx ecx, byte [ebp - 0x3a0]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7d0]
movzx ecx, byte [ebp + edx - 0x7d0]
xor eax, ecx
mov byte [ebp - 0x395], al
mov dl, byte [ebp - 0x3a1]
mov byte [ebp - 0x398], dl
mov al, byte [ebp - 0x395]
mov byte [ebp - 0x3a4], al
cmp dword [ebp - 0x3ac], 0
jle 0x4f0569
movsx cx, byte [ebp - 0x3a4]
mov edx, dword [ebp - 0x3ac]
mov word [ebp + edx*2 - 0x6a], cx
jmp 0x4f02f5
mov eax, dword [ebp - 0x3d4]
add eax, 1
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x3ac]
add ecx, 1
mov dword [ebp - 0x3ac], ecx
mov edx, dword [ebp - 0x3d4]
add edx, 1
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3ac]
shl eax, 1
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x454]
add ecx, dword [ebp - 0x450]
movzx edx, byte [ecx]
mov dword [ebp - 0x44c], edx
mov dword [ebp - 0x404], 0x23
mov eax, dword [ebp - 0x3ac]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x454]
add edx, dword [ebp - 0x458]
movzx eax, byte [edx]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x40c], 0x4c
mov ecx, dword [ebp - 0x44c]
sub ecx, dword [ebp - 0x404]
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x408]
sub edx, dword [ebp - 0x40c]
mov dword [ebp - 0x414], edx
mov eax, dword [ebp - 0x410]
shl eax, 4
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x414]
mov dword [ebp - 0x464], ecx
mov edx, dword [ebp - 0x460]
or edx, dword [ebp - 0x464]
mov dword [ebp - 0x468], edx
mov al, byte [ebp - 0x468]
mov byte [ebp - 0x3a1], al
movzx ecx, byte [ebp - 0x398]
mov dl, byte [ebp + ecx - 0x7d0]
mov byte [ebp - 0x39f], dl
movzx eax, byte [ebp - 0x38e]
movzx ecx, byte [ebp + eax - 0x7d0]
mov dword [ebp - 0xa5c], ecx
mov dl, byte [ebp - 0x38e]
add dl, 1
mov byte [ebp - 0x38e], dl
movzx eax, byte [ebp - 0x394]
add eax, dword [ebp - 0xa5c]
mov byte [ebp - 0x394], al
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp - 0x398]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp - 0x394]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp - 0x395]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x38e]
mov dl, byte [ebp - 0x39f]
mov byte [ebp + ecx - 0x7d0], dl
movzx eax, byte [ebp - 0x39f]
movzx ecx, byte [ebp + eax - 0x7d0]
movzx edx, byte [ebp - 0x3a0]
add edx, ecx
mov byte [ebp - 0x3a0], dl
movzx eax, byte [ebp - 0x3a1]
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp + ecx - 0x7d0]
movzx ecx, byte [ebp - 0x38e]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7d0]
xor eax, edx
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp + ecx - 0x7d0]
movzx ecx, byte [ebp - 0x398]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
movzx ecx, byte [ebp - 0x3a0]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7d0]
movzx ecx, byte [ebp + edx - 0x7d0]
xor eax, ecx
mov byte [ebp - 0x395], al
mov dl, byte [ebp - 0x3a1]
mov byte [ebp - 0x398], dl
mov al, byte [ebp - 0x395]
mov byte [ebp - 0x3a4], al
cmp dword [ebp - 0x3ac], 0
jle 0x4f07df
movsx cx, byte [ebp - 0x3a4]
mov edx, dword [ebp - 0x3ac]
mov word [ebp + edx*2 - 0x6a], cx
mov eax, dword [ebp - 0x3ac]
add eax, 1
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3d4]
add ecx, 1
mov dword [ebp - 0x3d4], ecx
mov edx, dword [ebp - 0x3ac]
shl edx, 1
mov dword [ebp - 0x450], edx
mov eax, dword [ebp - 0x454]
add eax, dword [ebp - 0x450]
movzx ecx, byte [eax]
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x404], 0x23
mov edx, dword [ebp - 0x3ac]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x454]
add ecx, dword [ebp - 0x458]
movzx edx, byte [ecx]
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x40c], 0x4c
movsd xmm0, qword [0x5375a0]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [0x537550]
movsd qword [ebp - 0x5a8], xmm0
movsd xmm0, qword [0x5374f0]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [0x537460]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x4e0]
addsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x4e0]
subsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x4e0]
mulsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x568]
mulsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x4e8]
comisd xmm0, xmmword [ebp - 0x4e0]
jbe 0x4f0aa5
movsd xmm0, qword [ebp - 0x4e8]
divsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x4e8]
divsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x568]
mulsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x4e8]
divsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x4e0]
addsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x5a8]
addsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x5a8], xmm0
movsd xmm0, qword [ebp - 0x568]
subsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x4e8]
mulsd xmm0, qword [ebp - 0x5a8]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x568]
comisd xmm0, xmmword [ebp - 0x4e0]
jbe 0x4f0a43
movsd xmm0, qword [ebp - 0x5a8]
subsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x5a8], xmm0
movsd xmm0, qword [ebp - 0x4e0]
addsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x4e8]
divsd xmm0, qword [ebp - 0x5a8]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x4e0]
mulsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x4e0], xmm0
jmp 0x4f0aa3
movsd xmm0, qword [ebp - 0x568]
mulsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x4e8]
divsd xmm0, qword [ebp - 0x4e0]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x4e0]
addsd xmm0, qword [ebp - 0x5a8]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x5a8]
divsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x5a8], xmm0
jmp 0x4f0b17
movsd xmm0, qword [ebp - 0x568]
subsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x4e0]
mulsd xmm0, qword [ebp - 0x5a8]
movsd qword [ebp - 0x4e0], xmm0
movsd xmm0, qword [ebp - 0x5a8]
addsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x5a8], xmm0
movsd xmm0, qword [ebp - 0x5a8]
mulsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x5a8], xmm0
mov eax, dword [ebp - 0x44c]
sub eax, dword [ebp - 0x404]
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x408]
sub ecx, dword [ebp - 0x40c]
mov dword [ebp - 0x414], ecx
mov edx, dword [ebp - 0x410]
shl edx, 4
mov dword [ebp - 0x460], edx
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp - 0x460]
or ecx, dword [ebp - 0x464]
mov dword [ebp - 0x468], ecx
mov dl, byte [ebp - 0x468]
mov byte [ebp - 0x3a1], dl
movzx eax, byte [ebp - 0x398]
mov cl, byte [ebp + eax - 0x7d0]
mov byte [ebp - 0x39f], cl
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp + edx - 0x7d0]
mov dword [ebp - 0xa58], eax
mov cl, byte [ebp - 0x38e]
add cl, 1
mov byte [ebp - 0x38e], cl
movzx edx, byte [ebp - 0x394]
add edx, dword [ebp - 0xa58]
mov byte [ebp - 0x394], dl
movzx eax, byte [ebp - 0x394]
movzx ecx, byte [ebp - 0x398]
mov dl, byte [ebp + eax - 0x7d0]
mov byte [ebp + ecx - 0x7d0], dl
movzx eax, byte [ebp - 0x395]
movzx ecx, byte [ebp - 0x394]
mov dl, byte [ebp + eax - 0x7d0]
mov byte [ebp + ecx - 0x7d0], dl
movzx eax, byte [ebp - 0x38e]
movzx ecx, byte [ebp - 0x395]
mov dl, byte [ebp + eax - 0x7d0]
mov byte [ebp + ecx - 0x7d0], dl
movzx eax, byte [ebp - 0x38e]
mov cl, byte [ebp - 0x39f]
mov byte [ebp + eax - 0x7d0], cl
movzx edx, byte [ebp - 0x39f]
movzx eax, byte [ebp + edx - 0x7d0]
movzx ecx, byte [ebp - 0x3a0]
add ecx, eax
mov byte [ebp - 0x3a0], cl
movzx edx, byte [ebp - 0x3a1]
movzx eax, byte [ebp - 0x394]
movzx ecx, byte [ebp + eax - 0x7d0]
movzx eax, byte [ebp - 0x38e]
movzx eax, byte [ebp + eax - 0x7d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7d0]
xor edx, ecx
movzx eax, byte [ebp - 0x395]
movzx ecx, byte [ebp + eax - 0x7d0]
movzx eax, byte [ebp - 0x398]
movzx eax, byte [ebp + eax - 0x7d0]
add ecx, eax
movzx eax, byte [ebp - 0x3a0]
movzx eax, byte [ebp + eax - 0x7d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7d0]
movzx eax, byte [ebp + ecx - 0x7d0]
xor edx, eax
mov byte [ebp - 0x395], dl
mov cl, byte [ebp - 0x3a1]
mov byte [ebp - 0x398], cl
mov dl, byte [ebp - 0x395]
mov byte [ebp - 0x3a4], dl
cmp dword [ebp - 0x3ac], 0
jle 0x4f0ced
movsx ax, byte [ebp - 0x3a4]
mov ecx, dword [ebp - 0x3ac]
mov word [ebp + ecx*2 - 0x6a], ax
mov edx, dword [ebp - 0x3ac]
add edx, 1
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0x3d4]
add eax, 1
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x3ac]
shl ecx, 1
mov dword [ebp - 0x450], ecx
mov edx, dword [ebp - 0x454]
add edx, dword [ebp - 0x450]
movzx eax, byte [edx]
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x404], 0x23
mov ecx, dword [ebp - 0x3ac]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x454]
add eax, dword [ebp - 0x458]
movzx ecx, byte [eax]
mov dword [ebp - 0x408], ecx
mov dword [ebp - 0x40c], 0x4c
mov edx, dword [ebp - 0x44c]
sub edx, dword [ebp - 0x404]
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x408]
sub eax, dword [ebp - 0x40c]
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x410]
shl ecx, 4
mov dword [ebp - 0x460], ecx
mov edx, dword [ebp - 0x414]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x460]
or eax, dword [ebp - 0x464]
mov dword [ebp - 0x468], eax
mov cl, byte [ebp - 0x468]
mov byte [ebp - 0x3a1], cl
movzx edx, byte [ebp - 0x398]
mov al, byte [ebp + edx - 0x7d0]
mov byte [ebp - 0x39f], al
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp + ecx - 0x7d0]
mov dword [ebp - 0xa54], edx
mov al, byte [ebp - 0x38e]
add al, 1
mov byte [ebp - 0x38e], al
movzx ecx, byte [ebp - 0x394]
add ecx, dword [ebp - 0xa54]
mov byte [ebp - 0x394], cl
movzx edx, byte [ebp - 0x394]
movzx eax, byte [ebp - 0x398]
mov cl, byte [ebp + edx - 0x7d0]
mov byte [ebp + eax - 0x7d0], cl
movzx edx, byte [ebp - 0x395]
movzx eax, byte [ebp - 0x394]
mov cl, byte [ebp + edx - 0x7d0]
mov byte [ebp + eax - 0x7d0], cl
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp - 0x395]
mov cl, byte [ebp + edx - 0x7d0]
mov byte [ebp + eax - 0x7d0], cl
movzx edx, byte [ebp - 0x38e]
mov al, byte [ebp - 0x39f]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x39f]
movzx edx, byte [ebp + ecx - 0x7d0]
movzx eax, byte [ebp - 0x3a0]
add eax, edx
mov byte [ebp - 0x3a0], al
movzx ecx, byte [ebp - 0x3a1]
movzx edx, byte [ebp - 0x394]
movzx eax, byte [ebp + edx - 0x7d0]
movzx edx, byte [ebp - 0x38e]
movzx edx, byte [ebp + edx - 0x7d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7d0]
xor ecx, eax
movzx edx, byte [ebp - 0x395]
movzx eax, byte [ebp + edx - 0x7d0]
movzx edx, byte [ebp - 0x398]
movzx edx, byte [ebp + edx - 0x7d0]
add eax, edx
movzx edx, byte [ebp - 0x3a0]
movzx edx, byte [ebp + edx - 0x7d0]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7d0]
movzx edx, byte [ebp + eax - 0x7d0]
xor ecx, edx
mov byte [ebp - 0x395], cl
mov al, byte [ebp - 0x3a1]
mov byte [ebp - 0x398], al
mov cl, byte [ebp - 0x395]
mov byte [ebp - 0x3a4], cl
cmp dword [ebp - 0x3ac], 0
jle 0x4f0f4c
movsx dx, byte [ebp - 0x3a4]
mov eax, dword [ebp - 0x3ac]
mov word [ebp + eax*2 - 0x6a], dx
mov ecx, dword [ebp - 0x3d4]
add ecx, 6
mov dword [ebp - 0x3d4], ecx
mov edx, dword [ebp - 0x3ac]
add edx, 1
mov dword [ebp - 0x674], edx
jmp 0x4f0f7b
mov eax, dword [ebp - 0x674]
add eax, 1
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x674]
cmp ecx, dword [ebp - 0x3d4]
jge 0x4f11e5
mov edx, dword [ebp - 0x3ac]
add edx, 1
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0x3ac]
shl eax, 1
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x454]
add ecx, dword [ebp - 0x450]
movzx edx, byte [ecx]
mov dword [ebp - 0x44c], edx
mov dword [ebp - 0x404], 0x23
mov eax, dword [ebp - 0x3ac]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x454]
add edx, dword [ebp - 0x458]
movzx eax, byte [edx]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x40c], 0x4c
mov ecx, dword [ebp - 0x44c]
sub ecx, dword [ebp - 0x404]
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x408]
sub edx, dword [ebp - 0x40c]
mov dword [ebp - 0x414], edx
mov eax, dword [ebp - 0x410]
shl eax, 4
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x414]
mov dword [ebp - 0x464], ecx
mov edx, dword [ebp - 0x460]
or edx, dword [ebp - 0x464]
mov dword [ebp - 0x468], edx
mov al, byte [ebp - 0x468]
mov byte [ebp - 0x3a1], al
movzx ecx, byte [ebp - 0x398]
mov dl, byte [ebp + ecx - 0x7d0]
mov byte [ebp - 0x39f], dl
movzx eax, byte [ebp - 0x38e]
movzx ecx, byte [ebp + eax - 0x7d0]
mov dword [ebp - 0xa50], ecx
mov dl, byte [ebp - 0x38e]
add dl, 1
mov byte [ebp - 0x38e], dl
movzx eax, byte [ebp - 0x394]
add eax, dword [ebp - 0xa50]
mov byte [ebp - 0x394], al
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp - 0x398]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp - 0x394]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp - 0x395]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x38e]
mov dl, byte [ebp - 0x39f]
mov byte [ebp + ecx - 0x7d0], dl
movzx eax, byte [ebp - 0x39f]
movzx ecx, byte [ebp + eax - 0x7d0]
movzx edx, byte [ebp - 0x3a0]
add edx, ecx
mov byte [ebp - 0x3a0], dl
movzx eax, byte [ebp - 0x3a1]
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp + ecx - 0x7d0]
movzx ecx, byte [ebp - 0x38e]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7d0]
xor eax, edx
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp + ecx - 0x7d0]
movzx ecx, byte [ebp - 0x398]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
movzx ecx, byte [ebp - 0x3a0]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7d0]
movzx ecx, byte [ebp + edx - 0x7d0]
xor eax, ecx
mov byte [ebp - 0x395], al
mov dl, byte [ebp - 0x3a1]
mov byte [ebp - 0x398], dl
mov al, byte [ebp - 0x395]
mov byte [ebp - 0x3a4], al
cmp dword [ebp - 0x3ac], 0
jle 0x4f11e0
movsx cx, byte [ebp - 0x3a4]
mov edx, dword [ebp - 0x3ac]
mov word [ebp + edx*2 - 0x6a], cx
jmp 0x4f0f6c
mov eax, dword [ebp - 0x3d4]
add eax, 1
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x3ac]
add ecx, 1
mov dword [ebp - 0x3ac], ecx
mov edx, dword [ebp - 0x3d4]
add edx, 1
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3ac]
shl eax, 1
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x454]
add ecx, dword [ebp - 0x450]
movzx edx, byte [ecx]
mov dword [ebp - 0x44c], edx
mov dword [ebp - 0x404], 0x23
mov eax, dword [ebp - 0x3ac]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x454]
add edx, dword [ebp - 0x458]
movzx eax, byte [edx]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x40c], 0x4c
mov ecx, dword [ebp - 0x44c]
sub ecx, dword [ebp - 0x404]
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x408]
sub edx, dword [ebp - 0x40c]
mov dword [ebp - 0x414], edx
mov eax, dword [ebp - 0x410]
shl eax, 4
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x414]
mov dword [ebp - 0x464], ecx
mov edx, dword [ebp - 0x460]
or edx, dword [ebp - 0x464]
mov dword [ebp - 0x468], edx
mov al, byte [ebp - 0x468]
mov byte [ebp - 0x3a1], al
movzx ecx, byte [ebp - 0x398]
mov dl, byte [ebp + ecx - 0x7d0]
mov byte [ebp - 0x39f], dl
movzx eax, byte [ebp - 0x38e]
movzx ecx, byte [ebp + eax - 0x7d0]
mov dword [ebp - 0xa4c], ecx
mov dl, byte [ebp - 0x38e]
add dl, 1
mov byte [ebp - 0x38e], dl
movzx eax, byte [ebp - 0x394]
add eax, dword [ebp - 0xa4c]
mov byte [ebp - 0x394], al
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp - 0x398]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp - 0x394]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x38e]
movzx edx, byte [ebp - 0x395]
mov al, byte [ebp + ecx - 0x7d0]
mov byte [ebp + edx - 0x7d0], al
movzx ecx, byte [ebp - 0x38e]
mov dl, byte [ebp - 0x39f]
mov byte [ebp + ecx - 0x7d0], dl
movzx eax, byte [ebp - 0x39f]
movzx ecx, byte [ebp + eax - 0x7d0]
movzx edx, byte [ebp - 0x3a0]
add edx, ecx
mov byte [ebp - 0x3a0], dl
movzx eax, byte [ebp - 0x3a1]
movzx ecx, byte [ebp - 0x394]
movzx edx, byte [ebp + ecx - 0x7d0]
movzx ecx, byte [ebp - 0x38e]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7d0]
xor eax, edx
movzx ecx, byte [ebp - 0x395]
movzx edx, byte [ebp + ecx - 0x7d0]
movzx ecx, byte [ebp - 0x398]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
movzx ecx, byte [ebp - 0x3a0]
movzx ecx, byte [ebp + ecx - 0x7d0]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7d0]
movzx ecx, byte [ebp + edx - 0x7d0]
xor eax, ecx
mov byte [ebp - 0x395], al
mov dl, byte [ebp - 0x3a1]
mov byte [ebp - 0x398], dl
mov al, byte [ebp - 0x395]
mov byte [ebp - 0x3a4], al
cmp dword [ebp - 0x3ac], 0
jle 0x4f1456
movsx cx, byte [ebp - 0x3a4]
mov edx, dword [ebp - 0x3ac]
mov word [ebp + edx*2 - 0x6a], cx
mov eax, dword [ebp - 0x3ac]
add eax, 1
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3d4]
add ecx, 1
mov dword [ebp - 0x3d4], ecx
mov edx, dword [ebp - 0x3ac]
shl edx, 1
mov dword [ebp - 0x450], edx
mov eax, dword [ebp - 0x454]
add eax, dword [ebp - 0x450]
movzx ecx, byte [eax]
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x404], 0x23
mov edx, dword [ebp - 0x3ac]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x454]
add ecx, dword [ebp - 0x458]
movzx edx, byte [ecx]
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x40c], 0x4c
mov eax, dword [ebp - 0x44c]
sub eax, dword [ebp - 0x404]
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x408]
sub ecx, dword [ebp - 0x40c]
mov dword [ebp - 0x414], ecx
mov edx, dword [ebp - 0x410]
shl edx, 4
mov dword [ebp - 0x460], edx
movss xmm0, dword [0x53769c]
movss dword [ebp - 0x418], xmm0
movss xmm0, dword [0x537678]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [0x537644]
movss dword [ebp - 0x45c], xmm0
movss xmm0, dword [0x53760c]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x3e8]
subss xmm0, dword [ebp - 0x3dc]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [ebp - 0x3e8]
mulss xmm0, dword [ebp - 0x3dc]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [ebp - 0x3e8]
addss xmm0, dword [ebp - 0x3dc]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [ebp - 0x3e8]
mulss xmm0, dword [ebp - 0x3dc]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [ebp - 0x3e8]
comiss xmm0, dword [ebp - 0x3dc]
jbe 0x4f1625
movss xmm0, dword [ebp - 0x3dc]
subss xmm0, dword [ebp - 0x3e8]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x3dc]
addss xmm0, dword [ebp - 0x3e8]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x45c]
subss xmm0, dword [ebp - 0x418]
movss dword [ebp - 0x45c], xmm0
movss xmm0, dword [ebp - 0x45c]
subss xmm0, dword [ebp - 0x418]
movss dword [ebp - 0x45c], xmm0
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x464], eax
jmp 0x4f17b8
movss xmm0, dword [ebp - 0x45c]
mulss xmm0, dword [ebp - 0x418]
movss dword [ebp - 0x45c], xmm0
movss xmm0, dword [ebp - 0x3dc]
subss xmm0, dword [ebp - 0x3e8]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x418]
divss xmm0, dword [ebp - 0x45c]
movss dword [ebp - 0x418], xmm0
movss xmm0, dword [ebp - 0x3dc]
addss xmm0, dword [ebp - 0x3e8]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x3dc]
divss xmm0, dword [ebp - 0x3e8]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x3dc]
subss xmm0, dword [ebp - 0x3e8]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x3dc]
divss xmm0, dword [ebp - 0x3e8]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x45c]
mulss xmm0, dword [ebp - 0x418]
movss dword [ebp - 0x45c], xmm0
movss xmm0, dword [ebp - 0x3e8]
comiss xmm0, dword [ebp - 0x3dc]
jbe 0x4f1758
movss xmm0, dword [ebp - 0x418]
addss xmm0, dword [ebp - 0x45c]
movss dword [ebp - 0x418], xmm0
movss xmm0, dword [ebp - 0x418]
mulss xmm0, dword [ebp - 0x45c]
movss dword [ebp - 0x418], xmm0
movss xmm0, dword [ebp - 0x3e8]
addss xmm0, dword [ebp - 0x3dc]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [ebp - 0x418]
divss xmm0, dword [ebp - 0x45c]
movss dword [ebp - 0x418], xmm0
jmp 0x4f17b8
movss xmm0, dword [ebp - 0x418]
addss xmm0, dword [ebp - 0x45c]
movss dword [ebp - 0x418], xmm0
movss xmm0, dword [ebp - 0x45c]
addss xmm0, dword [ebp - 0x418]
movss dword [ebp - 0x45c], xmm0
movss xmm0, dword [ebp - 0x418]
subss xmm0, dword [ebp - 0x45c]
movss dword [ebp - 0x418], xmm0
movss xmm0, dword [ebp - 0x3e8]
mulss xmm0, dword [ebp - 0x3dc]
movss dword [ebp - 0x3e8], xmm0
mov ecx, dword [ebp - 0x460]
or ecx, dword [ebp - 0x464]
mov dword [ebp - 0x468], ecx
mov dl, byte [ebp - 0x468]
mov byte [ebp - 0x3a1], dl
movzx eax, byte [ebp - 0x398]
mov cl, byte [ebp + eax - 0x7d0]
mov byte [ebp - 0x39f], cl
movzx edx, byte [ebp - 0x38e]
movzx eax, byte [ebp + edx - 0x7d0]
mov dword [ebp - 0xa48], eax
mov cl, byte [ebp - 0x38e]
add cl, 1
mov byte [ebp - 0x38e], cl
movzx edx, byte [ebp - 0x394]
add edx, dword [ebp - 0xa48]
mov byte [ebp - 0x394], dl
movzx eax, byte [ebp - 0x394]
movzx ecx, byte [ebp - 0x398]
mov dl, byte [ebp + eax - 0x7d0]
mov byte [ebp + ecx - 0x7d0], dl
movzx eax, byte [ebp - 0x395]
movzx ecx, byte [ebp - 0x394]
mov dl, byte [ebp + eax - 0x7d0]
mov byte [ebp + ecx - 0x7d0], dl
movzx eax, byte [ebp - 0x38e]
movzx ecx, byte [ebp - 0x395]
mov dl, byte [ebp + eax - 0x7d0]
mov byte [ebp + ecx - 0x7d0], dl
movzx eax, byte [ebp - 0x38e]
mov cl, byte [ebp - 0x39f]
mov byte [ebp + eax - 0x7d0], cl
movzx edx, byte [ebp - 0x39f]
movzx eax, byte [ebp + edx - 0x7d0]
movzx ecx, byte [ebp - 0x3a0]
add ecx, eax
mov byte [ebp - 0x3a0], cl
movzx edx, byte [ebp - 0x3a1]
movzx eax, byte [ebp - 0x394]
movzx ecx, byte [ebp + eax - 0x7d0]
movzx eax, byte [ebp - 0x38e]
movzx eax, byte [ebp + eax - 0x7d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7d0]
xor edx, ecx
movzx eax, byte [ebp - 0x395]
movzx ecx, byte [ebp + eax - 0x7d0]
movzx eax, byte [ebp - 0x398]
movzx eax, byte [ebp + eax - 0x7d0]
add ecx, eax
movzx eax, byte [ebp - 0x3a0]
movzx eax, byte [ebp + eax - 0x7d0]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7d0]
movzx eax, byte [ebp + ecx - 0x7d0]
xor edx, eax
mov byte [ebp - 0x395], dl
movsd xmm0, qword [0x537568]
movsd qword [ebp - 0x6c8], xmm0
movsd xmm0, qword [0x537538]
movsd qword [ebp - 0x688], xmm0
movsd xmm0, qword [0x537508]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [0x5374d0]
movsd qword [ebp - 0x5c8], xmm0
movsd xmm0, qword [0x5374b0]
movsd qword [ebp - 0x658], xmm0
movsd xmm0, qword [0x537450]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [0x537418]
movsd qword [ebp - 0x5f0], xmm0
movsd xmm0, qword [ebp - 0x5c8]
addsd xmm0, qword [ebp - 0x5f0]
movsd qword [ebp - 0x5c8], xmm0
movsd xmm0, qword [ebp - 0x590]
subsd xmm0, qword [ebp - 0x5f0]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [ebp - 0x590]
subsd xmm0, qword [ebp - 0x5f0]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [ebp - 0x5c8]
mulsd xmm0, qword [ebp - 0x5f0]
movsd qword [ebp - 0x5c8], xmm0
movsd xmm0, qword [ebp - 0x618]
addsd xmm0, qword [ebp - 0x5f0]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [ebp - 0x590]
addsd xmm0, qword [ebp - 0x5f0]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [ebp - 0x6c8]
subsd xmm0, qword [ebp - 0x5f0]
movsd qword [ebp - 0x6c8], xmm0
movsd xmm0, qword [ebp - 0x5f0]
comisd xmm0, xmmword [ebp - 0x5c8]
jbe 0x4f1b08
movsd xmm0, qword [ebp - 0x590]
mulsd xmm0, qword [ebp - 0x658]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [ebp - 0x6c8]
subsd xmm0, qword [ebp - 0x590]
movsd qword [ebp - 0x6c8], xmm0
movsd xmm0, qword [ebp - 0x5c8]
mulsd xmm0, qword [ebp - 0x618]
movsd qword [ebp - 0x5c8], xmm0
movsd xmm0, qword [ebp - 0x618]
addsd xmm0, qword [ebp - 0x6c8]
movsd qword [ebp - 0x618], xmm0
movsd xmm0, qword [ebp - 0x688]
mulsd xmm0, qword [ebp - 0x5c8]
movsd qword [ebp - 0x688], xmm0
movsd xmm0, qword [ebp - 0x5f0]
divsd xmm0, qword [ebp - 0x688]
movsd qword [ebp - 0x5f0], xmm0
movsd xmm0, qword [ebp - 0x5c8]
addsd xmm0, qword [ebp - 0x618]
movsd qword [ebp - 0x5c8], xmm0
jmp 0x4f1bbc
movsd xmm0, qword [ebp - 0x688]
subsd xmm0, qword [ebp - 0x590]
movsd qword [ebp - 0x688], xmm0
movsd xmm0, qword [ebp - 0x658]
addsd xmm0, qword [ebp - 0x618]
movsd qword [ebp - 0x658], xmm0
movsd xmm0, qword [ebp - 0x658]
mulsd xmm0, qword [ebp - 0x618]
movsd qword [ebp - 0x658], xmm0
movsd xmm0, qword [ebp - 0x658]
addsd xmm0, qword [ebp - 0x618]
movsd qword [ebp - 0x658], xmm0
movsd xmm0, qword [ebp - 0x688]
mulsd xmm0, qword [ebp - 0x590]
movsd qword [ebp - 0x688], xmm0
movsd xmm0, qword [ebp - 0x590]
subsd xmm0, qword [ebp - 0x5c8]
movsd qword [ebp - 0x590], xmm0
movsd xmm0, qword [ebp - 0x590]
addsd xmm0, qword [ebp - 0x5c8]
movsd qword [ebp - 0x590], xmm0
mov cl, byte [ebp - 0x3a1]
mov byte [ebp - 0x398], cl
mov dl, byte [ebp - 0x395]
mov byte [ebp - 0x3a4], dl
cmp dword [ebp - 0x3ac], 0
jle 0x4f1be4
movsx ax, byte [ebp - 0x3a4]
mov ecx, dword [ebp - 0x3ac]
mov word [ebp + ecx*2 - 0x6a], ax
mov edx, 2
shl edx, 4
mov dword [ebp - 0x6a8], edx
cmp dword [ebp - 0x6a8], 0x22
jae 0x4f1bfd
jmp 0x4f1c03
call fcn.00522f55
nop
xor eax, eax
mov ecx, dword [ebp - 0x6a8]
mov word [ebp + ecx - 0x68], ax
jmp 0x4f1c64
mov dword [ebp - 0x61c], 0
jmp 0x4f1c2d
mov edx, dword [ebp - 0x61c]
add edx, 1
mov dword [ebp - 0x61c], edx
cmp dword [ebp - 0x61c], 0x11
jge 0x4f1c64
mov eax, dword [ebp - 0x61c]
shl eax, 1
mov dword [ebp - 0x6ac], eax
cmp dword [ebp - 0x6ac], 0x22
jae 0x4f1c4f
jmp 0x4f1c55
call fcn.00522f55
nop
xor ecx, ecx
mov edx, dword [ebp - 0x6ac]
mov word [ebp + edx - 0x68], cx
jmp 0x4f1c1e
push 1
lea eax, [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x388]
push ecx
mov ecx, dword [ebp - 0x584]
call fcn.004f9f70
mov dword [ebp - 0xa14], eax
mov edx, dword [ebp - 0x584]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xa44], eax
lea ecx, [ebp - 0x29c]
push ecx
push 0
mov edx, dword [ebp - 0x580]
push edx
mov eax, dword [ebp - 0x620]
push eax
call dword [ebp - 0xa44]
test eax, eax
je 0x4f2108
mov ecx, dword [ebp - 0x29c]
shr ecx, 2
mov dword [ebp - 0x660], ecx
mov eax, dword [ebp - 0x660]
mov edx, 4
mul edx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.00522df3
add esp, 4
mov dword [ebp - 0xa40], eax
mov edx, dword [ebp - 0xa40]
mov dword [ebp - 0x580], edx
mov eax, dword [ebp - 0x584]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xa3c], ecx
lea edx, [ebp - 0x29c]
push edx
mov eax, dword [ebp - 0x660]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x580]
push ecx
mov edx, dword [ebp - 0x620]
push edx
call dword [ebp - 0xa3c]
test eax, eax
je 0x4f20c2
mov dword [ebp - 0x628], 0
jmp 0x4f1d4c
mov eax, dword [ebp - 0x628]
add eax, 1
mov dword [ebp - 0x628], eax
mov ecx, dword [ebp - 0x628]
cmp ecx, dword [ebp - 0x660]
jae 0x4f20c2
mov edx, dword [ebp - 0x584]
mov eax, dword [edx + 8]
mov dword [ebp - 0xa38], eax
push 0x104
lea ecx, [ebp - 0x270]
push ecx
mov edx, dword [ebp - 0x628]
mov eax, dword [ebp - 0x580]
mov ecx, dword [eax + edx*4]
push ecx
call dword [ebp - 0xa38]
test eax, eax
je 0x4f20bd
lea edx, [ebp - 0x270]
push edx
lea ecx, [ebp - 0x2c4]
call fcn.004a4b70
mov byte [ebp - 4], 2
lea eax, [ebp - 0xae0]
push eax
lea ecx, [ebp - 0x2c4]
call fcn.004d80b0
mov ecx, dword [eax]
mov dword [ebp - 0xa34], ecx
mov edx, dword [ebp - 0xa34]
mov dword [ebp - 0xab4], edx
lea eax, [ebp - 0xae4]
push eax
lea ecx, [ebp - 0x2c4]
call fcn.004da340
mov ecx, dword [eax]
mov dword [ebp - 0xa04], ecx
mov edx, dword [ebp - 0xa04]
mov dword [ebp - 0xa70], edx
lea eax, [ebp - 0xae8]
push eax
lea ecx, [ebp - 0x2c4]
call fcn.004d80b0
mov ecx, dword [eax]
mov dword [ebp - 0xa78], ecx
mov edx, dword [ebp - 0xa78]
mov dword [ebp - 0xa74], edx
mov eax, dword [ebp - 0xab4]
push eax
mov ecx, dword [ebp - 0xa70]
push ecx
mov edx, dword [ebp - 0xa74]
push edx
mov edx, fcn.00528188
lea ecx, [ebp - 0xaf4]
call fcn.004a4b20
nop
lea ecx, [ebp - 0x63e]
call fcn.004ea990
mov dword [ebp - 0x9f8], eax
lea eax, [ebp - 0xaf0]
push eax
lea ecx, [ebp - 0x2c4]
call fcn.004da340
mov ecx, dword [eax]
mov dword [ebp - 0xa30], ecx
mov edx, dword [ebp - 0xa30]
mov dword [ebp - 0x9fc], edx
lea eax, [ebp - 0xaec]
push eax
lea ecx, [ebp - 0x2c4]
call fcn.004d80b0
mov ecx, dword [eax]
mov dword [ebp - 0xac0], ecx
mov edx, dword [ebp - 0xac0]
mov dword [ebp - 0xa00], edx
mov eax, dword [ebp - 0x9f8]
push eax
mov ecx, dword [ebp - 0x9fc]
push ecx
mov edx, dword [ebp - 0xa00]
push edx
lea ecx, [ebp - 0x2dc]
call fcn.004ea770
mov byte [ebp - 4], 3
push 0x5c
lea ecx, [ebp - 0x2dc]
call fcn.004ea760
push eax
call fcn.005258a0
add esp, 8
mov dword [ebp - 0x6b0], eax
cmp dword [ebp - 0x6b0], 0
jne 0x4f1f0f
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2dc]
call fcn.0042ada0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c4]
call fcn.004a4bc0
nop
jmp 0x4f1d3d
lea ecx, [ebp - 0x370]
call fcn.005221f0
mov eax, dword [ebp - 0x2ac]
shl eax, 2
push eax
lea ecx, [ebp - 0x298]
push ecx
lea ecx, [ebp - 0x370]
call fcn.00522a10
nop
mov edx, dword [ebp - 0x6b0]
add edx, 1
push edx
lea ecx, [ebp - 0xb0c]
call fcn.0042ad40
mov byte [ebp - 4], 4
lea eax, [ebp - 0xb0c]
push eax
lea ecx, [ebp - 0x370]
call fcn.005228b0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xb0c]
call fcn.0042ada0
nop
lea ecx, [ebp - 0x2fc]
push ecx
lea ecx, [ebp - 0x370]
call fcn.005225a0
nop
mov dword [ebp - 0x5ac], 0
jmp 0x4f1fa0
mov edx, dword [ebp - 0x5ac]
add edx, 1
mov dword [ebp - 0x5ac], edx
lea ecx, [ebp - 0x2a8]
call fcn.00505af0
cmp dword [ebp - 0x5ac], eax
jae 0x4f209e
mov dword [ebp - 0x610], 0
jmp 0x4f1fd2
mov eax, dword [ebp - 0x610]
add eax, 1
mov dword [ebp - 0x610], eax
mov ecx, dword [ebp - 0x5ac]
push ecx
lea ecx, [ebp - 0x2a8]
call fcn.004eaa30
mov ecx, dword [eax]
add ecx, 4
call fcn.00505af0
cmp dword [ebp - 0x610], eax
jae 0x4f2099
mov edx, dword [ebp - 0x5ac]
push edx
lea ecx, [ebp - 0x2a8]
call fcn.004eaa30
mov eax, dword [eax]
add eax, 4
mov dword [ebp - 0xa08], eax
mov ecx, dword [ebp - 0x610]
push ecx
mov ecx, dword [ebp - 0xa08]
call fcn.004eaa30
mov edx, dword [eax]
mov dword [ebp - 0xa0c], edx
mov ecx, 8
lea esi, [ebp - 0x2fc]
lea edi, [ebp - 0xb30]
rep movsd dword es:[edi], dword [esi]
sub esp, 0x20
mov ecx, 8
lea esi, [ebp - 0xb30]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xa0c]
call fcn.004f9ef0
mov byte [ebp - 0x571], al
movzx eax, byte [ebp - 0x571]
test eax, eax
je 0x4f2094
mov ecx, dword [ebp - 0x5ac]
push ecx
lea ecx, [ebp - 0x2a8]
call fcn.004eaa30
mov edx, dword [eax]
mov eax, dword [ebp - 0x644]
or eax, dword [edx]
mov dword [ebp - 0x644], eax
jmp 0x4f1fc3
jmp 0x4f1f91
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2dc]
call fcn.0042ada0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c4]
call fcn.004a4bc0
nop
jmp 0x4f1d3d
mov ecx, dword [ebp - 0x580]
mov dword [ebp - 0x6b4], ecx
mov edx, dword [ebp - 0x6b4]
push edx
call fcn.00522dfc
add esp, 4
cmp dword [ebp - 0x6b4], 0
jne 0x4f20f2
mov dword [ebp - 0xa10], 0
jmp 0x4f2108
mov dword [ebp - 0x580], 0x8123
mov eax, dword [ebp - 0x580]
mov dword [ebp - 0xa10], eax
cmp dword [ebp - 0xa14], 0
je 0x4f212a
push 0
lea ecx, [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x388]
push edx
mov ecx, dword [ebp - 0x584]
call fcn.004f9f70
nop
mov dword [ebp - 0x648], 0x22
lea eax, [ebp - 0x68]
mov dword [ebp - 0x67c], eax
cmp dword [ebp - 0x648], 0
je 0x4f216f
mov ecx, dword [ebp - 0x67c]
mov byte [ecx], 0
mov edx, dword [ebp - 0x67c]
add edx, 1
mov dword [ebp - 0x67c], edx
mov eax, dword [ebp - 0x648]
sub eax, 1
mov dword [ebp - 0x648], eax
jmp 0x4f213d
mov ecx, dword [ebp - 0x584]
mov edx, dword [ecx + 0x1c]
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0x620]
push eax
call dword [ebp - 0xa18]
nop
lea ecx, [ebp - 0x2a8]
call fcn.004f4290
nop
mov ecx, dword [ebp - 0x644]
mov dword [ebp - 0xa1c], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2a8]
call fcn.004ea9d0
mov eax, dword [ebp - 0xa1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00522be6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret