Function at 0x4a3850
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xa6e21e
mov eax, dword fs:[0]
push eax
sub esp, 0x950
mov eax, dword [0xaa906c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x510], ecx
mov dword [ebp - 0x594], 0
mov byte [ebp - 0x5a5], 0
mov dword [ebp - 0x4f0], 0
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x928], 0
mov dword [ebp - 0x944], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x56c], eax
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x328], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x544], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x51c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x51c], xmm0
jmp 0x4a3918
movsd xmm0, qword [ebp - 0x51c]
addsd xmm0, qword [0xa71340]
movsd qword [ebp - 0x51c], xmm0
movsd xmm0, qword [0xa726c0]
comisd xmm0, xmmword [ebp - 0x51c]
jbe 0x4a39c9
movsd xmm0, qword [0xa72670]
mulsd xmm0, qword [ebp - 0x51c]
mulsd xmm0, qword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x51c]
mulsd xmm1, qword [ebp - 0x51c]
subsd xmm0, xmm1
movsd xmm1, qword [0xa72508]
mulsd xmm1, qword [ebp - 0x51c]
mulsd xmm1, qword [ebp - 0x51c]
addsd xmm1, qword [0xa72548]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x544]
movsd qword [ebp - 0x544], xmm0
movsd xmm0, qword [ebp - 0x544]
comisd xmm0, xmmword [0xa725a0]
jbe 0x4a39c4
movsd xmm0, qword [0xa724b8]
mulsd xmm0, qword [ebp - 0x51c]
movsd xmm1, qword [ebp - 0x544]
subsd xmm1, xmm0
movsd qword [ebp - 0x544], xmm1
jmp 0x4a3900
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x544]
jbe 0x4a3a06
aam 0x24
retf 0xc823
mov dword [ebp - 0x314], 0x4a39d6
mov dword [ebp - 0x328], 0x4a39f0
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x328]
mov dword [ebp - 0x920], ecx
mov byte [ebp - 0x491], 0x15
mov dword [ebp - 0x3d4], 0
jmp 0x4a3a54
mov edx, dword [ebp - 0x3d4]
add edx, 1
mov dword [ebp - 0x3d4], edx
cmp dword [ebp - 0x3d4], 0x100
jae 0x4a3a75
mov eax, dword [ebp - 0x3d4]
mov cl, byte [ebp - 0x3d4]
mov byte [ebp + eax - 0x7f8], cl
jmp 0x4a3a45
mov dword [ebp - 0x50c], 0
mov byte [ebp - 0x34b], 0
mov dword [ebp - 0x3d4], 0xff
jmp 0x4a3aa1
mov edx, dword [ebp - 0x3d4]
sub edx, 1
mov dword [ebp - 0x3d4], edx
cmp dword [ebp - 0x3d4], 0
jbe 0x4a3d11
mov dword [ebp - 0x5a4], 0
mov dword [ebp - 0x548], 1
mov eax, dword [ebp - 0x548]
cmp eax, dword [ebp - 0x3d4]
jae 0x4a3ae2
mov ecx, dword [ebp - 0x548]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x548], edx
jmp 0x4a3ac2
mov eax, dword [ebp - 0x50c]
mov dword [ebp - 0x6c0], eax
cmp dword [ebp - 0x6c0], 3
ja case.default.0x4a3b01
mov ecx, dword [ebp - 0x6c0]
jmp dword [ecx*4 + 0x4aab98]
movzx edx, byte [ebp - 0x34b]
movzx ebx, byte [ebp + edx - 0x7f8]
movsd xmm0, qword [ebp - 0x544]
call fcn.009f5ff0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x34b], bl
jmp 0x4a3bea
movzx eax, byte [ebp - 0x34b]
movzx ebx, byte [ebp + eax - 0x7f8]
movsd xmm0, qword [ebp - 0x544]
call fcn.009f5ff0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x34b], bl
jmp 0x4a3bea
movzx ecx, byte [ebp - 0x34b]
movzx ebx, byte [ebp + ecx - 0x7f8]
movsd xmm0, qword [ebp - 0x544]
call fcn.009f5ff0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x34b], bl
jmp 0x4a3bea
movzx edx, byte [ebp - 0x34b]
movzx ebx, byte [ebp + edx - 0x7f8]
movsd xmm0, qword [ebp - 0x544]
call fcn.009f5ff0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x34b], bl
jmp 0x4a3bea
movzx eax, byte [ebp - 0x34b]
movzx ecx, byte [ebp + eax - 0x7f8]
mov edx, dword [ebp - 0x920]
add edx, dword [ebp - 0x50c]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x34b], cl
mov ecx, dword [ebp - 0x50c]
add ecx, 1
mov dword [ebp - 0x50c], ecx
movzx edx, byte [ebp - 0x491]
cmp dword [ebp - 0x50c], edx
jb 0x4a3c28
mov dword [ebp - 0x50c], 0
movzx eax, byte [ebp - 0x491]
movzx ecx, byte [ebp - 0x34b]
add ecx, eax
mov byte [ebp - 0x34b], cl
movzx edx, byte [ebp - 0x34b]
and edx, dword [ebp - 0x548]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x5a4]
add eax, 1
mov dword [ebp - 0x5a4], eax
cmp dword [ebp - 0x5a4], 0xb
jbe 0x4a3c67
mov eax, dword [ebp - 0x4d4]
xor edx, edx
div dword [ebp - 0x3d4]
mov dword [ebp - 0x4d4], edx
mov ecx, dword [ebp - 0x4d4]
cmp ecx, dword [ebp - 0x3d4]
ja 0x4a3ae2
mov edx, dword [ebp - 0x3d4]
cmp edx, dword [ebp - 0x4d4]
je 0x4a3d0c
mov eax, dword [ebp - 0x4d4]
movzx ecx, byte [ebp + eax - 0x7f8]
mov edx, dword [ebp - 0x3d4]
movzx eax, byte [ebp + edx - 0x7f8]
xor eax, ecx
mov ecx, dword [ebp - 0x3d4]
mov byte [ebp + ecx - 0x7f8], al
mov edx, dword [ebp - 0x3d4]
movzx eax, byte [ebp + edx - 0x7f8]
mov ecx, dword [ebp - 0x4d4]
movzx edx, byte [ebp + ecx - 0x7f8]
xor edx, eax
mov eax, dword [ebp - 0x4d4]
mov byte [ebp + eax - 0x7f8], dl
mov ecx, dword [ebp - 0x4d4]
movzx edx, byte [ebp + ecx - 0x7f8]
mov eax, dword [ebp - 0x3d4]
movzx ecx, byte [ebp + eax - 0x7f8]
xor ecx, edx
mov edx, dword [ebp - 0x3d4]
mov byte [ebp + edx - 0x7f8], cl
jmp 0x4a3a92
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x7f8]
mov byte [ebp - 0x330], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x7f8]
mov byte [ebp - 0x332], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x7f8]
mov byte [ebp - 0x33d], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x7f8]
mov byte [ebp - 0x333], cl
movzx edx, byte [ebp - 0x34b]
mov al, byte [ebp + edx - 0x7f8]
mov byte [ebp - 0x337], al
mov dword [ebp - 0x6cc], 0x1a
cmp dword [ebp - 0x6cc], 2
jle 0x4a5ad2
mov ecx, dword [ebp - 0x6cc]
and ecx, 1
jne 0x4a5ad2
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x384], 0
mov edx, dword [ebp - 0x384]
add edx, 1
mov dword [ebp - 0x384], edx
mov dword [ebp - 0x418], 0
mov eax, dword [ebp - 0x350]
shl eax, 1
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x400], 0
mov ecx, dword [ebp - 0x404]
add ecx, dword [ebp - 0x418]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x400]
mov dword [ebp - 0x400], edx
mov dword [ebp - 0x3fc], 0
mov eax, dword [ebp - 0x3fc]
add eax, 0xc6
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 0x408], 0
mov ecx, dword [ebp - 0x350]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x3ec], 0
mov eax, dword [ebp - 0x404]
add eax, dword [ebp - 0x408]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3f8], 0
mov edx, dword [ebp - 0x3f8]
add edx, 0x18
mov dword [ebp - 0x3f8], edx
mov dword [ebp - 0x3f4], 0
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0x3fc]
add eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x3f4], eax
mov dword [ebp - 0x3f0], 0
mov ecx, dword [ebp - 0x3ec]
sub ecx, dword [ebp - 0x3f8]
add ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x3f0], ecx
mov dword [ebp - 0x40c], 0
mov edx, dword [ebp - 0x3f4]
shl edx, 4
mov dword [ebp - 0x40c], edx
mov dword [ebp - 0x410], 0
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x414], 0
mov ecx, dword [ebp - 0x40c]
or ecx, dword [ebp - 0x410]
mov dword [ebp - 0x414], ecx
mov byte [ebp - 0x33e], 0
mov dl, byte [ebp - 0x414]
mov byte [ebp - 0x33e], dl
mov byte [ebp - 0x33c], 0
movzx eax, byte [ebp - 0x337]
mov cl, byte [ebp + eax - 0x7f8]
mov byte [ebp - 0x33c], cl
movzx edx, byte [ebp - 0x330]
movzx eax, byte [ebp + edx - 0x7f8]
movzx ecx, byte [ebp - 0x332]
add ecx, eax
mov byte [ebp - 0x332], cl
mov dl, byte [ebp - 0x330]
add dl, 1
mov byte [ebp - 0x330], dl
movzx eax, byte [ebp - 0x332]
movzx ecx, byte [ebp - 0x337]
mov dl, byte [ebp + eax - 0x7f8]
mov byte [ebp + ecx - 0x7f8], dl
movzx eax, byte [ebp - 0x333]
movzx ecx, byte [ebp - 0x332]
mov dl, byte [ebp + eax - 0x7f8]
mov byte [ebp + ecx - 0x7f8], dl
movzx eax, byte [ebp - 0x330]
movzx ecx, byte [ebp - 0x333]
mov dl, byte [ebp + eax - 0x7f8]
mov byte [ebp + ecx - 0x7f8], dl
movzx eax, byte [ebp - 0x330]
mov cl, byte [ebp - 0x33c]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x33c]
movzx eax, byte [ebp + edx - 0x7f8]
movzx ecx, byte [ebp - 0x33d]
add ecx, eax
mov byte [ebp - 0x33d], cl
movzx edx, byte [ebp - 0x33e]
movzx eax, byte [ebp - 0x332]
movzx ecx, byte [ebp + eax - 0x7f8]
movzx eax, byte [ebp - 0x330]
movzx eax, byte [ebp + eax - 0x7f8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f8]
xor edx, ecx
movzx eax, byte [ebp - 0x333]
movzx ecx, byte [ebp + eax - 0x7f8]
movzx eax, byte [ebp - 0x337]
movzx eax, byte [ebp + eax - 0x7f8]
add ecx, eax
movzx eax, byte [ebp - 0x33d]
movzx eax, byte [ebp + eax - 0x7f8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f8]
movzx eax, byte [ebp + ecx - 0x7f8]
xor edx, eax
mov byte [ebp - 0x333], dl
mov cl, byte [ebp - 0x33e]
mov byte [ebp - 0x337], cl
mov dl, byte [ebp - 0x333]
mov byte [ebp - 0x343], dl
cmp dword [ebp - 0x350], 0
jle 0x4a409c
movsx ax, byte [ebp - 0x343]
mov ecx, dword [ebp - 0x350]
mov word [ebp + ecx*2 - 0x66], ax
mov edx, dword [ebp - 0x384]
add edx, 3
mov dword [ebp - 0x384], edx
mov eax, dword [ebp - 0x350]
add eax, 1
mov dword [ebp - 0x5ac], eax
jmp 0x4a40cb
mov ecx, dword [ebp - 0x5ac]
add ecx, 1
mov dword [ebp - 0x5ac], ecx
mov edx, dword [ebp - 0x5ac]
cmp edx, dword [ebp - 0x384]
jge 0x4a45d4
mov eax, dword [ebp - 0x350]
add eax, 1
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x350]
shl ecx, 1
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x404]
add edx, dword [ebp - 0x418]
movzx eax, byte [edx]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], 0xc6
mov ecx, dword [ebp - 0x350]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x408], edx
movsd xmm0, qword [0xa729c8]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [0xa72980]
movsd qword [ebp - 0x504], xmm0
movsd xmm0, qword [0xa728c0]
movsd qword [ebp - 0x4ac], xmm0
movsd xmm0, qword [0xa727b8]
movsd qword [ebp - 0x4cc], xmm0
movsd xmm0, qword [ebp - 0x504]
subsd xmm0, qword [ebp - 0x4cc]
movsd qword [ebp - 0x504], xmm0
movsd xmm0, qword [ebp - 0x4ac]
mulsd xmm0, qword [ebp - 0x4cc]
movsd qword [ebp - 0x4ac], xmm0
movsd xmm0, qword [ebp - 0x490]
subsd xmm0, qword [ebp - 0x4cc]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x4ac]
mulsd xmm0, qword [ebp - 0x4cc]
movsd qword [ebp - 0x4ac], xmm0
movsd xmm0, qword [ebp - 0x4ac]
comisd xmm0, xmmword [ebp - 0x4cc]
jbe 0x4a4255
movsd xmm0, qword [ebp - 0x4ac]
subsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x4ac], xmm0
movsd xmm0, qword [ebp - 0x490]
mulsd xmm0, qword [ebp - 0x4ac]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x4cc]
addsd xmm0, qword [ebp - 0x504]
movsd qword [ebp - 0x4cc], xmm0
movsd xmm0, qword [ebp - 0x4cc]
mulsd xmm0, qword [ebp - 0x504]
movsd qword [ebp - 0x4cc], xmm0
mov eax, dword [ebp - 0x404]
add eax, dword [ebp - 0x408]
movzx ecx, byte [eax]
mov dword [ebp - 0x3ec], ecx
jmp 0x4a43e9
movsd xmm0, qword [ebp - 0x504]
subsd xmm0, qword [ebp - 0x4cc]
movsd qword [ebp - 0x504], xmm0
movsd xmm0, qword [ebp - 0x490]
mulsd xmm0, qword [ebp - 0x4ac]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x490]
subsd xmm0, qword [ebp - 0x4ac]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x490]
subsd xmm0, qword [ebp - 0x4ac]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x490]
addsd xmm0, qword [ebp - 0x504]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x4ac]
addsd xmm0, qword [ebp - 0x4cc]
movsd qword [ebp - 0x4ac], xmm0
movsd xmm0, qword [ebp - 0x4ac]
addsd xmm0, qword [ebp - 0x4cc]
movsd qword [ebp - 0x4ac], xmm0
movsd xmm0, qword [ebp - 0x490]
mulsd xmm0, qword [ebp - 0x504]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x4cc]
comisd xmm0, xmmword [ebp - 0x504]
jbe 0x4a4389
movsd xmm0, qword [ebp - 0x4cc]
divsd xmm0, qword [ebp - 0x504]
movsd qword [ebp - 0x4cc], xmm0
movsd xmm0, qword [ebp - 0x490]
divsd xmm0, qword [ebp - 0x4ac]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x490]
subsd xmm0, qword [ebp - 0x4ac]
movsd qword [ebp - 0x490], xmm0
movsd xmm0, qword [ebp - 0x4ac]
divsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x4ac], xmm0
jmp 0x4a43e9
movsd xmm0, qword [ebp - 0x504]
subsd xmm0, qword [ebp - 0x4ac]
movsd qword [ebp - 0x504], xmm0
movsd xmm0, qword [ebp - 0x4cc]
mulsd xmm0, qword [ebp - 0x490]
movsd qword [ebp - 0x4cc], xmm0
movsd xmm0, qword [ebp - 0x4ac]
addsd xmm0, qword [ebp - 0x4cc]
movsd qword [ebp - 0x4ac], xmm0
movsd xmm0, qword [ebp - 0x490]
divsd xmm0, qword [ebp - 0x504]
movsd qword [ebp - 0x490], xmm0
mov dword [ebp - 0x3f8], 0x18
mov edx, dword [ebp - 0x400]
sub edx, dword [ebp - 0x3fc]
mov dword [ebp - 0x3f4], edx
mov eax, dword [ebp - 0x3ec]
sub eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x3f0], eax
mov ecx, dword [ebp - 0x3f4]
shl ecx, 4
mov dword [ebp - 0x40c], ecx
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x40c]
or eax, dword [ebp - 0x410]
mov dword [ebp - 0x414], eax
mov cl, byte [ebp - 0x414]
mov byte [ebp - 0x33e], cl
movzx edx, byte [ebp - 0x337]
mov al, byte [ebp + edx - 0x7f8]
mov byte [ebp - 0x33c], al
movzx ecx, byte [ebp - 0x330]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx eax, byte [ebp - 0x332]
add eax, edx
mov byte [ebp - 0x332], al
mov cl, byte [ebp - 0x330]
add cl, 1
mov byte [ebp - 0x330], cl
movzx edx, byte [ebp - 0x332]
movzx eax, byte [ebp - 0x337]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x333]
movzx eax, byte [ebp - 0x332]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x330]
movzx eax, byte [ebp - 0x333]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x330]
mov al, byte [ebp - 0x33c]
mov byte [ebp + edx - 0x7f8], al
movzx ecx, byte [ebp - 0x33c]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx eax, byte [ebp - 0x33d]
add eax, edx
mov byte [ebp - 0x33d], al
movzx ecx, byte [ebp - 0x33e]
movzx edx, byte [ebp - 0x332]
movzx eax, byte [ebp + edx - 0x7f8]
movzx edx, byte [ebp - 0x330]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7f8]
xor ecx, eax
movzx edx, byte [ebp - 0x333]
movzx eax, byte [ebp + edx - 0x7f8]
movzx edx, byte [ebp - 0x337]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
movzx edx, byte [ebp - 0x33d]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7f8]
movzx edx, byte [ebp + eax - 0x7f8]
xor ecx, edx
mov byte [ebp - 0x333], cl
mov al, byte [ebp - 0x33e]
mov byte [ebp - 0x337], al
mov cl, byte [ebp - 0x333]
mov byte [ebp - 0x343], cl
cmp dword [ebp - 0x350], 0
jle 0x4a45cf
movsx dx, byte [ebp - 0x343]
mov eax, dword [ebp - 0x350]
mov word [ebp + eax*2 - 0x66], dx
jmp 0x4a40bc
mov ecx, dword [ebp - 0x384]
add ecx, 1
mov dword [ebp - 0x384], ecx
mov edx, dword [ebp - 0x350]
add edx, 1
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x384]
add eax, 1
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x350]
shl ecx, 1
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x404]
add edx, dword [ebp - 0x418]
movzx eax, byte [edx]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], 0xc6
mov ecx, dword [ebp - 0x350]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x404]
add eax, dword [ebp - 0x408]
movzx ecx, byte [eax]
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3f8], 0x18
mov edx, dword [ebp - 0x400]
sub edx, dword [ebp - 0x3fc]
mov dword [ebp - 0x3f4], edx
mov eax, dword [ebp - 0x3ec]
sub eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x3f0], eax
mov ecx, dword [ebp - 0x3f4]
shl ecx, 4
mov dword [ebp - 0x40c], ecx
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x40c]
or eax, dword [ebp - 0x410]
mov dword [ebp - 0x414], eax
mov cl, byte [ebp - 0x414]
mov byte [ebp - 0x33e], cl
movzx edx, byte [ebp - 0x337]
mov al, byte [ebp + edx - 0x7f8]
mov byte [ebp - 0x33c], al
movzx ecx, byte [ebp - 0x330]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx eax, byte [ebp - 0x332]
add eax, edx
mov byte [ebp - 0x332], al
mov cl, byte [ebp - 0x330]
add cl, 1
mov byte [ebp - 0x330], cl
movzx edx, byte [ebp - 0x332]
movzx eax, byte [ebp - 0x337]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x333]
movzx eax, byte [ebp - 0x332]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x330]
movzx eax, byte [ebp - 0x333]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x330]
mov al, byte [ebp - 0x33c]
mov byte [ebp + edx - 0x7f8], al
movzx ecx, byte [ebp - 0x33c]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx eax, byte [ebp - 0x33d]
add eax, edx
mov byte [ebp - 0x33d], al
movzx ecx, byte [ebp - 0x33e]
movzx edx, byte [ebp - 0x332]
movzx eax, byte [ebp + edx - 0x7f8]
movzx edx, byte [ebp - 0x330]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7f8]
xor ecx, eax
movzx edx, byte [ebp - 0x333]
movzx eax, byte [ebp + edx - 0x7f8]
movzx edx, byte [ebp - 0x337]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
movzx edx, byte [ebp - 0x33d]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7f8]
movzx edx, byte [ebp + eax - 0x7f8]
xor ecx, edx
mov byte [ebp - 0x333], cl
mov al, byte [ebp - 0x33e]
mov byte [ebp - 0x337], al
mov cl, byte [ebp - 0x333]
mov byte [ebp - 0x343], cl
cmp dword [ebp - 0x350], 0
jle 0x4a4839
movsx dx, byte [ebp - 0x343]
mov eax, dword [ebp - 0x350]
mov word [ebp + eax*2 - 0x66], dx
mov ecx, dword [ebp - 0x350]
add ecx, 1
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x384]
add edx, 1
mov dword [ebp - 0x384], edx
mov eax, dword [ebp - 0x350]
shl eax, 1
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x404]
add ecx, dword [ebp - 0x418]
movzx edx, byte [ecx]
mov dword [ebp - 0x400], edx
mov dword [ebp - 0x3fc], 0xc6
mov eax, dword [ebp - 0x350]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x404]
add edx, dword [ebp - 0x408]
movzx eax, byte [edx]
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x3f8], 0x18
mov ecx, dword [ebp - 0x400]
sub ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x3ec]
sub edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x3f4]
shl eax, 4
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x40c]
or edx, dword [ebp - 0x410]
mov dword [ebp - 0x414], edx
mov al, byte [ebp - 0x414]
mov byte [ebp - 0x33e], al
movzx ecx, byte [ebp - 0x337]
mov dl, byte [ebp + ecx - 0x7f8]
mov byte [ebp - 0x33c], dl
movzx eax, byte [ebp - 0x330]
movzx ecx, byte [ebp + eax - 0x7f8]
movzx edx, byte [ebp - 0x332]
add edx, ecx
mov byte [ebp - 0x332], dl
mov al, byte [ebp - 0x330]
add al, 1
mov byte [ebp - 0x330], al
movzx ecx, byte [ebp - 0x332]
movzx edx, byte [ebp - 0x337]
mov al, byte [ebp + ecx - 0x7f8]
mov byte [ebp + edx - 0x7f8], al
movzx ecx, byte [ebp - 0x333]
movzx edx, byte [ebp - 0x332]
mov al, byte [ebp + ecx - 0x7f8]
mov byte [ebp + edx - 0x7f8], al
movzx ecx, byte [ebp - 0x330]
movzx edx, byte [ebp - 0x333]
mov al, byte [ebp + ecx - 0x7f8]
mov byte [ebp + edx - 0x7f8], al
movzx ecx, byte [ebp - 0x330]
mov dl, byte [ebp - 0x33c]
mov byte [ebp + ecx - 0x7f8], dl
movzx eax, byte [ebp - 0x33c]
movzx ecx, byte [ebp + eax - 0x7f8]
movzx edx, byte [ebp - 0x33d]
add edx, ecx
mov byte [ebp - 0x33d], dl
movzx eax, byte [ebp - 0x33e]
movzx ecx, byte [ebp - 0x332]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx ecx, byte [ebp - 0x330]
movzx ecx, byte [ebp + ecx - 0x7f8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7f8]
xor eax, edx
movzx ecx, byte [ebp - 0x333]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx ecx, byte [ebp - 0x337]
movzx ecx, byte [ebp + ecx - 0x7f8]
add edx, ecx
movzx ecx, byte [ebp - 0x33d]
movzx ecx, byte [ebp + ecx - 0x7f8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7f8]
movzx ecx, byte [ebp + edx - 0x7f8]
xor eax, ecx
mov byte [ebp - 0x333], al
mov dl, byte [ebp - 0x33e]
mov byte [ebp - 0x337], dl
mov al, byte [ebp - 0x333]
mov byte [ebp - 0x343], al
cmp dword [ebp - 0x350], 0
jle 0x4a4a90
movsx cx, byte [ebp - 0x343]
mov edx, dword [ebp - 0x350]
mov word [ebp + edx*2 - 0x66], cx
mov eax, dword [ebp - 0x350]
add eax, 1
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x384]
add ecx, 1
mov dword [ebp - 0x384], ecx
mov edx, dword [ebp - 0x350]
shl edx, 1
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x404]
add eax, dword [ebp - 0x418]
movzx ecx, byte [eax]
mov dword [ebp - 0x400], ecx
mov dword [ebp - 0x3fc], 0xc6
mov edx, dword [ebp - 0x350]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0x404]
add ecx, dword [ebp - 0x408]
movzx edx, byte [ecx]
mov dword [ebp - 0x3ec], edx
mov dword [ebp - 0x3f8], 0x18
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x3f4], eax
mov ecx, dword [ebp - 0x3ec]
sub ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x3f0], ecx
mov edx, dword [ebp - 0x3f4]
shl edx, 4
mov dword [ebp - 0x40c], edx
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x40c]
or ecx, dword [ebp - 0x410]
mov dword [ebp - 0x414], ecx
mov dl, byte [ebp - 0x414]
mov byte [ebp - 0x33e], dl
movzx eax, byte [ebp - 0x337]
mov cl, byte [ebp + eax - 0x7f8]
mov byte [ebp - 0x33c], cl
movzx edx, byte [ebp - 0x330]
movzx eax, byte [ebp + edx - 0x7f8]
movzx ecx, byte [ebp - 0x332]
add ecx, eax
mov byte [ebp - 0x332], cl
mov dl, byte [ebp - 0x330]
add dl, 1
mov byte [ebp - 0x330], dl
movzx eax, byte [ebp - 0x332]
movzx ecx, byte [ebp - 0x337]
mov dl, byte [ebp + eax - 0x7f8]
mov byte [ebp + ecx - 0x7f8], dl
movzx eax, byte [ebp - 0x333]
movzx ecx, byte [ebp - 0x332]
mov dl, byte [ebp + eax - 0x7f8]
mov byte [ebp + ecx - 0x7f8], dl
movzx eax, byte [ebp - 0x330]
movzx ecx, byte [ebp - 0x333]
mov dl, byte [ebp + eax - 0x7f8]
mov byte [ebp + ecx - 0x7f8], dl
movzx eax, byte [ebp - 0x330]
mov cl, byte [ebp - 0x33c]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x33c]
movzx eax, byte [ebp + edx - 0x7f8]
movzx ecx, byte [ebp - 0x33d]
add ecx, eax
mov byte [ebp - 0x33d], cl
movzx edx, byte [ebp - 0x33e]
movzx eax, byte [ebp - 0x332]
movzx ecx, byte [ebp + eax - 0x7f8]
movzx eax, byte [ebp - 0x330]
movzx eax, byte [ebp + eax - 0x7f8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f8]
xor edx, ecx
movzx eax, byte [ebp - 0x333]
movzx ecx, byte [ebp + eax - 0x7f8]
movzx eax, byte [ebp - 0x337]
movzx eax, byte [ebp + eax - 0x7f8]
add ecx, eax
movzx eax, byte [ebp - 0x33d]
movzx eax, byte [ebp + eax - 0x7f8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f8]
movzx eax, byte [ebp + ecx - 0x7f8]
xor edx, eax
mov byte [ebp - 0x333], dl
mov cl, byte [ebp - 0x33e]
mov byte [ebp - 0x337], cl
mov dl, byte [ebp - 0x333]
mov byte [ebp - 0x343], dl
cmp dword [ebp - 0x350], 0
jle 0x4a4ce8
movsx ax, byte [ebp - 0x343]
mov ecx, dword [ebp - 0x350]
mov word [ebp + ecx*2 - 0x66], ax
mov edx, dword [ebp - 0x384]
add edx, 4
mov dword [ebp - 0x384], edx
mov eax, dword [ebp - 0x350]
add eax, 1
mov dword [ebp - 0x5b0], eax
jmp 0x4a4d17
mov ecx, dword [ebp - 0x5b0]
add ecx, 1
mov dword [ebp - 0x5b0], ecx
mov edx, dword [ebp - 0x5b0]
cmp edx, dword [ebp - 0x384]
jge 0x4a5221
mov eax, dword [ebp - 0x350]
add eax, 1
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x350]
shl ecx, 1
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x404]
add edx, dword [ebp - 0x418]
movzx eax, byte [edx]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], 0xc6
mov ecx, dword [ebp - 0x350]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x404]
add eax, dword [ebp - 0x408]
movzx ecx, byte [eax]
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3f8], 0x18
mov edx, dword [ebp - 0x400]
sub edx, dword [ebp - 0x3fc]
mov dword [ebp - 0x3f4], edx
mov eax, dword [ebp - 0x3ec]
sub eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x3f0], eax
mov ecx, dword [ebp - 0x3f4]
shl ecx, 4
mov dword [ebp - 0x40c], ecx
movsd xmm0, qword [0xa72998]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [0xa72930]
movsd qword [ebp - 0x49c], xmm0
movsd xmm0, qword [0xa72850]
movsd qword [ebp - 0x560], xmm0
movsd xmm0, qword [0xa72760]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [ebp - 0x560]
mulsd xmm0, qword [ebp - 0x444]
movsd qword [ebp - 0x560], xmm0
movsd xmm0, qword [ebp - 0x49c]
mulsd xmm0, qword [ebp - 0x444]
movsd qword [ebp - 0x49c], xmm0
movsd xmm0, qword [ebp - 0x4e8]
addsd xmm0, qword [ebp - 0x444]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x49c]
mulsd xmm0, qword [ebp - 0x444]
movsd qword [ebp - 0x49c], xmm0
movsd xmm0, qword [ebp - 0x444]
comisd xmm0, xmmword [ebp - 0x49c]
jbe 0x4a5013
movsd xmm0, qword [ebp - 0x444]
divsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [ebp - 0x444]
divsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [ebp - 0x49c]
mulsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x49c], xmm0
movsd xmm0, qword [ebp - 0x49c]
subsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x49c], xmm0
movsd xmm0, qword [ebp - 0x444]
divsd xmm0, qword [ebp - 0x49c]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [ebp - 0x4e8]
divsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x4e8]
divsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x444]
divsd xmm0, qword [ebp - 0x49c]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [ebp - 0x49c]
comisd xmm0, xmmword [ebp - 0x444]
jbe 0x4a4fb1
movsd xmm0, qword [ebp - 0x49c]
subsd xmm0, qword [ebp - 0x560]
movsd qword [ebp - 0x49c], xmm0
movsd xmm0, qword [ebp - 0x444]
addsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [ebp - 0x4e8]
subsd xmm0, qword [ebp - 0x49c]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x444]
addsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x444], xmm0
jmp 0x4a5011
movsd xmm0, qword [ebp - 0x444]
divsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [ebp - 0x4e8]
divsd xmm0, qword [ebp - 0x49c]
movsd qword [ebp - 0x4e8], xmm0
movsd xmm0, qword [ebp - 0x560]
mulsd xmm0, qword [ebp - 0x444]
movsd qword [ebp - 0x560], xmm0
movsd xmm0, qword [ebp - 0x444]
divsd xmm0, qword [ebp - 0x4e8]
movsd qword [ebp - 0x444], xmm0
jmp 0x4a507f
movsd xmm0, qword [ebp - 0x444]
subsd xmm0, qword [ebp - 0x49c]
movsd qword [ebp - 0x444], xmm0
movsd xmm0, qword [ebp - 0x49c]
addsd xmm0, qword [ebp - 0x444]
movsd qword [ebp - 0x49c], xmm0
movsd xmm0, qword [ebp - 0x49c]
mulsd xmm0, qword [ebp - 0x444]
movsd qword [ebp - 0x49c], xmm0
movsd xmm0, qword [ebp - 0x444]
subsd xmm0, qword [ebp - 0x49c]
movsd qword [ebp - 0x444], xmm0
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x40c]
or eax, dword [ebp - 0x410]
mov dword [ebp - 0x414], eax
mov cl, byte [ebp - 0x414]
mov byte [ebp - 0x33e], cl
movzx edx, byte [ebp - 0x337]
mov al, byte [ebp + edx - 0x7f8]
mov byte [ebp - 0x33c], al
movzx ecx, byte [ebp - 0x330]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx eax, byte [ebp - 0x332]
add eax, edx
mov byte [ebp - 0x332], al
mov cl, byte [ebp - 0x330]
add cl, 1
mov byte [ebp - 0x330], cl
movzx edx, byte [ebp - 0x332]
movzx eax, byte [ebp - 0x337]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x333]
movzx eax, byte [ebp - 0x332]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x330]
movzx eax, byte [ebp - 0x333]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x330]
mov al, byte [ebp - 0x33c]
mov byte [ebp + edx - 0x7f8], al
movzx ecx, byte [ebp - 0x33c]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx eax, byte [ebp - 0x33d]
add eax, edx
mov byte [ebp - 0x33d], al
movzx ecx, byte [ebp - 0x33e]
movzx edx, byte [ebp - 0x332]
movzx eax, byte [ebp + edx - 0x7f8]
movzx edx, byte [ebp - 0x330]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7f8]
xor ecx, eax
movzx edx, byte [ebp - 0x333]
movzx eax, byte [ebp + edx - 0x7f8]
movzx edx, byte [ebp - 0x337]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
movzx edx, byte [ebp - 0x33d]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7f8]
movzx edx, byte [ebp + eax - 0x7f8]
xor ecx, edx
mov byte [ebp - 0x333], cl
mov al, byte [ebp - 0x33e]
mov byte [ebp - 0x337], al
mov cl, byte [ebp - 0x333]
mov byte [ebp - 0x343], cl
cmp dword [ebp - 0x350], 0
jle 0x4a521c
movsx dx, byte [ebp - 0x343]
mov eax, dword [ebp - 0x350]
mov word [ebp + eax*2 - 0x66], dx
jmp 0x4a4d08
mov ecx, dword [ebp - 0x384]
add ecx, 1
mov dword [ebp - 0x384], ecx
mov edx, dword [ebp - 0x350]
add edx, 1
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x384]
add eax, 1
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x350]
shl ecx, 1
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x404]
add edx, dword [ebp - 0x418]
movzx eax, byte [edx]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], 0xc6
mov ecx, dword [ebp - 0x350]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x408], edx
mov eax, dword [ebp - 0x404]
add eax, dword [ebp - 0x408]
movzx ecx, byte [eax]
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3f8], 0x18
mov edx, dword [ebp - 0x400]
sub edx, dword [ebp - 0x3fc]
mov dword [ebp - 0x3f4], edx
mov eax, dword [ebp - 0x3ec]
sub eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x3f0], eax
mov ecx, dword [ebp - 0x3f4]
shl ecx, 4
mov dword [ebp - 0x40c], ecx
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x40c]
or eax, dword [ebp - 0x410]
mov dword [ebp - 0x414], eax
mov cl, byte [ebp - 0x414]
mov byte [ebp - 0x33e], cl
movzx edx, byte [ebp - 0x337]
mov al, byte [ebp + edx - 0x7f8]
mov byte [ebp - 0x33c], al
movss xmm0, dword [0xa72a88]
movss dword [ebp - 0x488], xmm0
movss xmm0, dword [0xa72a4c]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [0xa72a1c]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [0xa729dc]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [ebp - 0x364]
subss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x364]
mulss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x364]
mulss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x364]
subss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x3e4]
comiss xmm0, dword [ebp - 0x364]
jbe 0x4a5568
movss xmm0, dword [ebp - 0x3c8]
mulss xmm0, dword [ebp - 0x488]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3c8]
subss xmm0, dword [ebp - 0x488]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x364]
divss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x3c8]
addss xmm0, dword [ebp - 0x488]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3e4]
divss xmm0, dword [ebp - 0x364]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [ebp - 0x488]
divss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x488], xmm0
movss xmm0, dword [ebp - 0x3c8]
mulss xmm0, dword [ebp - 0x488]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x364]
divss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x3e4]
comiss xmm0, dword [ebp - 0x364]
jbe 0x4a5503
movss xmm0, dword [ebp - 0x364]
subss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x364]
addss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x364]
divss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x3e4]
mulss xmm0, dword [ebp - 0x488]
movss dword [ebp - 0x3e4], xmm0
jmp 0x4a5563
movss xmm0, dword [ebp - 0x3c8]
mulss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x3e4]
divss xmm0, dword [ebp - 0x488]
movss dword [ebp - 0x3e4], xmm0
movss xmm0, dword [ebp - 0x3c8]
addss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x364]
divss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x364], xmm0
jmp 0x4a55f5
movss xmm0, dword [ebp - 0x364]
mulss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x364]
mulss xmm0, dword [ebp - 0x3e4]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x3c8]
subss xmm0, dword [ebp - 0x488]
movss dword [ebp - 0x3c8], xmm0
movss xmm0, dword [ebp - 0x488]
subss xmm0, dword [ebp - 0x3c8]
movss dword [ebp - 0x488], xmm0
movzx ecx, byte [ebp - 0x330]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx eax, byte [ebp - 0x332]
add eax, edx
mov byte [ebp - 0x332], al
mov cl, byte [ebp - 0x330]
add cl, 1
mov byte [ebp - 0x330], cl
movzx edx, byte [ebp - 0x332]
movzx eax, byte [ebp - 0x337]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x333]
movzx eax, byte [ebp - 0x332]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x330]
movzx eax, byte [ebp - 0x333]
mov cl, byte [ebp + edx - 0x7f8]
mov byte [ebp + eax - 0x7f8], cl
movzx edx, byte [ebp - 0x330]
mov al, byte [ebp - 0x33c]
mov byte [ebp + edx - 0x7f8], al
movzx ecx, byte [ebp - 0x33c]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx eax, byte [ebp - 0x33d]
add eax, edx
mov byte [ebp - 0x33d], al
movzx ecx, byte [ebp - 0x33e]
movzx edx, byte [ebp - 0x332]
movzx eax, byte [ebp + edx - 0x7f8]
movzx edx, byte [ebp - 0x330]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7f8]
xor ecx, eax
movzx edx, byte [ebp - 0x333]
movzx eax, byte [ebp + edx - 0x7f8]
movzx edx, byte [ebp - 0x337]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
movzx edx, byte [ebp - 0x33d]
movzx edx, byte [ebp + edx - 0x7f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7f8]
movzx edx, byte [ebp + eax - 0x7f8]
xor ecx, edx
mov byte [ebp - 0x333], cl
mov al, byte [ebp - 0x33e]
mov byte [ebp - 0x337], al
mov cl, byte [ebp - 0x333]
mov byte [ebp - 0x343], cl
cmp dword [ebp - 0x350], 0
jle 0x4a5733
movsx dx, byte [ebp - 0x343]
mov eax, dword [ebp - 0x350]
mov word [ebp + eax*2 - 0x66], dx
mov ecx, dword [ebp - 0x350]
add ecx, 1
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x384]
add edx, 1
mov dword [ebp - 0x384], edx
movss xmm0, dword [0xa72acc]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [0xa72a7c]
movss dword [ebp - 0x54c], xmm0
movss xmm0, dword [0xa72a10]
movss dword [ebp - 0x4e0], xmm0
movss xmm0, dword [ebp - 0x3e8]
addss xmm0, dword [ebp - 0x4e0]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [ebp - 0x3e8]
addss xmm0, dword [ebp - 0x4e0]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [ebp - 0x3e8]
mulss xmm0, dword [ebp - 0x4e0]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [ebp - 0x4e0]
comiss xmm0, dword [ebp - 0x3e8]
jbe 0x4a5824
movss xmm0, dword [ebp - 0x4e0]
subss xmm0, dword [ebp - 0x3e8]
movss dword [ebp - 0x4e0], xmm0
movss xmm0, dword [ebp - 0x3e8]
addss xmm0, dword [ebp - 0x54c]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [ebp - 0x3e8]
subss xmm0, dword [ebp - 0x54c]
movss dword [ebp - 0x3e8], xmm0
jmp 0x4a587a
movss xmm0, dword [ebp - 0x3e8]
addss xmm0, dword [ebp - 0x54c]
movss dword [ebp - 0x3e8], xmm0
movss xmm0, dword [ebp - 0x4e0]
subss xmm0, dword [ebp - 0x3e8]
movss dword [ebp - 0x4e0], xmm0
movss xmm0, dword [ebp - 0x3e8]
subss xmm0, dword [ebp - 0x54c]
movss dword [ebp - 0x3e8], xmm0
mov eax, dword [ebp - 0x350]
shl eax, 1
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x404]
add ecx, dword [ebp - 0x418]
movzx edx, byte [ecx]
mov dword [ebp - 0x400], edx
mov dword [ebp - 0x3fc], 0xc6
mov eax, dword [ebp - 0x350]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x404]
add edx, dword [ebp - 0x408]
movzx eax, byte [edx]
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x3f8], 0x18
mov ecx, dword [ebp - 0x400]
sub ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x3ec]
sub edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x3f4]
shl eax, 4
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x40c]
or edx, dword [ebp - 0x410]
mov dword [ebp - 0x414], edx
mov al, byte [ebp - 0x414]
mov byte [ebp - 0x33e], al
movzx ecx, byte [ebp - 0x337]
mov dl, byte [ebp + ecx - 0x7f8]
mov byte [ebp - 0x33c], dl
movzx eax, byte [ebp - 0x330]
movzx ecx, byte [ebp + eax - 0x7f8]
movzx edx, byte [ebp - 0x332]
add edx, ecx
mov byte [ebp - 0x332], dl
mov al, byte [ebp - 0x330]
add al, 1
mov byte [ebp - 0x330], al
movzx ecx, byte [ebp - 0x332]
movzx edx, byte [ebp - 0x337]
mov al, byte [ebp + ecx - 0x7f8]
mov byte [ebp + edx - 0x7f8], al
movzx ecx, byte [ebp - 0x333]
movzx edx, byte [ebp - 0x332]
mov al, byte [ebp + ecx - 0x7f8]
mov byte [ebp + edx - 0x7f8], al
movzx ecx, byte [ebp - 0x330]
movzx edx, byte [ebp - 0x333]
mov al, byte [ebp + ecx - 0x7f8]
mov byte [ebp + edx - 0x7f8], al
movzx ecx, byte [ebp - 0x330]
mov dl, byte [ebp - 0x33c]
mov byte [ebp + ecx - 0x7f8], dl
movzx eax, byte [ebp - 0x33c]
movzx ecx, byte [ebp + eax - 0x7f8]
movzx edx, byte [ebp - 0x33d]
add edx, ecx
mov byte [ebp - 0x33d], dl
movzx eax, byte [ebp - 0x33e]
movzx ecx, byte [ebp - 0x332]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx ecx, byte [ebp - 0x330]
movzx ecx, byte [ebp + ecx - 0x7f8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7f8]
xor eax, edx
movzx ecx, byte [ebp - 0x333]
movzx edx, byte [ebp + ecx - 0x7f8]
movzx ecx, byte [ebp - 0x337]
movzx ecx, byte [ebp + ecx - 0x7f8]
add edx, ecx
movzx ecx, byte [ebp - 0x33d]
movzx ecx, byte [ebp + ecx - 0x7f8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7f8]
movzx ecx, byte [ebp + edx - 0x7f8]
xor eax, ecx
mov byte [ebp - 0x333], al
mov dl, byte [ebp - 0x33e]
mov byte [ebp - 0x337], dl
mov al, byte [ebp - 0x333]
mov byte [ebp - 0x343], al
cmp dword [ebp - 0x350], 0
jle 0x4a5aa5
movsx cx, byte [ebp - 0x343]
mov edx, dword [ebp - 0x350]
mov word [ebp + edx*2 - 0x66], cx
mov eax, 2
imul ecx, eax, 0xc
mov dword [ebp - 0x6e8], ecx
cmp dword [ebp - 0x6e8], 0x1a
jae 0x4a5abe
jmp 0x4a5ac3
call fcn.009f5b17
xor edx, edx
mov eax, dword [ebp - 0x6e8]
mov word [ebp + eax - 0x64], dx
jmp 0x4a5b23
mov dword [ebp - 0x578], 0
jmp 0x4a5aed
mov ecx, dword [ebp - 0x578]
add ecx, 1
mov dword [ebp - 0x578], ecx
cmp dword [ebp - 0x578], 0xd
jge 0x4a5b23
mov edx, dword [ebp - 0x578]
shl edx, 1
mov dword [ebp - 0x6e4], edx
cmp dword [ebp - 0x6e4], 0x1a
jae 0x4a5b0f
jmp 0x4a5b14
call fcn.009f5b17
xor eax, eax
mov ecx, dword [ebp - 0x6e4]
mov word [ebp + ecx - 0x64], ax
jmp 0x4a5ade
push 4
call fcn.009f57ce
add esp, 4
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x5b4], 0
je 0x4a5b67
push 4
mov ecx, dword [ebp - 0x5b4]
call fcn.00486090
lea edx, [ebp - 0x64]
push edx
mov ecx, dword [ebp - 0x5b4]
call fcn.004862c0
mov dword [ebp - 0x6e0], eax
jmp 0x4a5b71
mov dword [ebp - 0x6e0], 0
mov eax, dword [ebp - 0x6e0]
mov dword [ebp - 0x918], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x918]
mov dword [ebp - 0x91c], ecx
mov dword [ebp - 0x32c], 0
mov dword [ebp - 0x318], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x53c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x524], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x524], xmm0
jmp 0x4a5bdf
movsd xmm0, qword [ebp - 0x524]
addsd xmm0, qword [0xa71340]
movsd qword [ebp - 0x524], xmm0
movsd xmm0, qword [0xa73590]
comisd xmm0, xmmword [ebp - 0x524]
jbe 0x4a5c90
movsd xmm0, qword [0xa73490]
mulsd xmm0, qword [ebp - 0x524]
mulsd xmm0, qword [ebp - 0x524]
movsd xmm1, qword [ebp - 0x524]
mulsd xmm1, qword [ebp - 0x524]
subsd xmm0, xmm1
movsd xmm1, qword [0xa73350]
mulsd xmm1, qword [ebp - 0x524]
mulsd xmm1, qword [ebp - 0x524]
addsd xmm1, qword [0xa733a0]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x53c]
movsd qword [ebp - 0x53c], xmm0
movsd xmm0, qword [ebp - 0x53c]
comisd xmm0, xmmword [0xa733f8]
jbe 0x4a5c8b
movsd xmm0, qword [0xa73318]
mulsd xmm0, qword [ebp - 0x524]
movsd xmm1, qword [ebp - 0x53c]
subsd xmm1, xmm0
movsd qword [ebp - 0x53c], xmm1
jmp 0x4a5bc7
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x53c]
jbe 0x4a5cd4
mov edx, dword [ecx]
mov dword [ebx], ecx
or byte [esi], 0x84
or al, byte [ebp - 0x78ec77f8]
or dword [ebx - 0x78f279f3], ecx
adc eax, 0x14870d89
test byte [ecx + ecx*4], cl
or al, 0x88
or byte [ebp + ecx + 0x285f1384], al
mov byte [eax], cl
test byte [0x285f1384], cl
insd dword es:[edi], dx
push ebx
cmp dword [ebp + 0x5c], eax
pop ecx
push eax
inc esi
daa
cmp dword [eax + 0x54], edx
popal
jle 0x4a5cb9
xchg esp, eax
sub dword [eax], eax
add bh, al
test esp, edx
cld
invalid
mov dword [ebp - 0x32c], 0x4a5c9d
mov dword [ebp - 0x318], 0x4a5cbf
mov edx, dword [ebp - 0x32c]
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x318]
mov dword [ebp - 0x914], eax
mov byte [ebp - 0x481], 0x14
mov dword [ebp - 0x3e0], 0
jmp 0x4a5d22
mov ecx, dword [ebp - 0x3e0]
add ecx, 1
mov dword [ebp - 0x3e0], ecx
cmp dword [ebp - 0x3e0], 0x100
jae 0x4a5d43
mov edx, dword [ebp - 0x3e0]
mov al, byte [ebp - 0x3e0]
mov byte [ebp + edx - 0x8f8], al
jmp 0x4a5d13
mov dword [ebp - 0x508], 0
mov byte [ebp - 0x34a], 0
mov dword [ebp - 0x3e0], 0xff
jmp 0x4a5d6f
mov ecx, dword [ebp - 0x3e0]
sub ecx, 1
mov dword [ebp - 0x3e0], ecx
cmp dword [ebp - 0x3e0], 0
jbe 0x4a5fdf
mov dword [ebp - 0x5b8], 0
mov dword [ebp - 0x550], 1
mov edx, dword [ebp - 0x550]
cmp edx, dword [ebp - 0x3e0]
jae 0x4a5db0
mov eax, dword [ebp - 0x550]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x550], ecx
jmp 0x4a5d90
mov edx, dword [ebp - 0x508]
mov dword [ebp - 0x6dc], edx
cmp dword [ebp - 0x6dc], 3
ja case.default.0x4a5dcf
mov eax, dword [ebp - 0x6dc]
jmp dword [eax*4 + 0x4aaba8]
movzx ecx, byte [ebp - 0x34a]
movzx ebx, byte [ebp + ecx - 0x8f8]
movsd xmm0, qword [ebp - 0x53c]
call fcn.009f5ff0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x34a], bl
jmp 0x4a5eb8
movzx edx, byte [ebp - 0x34a]
movzx ebx, byte [ebp + edx - 0x8f8]
movsd xmm0, qword [ebp - 0x53c]
call fcn.009f5ff0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x34a], bl
jmp 0x4a5eb8
movzx eax, byte [ebp - 0x34a]
movzx ebx, byte [ebp + eax - 0x8f8]
movsd xmm0, qword [ebp - 0x53c]
call fcn.009f5ff0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x34a], bl
jmp 0x4a5eb8
movzx ecx, byte [ebp - 0x34a]
movzx ebx, byte [ebp + ecx - 0x8f8]
movsd xmm0, qword [ebp - 0x53c]
call fcn.009f5ff0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x34a], bl
jmp 0x4a5eb8
movzx edx, byte [ebp - 0x34a]
movzx eax, byte [ebp + edx - 0x8f8]
mov ecx, dword [ebp - 0x914]
add ecx, dword [ebp - 0x508]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0x34a], al
mov eax, dword [ebp - 0x508]
add eax, 1
mov dword [ebp - 0x508], eax
movzx ecx, byte [ebp - 0x481]
cmp dword [ebp - 0x508], ecx
jb 0x4a5ef6
mov dword [ebp - 0x508], 0
movzx edx, byte [ebp - 0x481]
movzx eax, byte [ebp - 0x34a]
add eax, edx
mov byte [ebp - 0x34a], al
movzx ecx, byte [ebp - 0x34a]
and ecx, dword [ebp - 0x550]
mov dword [ebp - 0x4d0], ecx
mov edx, dword [ebp - 0x5b8]
add edx, 1
mov dword [ebp - 0x5b8], edx
cmp dword [ebp - 0x5b8], 0xb
jbe 0x4a5f35
mov eax, dword [ebp - 0x4d0]
xor edx, edx
div dword [ebp - 0x3e0]
mov dword [ebp - 0x4d0], edx
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x3e0]
ja 0x4a5db0
mov ecx, dword [ebp - 0x3e0]
cmp ecx, dword [ebp - 0x4d0]
je 0x4a5fda
mov edx, dword [ebp - 0x4d0]
movzx eax, byte [ebp + edx - 0x8f8]
mov ecx, dword [ebp - 0x3e0]
movzx edx, byte [ebp + ecx - 0x8f8]
xor edx, eax
mov eax, dword [ebp - 0x3e0]
mov byte [ebp + eax - 0x8f8], dl
mov ecx, dword [ebp - 0x3e0]
movzx edx, byte [ebp + ecx - 0x8f8]
mov eax, dword [ebp - 0x4d0]
movzx ecx, byte [ebp + eax - 0x8f8]
xor ecx, edx
mov edx, dword [ebp - 0x4d0]
mov byte [ebp + edx - 0x8f8], cl
mov eax, dword [ebp - 0x4d0]
movzx ecx, byte [ebp + eax - 0x8f8]
mov edx, dword [ebp - 0x3e0]
movzx eax, byte [ebp + edx - 0x8f8]
xor eax, ecx
mov ecx, dword [ebp - 0x3e0]
mov byte [ebp + ecx - 0x8f8], al
jmp 0x4a5d60
mov edx, 1
shl edx, 0
mov al, byte [ebp + edx - 0x8f8]
mov byte [ebp - 0x331], al
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x8f8]
mov byte [ebp - 0x336], al
mov ecx, 1
imul edx, ecx, 5
mov al, byte [ebp + edx - 0x8f8]
mov byte [ebp - 0x340], al
mov ecx, 1
imul edx, ecx, 7
mov al, byte [ebp + edx - 0x8f8]
mov byte [ebp - 0x335], al
movzx ecx, byte [ebp - 0x34a]
mov dl, byte [ebp + ecx - 0x8f8]
mov byte [ebp - 0x33b], dl
mov dword [ebp - 0x6d8], 0x22
cmp dword [ebp - 0x6d8], 2
jle 0x4a861b
mov eax, dword [ebp - 0x6d8]
and eax, 1
jne 0x4a861b
mov dword [ebp - 0x354], 0
mov dword [ebp - 0x3ac], 0
mov ecx, dword [ebp - 0x3ac]
add ecx, 1
mov dword [ebp - 0x3ac], ecx
mov dword [ebp - 0x45c], 0
mov edx, dword [ebp - 0x354]
shl edx, 1
mov dword [ebp - 0x45c], edx
mov dword [ebp - 0x434], 0
mov eax, dword [ebp - 0x458]
add eax, dword [ebp - 0x45c]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x434]
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x41c], 0
mov edx, dword [ebp - 0x41c]
add edx, 0x7f
mov dword [ebp - 0x41c], edx
mov dword [ebp - 0x454], 0
mov eax, dword [ebp - 0x354]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x420], 0
mov edx, dword [ebp - 0x458]
add edx, dword [ebp - 0x454]
movzx eax, byte [edx]
add eax, dword [ebp - 0x420]
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x424], 0
mov ecx, dword [ebp - 0x424]
add ecx, 6
mov dword [ebp - 0x424], ecx
mov dword [ebp - 0x428], 0
mov edx, dword [ebp - 0x434]
sub edx, dword [ebp - 0x41c]
add edx, dword [ebp - 0x428]
mov dword [ebp - 0x428], edx
mov dword [ebp - 0x42c], 0
mov eax, dword [ebp - 0x420]
sub eax, dword [ebp - 0x424]
add eax, dword [ebp - 0x42c]
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x448], 0
mov ecx, dword [ebp - 0x428]
shl ecx, 4
mov dword [ebp - 0x448], ecx
mov dword [ebp - 0x450], 0
mov edx, dword [ebp - 0x42c]
mov dword [ebp - 0x450], edx
mov dword [ebp - 0x44c], 0
mov eax, dword [ebp - 0x448]
or eax, dword [ebp - 0x450]
mov dword [ebp - 0x44c], eax
mov byte [ebp - 0x33f], 0
mov cl, byte [ebp - 0x44c]
mov byte [ebp - 0x33f], cl
mov byte [ebp - 0x341], 0
movzx edx, byte [ebp - 0x33b]
mov al, byte [ebp + edx - 0x8f8]
mov byte [ebp - 0x341], al
movzx ecx, byte [ebp - 0x331]
movzx edx, byte [ebp + ecx - 0x8f8]
movzx eax, byte [ebp - 0x336]
add eax, edx
mov byte [ebp - 0x336], al
mov cl, byte [ebp - 0x331]
add cl, 1
mov byte [ebp - 0x331], cl
movzx edx, byte [ebp - 0x336]
movzx eax, byte [ebp - 0x33b]
mov cl, byte [ebp + edx - 0x8f8]
mov byte [ebp + eax - 0x8f8], cl
movzx edx, byte [ebp - 0x335]
movzx eax, byte [ebp - 0x336]
mov cl, byte [ebp + edx - 0x8f8]
mov byte [ebp + eax - 0x8f8], cl
movzx edx, byte [ebp - 0x331]
movzx eax, byte [ebp - 0x335]
mov cl, byte [ebp + edx - 0x8f8]
mov byte [ebp + eax - 0x8f8], cl
movzx edx, byte [ebp - 0x331]
mov al, byte [ebp - 0x341]
mov byte [ebp + edx - 0x8f8], al
movzx ecx, byte [ebp - 0x341]
movzx edx, byte [ebp + ecx - 0x8f8]
movzx eax, byte [ebp - 0x340]
add eax, edx
mov byte [ebp - 0x340], al
movzx ecx, byte [ebp - 0x33f]
movzx edx, byte [ebp - 0x336]
movzx eax, byte [ebp + edx - 0x8f8]
movzx edx, byte [ebp - 0x331]
movzx edx, byte [ebp + edx - 0x8f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8f8]
xor ecx, eax
movzx edx, byte [ebp - 0x335]
movzx eax, byte [ebp + edx - 0x8f8]
movzx edx, byte [ebp - 0x33b]
movzx edx, byte [ebp + edx - 0x8f8]
add eax, edx
movzx edx, byte [ebp - 0x340]
movzx edx, byte [ebp + edx - 0x8f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8f8]
movzx edx, byte [ebp + eax - 0x8f8]
xor ecx, edx
mov byte [ebp - 0x335], cl
mov al, byte [ebp - 0x33f]
mov byte [ebp - 0x33b], al
mov cl, byte [ebp - 0x335]
mov byte [ebp - 0x34c], cl
cmp dword [ebp - 0x354], 0
jle 0x4a6363
mov edx, dword [ebp - 0x354]
mov al, byte [ebp - 0x34c]
mov byte [ebp + edx - 0x25], al
mov ecx, dword [ebp - 0x354]
add ecx, 1
mov dword [ebp - 0x354], ecx
mov edx, dword [ebp - 0x3ac]
add edx, 1
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0x354]
shl eax, 1
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x458]
add ecx, dword [ebp - 0x45c]
movzx edx, byte [ecx]
mov dword [ebp - 0x434], edx
mov dword [ebp - 0x41c], 0x7f
mov eax, dword [ebp - 0x354]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x458]
add edx, dword [ebp - 0x454]
movzx eax, byte [edx]
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x424], 6
mov ecx, dword [ebp - 0x434]
sub ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x420]
sub edx, dword [ebp - 0x424]
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0x428]
shl eax, 4
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x450], ecx
mov edx, dword [ebp - 0x448]
or edx, dword [ebp - 0x450]
mov dword [ebp - 0x44c], edx
mov al, byte [ebp - 0x44c]
mov byte [ebp - 0x33f], al
movzx ecx, byte [ebp - 0x33b]
mov dl, byte [ebp + ecx - 0x8f8]
mov byte [ebp - 0x341], dl
movzx eax, byte [ebp - 0x331]
movzx ecx, byte [ebp + eax - 0x8f8]
movzx edx, byte [ebp - 0x336]
add edx, ecx
mov byte [ebp - 0x336], dl
mov al, byte [ebp - 0x331]
add al, 1
mov byte [ebp - 0x331], al
movzx ecx, byte [ebp - 0x336]
movzx edx, byte [ebp - 0x33b]
mov al, byte [ebp + ecx - 0x8f8]
mov byte [ebp + edx - 0x8f8], al
movzx ecx, byte [ebp - 0x335]
movzx edx, byte [ebp - 0x336]
mov al, byte [ebp + ecx - 0x8f8]
mov byte [ebp + edx - 0x8f8], al
movzx ecx, byte [ebp - 0x331]
movzx edx, byte [ebp - 0x335]
mov al, byte [ebp + ecx - 0x8f8]
mov byte [ebp + edx - 0x8f8], al
movzx ecx, byte [ebp - 0x331]
mov dl, byte [ebp - 0x341]
mov byte [ebp + ecx - 0x8f8], dl
movzx eax, byte [ebp - 0x341]
movzx ecx, byte [ebp + eax - 0x8f8]
movzx edx, byte [ebp - 0x340]
add edx, ecx
mov byte [ebp - 0x340], dl
movzx eax, byte [ebp - 0x33f]
movzx ecx, byte [ebp - 0x336]
movzx edx, byte [ebp + ecx - 0x8f8]
movzx ecx, byte [ebp - 0x331]
movzx ecx, byte [ebp + ecx - 0x8f8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x8f8]
xor eax, edx
movzx ecx, byte [ebp - 0x335]
movzx edx, byte [ebp + ecx - 0x8f8]
movzx ecx, byte [ebp - 0x33b]
movzx ecx, byte [ebp + ecx - 0x8f8]
add edx, ecx
movzx ecx, byte [ebp - 0x340]
movzx ecx, byte [ebp + ecx - 0x8f8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x8f8]
movzx ecx, byte [ebp + edx - 0x8f8]
xor eax, ecx
mov byte [ebp - 0x335], al
mov dl, byte [ebp - 0x33f]
mov byte [ebp - 0x33b], dl
mov al, byte [ebp - 0x335]
mov byte [ebp - 0x34c], al
cmp dword [ebp - 0x354], 0
jle 0x4a65b7
mov ecx, dword [ebp - 0x354]
mov dl, byte [ebp - 0x34c]
mov byte [ebp + ecx - 0x25], dl
mov eax, dword [ebp - 0x354]
add eax, 1
mov dword [ebp - 0x354], eax
mov ecx, dword [ebp - 0x3ac]
add ecx, 1
mov dword [ebp - 0x3ac], ecx
mov edx, dword [ebp - 0x354]
shl edx, 1
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x458]
add eax, dword [ebp - 0x45c]
movzx ecx, byte [eax]
mov dword [ebp - 0x434], ecx
movsd xmm0, qword [0xa73898]
movsd qword [ebp - 0x4a4], xmm0
movsd xmm0, qword [0xa73800]
movsd qword [ebp - 0x480], xmm0
movsd xmm0, qword [0xa73760]
movsd qword [ebp - 0x4bc], xmm0
movsd xmm0, qword [0xa736a0]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [0xa73608]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [0xa734d8]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x43c]
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x4a4]
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x4a4], xmm0
movsd xmm0, qword [ebp - 0x4a4]
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x4a4], xmm0
movsd xmm0, qword [ebp - 0x464]
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [ebp - 0x480]
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x480], xmm0
movsd xmm0, qword [ebp - 0x480]
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x480], xmm0
movsd xmm0, qword [ebp - 0x390]
comisd xmm0, xmmword [ebp - 0x4a4]
jbe 0x4a6b29
movsd xmm0, qword [ebp - 0x390]
subsd xmm0, qword [ebp - 0x480]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x464]
addsd xmm0, qword [ebp - 0x4a4]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [ebp - 0x43c]
subsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x43c]
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x390]
subsd xmm0, qword [ebp - 0x480]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x43c]
mulsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x464]
mulsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [ebp - 0x43c]
divsd xmm0, qword [ebp - 0x464]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x390]
divsd xmm0, qword [ebp - 0x4a4]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x464]
subsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [ebp - 0x4a4]
subsd xmm0, qword [ebp - 0x480]
movsd qword [ebp - 0x4a4], xmm0
movsd xmm0, qword [ebp - 0x43c]
divsd xmm0, qword [ebp - 0x464]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x43c]
comisd xmm0, xmmword [ebp - 0x390]
jbe 0x4a6a94
movsd xmm0, qword [ebp - 0x390]
subsd xmm0, qword [ebp - 0x4a4]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x464]
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [ebp - 0x4bc]
subsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x4bc], xmm0
movsd xmm0, qword [ebp - 0x43c]
addsd xmm0, qword [ebp - 0x464]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x4bc]
divsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x4bc], xmm0
movsd xmm0, qword [ebp - 0x464]
mulsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [ebp - 0x390]
divsd xmm0, qword [ebp - 0x4a4]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x4bc]
divsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x4bc], xmm0
movsd xmm0, qword [ebp - 0x480]
divsd xmm0, qword [ebp - 0x4bc]
movsd qword [ebp - 0x480], xmm0
movsd xmm0, qword [ebp - 0x4a4]
subsd xmm0, qword [ebp - 0x480]
movsd qword [ebp - 0x4a4], xmm0
movsd xmm0, qword [ebp - 0x390]
divsd xmm0, qword [ebp - 0x4a4]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x43c]
divsd xmm0, qword [ebp - 0x464]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x4bc]
comisd xmm0, xmmword [ebp - 0x4a4]
jbe 0x4a69ff
movsd xmm0, qword [ebp - 0x4bc]
addsd xmm0, qword [ebp - 0x464]
movsd qword [ebp - 0x4bc], xmm0
movsd xmm0, qword [ebp - 0x390]
addsd xmm0, qword [ebp - 0x480]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x390]
mulsd xmm0, qword [ebp - 0x480]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x390]
mulsd xmm0, qword [ebp - 0x480]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x390]
mulsd xmm0, qword [ebp - 0x480]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x390]
subsd xmm0, qword [ebp - 0x480]
movsd qword [ebp - 0x390], xmm0
jmp 0x4a6a8f
movsd xmm0, qword [ebp - 0x464]
mulsd xmm0, qword [ebp - 0x4a4]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [ebp - 0x464]
subsd xmm0, qword [ebp - 0x4a4]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [ebp - 0x464]
divsd xmm0, qword [ebp - 0x4a4]
movsd qword [ebp - 0x464], xmm0
movsd xmm0, qword [ebp - 0x43c]
mulsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x480]
subsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x480], xmm0
movsd xmm0, qword [ebp - 0x4bc]
subsd xmm0, qword [ebp - 0x464]
movsd qword [ebp - 0x4bc], xmm0
jmp 0x4a6b24
movsd xmm0, qword [ebp - 0x390]
divsd xmm0, qword [ebp - 0x4a4]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x43c]
divsd xmm0, qword [ebp - 0x464]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x480]
divsd xmm0, qword [ebp - 0x4bc]
movsd qword [ebp - 0x480], xmm0
movsd xmm0, qword [ebp - 0x4bc]
divsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x4bc], xmm0
movsd xmm0, qword [ebp - 0x43c]
addsd xmm0, qword [ebp - 0x464]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [ebp - 0x464]
divsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x464], xmm0
jmp 0x4a6bc3
movsd xmm0, qword [ebp - 0x4bc]
mulsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x4bc], xmm0
movsd xmm0, qword [ebp - 0x480]
subsd xmm0, qword [ebp - 0x4bc]
movsd qword [ebp - 0x480], xmm0
movsd xmm0, qword [ebp - 0x390]
addsd xmm0, qword [ebp - 0x4a4]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x4a4]
addsd xmm0, qword [ebp - 0x480]
movsd qword [ebp - 0x4a4], xmm0
movsd xmm0, qword [ebp - 0x480]
mulsd xmm0, qword [ebp - 0x4bc]
movsd qword [ebp - 0x480], xmm0
movsd xmm0, qword [ebp - 0x4bc]
addsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x4bc], xmm0
mov dword [ebp - 0x41c], 0x7f
movss xmm0, dword [0xa73b54]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [0xa73b24]
movss dword [ebp - 0x35c], xmm0
movss xmm0, dword [0xa73adc]
movss dword [ebp - 0x370], xmm0
movss xmm0, dword [0xa73a64]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [0xa73a04]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [0xa73994]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [ebp - 0x360]
mulss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x370]
mulss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x370], xmm0
movss xmm0, dword [ebp - 0x368]
subss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x35c]
subss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x35c], xmm0
movss xmm0, dword [ebp - 0x35c]
mulss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x35c], xmm0
movss xmm0, dword [ebp - 0x35c]
addss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x35c], xmm0
movss xmm0, dword [ebp - 0x358]
comiss xmm0, dword [ebp - 0x370]
jbe 0x4a70f1
movss xmm0, dword [ebp - 0x3cc]
subss xmm0, dword [ebp - 0x360]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x360]
addss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x360]
divss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x368]
mulss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x370]
mulss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x370], xmm0
movss xmm0, dword [ebp - 0x360]
subss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x360]
mulss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x35c]
subss xmm0, dword [ebp - 0x370]
movss dword [ebp - 0x35c], xmm0
movss xmm0, dword [ebp - 0x370]
divss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x370], xmm0
movss xmm0, dword [ebp - 0x3cc]
mulss xmm0, dword [ebp - 0x360]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x35c]
mulss xmm0, dword [ebp - 0x370]
movss dword [ebp - 0x35c], xmm0
movss xmm0, dword [ebp - 0x370]
subss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x370], xmm0
movss xmm0, dword [ebp - 0x35c]
comiss xmm0, dword [ebp - 0x3cc]
jbe 0x4a705c
movss xmm0, dword [ebp - 0x3cc]
subss xmm0, dword [ebp - 0x360]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x35c]
addss xmm0, dword [ebp - 0x370]
movss dword [ebp - 0x35c], xmm0
movss xmm0, dword [ebp - 0x368]
divss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x360]
mulss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x368]
subss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x370]
subss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x370], xmm0
movss xmm0, dword [ebp - 0x370]
addss xmm0, dword [ebp - 0x360]
movss dword [ebp - 0x370], xmm0
movss xmm0, dword [ebp - 0x358]
addss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [ebp - 0x358]
mulss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [ebp - 0x360]
addss xmm0, dword [ebp - 0x368]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x370]
addss xmm0, dword [ebp - 0x360]
movss dword [ebp - 0x370], xmm0
movss xmm0, dword [ebp - 0x35c]
subss xmm0, dword [ebp - 0x3cc]
movss dword [ebp - 0x35c], xmm0
movss xmm0, dword [ebp - 0x358]
comiss xmm0, dword [ebp - 0x35c]
jbe 0x4a6fc7
movss xmm0, dword [ebp - 0x358]
divss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [ebp - 0x358]
divss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [ebp - 0x358]
divss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [ebp - 0x3cc]
subss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x358]
mulss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [ebp - 0x368]
divss xmm0, dword [ebp - 0x370]
movss dword [ebp - 0x368], xmm0
jmp 0x4a7057
movss xmm0, dword [ebp - 0x358]
divss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [ebp - 0x358]
subss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [ebp - 0x368]
divss xmm0, dword [ebp - 0x370]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x360]
addss xmm0, dword [ebp - 0x368]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x360]
subss xmm0, dword [ebp - 0x368]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x370]
subss xmm0, dword [ebp - 0x360]
movss dword [ebp - 0x370], xmm0
jmp 0x4a70ec
movss xmm0, dword [ebp - 0x3cc]
subss xmm0, dword [ebp - 0x360]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x368]
addss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x368]
divss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x368]
mulss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x360]
subss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x358]
subss xmm0, dword [ebp - 0x368]
movss dword [ebp - 0x358], xmm0
jmp 0x4a7191
movss xmm0, dword [ebp - 0x368]
addss xmm0, dword [ebp - 0x370]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x358]
addss xmm0, dword [ebp - 0x35c]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [ebp - 0x360]
mulss xmm0, dword [ebp - 0x368]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x368]
addss xmm0, dword [ebp - 0x370]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x3cc]
mulss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x3cc], xmm0
movss xmm0, dword [ebp - 0x3cc]
subss xmm0, dword [ebp - 0x358]
movss dword [ebp - 0x3cc], xmm0
mov edx, dword [ebp - 0x354]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x458]
add ecx, dword [ebp - 0x454]
movzx edx, byte [ecx]
mov dword [ebp - 0x420], edx
mov dword [ebp - 0x424], 6
mov eax, dword [ebp - 0x434]
sub eax, dword [ebp - 0x41c]
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x420]
sub ecx, dword [ebp - 0x424]
mov dword [ebp - 0x42c], ecx
mov edx, dword [ebp - 0x428]
shl edx, 4
mov dword [ebp - 0x448], edx
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x448]
or ecx, dword [ebp - 0x450]
mov dword [ebp - 0x44c], ecx
mov dl, byte [ebp - 0x44c]
mov byte [ebp - 0x33f], dl
movzx eax, byte [ebp - 0x33b]
mov cl, byte [ebp + eax - 0x8f8]
mov byte [ebp - 0x341], cl
movzx edx, byte [ebp - 0x331]
movzx eax, byte [ebp + edx - 0x8f8]
movzx ecx, byte [ebp - 0x336]
add ecx, eax
mov byte [ebp - 0x336], cl
mov dl, byte [ebp - 0x331]
add dl, 1
mov byte [ebp - 0x331], dl
movzx eax, byte [ebp - 0x336]
movzx ecx, byte [ebp - 0x33b]
mov dl, byte [ebp + eax - 0x8f8]
mov byte [ebp + ecx - 0x8f8], dl
movzx eax, byte [ebp - 0x335]
movzx ecx, byte [ebp - 0x336]
mov dl, byte [ebp + eax - 0x8f8]
mov byte [ebp + ecx - 0x8f8], dl
movzx eax, byte [ebp - 0x331]
movzx ecx, byte [ebp - 0x335]
mov dl, byte [ebp + eax - 0x8f8]
mov byte [ebp + ecx - 0x8f8], dl
movzx eax, byte [ebp - 0x331]
mov cl, byte [ebp - 0x341]
mov byte [ebp + eax - 0x8f8], cl
movzx edx, byte [ebp - 0x341]
movzx eax, byte [ebp + edx - 0x8f8]
movzx ecx, byte [ebp - 0x340]
add ecx, eax
mov byte [ebp - 0x340], cl
movss xmm0, dword [0xa73b50]
movss dword [ebp - 0x430], xmm0
movss xmm0, dword [0xa73b2c]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [0xa73af4]
movss dword [ebp - 0x378], xmm0
movss xmm0, dword [0xa73a9c]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [0xa73a40]
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [0xa739e0]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [0xa73984]
movss dword [ebp - 0x388], xmm0
movss xmm0, dword [ebp - 0x3d0]
subss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3dc]
addss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x378]
mulss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x378], xmm0
movss xmm0, dword [ebp - 0x374]
subss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [ebp - 0x3d0]
subss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3d0]
subss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x378]
mulss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x378], xmm0
movss xmm0, dword [ebp - 0x388]
comiss xmm0, dword [ebp - 0x378]
jbe 0x4a76c0
movss xmm0, dword [ebp - 0x374]
subss xmm0, dword [ebp - 0x3dc]
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [ebp - 0x430]
addss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x430], xmm0
movss xmm0, dword [ebp - 0x374]
divss xmm0, dword [ebp - 0x3dc]
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [ebp - 0x3d0]
mulss xmm0, dword [ebp - 0x378]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3dc]
addss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x3dc]
subss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x374]
divss xmm0, dword [ebp - 0x3dc]
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [ebp - 0x430]
addss xmm0, dword [ebp - 0x378]
movss dword [ebp - 0x430], xmm0
movss xmm0, dword [ebp - 0x378]
addss xmm0, dword [ebp - 0x374]
movss dword [ebp - 0x378], xmm0
movss xmm0, dword [ebp - 0x374]
addss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [ebp - 0x3d0]
mulss xmm0, dword [ebp - 0x4d8]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3dc]
addss xmm0, dword [ebp - 0x430]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x378]
addss xmm0, dword [ebp - 0x374]
movss dword [ebp - 0x378], xmm0
movss xmm0, dword [ebp - 0x374]
addss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [ebp - 0x430]
comiss xmm0, dword [ebp - 0x3dc]
jbe 0x4a7613
movss xmm0, dword [ebp - 0x378]
mulss xmm0, dword [ebp - 0x4d8]
movss dword [ebp - 0x378], xmm0
movss xmm0, dword [ebp - 0x3d0]
divss xmm0, dword [ebp - 0x378]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3dc]
addss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x388]
divss xmm0, dword [ebp - 0x430]
movss dword [ebp - 0x388], xmm0
movss xmm0, dword [ebp - 0x388]
mulss xmm0, dword [ebp - 0x430]
movss dword [ebp - 0x388], xmm0
movss xmm0, dword [ebp - 0x374]
mulss xmm0, dword [ebp - 0x3dc]
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [ebp - 0x378]
addss xmm0, dword [ebp - 0x4d8]
movss dword [ebp - 0x378], xmm0
jmp 0x4a76bb
movss xmm0, dword [ebp - 0x430]
addss xmm0, dword [ebp - 0x378]
movss dword [ebp - 0x430], xmm0
movss xmm0, dword [ebp - 0x378]
mulss xmm0, dword [ebp - 0x374]
movss dword [ebp - 0x378], xmm0
movss xmm0, dword [ebp - 0x3d0]
mulss xmm0, dword [ebp - 0x4d8]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x3d0]
divss xmm0, dword [ebp - 0x4d8]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x388]
mulss xmm0, dword [ebp - 0x3d0]
movss dword [ebp - 0x388], xmm0
movss xmm0, dword [ebp - 0x3dc]
divss xmm0, dword [ebp - 0x430]
movss dword [ebp - 0x3dc], xmm0
movss xmm0, dword [ebp - 0x378]
addss xmm0, dword [ebp - 0x374]
movss dword [ebp - 0x378], xmm0
jmp 0x4a77ee
movss xmm0, dword [ebp - 0x374]
addss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [ebp - 0x374]
subss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x374], xmm0
movss xmm0, dword [ebp - 0x430]
addss xmm0, dword [ebp - 0x378]
movss dword [ebp - 0x430], xmm0
movss xmm0, dword [ebp - 0x430]
addss xmm0, dword [ebp - 0x378]
movss dword [ebp - 0x430], xmm0
movss xmm0, dword [ebp - 0x3d0]
subss xmm0, dword [ebp - 0x4d8]
movss dword [ebp - 0x3d0], xmm0
movss xmm0, dword [ebp - 0x4d8]
subss xmm0, dword [ebp - 0x3dc]
movss dword [ebp - 0x4d8], xmm0
movss xmm0, dword [ebp - 0x374]
mulss xmm0, dword [ebp - 0x388]
movss dword [ebp - 0x374], xmm0
movzx edx, byte [ebp - 0x33f]
movzx eax, byte [ebp - 0x336]
movzx ecx, byte [ebp + eax - 0x8f8]
movzx eax, byte [ebp - 0x331]
movzx eax, byte [ebp + eax - 0x8f8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8f8]
xor edx, ecx
movzx eax, byte [ebp - 0x335]
movzx ecx, byte [ebp + eax - 0x8f8]
movzx eax, byte [ebp - 0x33b]
movzx eax, byte [ebp + eax - 0x8f8]
add ecx, eax
movzx eax, byte [ebp - 0x340]
movzx eax, byte [ebp + eax - 0x8f8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8f8]
movzx eax, byte [ebp + ecx - 0x8f8]
xor edx, eax
mov byte [ebp - 0x335], dl
mov cl, byte [ebp - 0x33f]
mov byte [ebp - 0x33b], cl
mov dl, byte [ebp - 0x335]
mov byte [ebp - 0x34c], dl
cmp dword [ebp - 0x354], 0
jle 0x4a781f
mov eax, dword [ebp - 0x354]
mov cl, byte [ebp - 0x34c]
mov byte [ebp + eax - 0x25], cl
mov edx, dword [ebp - 0x3ac]
add edx, 6
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0x354]
add eax, 1
mov dword [ebp - 0x5bc], eax
jmp 0x4a784e
mov ecx, dword [ebp - 0x5bc]
add ecx, 1
mov dword [ebp - 0x5bc], ecx
mov edx, dword [ebp - 0x5bc]
cmp edx, dword [ebp - 0x3ac]
jge 0x4a7aa9
mov eax, dword [ebp - 0x354]
add eax, 1
mov dword [ebp - 0x354], eax
mov ecx, dword [ebp - 0x354]
shl ecx, 1
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x458]
add edx, dword [ebp - 0x45c]
movzx eax, byte [edx]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x41c], 0x7f
mov ecx, dword [ebp - 0x354]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x458]
add eax, dword [ebp - 0x454]
movzx ecx, byte [eax]
mov dword [ebp - 0x420], ecx
mov dword [ebp - 0x424], 6
mov edx, dword [ebp - 0x434]
sub edx, dword [ebp - 0x41c]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x420]
sub eax, dword [ebp - 0x424]
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x428]
shl ecx, 4
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x42c]
mov dword [ebp - 0x450], edx
mov eax, dword [ebp - 0x448]
or eax, dword [ebp - 0x450]
mov dword [ebp - 0x44c], eax
mov cl, byte [ebp - 0x44c]
mov byte [ebp - 0x33f], cl
movzx edx, byte [ebp - 0x33b]
mov al, byte [ebp + edx - 0x8f8]
mov byte [ebp - 0x341], al
movzx ecx, byte [ebp - 0x331]
movzx edx, byte [ebp + ecx - 0x8f8]
movzx eax, byte [ebp - 0x336]
add eax, edx
mov byte [ebp - 0x336], al
mov cl, byte [ebp - 0x331]
add cl, 1
mov byte [ebp - 0x331], cl
movzx edx, byte [ebp - 0x336]
movzx eax, byte [ebp - 0x33b]
mov cl, byte [ebp + edx - 0x8f8]
mov byte [ebp + eax - 0x8f8], cl
movzx edx, byte [ebp - 0x335]
movzx eax, byte [ebp - 0x336]
mov cl, byte [ebp + edx - 0x8f8]
mov byte [ebp + eax - 0x8f8], cl
movzx edx, byte [ebp - 0x331]
movzx eax, byte [ebp - 0x335]
mov cl, byte [ebp + edx - 0x8f8]
mov byte [ebp + eax - 0x8f8], cl
movzx edx, byte [ebp - 0x331]
mov al, byte [ebp - 0x341]
mov byte [ebp + edx - 0x8f8], al
movzx ecx, byte [ebp - 0x341]
movzx edx, byte [ebp + ecx - 0x8f8]
movzx eax, byte [ebp - 0x340]
add eax, edx
mov byte [ebp - 0x340], al
movzx ecx, byte [ebp - 0x33f]
movzx edx, byte [ebp - 0x336]
movzx eax, byte [ebp + edx - 0x8f8]
movzx edx, byte [ebp - 0x331]
movzx edx, byte [ebp + edx - 0x8f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8f8]
xor ecx, eax
movzx edx, byte [ebp - 0x335]
movzx eax, byte [ebp + edx - 0x8f8]
movzx edx, byte [ebp - 0x33b]
movzx edx, byte [ebp + edx - 0x8f8]
add eax, edx
movzx edx, byte [ebp - 0x340]
movzx edx, byte [ebp + edx - 0x8f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8f8]
movzx edx, byte [ebp + eax - 0x8f8]
xor ecx, edx
mov byte [ebp - 0x335], cl
mov al, byte [ebp - 0x33f]
mov byte [ebp - 0x33b], al
mov cl, byte [ebp - 0x335]
mov byte [ebp - 0x34c], cl
cmp dword [ebp - 0x354], 0
jle 0x4a7aa4
mov edx, dword [ebp - 0x354]
mov al, byte [ebp - 0x34c]
mov byte [ebp + edx - 0x25], al
jmp 0x4a783f
mov ecx, dword [ebp - 0x3ac]
add ecx, 1
mov dword [ebp - 0x3ac], ecx
mov edx, dword [ebp - 0x354]
add edx, 1
mov dword [ebp - 0x354], edx
mov eax, dword [ebp - 0x3ac]
add eax, 1
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x354]
shl ecx, 1
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x458]
add edx, dword [ebp - 0x45c]
movzx eax, byte [edx]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x41c], 0x7f
mov ecx, dword [ebp - 0x354]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x458]
add eax, dword [ebp - 0x454]
movzx ecx, byte [eax]
mov dword [ebp - 0x420], ecx
mov dword [ebp - 0x424], 6
mov edx, dword [ebp - 0x434]
sub edx, dword [ebp - 0x41c]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x420]
sub eax, dword [ebp - 0x424]
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x428]
shl ecx, 4
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x42c]
mov dword [ebp - 0x450], edx
mov eax, dword [ebp - 0x448]
or eax, dword [ebp - 0x450]
mov dword [ebp - 0x44c], eax
mov cl, byte [ebp - 0x44c]
mov byte [ebp - 0x33f], cl
movzx edx, byte [ebp - 0x33b]
mov al, byte [ebp + edx - 0x8f8]
mov byte [ebp - 0x341], al
movzx ecx, byte [ebp - 0x331]
movzx edx, byte [ebp + ecx - 0x8f8]
movzx eax, byte [ebp - 0x336]
add eax, edx
mov byte [ebp - 0x336], al
mov cl, byte [ebp - 0x331]
add cl, 1
mov byte [ebp - 0x331], cl
movzx edx, byte [ebp - 0x336]
movzx eax, byte [ebp - 0x33b]
mov cl, byte [ebp + edx - 0x8f8]
mov byte [ebp + eax - 0x8f8], cl
movzx edx, byte [ebp - 0x335]
movzx eax, byte [ebp - 0x336]
mov cl, byte [ebp + edx - 0x8f8]
mov byte [ebp + eax - 0x8f8], cl
movzx edx, byte [ebp - 0x331]
movzx eax, byte [ebp - 0x335]
mov cl, byte [ebp + edx - 0x8f8]
mov byte [ebp + eax - 0x8f8], cl
movzx edx, byte [ebp - 0x331]
mov al, byte [ebp - 0x341]
mov byte [ebp + edx - 0x8f8], al
movzx ecx, byte [ebp - 0x341]
movzx edx, byte [ebp + ecx - 0x8f8]
movzx eax, byte [ebp - 0x340]
add eax, edx
mov byte [ebp - 0x340], al
movzx ecx, byte [ebp - 0x33f]
movzx edx, byte [ebp - 0x336]
movzx eax, byte [ebp + edx - 0x8f8]
movzx edx, byte [ebp - 0x331]
movzx edx, byte [ebp + edx - 0x8f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8f8]
xor ecx, eax
movzx edx, byte [ebp - 0x335]
movzx eax, byte [ebp + edx - 0x8f8]
movzx edx, byte [ebp - 0x33b]
movzx edx, byte [ebp + edx - 0x8f8]
add eax, edx
movzx edx, byte [ebp - 0x340]
movzx edx, byte [ebp + edx - 0x8f8]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x8f8]
movzx edx, byte [ebp + eax - 0x8f8]
xor ecx, edx
mov byte [ebp - 0x335], cl
mov al, byte [ebp - 0x33f]
mov byte [ebp - 0x33b], al
mov cl, byte [ebp - 0x335]
mov byte [ebp - 0x34c], cl
cmp dword [ebp - 0x354], 0
jle 0x4a7d0b
mov edx, dword [ebp - 0x354]
mov al, byte [ebp - 0x34c]
mov byte [ebp + edx - 0x25], al
mov ecx, dword [ebp - 0x354]
add ecx, 1
mov dword [ebp - 0x354], ecx
mov edx, dword [ebp - 0x3ac]
add edx, 1
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0x354]
shl eax, 1
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x458]
add ecx, dword [ebp - 0x45c]
movzx edx, byte [ecx]
mov dword [ebp - 0x434], edx
mov dword [ebp - 0x41c], 0x7f
mov eax, dword [ebp - 0x354]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x458]
add edx, dword [ebp - 0x454]
movzx eax, byte [edx]
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x424], 6
mov ecx, dword [ebp - 0x434]
sub ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x420]
sub edx, dword [ebp - 0x424]
mov dword [ebp - 0x42c], edx
mov eax, dword [ebp - 0x428]
shl eax, 4
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x450], ecx
mov edx, dword [ebp - 0x448]
or edx, dword [ebp - 0x450]
mov dword [ebp - 0x44c], edx
mov al, byte [ebp - 0x44c]
mov byte [ebp - 0x33f], al
movzx ecx, byte [ebp - 0x33b]
mov dl, byte [ebp + ecx - 0x8f8]
mov byte [ebp - 0x341], dl
movzx eax, byte [ebp - 0x331]
movzx ecx, byte [ebp + eax - 0x8f8]
movzx edx, byte [ebp - 0x336]
add edx, ecx
mov byte [ebp - 0x336], dl
mov al, byte [ebp - 0x331]
add al, 1
mov byte [ebp - 0x331], al
movzx ecx, byte [ebp - 0x336]
movzx edx, byte [ebp - 0x33b]
mov al, byte [ebp + ecx - 0x8f8]
mov byte [ebp + edx - 0x8f8], al
movzx ecx, byte [ebp - 0x335]
movzx edx, byte [ebp - 0x336]
mov al, byte [ebp + ecx - 0x8f8]
mov byte [ebp + edx - 0x8f8], al
movzx ecx, byte [ebp - 0x331]
movzx edx, byte [ebp - 0x335]
mov al, byte [ebp + ecx - 0x8f8]
mov byte [ebp + edx - 0x8f8], al
movzx ecx, byte [ebp - 0x331]
mov dl, byte [ebp - 0x341]
mov byte [ebp + ecx - 0x8f8], dl
movzx eax, byte [ebp - 0x341]
movzx ecx, byte [ebp + eax - 0x8f8]
movzx edx, byte [ebp - 0x340]
add edx, ecx
mov byte [ebp - 0x340], dl
movzx eax, byte [ebp - 0x33f]
movzx ecx, byte [ebp - 0x336]
movzx edx, byte [ebp + ecx - 0x8f8]
movzx ecx, byte [ebp - 0x331]
movzx ecx, byte [ebp + ecx - 0x8f8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x8f8]
xor eax, edx
movzx ecx, byte [ebp - 0x335]
movzx edx, byte [ebp + ecx - 0x8f8]
movzx ecx, byte [ebp - 0x33b]
movzx ecx, byte [ebp + ecx - 0x8f8]
add edx, ecx
movzx ecx, byte [ebp - 0x340]
movzx ecx, byte [ebp + ecx - 0x8f8]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x8f8]
movzx ecx, byte [ebp + edx - 0x8f8]
xor eax, ecx
mov byte [ebp - 0x335], al
mov dl, byte [ebp - 0x33f]
mov byte [ebp - 0x33b], dl
mov al, byte [ebp - 0x335]
mov byte [ebp - 0x34c], al
cmp dword [ebp - 0x354], 0
jle 0x4a7f5f
mov ecx, dword [ebp - 0x354]
mov dl, byte [ebp - 0x34c]
mov byte [ebp + ecx - 0x25], dl
mov eax, dword [ebp - 0x3ac]
add eax, 6
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x354]
add ecx, 1
mov dword [ebp - 0x598], ecx
jmp 0x4a7f8e
mov edx, dword [ebp - 0x598]
add edx, 1
mov dword [ebp - 0x598], edx
mov eax, dword [ebp - 0x598]
cmp eax, dword [ebp - 0x3ac]
jge 0x4a85e1
mov ecx, dword [ebp - 0x354]
add ecx, 1
mov dword [ebp - 0x354], ecx
mov edx, dword [ebp - 0x354]
shl edx, 1
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x458]
add eax, dword [ebp - 0x45c]
movzx ecx, byte [eax]
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x41c], 0x7f
mov edx, dword [ebp - 0x354]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x458]
add ecx, dword [ebp - 0x454]
movzx edx, byte [ecx]
mov dword [ebp - 0x420], edx
mov dword [ebp - 0x424], 6
movsd xmm0, qword [0xa73900]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [0xa73888]
movsd qword [ebp - 0x4b4], xmm0
movsd xmm0, qword [0xa737c0]
movsd qword [ebp - 0x4c4], xmm0
movsd xmm0, qword [0xa73700]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [0xa73648]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [0xa73510]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x4f8]
mulsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x4b4]
mulsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x4b4], xmm0
movsd xmm0, qword [ebp - 0x4c4]
addsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x4c4], xmm0
movsd xmm0, qword [ebp - 0x4c4]
subsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x4c4], xmm0
movsd xmm0, qword [ebp - 0x478]
mulsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x4b4]
comisd xmm0, xmmword [ebp - 0x470]
jbe 0x4a81b8
movsd xmm0, qword [ebp - 0x470]
mulsd xmm0, qword [ebp - 0x4b4]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x4b4]
mulsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x4b4], xmm0
movsd xmm0, qword [ebp - 0x568]
addsd xmm0, qword [ebp - 0x4c4]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x4c4]
subsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x4c4], xmm0
movsd xmm0, qword [ebp - 0x470]
mulsd xmm0, qword [ebp - 0x4b4]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x478], xmm0
mov eax, dword [ebp - 0x434]
sub eax, dword [ebp - 0x41c]
mov dword [ebp - 0x428], eax
jmp 0x4a8413
movsd xmm0, qword [ebp - 0x4f8]
mulsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x4b4]
subsd xmm0, qword [ebp - 0x4c4]
movsd qword [ebp - 0x4b4], xmm0
movsd xmm0, qword [ebp - 0x4c4]
divsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x4c4], xmm0
movsd xmm0, qword [ebp - 0x4c4]
addsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x4c4], xmm0
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x4f8]
mulsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x4f8], xmm0
movsd xmm0, qword [ebp - 0x470]
divsd xmm0, qword [ebp - 0x4b4]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x4c4]
subsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x4c4], xmm0
movsd xmm0, qword [ebp - 0x4b4]
addsd xmm0, qword [ebp - 0x478]
movsd qword [ebp - 0x4b4], xmm0
movsd xmm0, qword [ebp - 0x470]
divsd xmm0, qword [ebp - 0x4b4]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x4b4]
comisd xmm0, xmmword [ebp - 0x478]
jbe 0x4a8383
movsd xmm0, qword [ebp - 0x470]
subsd xmm0, qword [ebp - 0x4b4]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x4c4]
mulsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x4c4], xmm0
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x470]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x4f8]
addsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x4f8], xmm0
jmp 0x4a8413
movsd xmm0, qword [ebp - 0x4b4]
divsd xmm0, qword [ebp - 0x4c4]
movsd qword [ebp - 0x4b4], xmm0
movsd xmm0, qword [ebp - 0x568]
divsd xmm0, qword [ebp - 0x4b4]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x470]
mulsd xmm0, qword [ebp - 0x568]
movsd qword [ebp - 0x470], xmm0
movsd xmm0, qword [ebp - 0x478]
subsd xmm0, qword [ebp - 0x4f8]
movsd qword [ebp - 0x478], xmm0
movsd xmm0, qword [ebp - 0x568]
subsd xmm0, qword [ebp - 0x4b4]
movsd qword [ebp - 0x568], xmm0
movsd xmm0, qword [ebp - 0x4b4]
subsd xmm0, qword [ebp - 0x4c4]
movsd qword [ebp - 0x4b4], xmm0
mov ecx, dword [ebp - 0x420]
sub ecx, dword [ebp - 0x424]
mov dword [ebp - 0x42c], ecx
mov edx, dword [ebp - 0x428]
shl edx, 4
mov dword [ebp - 0x448], edx
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x448]
or ecx, dword [ebp - 0x450]
mov dword [ebp - 0x44c], ecx
mov dl, byte [ebp - 0x44c]
mov byte [ebp - 0x33f], dl
movzx eax, byte [ebp - 0x33b]
mov cl, byte [ebp + eax - 0x8f8]
mov byte [ebp - 0x341], cl
movzx edx, byte [ebp - 0x331]
movzx eax, byte [ebp + edx - 0x8f8]
movzx ecx, byte [ebp - 0x336]
add ecx, eax
mov byte [ebp - 0x336], cl
mov dl, byte [ebp - 0x331]
add dl, 1
mov byte [ebp - 0x331], dl
movzx eax, byte [ebp - 0x336]
movzx ecx, byte [ebp - 0x33b]
mov dl, byte [ebp + eax - 0x8f8]
mov byte [ebp + ecx - 0x8f8], dl
movzx eax, byte [ebp - 0x335]
movzx ecx, byte [ebp - 0x336]
mov dl, byte [ebp + eax - 0x8f8]
mov byte [ebp + ecx - 0x8f8], dl
movzx eax, byte [ebp - 0x331]
movzx ecx, byte [ebp - 0x335]
mov dl, byte [ebp + eax - 0x8f8]
mov byte [ebp + ecx - 0x8f8], dl
movzx eax, byte [ebp - 0x331]
mov cl, byte [ebp - 0x341]
mov byte [ebp + eax - 0x8f8], cl
movzx edx, byte [ebp - 0x341]
movzx eax, byte [ebp + edx - 0x8f8]
movzx ecx, byte [ebp - 0x340]
add ecx, eax
mov byte [ebp - 0x340], cl
movzx edx, byte [ebp - 0x33f]
movzx eax, byte [ebp - 0x336]
movzx ecx, byte [ebp + eax - 0x8f8]
movzx eax, byte [ebp - 0x331]
movzx eax, byte [ebp + eax - 0x8f8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8f8]
xor edx, ecx
movzx eax, byte [ebp - 0x335]
movzx ecx, byte [ebp + eax - 0x8f8]
movzx eax, byte [ebp - 0x33b]
movzx eax, byte [ebp + eax - 0x8f8]
add ecx, eax
movzx eax, byte [ebp - 0x340]
movzx eax, byte [ebp + eax - 0x8f8]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x8f8]
movzx eax, byte [ebp + ecx - 0x8f8]
xor edx, eax
mov byte [ebp - 0x335], dl
mov cl, byte [ebp - 0x33f]
mov byte [ebp - 0x33b], cl
mov dl, byte [ebp - 0x335]
mov byte [ebp - 0x34c], dl
cmp dword [ebp - 0x354], 0
jle 0x4a85dc
mov eax, dword [ebp - 0x354]
mov cl, byte [ebp - 0x34c]
mov byte [ebp + eax - 0x25], cl
jmp 0x4a7f7f
mov edx, dword [ebp - 0x3ac]
add edx, 1
mov dword [ebp - 0x3ac], edx
mov eax, 1
shl eax, 4
mov dword [ebp - 0x6d4], eax
cmp dword [ebp - 0x6d4], 0x11
jae 0x4a8609
jmp 0x4a860e
call fcn.009f5b17
mov ecx, dword [ebp - 0x6d4]
mov byte [ebp + ecx - 0x24], 0
jmp 0x4a8668
mov dword [ebp - 0x554], 0
jmp 0x4a8636
mov edx, dword [ebp - 0x554]
add edx, 1
mov dword [ebp - 0x554], edx
cmp dword [ebp - 0x554], 0x11
jge 0x4a8668
mov eax, dword [ebp - 0x554]
mov dword [ebp - 0x6d0], eax
cmp dword [ebp - 0x6d0], 0x11
jae 0x4a8656
jmp 0x4a865b
call fcn.009f5b17
mov ecx, dword [ebp - 0x6d0]
mov byte [ebp + ecx - 0x24], 0
jmp 0x4a8627
lea edx, [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x91c]
call fcn.004862e0
mov dword [ebp - 0x910], eax
lea eax, [ebp - 0x320]
push eax
push 0xf01ff
mov ecx, dword [ebp - 0x56c]
push ecx
call dword [ebp - 0x910]
mov dword [ebp - 0x90c], eax
push 0xc
lea ecx, [ebp - 0x2a4]
call fcn.00486090
lea ecx, [ebp - 0x2a4]
call fcn.00486480
mov dword [ebp - 4], 1
lea edx, [ebp - 0x2a8]
push edx
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x2a4]
push ecx
mov ecx, dword [ebp - 0x510]
call fcn.004c4450
cmp dword [ebp - 0x90c], 0
je 0x4aab48
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x31c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x534], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x52c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x52c], xmm0
jmp 0x4a8737
movsd xmm0, qword [ebp - 0x52c]
addsd xmm0, qword [0xa71358]
movsd qword [ebp - 0x52c], xmm0
movsd xmm0, qword [0xa735f0]
comisd xmm0, xmmword [ebp - 0x52c]
jbe 0x4a87e8
movsd xmm0, qword [0xa73480]
mulsd xmm0, qword [ebp - 0x52c]
mulsd xmm0, qword [ebp - 0x52c]
movsd xmm1, qword [ebp - 0x52c]
mulsd xmm1, qword [ebp - 0x52c]
subsd xmm0, xmm1
movsd xmm1, qword [0xa713c8]
mulsd xmm1, qword [ebp - 0x52c]
mulsd xmm1, qword [ebp - 0x52c]
addsd xmm1, qword [0xa714a8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x534]
movsd qword [ebp - 0x534], xmm0
movsd xmm0, qword [ebp - 0x534]
comisd xmm0, xmmword [0xa73428]
jbe 0x4a87e3
movsd xmm0, qword [0xa73310]
mulsd xmm0, qword [ebp - 0x52c]
movsd xmm1, qword [ebp - 0x534]
subsd xmm1, xmm0
movsd qword [ebp - 0x534], xmm1
jmp 0x4a871f
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x534]
jbe 0x4a883c
sub byte [ecx + 0x45], cl
imul eax, dword [ebp + 0x39], 0x5b244b23
pop ecx
push esp
jb 0x4a8865
push 0x3d
cmp bh, byte [eax + 0x72]
cmp cl, byte [bp + 0x61]
and eax, 0x2d7b5520
push 0xffffffffffffffe7
popal
call 0xe7b27584
push 0xfffffffffffffff4
imul esi, ecx, 0x65
out 0x61, al
hlt
mov dword [ebp - 0x324], 0x4a8815
mov dword [ebp - 0x31c], 0x4a87f5
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x3b4], edx
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x924], eax
mov byte [ebp - 0x482], 0x24
mov dword [ebp - 0x3d8], 0
jmp 0x4a888a
idiv bh
inc esi
test dword [esi - 5], edi
invalid
mov ecx, dword [ebp - 0x3d8]
add ecx, 1
mov dword [ebp - 0x3d8], ecx
cmp dword [ebp - 0x3d8], 0x100
jae 0x4a88ab
mov edx, dword [ebp - 0x3d8]
mov al, byte [ebp - 0x3d8]
mov byte [ebp + edx - 0x6bc], al
jmp 0x4a887b
mov dword [ebp - 0x4fc], 0
mov byte [ebp - 0x349], 0
mov dword [ebp - 0x3d8], 0xff
jmp 0x4a88d7
mov ecx, dword [ebp - 0x3d8]
sub ecx, 1
mov dword [ebp - 0x3d8], ecx
cmp dword [ebp - 0x3d8], 0
jbe 0x4a8b47
mov dword [ebp - 0x59c], 0
mov dword [ebp - 0x558], 1
mov edx, dword [ebp - 0x558]
cmp edx, dword [ebp - 0x3d8]
jae 0x4a8918
mov eax, dword [ebp - 0x558]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x558], ecx
jmp 0x4a88f8
mov edx, dword [ebp - 0x4fc]
mov dword [ebp - 0x6c8], edx
cmp dword [ebp - 0x6c8], 3
ja case.default.0x4a8937
mov eax, dword [ebp - 0x6c8]
jmp dword [eax*4 + 0x4aabb8]
movzx ecx, byte [ebp - 0x349]
movzx ebx, byte [ebp + ecx - 0x6bc]
movsd xmm0, qword [ebp - 0x534]
call fcn.009f5ff0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x349], bl
jmp 0x4a8a20
movzx edx, byte [ebp - 0x349]
movzx ebx, byte [ebp + edx - 0x6bc]
movsd xmm0, qword [ebp - 0x534]
call fcn.009f5ff0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x349], bl
jmp 0x4a8a20
movzx eax, byte [ebp - 0x349]
movzx ebx, byte [ebp + eax - 0x6bc]
movsd xmm0, qword [ebp - 0x534]
call fcn.009f5ff0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x349], bl
jmp 0x4a8a20
movzx ecx, byte [ebp - 0x349]
movzx ebx, byte [ebp + ecx - 0x6bc]
movsd xmm0, qword [ebp - 0x534]
call fcn.009f5ff0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x349], bl
jmp 0x4a8a20
movzx edx, byte [ebp - 0x349]
movzx eax, byte [ebp + edx - 0x6bc]
mov ecx, dword [ebp - 0x924]
add ecx, dword [ebp - 0x4fc]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0x349], al
mov eax, dword [ebp - 0x4fc]
add eax, 1
mov dword [ebp - 0x4fc], eax
movzx ecx, byte [ebp - 0x482]
cmp dword [ebp - 0x4fc], ecx
jb 0x4a8a5e
mov dword [ebp - 0x4fc], 0
movzx edx, byte [ebp - 0x482]
movzx eax, byte [ebp - 0x349]
add eax, edx
mov byte [ebp - 0x349], al
movzx ecx, byte [ebp - 0x349]
and ecx, dword [ebp - 0x558]
mov dword [ebp - 0x4dc], ecx
mov edx, dword [ebp - 0x59c]
add edx, 1
mov dword [ebp - 0x59c], edx
cmp dword [ebp - 0x59c], 0xb
jbe 0x4a8a9d
mov eax, dword [ebp - 0x4dc]
xor edx, edx
div dword [ebp - 0x3d8]
mov dword [ebp - 0x4dc], edx
mov eax, dword [ebp - 0x4dc]
cmp eax, dword [ebp - 0x3d8]
ja 0x4a8918
mov ecx, dword [ebp - 0x3d8]
cmp ecx, dword [ebp - 0x4dc]
je 0x4a8b42
mov edx, dword [ebp - 0x4dc]
movzx eax, byte [ebp + edx - 0x6bc]
mov ecx, dword [ebp - 0x3d8]
movzx edx, byte [ebp + ecx - 0x6bc]
xor edx, eax
mov eax, dword [ebp - 0x3d8]
mov byte [ebp + eax - 0x6bc], dl
mov ecx, dword [ebp - 0x3d8]
movzx edx, byte [ebp + ecx - 0x6bc]
mov eax, dword [ebp - 0x4dc]
movzx ecx, byte [ebp + eax - 0x6bc]
xor ecx, edx
mov edx, dword [ebp - 0x4dc]
mov byte [ebp + edx - 0x6bc], cl
mov eax, dword [ebp - 0x4dc]
movzx ecx, byte [ebp + eax - 0x6bc]
mov edx, dword [ebp - 0x3d8]
movzx eax, byte [ebp + edx - 0x6bc]
xor eax, ecx
mov ecx, dword [ebp - 0x3d8]
mov byte [ebp + ecx - 0x6bc], al
jmp 0x4a88c8
mov edx, 1
shl edx, 0
mov al, byte [ebp + edx - 0x6bc]
mov byte [ebp - 0x32d], al
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x6bc]
mov byte [ebp - 0x32e], al
mov ecx, 1
imul edx, ecx, 5
mov al, byte [ebp + edx - 0x6bc]
mov byte [ebp - 0x339], al
mov ecx, 1
imul edx, ecx, 7
mov al, byte [ebp + edx - 0x6bc]
mov byte [ebp - 0x32f], al
movzx ecx, byte [ebp - 0x349]
mov dl, byte [ebp + ecx - 0x6bc]
mov byte [ebp - 0x334], dl
mov dword [ebp - 0x6c4], 0x22
cmp dword [ebp - 0x6c4], 2
jle 0x4aa6a4
mov eax, dword [ebp - 0x6c4]
and eax, 1
jne 0x4aa6a4
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x36c], 0
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x3b0], 0
mov edx, dword [ebp - 0x348]
shl edx, 1
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x398], 0
mov eax, dword [ebp - 0x3b4]
add eax, dword [ebp - 0x3b0]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x398]
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], 0
mov edx, dword [ebp - 0x394]
add edx, 0xe6
mov dword [ebp - 0x394], edx
mov dword [ebp - 0x3b8], 0
mov eax, dword [ebp - 0x348]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x3b8], ecx
mov dword [ebp - 0x3a8], 0
mov edx, dword [ebp - 0x3b4]
add edx, dword [ebp - 0x3b8]
movzx eax, byte [edx]
add eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x39c], 0
mov ecx, dword [ebp - 0x39c]
add ecx, 0x60
mov dword [ebp - 0x39c], ecx
mov dword [ebp - 0x3a0], 0
mov edx, dword [ebp - 0x398]
sub edx, dword [ebp - 0x394]
add edx, dword [ebp - 0x3a0]
mov dword [ebp - 0x3a0], edx
mov dword [ebp - 0x3a4], 0
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x39c]
add eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x3bc], 0
mov ecx, dword [ebp - 0x3a0]
shl ecx, 4
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x3c0], 0
mov edx, dword [ebp - 0x3a4]
mov dword [ebp - 0x3c0], edx
mov dword [ebp - 0x3c4], 0
mov eax, dword [ebp - 0x3bc]
or eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], eax
mov byte [ebp - 0x33a], 0
mov cl, byte [ebp - 0x3c4]
mov byte [ebp - 0x33a], cl
mov byte [ebp - 0x338], 0
movzx edx, byte [ebp - 0x334]
mov al, byte [ebp + edx - 0x6bc]
mov byte [ebp - 0x338], al
movzx ecx, byte [ebp - 0x32d]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx eax, byte [ebp - 0x32e]
add eax, edx
mov byte [ebp - 0x32e], al
mov cl, byte [ebp - 0x32d]
add cl, 1
mov byte [ebp - 0x32d], cl
movzx edx, byte [ebp - 0x32e]
movzx eax, byte [ebp - 0x334]
mov cl, byte [ebp + edx - 0x6bc]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x32f]
movzx eax, byte [ebp - 0x32e]
mov cl, byte [ebp + edx - 0x6bc]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x32d]
movzx eax, byte [ebp - 0x32f]
mov cl, byte [ebp + edx - 0x6bc]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x32d]
mov al, byte [ebp - 0x338]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x338]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx eax, byte [ebp - 0x339]
add eax, edx
mov byte [ebp - 0x339], al
movzx ecx, byte [ebp - 0x33a]
movzx edx, byte [ebp - 0x32e]
movzx eax, byte [ebp + edx - 0x6bc]
movzx edx, byte [ebp - 0x32d]
movzx edx, byte [ebp + edx - 0x6bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x6bc]
xor ecx, eax
movzx edx, byte [ebp - 0x32f]
movzx eax, byte [ebp + edx - 0x6bc]
movzx edx, byte [ebp - 0x334]
movzx edx, byte [ebp + edx - 0x6bc]
add eax, edx
movzx edx, byte [ebp - 0x339]
movzx edx, byte [ebp + edx - 0x6bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x6bc]
movzx edx, byte [ebp + eax - 0x6bc]
xor ecx, edx
mov byte [ebp - 0x32f], cl
mov al, byte [ebp - 0x33a]
mov byte [ebp - 0x334], al
mov cl, byte [ebp - 0x32f]
mov byte [ebp - 0x342], cl
cmp dword [ebp - 0x348], 0
jle 0x4a8ed1
movsx dx, byte [ebp - 0x342]
mov eax, dword [ebp - 0x348]
mov word [ebp + eax*2 - 0x4a], dx
mov ecx, dword [ebp - 0x348]
add ecx, 1
mov dword [ebp - 0x348], ecx
mov edx, dword [ebp - 0x36c]
add edx, 1
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x348]
shl eax, 1
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3b4]
add ecx, dword [ebp - 0x3b0]
movzx edx, byte [ecx]
mov dword [ebp - 0x398], edx
mov dword [ebp - 0x394], 0xe6
mov eax, dword [ebp - 0x348]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x3b4]
add edx, dword [ebp - 0x3b8]
movzx eax, byte [edx]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x39c], 0x60
mov ecx, dword [ebp - 0x398]
sub ecx, dword [ebp - 0x394]
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x3a8]
sub edx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3a0]
shl eax, 4
mov dword [ebp - 0x3bc], eax
mov ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x3c0], ecx
mov edx, dword [ebp - 0x3bc]
or edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], edx
mov al, byte [ebp - 0x3c4]
mov byte [ebp - 0x33a], al
movzx ecx, byte [ebp - 0x334]
mov dl, byte [ebp + ecx - 0x6bc]
mov byte [ebp - 0x338], dl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx edx, byte [ebp - 0x32e]
add edx, ecx
mov byte [ebp - 0x32e], dl
mov al, byte [ebp - 0x32d]
add al, 1
mov byte [ebp - 0x32d], al
movzx ecx, byte [ebp - 0x32e]
movzx edx, byte [ebp - 0x334]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32f]
movzx edx, byte [ebp - 0x32e]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32d]
movzx edx, byte [ebp - 0x32f]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32d]
mov dl, byte [ebp - 0x338]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x338]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx edx, byte [ebp - 0x339]
add edx, ecx
mov byte [ebp - 0x339], dl
movzx eax, byte [ebp - 0x33a]
movzx ecx, byte [ebp - 0x32e]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx ecx, byte [ebp - 0x32d]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6bc]
xor eax, edx
movzx ecx, byte [ebp - 0x32f]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx ecx, byte [ebp - 0x334]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
movzx ecx, byte [ebp - 0x339]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6bc]
movzx ecx, byte [ebp + edx - 0x6bc]
xor eax, ecx
mov byte [ebp - 0x32f], al
mov dl, byte [ebp - 0x33a]
mov byte [ebp - 0x334], dl
mov al, byte [ebp - 0x32f]
mov byte [ebp - 0x342], al
cmp dword [ebp - 0x348], 0
jle 0x4a9128
movsx cx, byte [ebp - 0x342]
mov edx, dword [ebp - 0x348]
mov word [ebp + edx*2 - 0x4a], cx
mov eax, dword [ebp - 0x36c]
add eax, 4
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x348]
add ecx, 1
mov dword [ebp - 0x580], ecx
jmp 0x4a9157
mov edx, dword [ebp - 0x580]
add edx, 1
mov dword [ebp - 0x580], edx
mov eax, dword [ebp - 0x580]
cmp eax, dword [ebp - 0x36c]
jge 0x4a95c1
mov ecx, dword [ebp - 0x348]
add ecx, 1
mov dword [ebp - 0x348], ecx
movss xmm0, dword [0xa73b34]
movss dword [ebp - 0x468], xmm0
movss xmm0, dword [0xa73aa8]
movss dword [ebp - 0x380], xmm0
movss xmm0, dword [0xa739e8]
movss dword [ebp - 0x37c], xmm0
movss xmm0, dword [ebp - 0x380]
mulss xmm0, dword [ebp - 0x37c]
movss dword [ebp - 0x380], xmm0
movss xmm0, dword [ebp - 0x468]
mulss xmm0, dword [ebp - 0x37c]
movss dword [ebp - 0x468], xmm0
movss xmm0, dword [ebp - 0x380]
mulss xmm0, dword [ebp - 0x37c]
movss dword [ebp - 0x380], xmm0
movss xmm0, dword [ebp - 0x37c]
comiss xmm0, dword [ebp - 0x380]
jbe 0x4a933a
movss xmm0, dword [ebp - 0x468]
divss xmm0, dword [ebp - 0x37c]
movss dword [ebp - 0x468], xmm0
movss xmm0, dword [ebp - 0x380]
subss xmm0, dword [ebp - 0x468]
movss dword [ebp - 0x380], xmm0
movss xmm0, dword [ebp - 0x37c]
subss xmm0, dword [ebp - 0x380]
movss dword [ebp - 0x37c], xmm0
movss xmm0, dword [ebp - 0x37c]
subss xmm0, dword [ebp - 0x380]
movss dword [ebp - 0x37c], xmm0
movss xmm0, dword [ebp - 0x380]
addss xmm0, dword [ebp - 0x468]
movss dword [ebp - 0x380], xmm0
movss xmm0, dword [ebp - 0x37c]
subss xmm0, dword [ebp - 0x380]
movss dword [ebp - 0x37c], xmm0
movss xmm0, dword [ebp - 0x37c]
comiss xmm0, dword [ebp - 0x468]
jbe 0x4a92f0
movss xmm0, dword [ebp - 0x380]
divss xmm0, dword [ebp - 0x468]
movss dword [ebp - 0x380], xmm0
movss xmm0, dword [ebp - 0x37c]
divss xmm0, dword [ebp - 0x380]
movss dword [ebp - 0x37c], xmm0
movss xmm0, dword [ebp - 0x380]
mulss xmm0, dword [ebp - 0x468]
movss dword [ebp - 0x380], xmm0
jmp 0x4a9338
movss xmm0, dword [ebp - 0x468]
divss xmm0, dword [ebp - 0x37c]
movss dword [ebp - 0x468], xmm0
movss xmm0, dword [ebp - 0x37c]
divss xmm0, dword [ebp - 0x380]
movss dword [ebp - 0x37c], xmm0
movss xmm0, dword [ebp - 0x37c]
subss xmm0, dword [ebp - 0x380]
movss dword [ebp - 0x37c], xmm0
jmp 0x4a9390
movss xmm0, dword [ebp - 0x37c]
mulss xmm0, dword [ebp - 0x380]
movss dword [ebp - 0x37c], xmm0
movss xmm0, dword [ebp - 0x37c]
subss xmm0, dword [ebp - 0x380]
movss dword [ebp - 0x37c], xmm0
movss xmm0, dword [ebp - 0x380]
mulss xmm0, dword [ebp - 0x468]
movss dword [ebp - 0x380], xmm0
mov edx, dword [ebp - 0x348]
shl edx, 1
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x3b4]
add eax, dword [ebp - 0x3b0]
movzx ecx, byte [eax]
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], 0xe6
mov edx, dword [ebp - 0x348]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x3b4]
add ecx, dword [ebp - 0x3b8]
movzx edx, byte [ecx]
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x39c], 0x60
mov eax, dword [ebp - 0x398]
sub eax, dword [ebp - 0x394]
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x3a8]
sub ecx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a4], ecx
mov edx, dword [ebp - 0x3a0]
shl edx, 4
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3c0], eax
mov ecx, dword [ebp - 0x3bc]
or ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], ecx
mov dl, byte [ebp - 0x3c4]
mov byte [ebp - 0x33a], dl
movzx eax, byte [ebp - 0x334]
mov cl, byte [ebp + eax - 0x6bc]
mov byte [ebp - 0x338], cl
movzx edx, byte [ebp - 0x32d]
movzx eax, byte [ebp + edx - 0x6bc]
movzx ecx, byte [ebp - 0x32e]
add ecx, eax
mov byte [ebp - 0x32e], cl
mov dl, byte [ebp - 0x32d]
add dl, 1
mov byte [ebp - 0x32d], dl
movzx eax, byte [ebp - 0x32e]
movzx ecx, byte [ebp - 0x334]
mov dl, byte [ebp + eax - 0x6bc]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x32f]
movzx ecx, byte [ebp - 0x32e]
mov dl, byte [ebp + eax - 0x6bc]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp - 0x32f]
mov dl, byte [ebp + eax - 0x6bc]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x32d]
mov cl, byte [ebp - 0x338]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x338]
movzx eax, byte [ebp + edx - 0x6bc]
movzx ecx, byte [ebp - 0x339]
add ecx, eax
mov byte [ebp - 0x339], cl
movzx edx, byte [ebp - 0x33a]
movzx eax, byte [ebp - 0x32e]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x6bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6bc]
xor edx, ecx
movzx eax, byte [ebp - 0x32f]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx eax, byte [ebp - 0x334]
movzx eax, byte [ebp + eax - 0x6bc]
add ecx, eax
movzx eax, byte [ebp - 0x339]
movzx eax, byte [ebp + eax - 0x6bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6bc]
movzx eax, byte [ebp + ecx - 0x6bc]
xor edx, eax
mov byte [ebp - 0x32f], dl
mov cl, byte [ebp - 0x33a]
mov byte [ebp - 0x334], cl
mov dl, byte [ebp - 0x32f]
mov byte [ebp - 0x342], dl
cmp dword [ebp - 0x348], 0
jle 0x4a95bc
movsx ax, byte [ebp - 0x342]
mov ecx, dword [ebp - 0x348]
mov word [ebp + ecx*2 - 0x4a], ax
jmp 0x4a9148
mov edx, dword [ebp - 0x36c]
add edx, 1
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x348]
add eax, 1
mov dword [ebp - 0x348], eax
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x348]
shl edx, 1
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x3b4]
add eax, dword [ebp - 0x3b0]
movzx ecx, byte [eax]
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], 0xe6
mov edx, dword [ebp - 0x348]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x3b4]
add ecx, dword [ebp - 0x3b8]
movzx edx, byte [ecx]
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x39c], 0x60
mov eax, dword [ebp - 0x398]
sub eax, dword [ebp - 0x394]
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x3a8]
sub ecx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a4], ecx
mov edx, dword [ebp - 0x3a0]
shl edx, 4
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3c0], eax
mov ecx, dword [ebp - 0x3bc]
or ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], ecx
mov dl, byte [ebp - 0x3c4]
mov byte [ebp - 0x33a], dl
movzx eax, byte [ebp - 0x334]
mov cl, byte [ebp + eax - 0x6bc]
mov byte [ebp - 0x338], cl
movzx edx, byte [ebp - 0x32d]
movzx eax, byte [ebp + edx - 0x6bc]
movzx ecx, byte [ebp - 0x32e]
add ecx, eax
mov byte [ebp - 0x32e], cl
mov dl, byte [ebp - 0x32d]
add dl, 1
mov byte [ebp - 0x32d], dl
movzx eax, byte [ebp - 0x32e]
movzx ecx, byte [ebp - 0x334]
mov dl, byte [ebp + eax - 0x6bc]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x32f]
movzx ecx, byte [ebp - 0x32e]
mov dl, byte [ebp + eax - 0x6bc]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp - 0x32f]
mov dl, byte [ebp + eax - 0x6bc]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x32d]
mov cl, byte [ebp - 0x338]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x338]
movzx eax, byte [ebp + edx - 0x6bc]
movzx ecx, byte [ebp - 0x339]
add ecx, eax
mov byte [ebp - 0x339], cl
movzx edx, byte [ebp - 0x33a]
movzx eax, byte [ebp - 0x32e]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x6bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6bc]
xor edx, ecx
movzx eax, byte [ebp - 0x32f]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx eax, byte [ebp - 0x334]
movzx eax, byte [ebp + eax - 0x6bc]
add ecx, eax
movzx eax, byte [ebp - 0x339]
movzx eax, byte [ebp + eax - 0x6bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6bc]
movzx eax, byte [ebp + ecx - 0x6bc]
xor edx, eax
mov byte [ebp - 0x32f], dl
mov cl, byte [ebp - 0x33a]
mov byte [ebp - 0x334], cl
mov dl, byte [ebp - 0x32f]
mov byte [ebp - 0x342], dl
cmp dword [ebp - 0x348], 0
jle 0x4a9828
movsx ax, byte [ebp - 0x342]
mov ecx, dword [ebp - 0x348]
mov word [ebp + ecx*2 - 0x4a], ax
mov edx, dword [ebp - 0x348]
add edx, 1
mov dword [ebp - 0x348], edx
mov eax, dword [ebp - 0x36c]
add eax, 1
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x348]
shl ecx, 1
mov dword [ebp - 0x3b0], ecx
mov edx, dword [ebp - 0x3b4]
add edx, dword [ebp - 0x3b0]
movzx eax, byte [edx]
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], 0xe6
mov ecx, dword [ebp - 0x348]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x3b8], edx
mov eax, dword [ebp - 0x3b4]
add eax, dword [ebp - 0x3b8]
movzx ecx, byte [eax]
mov dword [ebp - 0x3a8], ecx
mov dword [ebp - 0x39c], 0x60
mov edx, dword [ebp - 0x398]
sub edx, dword [ebp - 0x394]
mov dword [ebp - 0x3a0], edx
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x39c]
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x3a0]
shl ecx, 4
mov dword [ebp - 0x3bc], ecx
mov edx, dword [ebp - 0x3a4]
mov dword [ebp - 0x3c0], edx
mov eax, dword [ebp - 0x3bc]
or eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], eax
mov cl, byte [ebp - 0x3c4]
mov byte [ebp - 0x33a], cl
movzx edx, byte [ebp - 0x334]
mov al, byte [ebp + edx - 0x6bc]
mov byte [ebp - 0x338], al
movzx ecx, byte [ebp - 0x32d]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx eax, byte [ebp - 0x32e]
add eax, edx
mov byte [ebp - 0x32e], al
mov cl, byte [ebp - 0x32d]
add cl, 1
mov byte [ebp - 0x32d], cl
movzx edx, byte [ebp - 0x32e]
movzx eax, byte [ebp - 0x334]
mov cl, byte [ebp + edx - 0x6bc]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x32f]
movzx eax, byte [ebp - 0x32e]
mov cl, byte [ebp + edx - 0x6bc]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x32d]
movzx eax, byte [ebp - 0x32f]
mov cl, byte [ebp + edx - 0x6bc]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x32d]
mov al, byte [ebp - 0x338]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x338]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx eax, byte [ebp - 0x339]
add eax, edx
mov byte [ebp - 0x339], al
movzx ecx, byte [ebp - 0x33a]
movzx edx, byte [ebp - 0x32e]
movzx eax, byte [ebp + edx - 0x6bc]
movzx edx, byte [ebp - 0x32d]
movzx edx, byte [ebp + edx - 0x6bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x6bc]
xor ecx, eax
movzx edx, byte [ebp - 0x32f]
movzx eax, byte [ebp + edx - 0x6bc]
movzx edx, byte [ebp - 0x334]
movzx edx, byte [ebp + edx - 0x6bc]
add eax, edx
movzx edx, byte [ebp - 0x339]
movzx edx, byte [ebp + edx - 0x6bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x6bc]
movzx edx, byte [ebp + eax - 0x6bc]
xor ecx, edx
mov byte [ebp - 0x32f], cl
mov al, byte [ebp - 0x33a]
mov byte [ebp - 0x334], al
mov cl, byte [ebp - 0x32f]
mov byte [ebp - 0x342], cl
cmp dword [ebp - 0x348], 0
jle 0x4a9a7e
movsx dx, byte [ebp - 0x342]
mov eax, dword [ebp - 0x348]
mov word [ebp + eax*2 - 0x4a], dx
mov ecx, dword [ebp - 0x36c]
add ecx, 5
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x348]
add edx, 1
mov dword [ebp - 0x584], edx
jmp 0x4a9aad
mov eax, dword [ebp - 0x584]
add eax, 1
mov dword [ebp - 0x584], eax
mov ecx, dword [ebp - 0x584]
cmp ecx, dword [ebp - 0x36c]
jge 0x4a9d0c
mov edx, dword [ebp - 0x348]
add edx, 1
mov dword [ebp - 0x348], edx
mov eax, dword [ebp - 0x348]
shl eax, 1
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3b4]
add ecx, dword [ebp - 0x3b0]
movzx edx, byte [ecx]
mov dword [ebp - 0x398], edx
mov dword [ebp - 0x394], 0xe6
mov eax, dword [ebp - 0x348]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x3b4]
add edx, dword [ebp - 0x3b8]
movzx eax, byte [edx]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x39c], 0x60
mov ecx, dword [ebp - 0x398]
sub ecx, dword [ebp - 0x394]
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x3a8]
sub edx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3a0]
shl eax, 4
mov dword [ebp - 0x3bc], eax
mov ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x3c0], ecx
mov edx, dword [ebp - 0x3bc]
or edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], edx
mov al, byte [ebp - 0x3c4]
mov byte [ebp - 0x33a], al
movzx ecx, byte [ebp - 0x334]
mov dl, byte [ebp + ecx - 0x6bc]
mov byte [ebp - 0x338], dl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx edx, byte [ebp - 0x32e]
add edx, ecx
mov byte [ebp - 0x32e], dl
mov al, byte [ebp - 0x32d]
add al, 1
mov byte [ebp - 0x32d], al
movzx ecx, byte [ebp - 0x32e]
movzx edx, byte [ebp - 0x334]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32f]
movzx edx, byte [ebp - 0x32e]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32d]
movzx edx, byte [ebp - 0x32f]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32d]
mov dl, byte [ebp - 0x338]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x338]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx edx, byte [ebp - 0x339]
add edx, ecx
mov byte [ebp - 0x339], dl
movzx eax, byte [ebp - 0x33a]
movzx ecx, byte [ebp - 0x32e]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx ecx, byte [ebp - 0x32d]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6bc]
xor eax, edx
movzx ecx, byte [ebp - 0x32f]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx ecx, byte [ebp - 0x334]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
movzx ecx, byte [ebp - 0x339]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6bc]
movzx ecx, byte [ebp + edx - 0x6bc]
xor eax, ecx
mov byte [ebp - 0x32f], al
mov dl, byte [ebp - 0x33a]
mov byte [ebp - 0x334], dl
mov al, byte [ebp - 0x32f]
mov byte [ebp - 0x342], al
cmp dword [ebp - 0x348], 0
jle 0x4a9d07
movsx cx, byte [ebp - 0x342]
mov edx, dword [ebp - 0x348]
mov word [ebp + edx*2 - 0x4a], cx
jmp 0x4a9a9e
mov eax, dword [ebp - 0x36c]
add eax, 1
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x348]
add ecx, 1
mov dword [ebp - 0x348], ecx
mov edx, dword [ebp - 0x36c]
add edx, 1
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x348]
shl eax, 1
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3b4]
add ecx, dword [ebp - 0x3b0]
movzx edx, byte [ecx]
mov dword [ebp - 0x398], edx
mov dword [ebp - 0x394], 0xe6
mov eax, dword [ebp - 0x348]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x3b4]
add edx, dword [ebp - 0x3b8]
movzx eax, byte [edx]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x39c], 0x60
mov ecx, dword [ebp - 0x398]
sub ecx, dword [ebp - 0x394]
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x3a8]
sub edx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3a0]
shl eax, 4
mov dword [ebp - 0x3bc], eax
mov ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x3c0], ecx
mov edx, dword [ebp - 0x3bc]
or edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], edx
mov al, byte [ebp - 0x3c4]
mov byte [ebp - 0x33a], al
movzx ecx, byte [ebp - 0x334]
mov dl, byte [ebp + ecx - 0x6bc]
mov byte [ebp - 0x338], dl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx edx, byte [ebp - 0x32e]
add edx, ecx
mov byte [ebp - 0x32e], dl
mov al, byte [ebp - 0x32d]
add al, 1
mov byte [ebp - 0x32d], al
movzx ecx, byte [ebp - 0x32e]
movzx edx, byte [ebp - 0x334]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32f]
movzx edx, byte [ebp - 0x32e]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32d]
movzx edx, byte [ebp - 0x32f]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32d]
mov dl, byte [ebp - 0x338]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x338]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx edx, byte [ebp - 0x339]
add edx, ecx
mov byte [ebp - 0x339], dl
movzx eax, byte [ebp - 0x33a]
movzx ecx, byte [ebp - 0x32e]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx ecx, byte [ebp - 0x32d]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6bc]
xor eax, edx
movzx ecx, byte [ebp - 0x32f]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx ecx, byte [ebp - 0x334]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
movzx ecx, byte [ebp - 0x339]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6bc]
movzx ecx, byte [ebp + edx - 0x6bc]
xor eax, ecx
mov byte [ebp - 0x32f], al
mov dl, byte [ebp - 0x33a]
mov byte [ebp - 0x334], dl
mov al, byte [ebp - 0x32f]
mov byte [ebp - 0x342], al
cmp dword [ebp - 0x348], 0
jle 0x4a9f72
movsx cx, byte [ebp - 0x342]
mov edx, dword [ebp - 0x348]
mov word [ebp + edx*2 - 0x4a], cx
mov eax, dword [ebp - 0x348]
add eax, 1
mov dword [ebp - 0x348], eax
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x348]
shl edx, 1
mov dword [ebp - 0x3b0], edx
mov eax, dword [ebp - 0x3b4]
add eax, dword [ebp - 0x3b0]
movzx ecx, byte [eax]
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], 0xe6
mov edx, dword [ebp - 0x348]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x3b4]
add ecx, dword [ebp - 0x3b8]
movzx edx, byte [ecx]
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x39c], 0x60
mov eax, dword [ebp - 0x398]
sub eax, dword [ebp - 0x394]
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x3a8]
sub ecx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a4], ecx
mov edx, dword [ebp - 0x3a0]
shl edx, 4
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3c0], eax
mov ecx, dword [ebp - 0x3bc]
or ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], ecx
mov dl, byte [ebp - 0x3c4]
mov byte [ebp - 0x33a], dl
movzx eax, byte [ebp - 0x334]
mov cl, byte [ebp + eax - 0x6bc]
mov byte [ebp - 0x338], cl
movzx edx, byte [ebp - 0x32d]
movzx eax, byte [ebp + edx - 0x6bc]
movzx ecx, byte [ebp - 0x32e]
add ecx, eax
mov byte [ebp - 0x32e], cl
mov dl, byte [ebp - 0x32d]
add dl, 1
mov byte [ebp - 0x32d], dl
movzx eax, byte [ebp - 0x32e]
movzx ecx, byte [ebp - 0x334]
mov dl, byte [ebp + eax - 0x6bc]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x32f]
movzx ecx, byte [ebp - 0x32e]
mov dl, byte [ebp + eax - 0x6bc]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp - 0x32f]
mov dl, byte [ebp + eax - 0x6bc]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x32d]
mov cl, byte [ebp - 0x338]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x338]
movzx eax, byte [ebp + edx - 0x6bc]
movzx ecx, byte [ebp - 0x339]
add ecx, eax
mov byte [ebp - 0x339], cl
movzx edx, byte [ebp - 0x33a]
movzx eax, byte [ebp - 0x32e]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx eax, byte [ebp - 0x32d]
movzx eax, byte [ebp + eax - 0x6bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6bc]
xor edx, ecx
movzx eax, byte [ebp - 0x32f]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx eax, byte [ebp - 0x334]
movzx eax, byte [ebp + eax - 0x6bc]
add ecx, eax
movzx eax, byte [ebp - 0x339]
movzx eax, byte [ebp + eax - 0x6bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x6bc]
movzx eax, byte [ebp + ecx - 0x6bc]
xor edx, eax
mov byte [ebp - 0x32f], dl
mov cl, byte [ebp - 0x33a]
mov byte [ebp - 0x334], cl
mov dl, byte [ebp - 0x32f]
mov byte [ebp - 0x342], dl
cmp dword [ebp - 0x348], 0
jle 0x4aa1ca
movsx ax, byte [ebp - 0x342]
mov ecx, dword [ebp - 0x348]
mov word [ebp + ecx*2 - 0x4a], ax
mov edx, dword [ebp - 0x348]
add edx, 1
mov dword [ebp - 0x348], edx
mov eax, dword [ebp - 0x36c]
add eax, 1
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x348]
shl ecx, 1
mov dword [ebp - 0x3b0], ecx
mov edx, dword [ebp - 0x3b4]
add edx, dword [ebp - 0x3b0]
movzx eax, byte [edx]
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], 0xe6
mov ecx, dword [ebp - 0x348]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x3b8], edx
mov eax, dword [ebp - 0x3b4]
add eax, dword [ebp - 0x3b8]
movzx ecx, byte [eax]
mov dword [ebp - 0x3a8], ecx
mov dword [ebp - 0x39c], 0x60
mov edx, dword [ebp - 0x398]
sub edx, dword [ebp - 0x394]
mov dword [ebp - 0x3a0], edx
mov eax, dword [ebp - 0x3a8]
sub eax, dword [ebp - 0x39c]
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x3a0]
shl ecx, 4
mov dword [ebp - 0x3bc], ecx
mov edx, dword [ebp - 0x3a4]
mov dword [ebp - 0x3c0], edx
mov eax, dword [ebp - 0x3bc]
or eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], eax
mov cl, byte [ebp - 0x3c4]
mov byte [ebp - 0x33a], cl
movzx edx, byte [ebp - 0x334]
mov al, byte [ebp + edx - 0x6bc]
mov byte [ebp - 0x338], al
movzx ecx, byte [ebp - 0x32d]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx eax, byte [ebp - 0x32e]
add eax, edx
mov byte [ebp - 0x32e], al
mov cl, byte [ebp - 0x32d]
add cl, 1
mov byte [ebp - 0x32d], cl
movzx edx, byte [ebp - 0x32e]
movzx eax, byte [ebp - 0x334]
mov cl, byte [ebp + edx - 0x6bc]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x32f]
movzx eax, byte [ebp - 0x32e]
mov cl, byte [ebp + edx - 0x6bc]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x32d]
movzx eax, byte [ebp - 0x32f]
mov cl, byte [ebp + edx - 0x6bc]
mov byte [ebp + eax - 0x6bc], cl
movzx edx, byte [ebp - 0x32d]
mov al, byte [ebp - 0x338]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x338]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx eax, byte [ebp - 0x339]
add eax, edx
mov byte [ebp - 0x339], al
movzx ecx, byte [ebp - 0x33a]
movzx edx, byte [ebp - 0x32e]
movzx eax, byte [ebp + edx - 0x6bc]
movzx edx, byte [ebp - 0x32d]
movzx edx, byte [ebp + edx - 0x6bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x6bc]
xor ecx, eax
movzx edx, byte [ebp - 0x32f]
movzx eax, byte [ebp + edx - 0x6bc]
movzx edx, byte [ebp - 0x334]
movzx edx, byte [ebp + edx - 0x6bc]
add eax, edx
movzx edx, byte [ebp - 0x339]
movzx edx, byte [ebp + edx - 0x6bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x6bc]
movzx edx, byte [ebp + eax - 0x6bc]
xor ecx, edx
mov byte [ebp - 0x32f], cl
mov al, byte [ebp - 0x33a]
mov byte [ebp - 0x334], al
mov cl, byte [ebp - 0x32f]
mov byte [ebp - 0x342], cl
cmp dword [ebp - 0x348], 0
jle 0x4aa420
movsx dx, byte [ebp - 0x342]
mov eax, dword [ebp - 0x348]
mov word [ebp + eax*2 - 0x4a], dx
mov ecx, dword [ebp - 0x348]
add ecx, 1
mov dword [ebp - 0x348], ecx
mov edx, dword [ebp - 0x36c]
add edx, 1
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x348]
shl eax, 1
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3b4]
add ecx, dword [ebp - 0x3b0]
movzx edx, byte [ecx]
mov dword [ebp - 0x398], edx
mov dword [ebp - 0x394], 0xe6
mov eax, dword [ebp - 0x348]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x3b4]
add edx, dword [ebp - 0x3b8]
movzx eax, byte [edx]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x39c], 0x60
mov ecx, dword [ebp - 0x398]
sub ecx, dword [ebp - 0x394]
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x3a8]
sub edx, dword [ebp - 0x39c]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3a0]
shl eax, 4
mov dword [ebp - 0x3bc], eax
mov ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x3c0], ecx
mov edx, dword [ebp - 0x3bc]
or edx, dword [ebp - 0x3c0]
mov dword [ebp - 0x3c4], edx
mov al, byte [ebp - 0x3c4]
mov byte [ebp - 0x33a], al
movzx ecx, byte [ebp - 0x334]
mov dl, byte [ebp + ecx - 0x6bc]
mov byte [ebp - 0x338], dl
movzx eax, byte [ebp - 0x32d]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx edx, byte [ebp - 0x32e]
add edx, ecx
mov byte [ebp - 0x32e], dl
mov al, byte [ebp - 0x32d]
add al, 1
mov byte [ebp - 0x32d], al
movzx ecx, byte [ebp - 0x32e]
movzx edx, byte [ebp - 0x334]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32f]
movzx edx, byte [ebp - 0x32e]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32d]
movzx edx, byte [ebp - 0x32f]
mov al, byte [ebp + ecx - 0x6bc]
mov byte [ebp + edx - 0x6bc], al
movzx ecx, byte [ebp - 0x32d]
mov dl, byte [ebp - 0x338]
mov byte [ebp + ecx - 0x6bc], dl
movzx eax, byte [ebp - 0x338]
movzx ecx, byte [ebp + eax - 0x6bc]
movzx edx, byte [ebp - 0x339]
add edx, ecx
mov byte [ebp - 0x339], dl
movzx eax, byte [ebp - 0x33a]
movzx ecx, byte [ebp - 0x32e]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx ecx, byte [ebp - 0x32d]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6bc]
xor eax, edx
movzx ecx, byte [ebp - 0x32f]
movzx edx, byte [ebp + ecx - 0x6bc]
movzx ecx, byte [ebp - 0x334]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
movzx ecx, byte [ebp - 0x339]
movzx ecx, byte [ebp + ecx - 0x6bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x6bc]
movzx ecx, byte [ebp + edx - 0x6bc]
xor eax, ecx
mov byte [ebp - 0x32f], al
mov dl, byte [ebp - 0x33a]
mov byte [ebp - 0x334], dl
mov al, byte [ebp - 0x32f]
mov byte [ebp - 0x342], al
cmp dword [ebp - 0x348], 0
jle 0x4aa677
movsx cx, byte [ebp - 0x342]
mov edx, dword [ebp - 0x348]
mov word [ebp + edx*2 - 0x4a], cx
mov eax, 2
shl eax, 4
mov dword [ebp - 0x6f8], eax
cmp dword [ebp - 0x6f8], 0x22
jae 0x4aa690
jmp 0x4aa695
call fcn.009f5b17
xor ecx, ecx
mov edx, dword [ebp - 0x6f8]
mov word [ebp + edx - 0x48], cx
jmp 0x4aa6f5
mov dword [ebp - 0x57c], 0
jmp 0x4aa6bf
mov eax, dword [ebp - 0x57c]
add eax, 1
mov dword [ebp - 0x57c], eax
cmp dword [ebp - 0x57c], 0x11
jge 0x4aa6f5
mov ecx, dword [ebp - 0x57c]
shl ecx, 1
mov dword [ebp - 0x6f4], ecx
cmp dword [ebp - 0x6f4], 0x22
jae 0x4aa6e1
jmp 0x4aa6e6
call fcn.009f5b17
xor edx, edx
mov eax, dword [ebp - 0x6f4]
mov word [ebp + eax - 0x48], dx
jmp 0x4aa6b0
push 1
lea ecx, [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x320]
push edx
mov ecx, dword [ebp - 0x510]
call fcn.004c8f80
mov dword [ebp - 0x900], eax
lea eax, [ebp - 0x298]
push eax
push 0
mov ecx, dword [ebp - 0x4f0]
push ecx
mov edx, dword [ebp - 0x56c]
push edx
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax + 0x10]
call ecx
test eax, eax
je 0x4aaad5
mov edx, dword [ebp - 0x298]
shr edx, 2
mov dword [ebp - 0x588], edx
xor ecx, ecx
mov eax, dword [ebp - 0x588]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.009f580c
add esp, 4
mov dword [ebp - 0x908], eax
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0x4f0], eax
lea ecx, [ebp - 0x298]
push ecx
mov edx, dword [ebp - 0x588]
shl edx, 2
push edx
mov eax, dword [ebp - 0x4f0]
push eax
mov ecx, dword [ebp - 0x56c]
push ecx
mov edx, dword [ebp - 0x510]
mov eax, dword [edx + 0x10]
call eax
test eax, eax
je 0x4aaa8f
mov dword [ebp - 0x574], 0
jmp 0x4aa7ca
mov ecx, dword [ebp - 0x574]
add ecx, 1
mov dword [ebp - 0x574], ecx
mov edx, dword [ebp - 0x574]
cmp edx, dword [ebp - 0x588]
jae 0x4aaa8f
push 0x104
lea eax, [ebp - 0x26c]
push eax
mov ecx, dword [ebp - 0x574]
mov edx, dword [ebp - 0x4f0]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x510]
mov edx, dword [ecx]
call edx
test eax, eax
je 0x4aaa8a
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x2c0]
call fcn.0046b1d0
mov byte [ebp - 4], 2
push fcn.00a4ae68
lea ecx, [ebp - 0x92c]
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.00486220
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x940]
push eax
lea ecx, [ebp - 0x2c0]
call fcn.00486250
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x930]
push edx
lea ecx, [ebp - 0x2c0]
call fcn.00486220
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x934]
push ecx
call fcn.0046b180
add esp, 0x14
lea ecx, [ebp - 0x59d]
call fcn.004a33c0
push eax
lea edx, [ebp - 0x938]
push edx
lea ecx, [ebp - 0x2c0]
call fcn.00486250
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x93c]
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.00486220
mov edx, dword [eax]
push edx
lea ecx, [ebp - 0x2d8]
call fcn.004a3370
mov byte [ebp - 4], 3
push 0x5c
lea ecx, [ebp - 0x2d8]
call fcn.004d50f0
push eax
call fcn.00a48f10
add esp, 8
mov dword [ebp - 0x6f0], eax
cmp dword [ebp - 0x6f0], 0
jne 0x4aa900
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
call fcn.0049fcc0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c0]
call fcn.0046b340
jmp 0x4aa7bb
lea ecx, [ebp - 0x310]
call fcn.0049f700
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2a8]
cdq
push 0
push 4
push edx
push eax
call fcn.009f5c80
push eax
lea eax, [ebp - 0x294]
push eax
lea ecx, [ebp - 0x310]
call fcn.004a30e0
mov ecx, dword [ebp - 0x6f0]
add ecx, 1
push ecx
lea ecx, [ebp - 0x95c]
call fcn.004a34b0
mov byte [ebp - 4], 5
lea edx, [ebp - 0x95c]
push edx
lea ecx, [ebp - 0x310]
call fcn.004a2db0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x95c]
call fcn.0049fcc0
lea ecx, [ebp - 0x310]
call fcn.004a1020
mov dword [ebp - 0x514], 0
jmp 0x4aa994
mov eax, dword [ebp - 0x514]
add eax, 1
mov dword [ebp - 0x514], eax
lea ecx, [ebp - 0x2a4]
call fcn.0049f030
cmp dword [ebp - 0x514], eax
jae 0x4aaa5d
mov dword [ebp - 0x570], 0
jmp 0x4aa9c6
mov ecx, dword [ebp - 0x570]
add ecx, 1
mov dword [ebp - 0x570], ecx
mov edx, dword [ebp - 0x514]
push edx
lea ecx, [ebp - 0x2a4]
call fcn.00494a60
mov ecx, dword [eax]
add ecx, 4
call fcn.0049f030
cmp dword [ebp - 0x570], eax
jae 0x4aaa58
lea ecx, [ebp - 0x310]
call fcn.004a33c0
push eax
mov eax, dword [ebp - 0x570]
push eax
mov ecx, dword [ebp - 0x514]
push ecx
lea ecx, [ebp - 0x2a4]
call fcn.00494a60
mov ecx, dword [eax]
add ecx, 4
call fcn.00494a60
mov ecx, dword [eax]
call fcn.004c8f50
mov byte [ebp - 0x4e9], al
movzx edx, byte [ebp - 0x4e9]
test edx, edx
je 0x4aaa53
mov eax, dword [ebp - 0x514]
push eax
lea ecx, [ebp - 0x2a4]
call fcn.00494a60
mov ecx, dword [eax]
mov edx, dword [ebp - 0x594]
or edx, dword [ecx]
mov dword [ebp - 0x594], edx
jmp 0x4aa9b7
jmp 0x4aa985
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x310]
call fcn.00494a10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
call fcn.0049fcc0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c0]
call fcn.0046b340
jmp 0x4aa7bb
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 0x6ec], eax
mov ecx, dword [ebp - 0x6ec]
push ecx
call fcn.009f5815
add esp, 4
cmp dword [ebp - 0x6ec], 0
jne 0x4aaabf
mov dword [ebp - 0x904], 0
jmp 0x4aaad5
mov dword [ebp - 0x4f0], 0x8123
mov edx, dword [ebp - 0x4f0]
mov dword [ebp - 0x904], edx
cmp dword [ebp - 0x900], 0
je 0x4aaaf6
push 0
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x320]
push ecx
mov ecx, dword [ebp - 0x510]
call fcn.004c8f80
mov dword [ebp - 0x590], 0x22
lea edx, [ebp - 0x48]
mov dword [ebp - 0x58c], edx
cmp dword [ebp - 0x590], 0
je 0x4aab3b
mov eax, dword [ebp - 0x58c]
mov byte [eax], 0
mov ecx, dword [ebp - 0x58c]
add ecx, 1
mov dword [ebp - 0x58c], ecx
mov edx, dword [ebp - 0x590]
sub edx, 1
mov dword [ebp - 0x590], edx
jmp 0x4aab09
mov eax, dword [ebp - 0x56c]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x2a4]
push ecx
call fcn.004b0a60
add esp, 4
mov edx, dword [ebp - 0x594]
mov dword [ebp - 0x8fc], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2a4]
call fcn.004949b0
mov eax, dword [ebp - 0x8fc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.009f55bc
mov esp, ebp
pop ebp
ret