Function at 0x51887e
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x644
mov eax, dword [0xa8d06c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov byte [ebp - 0x2e9], 0
push 0x208
push 0
lea eax, [ebp - 0x224]
push eax
call fcn.00a2a2c0
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3c4], eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x644], eax
mov eax, dword [ebp - 0x3c4]
mov ax, word [eax]
mov word [ebp - 0x376], ax
mov eax, dword [ebp - 0x394]
mov cx, word [ebp - 0x376]
mov word [eax], cx
mov eax, dword [ebp - 0x3c4]
inc eax
inc eax
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebp - 0x394]
inc eax
inc eax
mov dword [ebp - 0x394], eax
cmp word [ebp - 0x376], 0
jne 0x5188d2
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x364], eax
mov eax, dword [ebp - 0x364]
mov dword [ebp - 0x410], eax
mov eax, dword [ebp - 0x364]
mov ax, word [eax]
mov word [ebp - 0x3e2], ax
add dword [ebp - 0x364], 2
cmp word [ebp - 0x3e2], 0
jne 0x518930
mov eax, dword [ebp - 0x364]
sub eax, dword [ebp - 0x410]
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x638], ecx
mov dword [ebp - 0x634], eax
lea eax, [ebp - 0x224]
dec eax
dec eax
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x398]
mov ax, word [eax + 2]
mov word [ebp - 0x3d6], ax
add dword [ebp - 0x398], 2
cmp word [ebp - 0x3d6], 0
jne 0x51897d
mov edi, dword [ebp - 0x398]
mov esi, dword [ebp - 0x638]
mov eax, dword [ebp - 0x634]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
and dword [ebp - 0x3c8], 0
jmp 0x5189d5
mov eax, dword [ebp - 0x3c8]
inc eax
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0x3c
jge 0x51cd7e
and dword [ebp - 0x238], 0
and dword [ebp - 0x234], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x390], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x374], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x374], xmm0
jmp 0x518a2b
movsd xmm0, qword [ebp - 0x374]
addsd xmm0, qword [0xa55340]
movsd qword [ebp - 0x374], xmm0
movsd xmm0, qword [0xa584a8]
comisd xmm0, xmmword [ebp - 0x374]
jbe 0x518adc
movsd xmm0, qword [0xa58470]
mulsd xmm0, qword [ebp - 0x374]
mulsd xmm0, qword [ebp - 0x374]
movsd xmm1, qword [ebp - 0x374]
mulsd xmm1, qword [ebp - 0x374]
subsd xmm0, xmm1
movsd xmm1, qword [0xa55430]
mulsd xmm1, qword [ebp - 0x374]
mulsd xmm1, qword [ebp - 0x374]
addsd xmm1, qword [0xa58448]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x390]
comisd xmm0, xmmword [0xa58458]
jbe 0x518ad7
movsd xmm0, qword [0xa58440]
mulsd xmm0, qword [ebp - 0x374]
movsd xmm1, qword [ebp - 0x390]
subsd xmm1, xmm0
movsd qword [ebp - 0x390], xmm1
adc dword [ebp - 0x390], ecx
cld
invalid
jmp 0x518a13
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x390]
jbe 0x518b26
xor ah, byte [esi + edi*2]
sub eax, 0x4f204a5a
dec ebx
and ebp, dword [ecx + 0x22]
jae 0x518b1f
cmp bh, byte [ecx]
and esp, dword [ebx + 0x54]
push esp
push ecx
jo 0x518b28
pop ecx
pushal
push ebp
pop esp
sub dword [edi + 0x23], ecx
inc esp
pop edx
loop 0x518ad4
loop 0x518ad1
jmp 0xe21a71db
out 0xbb, eax
jmp 0x51aa7f
mov dword [ebp - 0x238], 0x518b09
mov dword [ebp - 0x234], 0x518ae9
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x62c], eax
mov byte [ebp - 0x319], 0x24
and dword [ebp - 0x29c], 0
jmp 0x518b6f
enter 0xfffffffffffffffd, 0xffffffffffffffff
or dword [ebx - 0x7a38ffaf], ecx
int3
mov eax, dword [ebp - 0x29c]
inc eax
mov dword [ebp - 0x29c], eax
cmp dword [ebp - 0x29c], 0x100
jae 0x518b90
mov eax, dword [ebp - 0x29c]
mov cl, byte [ebp - 0x29c]
mov byte [ebp + eax - 0x618], cl
jmp 0x518b62
and dword [ebp - 0x350], 0
mov byte [ebp - 0x248], 0
mov dword [ebp - 0x29c], 0xff
jmp 0x518bb7
mov eax, dword [ebp - 0x29c]
dec eax
mov dword [ebp - 0x29c], eax
cmp dword [ebp - 0x29c], 0
jbe 0x518e3c
and dword [ebp - 0x3cc], 0
mov dword [ebp - 0x3b0], 1
mov eax, dword [ebp - 0x3b0]
cmp eax, dword [ebp - 0x29c]
jae 0x518bf5
mov eax, dword [ebp - 0x3b0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3b0], eax
jmp 0x518bd5
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x630]
mov dword [ebp - 0x314], eax
cmp dword [ebp - 0x314], 0
je 0x518c3a
sub dword [ebp - 0x314], 1
je 0x518c68
sub dword [ebp - 0x314], 1
je 0x518c99
sub dword [ebp - 0x314], 1
je 0x518cc7
jmp 0x518cf5
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x618]
movsd xmm0, qword [ebp - 0x390]
call fcn.009d9750
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x518d1c
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x618]
movsd xmm0, qword [ebp - 0x390]
call fcn.009d9750
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x518d1c
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x618]
movsd xmm0, qword [ebp - 0x390]
call fcn.009d9750
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x518d1c
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x618]
movsd xmm0, qword [ebp - 0x390]
call fcn.009d9750
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x518d1c
movzx eax, byte [ebp - 0x248]
movzx eax, byte [ebp + eax - 0x618]
mov ecx, dword [ebp - 0x62c]
add ecx, dword [ebp - 0x350]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x248], al
mov eax, dword [ebp - 0x350]
inc eax
mov dword [ebp - 0x350], eax
movzx eax, byte [ebp - 0x319]
cmp dword [ebp - 0x350], eax
jb 0x518d55
and dword [ebp - 0x350], 0
movzx eax, byte [ebp - 0x319]
movzx ecx, byte [ebp - 0x248]
add ecx, eax
mov byte [ebp - 0x248], cl
movzx eax, byte [ebp - 0x248]
and eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x3cc]
inc eax
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 0xb
jbe 0x518d92
mov eax, dword [ebp - 0x344]
xor edx, edx
div dword [ebp - 0x29c]
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x344]
cmp eax, dword [ebp - 0x29c]
ja 0x518bf5
mov eax, dword [ebp - 0x29c]
cmp eax, dword [ebp - 0x344]
je 0x518e37
mov eax, dword [ebp - 0x344]
movzx eax, byte [ebp + eax - 0x618]
mov ecx, dword [ebp - 0x29c]
movzx ecx, byte [ebp + ecx - 0x618]
xor ecx, eax
mov eax, dword [ebp - 0x29c]
mov byte [ebp + eax - 0x618], cl
mov eax, dword [ebp - 0x29c]
movzx eax, byte [ebp + eax - 0x618]
mov ecx, dword [ebp - 0x344]
movzx ecx, byte [ebp + ecx - 0x618]
xor ecx, eax
mov eax, dword [ebp - 0x344]
mov byte [ebp + eax - 0x618], cl
mov eax, dword [ebp - 0x344]
movzx eax, byte [ebp + eax - 0x618]
mov ecx, dword [ebp - 0x29c]
movzx ecx, byte [ebp + ecx - 0x618]
xor ecx, eax
mov eax, dword [ebp - 0x29c]
mov byte [ebp + eax - 0x618], cl
jmp 0x518baa
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x23c], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x23e], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x245], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x248]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x240], al
mov dword [ebp - 0x40c], 0x18
cmp dword [ebp - 0x40c], 2
jle 0x51aa37
mov eax, dword [ebp - 0x40c]
and eax, 1
jne 0x51aa37
and dword [ebp - 0x254], 0
and dword [ebp - 0x270], 0
mov eax, dword [ebp - 0x270]
inc eax
mov dword [ebp - 0x270], eax
and dword [ebp - 0x2f4], 0
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2f4], eax
and dword [ebp - 0x2d8], 0
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2f4]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2d8], eax
and dword [ebp - 0x2dc], 0
mov eax, dword [ebp - 0x2dc]
add eax, 0xde
mov dword [ebp - 0x2dc], eax
and dword [ebp - 0x2fc], 0
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2fc], eax
and dword [ebp - 0x2e0], 0
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2e0], eax
and dword [ebp - 0x2e4], 0
mov eax, dword [ebp - 0x2e4]
add eax, 0xbb
mov dword [ebp - 0x2e4], eax
and dword [ebp - 0x2e8], 0
mov eax, dword [ebp - 0x2d8]
sub eax, dword [ebp - 0x2dc]
add eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2e8], eax
and dword [ebp - 0x2f0], 0
mov eax, dword [ebp - 0x2e0]
sub eax, dword [ebp - 0x2e4]
add eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f0], eax
and dword [ebp - 0x300], 0
mov eax, dword [ebp - 0x2e8]
shl eax, 4
mov dword [ebp - 0x300], eax
and dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x304], eax
and dword [ebp - 0x308], 0
mov eax, dword [ebp - 0x300]
or eax, dword [ebp - 0x304]
mov dword [ebp - 0x308], eax
mov byte [ebp - 0x246], 0
mov al, byte [ebp - 0x308]
mov byte [ebp - 0x246], al
mov byte [ebp - 0x244], 0
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23c]
add al, 1
mov byte [ebp - 0x23c], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x618], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24a], al
cmp dword [ebp - 0x254], 0
jle 0x519194
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x270]
inc eax
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2f4]
movzx eax, byte [eax]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2dc], 0xde
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2e4], 0xbb
mov eax, dword [ebp - 0x2d8]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e0]
sub eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e8]
shl eax, 4
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
or eax, dword [ebp - 0x304]
mov dword [ebp - 0x308], eax
mov al, byte [ebp - 0x308]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23c]
add al, 1
mov byte [ebp - 0x23c], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x618], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24a], al
cmp dword [ebp - 0x254], 0
jle 0x5193e4
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x270]
inc eax
mov dword [ebp - 0x270], eax
movsd xmm0, qword [0xa58508]
movsd qword [ebp - 0x324], xmm0
movsd xmm0, qword [0xa584e8]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [0xa584d0]
movsd qword [ebp - 0x330], xmm0
movsd xmm0, qword [0xa584b0]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x324]
addsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x324], xmm0
movsd xmm0, qword [ebp - 0x324]
subsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x324], xmm0
movsd xmm0, qword [ebp - 0x34c]
subsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x330]
mulsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x330], xmm0
movsd xmm0, qword [ebp - 0x338]
comisd xmm0, xmmword [ebp - 0x330]
jbe 0x51964a
movsd xmm0, qword [ebp - 0x338]
divsd xmm0, qword [ebp - 0x34c]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x338]
divsd xmm0, qword [ebp - 0x34c]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x34c]
mulsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x324]
subsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x324], xmm0
movsd xmm0, qword [ebp - 0x330]
mulsd xmm0, qword [ebp - 0x324]
movsd qword [ebp - 0x330], xmm0
movsd xmm0, qword [ebp - 0x324]
divsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x324], xmm0
movsd xmm0, qword [ebp - 0x324]
mulsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x324], xmm0
movsd xmm0, qword [ebp - 0x330]
subsd xmm0, qword [ebp - 0x324]
movsd qword [ebp - 0x330], xmm0
movsd xmm0, qword [ebp - 0x324]
comisd xmm0, xmmword [ebp - 0x330]
jbe 0x5195e8
movsd xmm0, qword [ebp - 0x338]
divsd xmm0, qword [ebp - 0x324]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x330]
subsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x330], xmm0
movsd xmm0, qword [ebp - 0x338]
subsd xmm0, qword [ebp - 0x324]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x330]
addsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x330], xmm0
jmp 0x519648
movsd xmm0, qword [ebp - 0x34c]
subsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x330]
addsd xmm0, qword [ebp - 0x324]
movsd qword [ebp - 0x330], xmm0
movsd xmm0, qword [ebp - 0x34c]
subsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x324]
addsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x324], xmm0
jmp 0x5196b8
movsd xmm0, qword [ebp - 0x34c]
mulsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x324]
mulsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x324], xmm0
movsd xmm0, qword [ebp - 0x34c]
mulsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x324]
subsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x324], xmm0
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2f4]
movzx eax, byte [eax]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2dc], 0xde
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2e4], 0xbb
mov eax, dword [ebp - 0x2d8]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e0]
sub eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e8]
shl eax, 4
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
or eax, dword [ebp - 0x304]
mov dword [ebp - 0x308], eax
mov al, byte [ebp - 0x308]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23c]
add al, 1
mov byte [ebp - 0x23c], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x618], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24a], al
cmp dword [ebp - 0x254], 0
jle 0x5198e0
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x270]
add eax, 3
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x3d0], eax
jmp 0x51990b
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d0]
cmp eax, dword [ebp - 0x270]
jge 0x519e0e
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2f4]
movzx eax, byte [eax]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2dc], 0xde
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2e4], 0xbb
mov eax, dword [ebp - 0x2d8]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e0]
sub eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e8]
shl eax, 4
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
or eax, dword [ebp - 0x304]
mov dword [ebp - 0x308], eax
mov al, byte [ebp - 0x308]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23c]
add al, 1
mov byte [ebp - 0x23c], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x618], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
movss xmm0, dword [0xa58590]
movss dword [ebp - 0x2d4], xmm0
movss xmm0, dword [0xa5856c]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [0xa5854c]
movss dword [ebp - 0x278], xmm0
movss xmm0, dword [0xa58528]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x268]
subss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x2d4]
mulss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x2d4], xmm0
movss xmm0, dword [ebp - 0x268]
mulss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x268]
subss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x2d4]
comiss xmm0, dword [ebp - 0x260]
jbe 0x519c5d
movss xmm0, dword [ebp - 0x278]
addss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x278], xmm0
movss xmm0, dword [ebp - 0x268]
addss xmm0, dword [ebp - 0x278]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x260]
mulss xmm0, dword [ebp - 0x2d4]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x278]
subss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x278], xmm0
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24a], al
jmp 0x519df0
movss xmm0, dword [ebp - 0x260]
divss xmm0, dword [ebp - 0x2d4]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x278]
subss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x278], xmm0
movss xmm0, dword [ebp - 0x268]
divss xmm0, dword [ebp - 0x278]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x260]
mulss xmm0, dword [ebp - 0x2d4]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x278]
mulss xmm0, dword [ebp - 0x2d4]
movss dword [ebp - 0x278], xmm0
movss xmm0, dword [ebp - 0x268]
divss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x260]
mulss xmm0, dword [ebp - 0x268]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x278]
subss xmm0, dword [ebp - 0x2d4]
movss dword [ebp - 0x278], xmm0
movss xmm0, dword [ebp - 0x2d4]
comiss xmm0, dword [ebp - 0x278]
jbe 0x519d90
movss xmm0, dword [ebp - 0x2d4]
addss xmm0, dword [ebp - 0x268]
movss dword [ebp - 0x2d4], xmm0
movss xmm0, dword [ebp - 0x278]
mulss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x278], xmm0
movss xmm0, dword [ebp - 0x268]
addss xmm0, dword [ebp - 0x278]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x260]
divss xmm0, dword [ebp - 0x2d4]
movss dword [ebp - 0x260], xmm0
jmp 0x519df0
movss xmm0, dword [ebp - 0x278]
mulss xmm0, dword [ebp - 0x2d4]
movss dword [ebp - 0x278], xmm0
movss xmm0, dword [ebp - 0x268]
divss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x2d4]
mulss xmm0, dword [ebp - 0x278]
movss dword [ebp - 0x2d4], xmm0
movss xmm0, dword [ebp - 0x268]
divss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x268], xmm0
cmp dword [ebp - 0x254], 0
jle 0x519e09
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x1d], cl
jmp 0x5198fe
mov eax, dword [ebp - 0x270]
inc eax
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x270]
add eax, 4
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x3f4], eax
jmp 0x519e46
mov eax, dword [ebp - 0x3f4]
inc eax
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp - 0x3f4]
cmp eax, dword [ebp - 0x270]
jge 0x51a0a0
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2f4]
movzx eax, byte [eax]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2dc], 0xde
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2e4], 0xbb
mov eax, dword [ebp - 0x2d8]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e0]
sub eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e8]
shl eax, 4
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
or eax, dword [ebp - 0x304]
mov dword [ebp - 0x308], eax
mov al, byte [ebp - 0x308]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23c]
add al, 1
mov byte [ebp - 0x23c], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x618], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24a], al
cmp dword [ebp - 0x254], 0
jle 0x51a09b
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x1d], cl
jmp 0x519e39
mov eax, dword [ebp - 0x270]
inc eax
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x270]
inc eax
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2f4]
movzx eax, byte [eax]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2dc], 0xde
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2e4], 0xbb
mov eax, dword [ebp - 0x2d8]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e0]
sub eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e8]
shl eax, 4
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
or eax, dword [ebp - 0x304]
mov dword [ebp - 0x308], eax
mov al, byte [ebp - 0x308]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23c]
add al, 1
mov byte [ebp - 0x23c], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x618], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
movss xmm0, dword [0xa58588]
movss dword [ebp - 0x2c8], xmm0
movss xmm0, dword [0xa58570]
movss dword [ebp - 0x274], xmm0
movss xmm0, dword [0xa58558]
movss dword [ebp - 0x264], xmm0
movss xmm0, dword [0xa58538]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [0xa5851c]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x2c8]
mulss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x2c8], xmm0
movss xmm0, dword [ebp - 0x26c]
subss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x274]
addss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x274], xmm0
movss xmm0, dword [ebp - 0x2c8]
mulss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x2c8], xmm0
movss xmm0, dword [ebp - 0x2c8]
mulss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x2c8], xmm0
movss xmm0, dword [ebp - 0x2c8]
comiss xmm0, dword [ebp - 0x26c]
jbe 0x51a43e
movss xmm0, dword [ebp - 0x264]
mulss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x264], xmm0
movss xmm0, dword [ebp - 0x274]
mulss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x274], xmm0
movss xmm0, dword [ebp - 0x274]
subss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x274], xmm0
movss xmm0, dword [ebp - 0x264]
mulss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x264], xmm0
movss xmm0, dword [ebp - 0x2a0]
addss xmm0, dword [ebp - 0x274]
movss dword [ebp - 0x2a0], xmm0
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24a], al
jmp 0x51a631
movss xmm0, dword [ebp - 0x264]
addss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x264], xmm0
movss xmm0, dword [ebp - 0x274]
addss xmm0, dword [ebp - 0x264]
movss dword [ebp - 0x274], xmm0
movss xmm0, dword [ebp - 0x274]
mulss xmm0, dword [ebp - 0x264]
movss dword [ebp - 0x274], xmm0
movss xmm0, dword [ebp - 0x2c8]
addss xmm0, dword [ebp - 0x274]
movss dword [ebp - 0x2c8], xmm0
movss xmm0, dword [ebp - 0x26c]
mulss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x264]
addss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x264], xmm0
movss xmm0, dword [ebp - 0x2a0]
addss xmm0, dword [ebp - 0x2c8]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x26c]
addss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x2a0]
addss xmm0, dword [ebp - 0x2c8]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x264]
mulss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x264], xmm0
movss xmm0, dword [ebp - 0x26c]
comiss xmm0, dword [ebp - 0x274]
jbe 0x51a5b9
movss xmm0, dword [ebp - 0x264]
addss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x264], xmm0
movss xmm0, dword [ebp - 0x2a0]
addss xmm0, dword [ebp - 0x2c8]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x264]
mulss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x264], xmm0
movss xmm0, dword [ebp - 0x274]
addss xmm0, dword [ebp - 0x264]
movss dword [ebp - 0x274], xmm0
movss xmm0, dword [ebp - 0x274]
mulss xmm0, dword [ebp - 0x264]
movss dword [ebp - 0x274], xmm0
jmp 0x51a631
movss xmm0, dword [ebp - 0x26c]
mulss xmm0, dword [ebp - 0x2c8]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x274]
subss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x274], xmm0
movss xmm0, dword [ebp - 0x2c8]
mulss xmm0, dword [ebp - 0x264]
movss dword [ebp - 0x2c8], xmm0
movss xmm0, dword [ebp - 0x26c]
mulss xmm0, dword [ebp - 0x2c8]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x264]
divss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x264], xmm0
cmp dword [ebp - 0x254], 0
jle 0x51a64a
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x1d], cl
movsd xmm0, qword [0xa584f8]
movsd qword [ebp - 0x3b8], xmm0
movsd xmm0, qword [0xa584e0]
movsd qword [ebp - 0x3c0], xmm0
movsd xmm0, qword [0xa584c0]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [0xa58498]
movsd qword [ebp - 0x380], xmm0
movsd xmm0, qword [ebp - 0x3c0]
subsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x3c0], xmm0
movsd xmm0, qword [ebp - 0x360]
mulsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x360]
subsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x3c0]
mulsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x3c0], xmm0
movsd xmm0, qword [ebp - 0x360]
comisd xmm0, xmmword [ebp - 0x380]
jbe 0x51a76b
movsd xmm0, qword [ebp - 0x3b8]
mulsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x3b8], xmm0
movsd xmm0, qword [ebp - 0x360]
subsd xmm0, qword [ebp - 0x3b8]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x380]
addsd xmm0, qword [ebp - 0x3c0]
movsd qword [ebp - 0x380], xmm0
movsd xmm0, qword [ebp - 0x3c0]
mulsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x3c0], xmm0
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
jmp 0x51a7cb
movsd xmm0, qword [ebp - 0x360]
mulsd xmm0, qword [ebp - 0x3b8]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x3b8]
divsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x3b8], xmm0
movsd xmm0, qword [ebp - 0x380]
divsd xmm0, qword [ebp - 0x3c0]
movsd qword [ebp - 0x380], xmm0
movsd xmm0, qword [ebp - 0x3b8]
subsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x3b8], xmm0
mov eax, dword [ebp - 0x270]
inc eax
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2f4]
movzx eax, byte [eax]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2dc], 0xde
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2e4], 0xbb
mov eax, dword [ebp - 0x2d8]
sub eax, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2e0]
sub eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2e8]
shl eax, 4
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x300]
or eax, dword [ebp - 0x304]
mov dword [ebp - 0x308], eax
mov al, byte [ebp - 0x308]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23c]
add al, 1
mov byte [ebp - 0x23c], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x618]
mov byte [ebp + ecx - 0x618], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x618], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x618]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x246]
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x618]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x618]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x618]
movzx ecx, byte [ebp + ecx - 0x618]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x240], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24a], al
cmp dword [ebp - 0x254], 0
jle 0x51aa0e
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24a]
mov byte [ebp + eax - 0x1d], cl
xor eax, eax
inc eax
imul eax, eax, 0xb
mov dword [ebp - 0x404], eax
cmp dword [ebp - 0x404], 0xc
jae 0x51aa25
jmp 0x51aa2a
call fcn.009d9277
mov eax, dword [ebp - 0x404]
mov byte [ebp + eax - 0x1c], 0
jmp 0x51aa7f
and dword [ebp - 0x39c], 0
jmp 0x51aa4d
mov eax, dword [ebp - 0x39c]
inc eax
mov dword [ebp - 0x39c], eax
cmp dword [ebp - 0x39c], 0xc
jge 0x51aa7f
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0xc
jae 0x51aa6d
jmp 0x51aa72
call fcn.009d9277
mov eax, dword [ebp - 0x408]
mov byte [ebp + eax - 0x1c], 0
jmp 0x51aa40
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.00482890
mov dword [ebp - 0x628], eax
push 0
push 0x80
push 3
push 0
push 1
push 0xa0000000
lea eax, [ebp - 0x224]
push eax
call dword [ebp - 0x628]
mov dword [ebp - 0x3ac], eax
cmp dword [ebp - 0x3ac], 0xffffffff
je 0x51cd6e
push 0
push dword [ebp - 0x3ac]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x3dc], eax
and dword [ebp - 0x228], 0
push dword [ebp - 0x3dc]
call fcn.009d8f6c
pop ecx
mov dword [ebp - 0x624], eax
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x310], eax
and dword [ebp - 0x230], 0
and dword [ebp - 0x22c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x388], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x36c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x36c], xmm0
jmp 0x51ab48
movsd xmm0, qword [ebp - 0x36c]
addsd xmm0, qword [0xa55360]
movsd qword [ebp - 0x36c], xmm0
movsd xmm0, qword [0xa58490]
comisd xmm0, xmmword [ebp - 0x36c]
jbe 0x51abf9
movsd xmm0, qword [0xa58478]
mulsd xmm0, qword [ebp - 0x36c]
mulsd xmm0, qword [ebp - 0x36c]
movsd xmm1, qword [ebp - 0x36c]
mulsd xmm1, qword [ebp - 0x36c]
subsd xmm0, xmm1
movsd xmm1, qword [0xa55380]
mulsd xmm1, qword [ebp - 0x36c]
mulsd xmm1, qword [ebp - 0x36c]
addsd xmm1, qword [0xa56310]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x388]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [ebp - 0x388]
comisd xmm0, xmmword [0xa58468]
jbe 0x51abf4
movsd xmm0, qword [0xa58438]
mulsd xmm0, qword [ebp - 0x36c]
movsd xmm1, qword [ebp - 0x388]
subsd xmm1, xmm0
movsd qword [ebp - 0x388], xmm1
jmp 0x51ab30
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x388]
jbe 0x51ac30
and word ds:[ecx], si
dec esi
xor dword [edx], esp
inc esp
cmp dword [bx + si], esi
inc edx
xor eax, 0x4f61266f
cmp eax, 0xe5e0a3e
push esi
push es
arpl word [0xd570661], cx
pop eax
xorps xmm2, xmmword [eax]
push ebp
or eax, 0x1f41e95b
add byte [eax], al
mov dword [ebp - 0x230], 0x51ac19
mov dword [ebp - 0x22c], 0x51ac06
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x61c], eax
mov byte [ebp - 0x31b], 0x17
and dword [ebp - 0x2a4], 0
jmp 0x51ac79
mov eax, dword [ebp - 0x2a4]
inc eax
mov dword [ebp - 0x2a4], eax
cmp dword [ebp - 0x2a4], 0x100
jae 0x51ac9a
mov eax, dword [ebp - 0x2a4]
mov cl, byte [ebp - 0x2a4]
mov byte [ebp + eax - 0x518], cl
jmp 0x51ac6c
and dword [ebp - 0x354], 0
mov byte [ebp - 0x249], 0
mov dword [ebp - 0x2a4], 0xff
jmp 0x51acc1
mov eax, dword [ebp - 0x2a4]
dec eax
mov dword [ebp - 0x2a4], eax
cmp dword [ebp - 0x2a4], 0
jbe 0x51af46
and dword [ebp - 0x3f0], 0
mov dword [ebp - 0x3a0], 1
mov eax, dword [ebp - 0x3a0]
cmp eax, dword [ebp - 0x2a4]
jae 0x51acff
mov eax, dword [ebp - 0x3a0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3a0], eax
jmp 0x51acdf
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0x620], eax
mov eax, dword [ebp - 0x620]
mov dword [ebp - 0x318], eax
cmp dword [ebp - 0x318], 0
je 0x51ad44
sub dword [ebp - 0x318], 1
je 0x51ad72
sub dword [ebp - 0x318], 1
je 0x51ada3
sub dword [ebp - 0x318], 1
je 0x51add1
jmp 0x51adff
movzx eax, byte [ebp - 0x249]
movzx ebx, byte [ebp + eax - 0x518]
movsd xmm0, qword [ebp - 0x388]
call fcn.009d9750
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x249], bl
jmp 0x51ae26
movzx eax, byte [ebp - 0x249]
movzx ebx, byte [ebp + eax - 0x518]
movsd xmm0, qword [ebp - 0x388]
call fcn.009d9750
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x249], bl
jmp 0x51ae26
movzx eax, byte [ebp - 0x249]
movzx ebx, byte [ebp + eax - 0x518]
movsd xmm0, qword [ebp - 0x388]
call fcn.009d9750
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x249], bl
jmp 0x51ae26
movzx eax, byte [ebp - 0x249]
movzx ebx, byte [ebp + eax - 0x518]
movsd xmm0, qword [ebp - 0x388]
call fcn.009d9750
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x249], bl
jmp 0x51ae26
movzx eax, byte [ebp - 0x249]
movzx eax, byte [ebp + eax - 0x518]
mov ecx, dword [ebp - 0x61c]
add ecx, dword [ebp - 0x354]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x249], al
mov eax, dword [ebp - 0x354]
inc eax
mov dword [ebp - 0x354], eax
movzx eax, byte [ebp - 0x31b]
cmp dword [ebp - 0x354], eax
jb 0x51ae5f
and dword [ebp - 0x354], 0
movzx eax, byte [ebp - 0x31b]
movzx ecx, byte [ebp - 0x249]
add ecx, eax
mov byte [ebp - 0x249], cl
movzx eax, byte [ebp - 0x249]
and eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x3f0]
inc eax
mov dword [ebp - 0x3f0], eax
cmp dword [ebp - 0x3f0], 0xb
jbe 0x51ae9c
mov eax, dword [ebp - 0x33c]
xor edx, edx
div dword [ebp - 0x2a4]
mov dword [ebp - 0x33c], edx
mov eax, dword [ebp - 0x33c]
cmp eax, dword [ebp - 0x2a4]
ja 0x51acff
mov eax, dword [ebp - 0x2a4]
cmp eax, dword [ebp - 0x33c]
je 0x51af41
mov eax, dword [ebp - 0x33c]
movzx eax, byte [ebp + eax - 0x518]
mov ecx, dword [ebp - 0x2a4]
movzx ecx, byte [ebp + ecx - 0x518]
xor ecx, eax
mov eax, dword [ebp - 0x2a4]
mov byte [ebp + eax - 0x518], cl
mov eax, dword [ebp - 0x2a4]
movzx eax, byte [ebp + eax - 0x518]
mov ecx, dword [ebp - 0x33c]
movzx ecx, byte [ebp + ecx - 0x518]
xor ecx, eax
mov eax, dword [ebp - 0x33c]
mov byte [ebp + eax - 0x518], cl
mov eax, dword [ebp - 0x33c]
movzx eax, byte [ebp + eax - 0x518]
mov ecx, dword [ebp - 0x2a4]
movzx ecx, byte [ebp + ecx - 0x518]
xor ecx, eax
mov eax, dword [ebp - 0x2a4]
mov byte [ebp + eax - 0x518], cl
jmp 0x51acb4
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x239], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x23a], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x242], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x23b], al
movzx eax, byte [ebp - 0x249]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x23d], al
mov dword [ebp - 0x414], 0x12
cmp dword [ebp - 0x414], 2
jle 0x51cb29
mov eax, dword [ebp - 0x414]
and eax, 1
jne 0x51cb29
and dword [ebp - 0x250], 0
and dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
and dword [ebp - 0x2ac], 0
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x2ac], eax
and dword [ebp - 0x284], 0
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2ac]
movzx eax, byte [eax]
add eax, dword [ebp - 0x284]
mov dword [ebp - 0x284], eax
and dword [ebp - 0x288], 0
mov eax, dword [ebp - 0x288]
inc eax
inc eax
mov dword [ebp - 0x288], eax
and dword [ebp - 0x2b4], 0
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2b4], eax
and dword [ebp - 0x28c], 0
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2b4]
movzx eax, byte [eax]
add eax, dword [ebp - 0x28c]
mov dword [ebp - 0x28c], eax
and dword [ebp - 0x290], 0
movss xmm0, dword [0xa58580]
movss dword [ebp - 0x328], xmm0
movss xmm0, dword [0xa58564]
movss dword [ebp - 0x340], xmm0
movss xmm0, dword [0xa58548]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [0xa58524]
movss dword [ebp - 0x30c], xmm0
movss xmm0, dword [ebp - 0x340]
subss xmm0, dword [ebp - 0x30c]
movss dword [ebp - 0x340], xmm0
movss xmm0, dword [ebp - 0x340]
addss xmm0, dword [ebp - 0x30c]
movss dword [ebp - 0x340], xmm0
movss xmm0, dword [ebp - 0x340]
subss xmm0, dword [ebp - 0x30c]
movss dword [ebp - 0x340], xmm0
movss xmm0, dword [ebp - 0x328]
addss xmm0, dword [ebp - 0x30c]
movss dword [ebp - 0x328], xmm0
movss xmm0, dword [ebp - 0x30c]
comiss xmm0, dword [ebp - 0x328]
jbe 0x51b186
movss xmm0, dword [ebp - 0x30c]
divss xmm0, dword [ebp - 0x328]
movss dword [ebp - 0x30c], xmm0
movss xmm0, dword [ebp - 0x30c]
subss xmm0, dword [ebp - 0x328]
movss dword [ebp - 0x30c], xmm0
movss xmm0, dword [ebp - 0x30c]
divss xmm0, dword [ebp - 0x328]
movss dword [ebp - 0x30c], xmm0
movss xmm0, dword [ebp - 0x358]
addss xmm0, dword [ebp - 0x30c]
movss dword [ebp - 0x358], xmm0
jmp 0x51b1f5
movss xmm0, dword [ebp - 0x328]
addss xmm0, dword [ebp - 0x340]
movss dword [ebp - 0x328], xmm0
movss xmm0, dword [ebp - 0x328]
addss xmm0, dword [ebp - 0x340]
movss dword [ebp - 0x328], xmm0
movss xmm0, dword [ebp - 0x358]
subss xmm0, dword [ebp - 0x30c]
movss dword [ebp - 0x358], xmm0
movss xmm0, dword [ebp - 0x358]
addss xmm0, dword [ebp - 0x30c]
movss dword [ebp - 0x358], xmm0
mov eax, dword [ebp - 0x290]
add eax, 0x55
mov dword [ebp - 0x290], eax
and dword [ebp - 0x294], 0
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x288]
add eax, dword [ebp - 0x294]
mov dword [ebp - 0x294], eax
and dword [ebp - 0x298], 0
mov eax, dword [ebp - 0x28c]
sub eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x298]
mov dword [ebp - 0x298], eax
and dword [ebp - 0x2b8], 0
mov eax, dword [ebp - 0x294]
shl eax, 4
mov dword [ebp - 0x2b8], eax
and dword [ebp - 0x2bc], 0
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2bc], eax
and dword [ebp - 0x2c0], 0
mov eax, dword [ebp - 0x2b8]
or eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov byte [ebp - 0x243], 0
mov al, byte [ebp - 0x2c0]
mov byte [ebp - 0x243], al
mov byte [ebp - 0x241], 0
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x23a]
add ecx, eax
mov byte [ebp - 0x23a], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x518], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x51b40c
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2ac]
movzx eax, byte [eax]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x288], 2
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2b4]
movzx eax, byte [eax]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x290], 0x55
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x288]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x28c]
sub eax, dword [ebp - 0x290]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x294]
shl eax, 4
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2b8]
or eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov al, byte [ebp - 0x2c0]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x23a]
add ecx, eax
mov byte [ebp - 0x23a], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x518], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x51b65c
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2ac]
movzx eax, byte [eax]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x288], 2
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2b4]
movzx eax, byte [eax]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x290], 0x55
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x288]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x28c]
sub eax, dword [ebp - 0x290]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x294]
shl eax, 4
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2b8]
or eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov al, byte [ebp - 0x2c0]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x23a]
add ecx, eax
mov byte [ebp - 0x23a], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x518], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x51b8ac
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x3e8], eax
jmp 0x51b8d5
mov eax, dword [ebp - 0x3e8]
inc eax
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x258]
jge 0x51bb2f
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2ac]
movzx eax, byte [eax]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x288], 2
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2b4]
movzx eax, byte [eax]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x290], 0x55
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x288]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x28c]
sub eax, dword [ebp - 0x290]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x294]
shl eax, 4
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2b8]
or eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov al, byte [ebp - 0x2c0]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x23a]
add ecx, eax
mov byte [ebp - 0x23a], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x518], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x51bb2a
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
jmp 0x51b8c8
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2ac]
movzx eax, byte [eax]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x288], 2
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2b4]
movzx eax, byte [eax]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x290], 0x55
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x288]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x28c]
sub eax, dword [ebp - 0x290]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x294]
shl eax, 4
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2b8]
or eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov al, byte [ebp - 0x2c0]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x23a]
add ecx, eax
mov byte [ebp - 0x23a], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movss xmm0, dword [0xa58598]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [0xa58594]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [0xa5857c]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [0xa58560]
movss dword [ebp - 0x2cc], xmm0
movss xmm0, dword [0xa58544]
movss dword [ebp - 0x27c], xmm0
movss xmm0, dword [0xa58520]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x280]
subss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x25c]
addss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x280]
mulss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x2c4]
subss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x27c]
addss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x27c], xmm0
movss xmm0, dword [ebp - 0x25c]
subss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x2a8]
comiss xmm0, dword [ebp - 0x280]
jbe 0x51bfcf
movss xmm0, dword [ebp - 0x2a8]
divss xmm0, dword [ebp - 0x2c4]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x2c4]
divss xmm0, dword [ebp - 0x280]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x2a8]
divss xmm0, dword [ebp - 0x2c4]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x280]
divss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x2cc]
mulss xmm0, dword [ebp - 0x27c]
movss dword [ebp - 0x2cc], xmm0
movss xmm0, dword [ebp - 0x2cc]
divss xmm0, dword [ebp - 0x27c]
movss dword [ebp - 0x2cc], xmm0
movss xmm0, dword [ebp - 0x280]
divss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x25c]
divss xmm0, dword [ebp - 0x2cc]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x2cc]
mulss xmm0, dword [ebp - 0x27c]
movss dword [ebp - 0x2cc], xmm0
movss xmm0, dword [ebp - 0x2c4]
divss xmm0, dword [ebp - 0x280]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x2cc]
divss xmm0, dword [ebp - 0x27c]
movss dword [ebp - 0x2cc], xmm0
movss xmm0, dword [ebp - 0x25c]
subss xmm0, dword [ebp - 0x2cc]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x280]
comiss xmm0, dword [ebp - 0x2cc]
jbe 0x51bf3a
movss xmm0, dword [ebp - 0x2a8]
subss xmm0, dword [ebp - 0x280]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x27c]
mulss xmm0, dword [ebp - 0x2c4]
movss dword [ebp - 0x27c], xmm0
movss xmm0, dword [ebp - 0x27c]
subss xmm0, dword [ebp - 0x2c4]
movss dword [ebp - 0x27c], xmm0
movss xmm0, dword [ebp - 0x25c]
divss xmm0, dword [ebp - 0x27c]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x25c]
mulss xmm0, dword [ebp - 0x27c]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x2c4]
addss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2c4], xmm0
jmp 0x51bfca
movss xmm0, dword [ebp - 0x2a8]
divss xmm0, dword [ebp - 0x280]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x2c4]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x25c]
divss xmm0, dword [ebp - 0x27c]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x2c4]
mulss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x2a8]
mulss xmm0, dword [ebp - 0x280]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x27c]
subss xmm0, dword [ebp - 0x2c4]
movss dword [ebp - 0x27c], xmm0
jmp 0x51c07b
movss xmm0, dword [ebp - 0x2cc]
addss xmm0, dword [ebp - 0x27c]
movss dword [ebp - 0x2cc], xmm0
movss xmm0, dword [ebp - 0x280]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x25c]
subss xmm0, dword [ebp - 0x2cc]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x2cc]
mulss xmm0, dword [ebp - 0x27c]
movss dword [ebp - 0x2cc], xmm0
movss xmm0, dword [ebp - 0x27c]
subss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x27c], xmm0
movss xmm0, dword [ebp - 0x280]
addss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x280], xmm0
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x518], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x51c180
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2ac]
movzx eax, byte [eax]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x288], 2
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2b4]
movzx eax, byte [eax]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x290], 0x55
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x288]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x28c]
sub eax, dword [ebp - 0x290]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x294]
shl eax, 4
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2b8]
or eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov al, byte [ebp - 0x2c0]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x23a]
add ecx, eax
mov byte [ebp - 0x23a], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x518], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x51c3d0
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x3d4], eax
jmp 0x51c3f9
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d4]
cmp eax, dword [ebp - 0x258]
jge 0x51c653
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2ac]
movzx eax, byte [eax]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x288], 2
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2b4]
movzx eax, byte [eax]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x290], 0x55
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x288]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x28c]
sub eax, dword [ebp - 0x290]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x294]
shl eax, 4
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2b8]
or eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov al, byte [ebp - 0x2c0]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x23a]
add ecx, eax
mov byte [ebp - 0x23a], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x518], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x51c64e
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
jmp 0x51c3ec
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2ac]
movzx eax, byte [eax]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x288], 2
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2b4]
movzx eax, byte [eax]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x290], 0x55
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x288]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x28c]
sub eax, dword [ebp - 0x290]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x294]
shl eax, 4
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2b8]
or eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov al, byte [ebp - 0x2c0]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x23a]
add ecx, eax
mov byte [ebp - 0x23a], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x518], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x51c8b0
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2ac]
movzx eax, byte [eax]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x288], 2
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b0]
add eax, dword [ebp - 0x2b4]
movzx eax, byte [eax]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x290], 0x55
mov eax, dword [ebp - 0x284]
sub eax, dword [ebp - 0x288]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x28c]
sub eax, dword [ebp - 0x290]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x294]
shl eax, 4
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x2b8]
or eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2c0], eax
mov al, byte [ebp - 0x2c0]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x23a]
add ecx, eax
mov byte [ebp - 0x23a], cl
mov al, byte [ebp - 0x239]
add al, 1
mov byte [ebp - 0x239], al
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x518]
mov byte [ebp + ecx - 0x518], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x518], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x518]
movzx ecx, byte [ebp - 0x242]
add ecx, eax
mov byte [ebp - 0x242], cl
movzx eax, byte [ebp - 0x243]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x518]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x518]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x518]
movzx ecx, byte [ebp + ecx - 0x518]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x51cb00
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
xor eax, eax
inc eax
shl eax, 3
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 9
jae 0x51cb17
jmp 0x51cb1c
call fcn.009d9277
mov eax, dword [ebp - 0x418]
mov byte [ebp + eax - 0x10], 0
jmp 0x51cb71
and dword [ebp - 0x3a4], 0
jmp 0x51cb3f
mov eax, dword [ebp - 0x3a4]
inc eax
mov dword [ebp - 0x3a4], eax
cmp dword [ebp - 0x3a4], 9
jge 0x51cb71
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 9
jae 0x51cb5f
jmp 0x51cb64
call fcn.009d9277
mov eax, dword [ebp - 0x3f8]
mov byte [ebp + eax - 0x10], 0
jmp 0x51cb32
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.00482890
mov dword [ebp - 0x63c], eax
push 0
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x3dc]
push dword [ebp - 0x310]
push dword [ebp - 0x3ac]
call dword [ebp - 0x63c]
test eax, eax
je 0x51ccda
or dword [ebp - 0x3a8], 0xffffffff
mov byte [ebp - 0x31a], 0
mov byte [ebp - 0x2cd], 0
cmp dword [ebp - 0x228], 0x100
jbe 0x51ccb4
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x310]
movzx eax, byte [ecx + eax]
cmp eax, 0x4d
jne 0x51cc0c
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x310]
movzx eax, byte [ecx + eax]
cmp eax, 0x5a
jne 0x51cc0c
mov byte [ebp - 0x2cd], 1
and dword [ebp - 0x3a8], 0
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x310]
movzx eax, byte [ecx + eax]
cmp eax, 0xd0
jne 0x51cc76
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x310]
movzx eax, byte [ecx + eax]
cmp eax, 0xcf
jne 0x51cc76
xor eax, eax
inc eax
shl eax, 1
mov ecx, dword [ebp - 0x310]
movzx eax, byte [ecx + eax]
cmp eax, 0x11
jne 0x51cc76
xor eax, eax
inc eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x310]
movzx eax, byte [ecx + eax]
cmp eax, 0xe0
jne 0x51cc76
mov byte [ebp - 0x2cd], 1
mov dword [ebp - 0x3a8], 1
and dword [ebp - 0x3fc], 0
cmp dword [ebp - 0x3a8], 0
jne 0x51ccb4
push dword [ebp - 0x228]
push dword [ebp - 0x310]
call fcn.0051533f
pop ecx
pop ecx
mov dword [ebp - 0x3fc], eax
xor eax, eax
cmp dword [ebp - 0x3fc], 0x1000
sete al
mov byte [ebp - 0x31a], al
movzx eax, byte [ebp - 0x2cd]
test eax, eax
je 0x51ccda
movzx eax, byte [ebp - 0x31a]
test eax, eax
je 0x51ccda
cmp dword [ebp - 0x3a8], 0
jne 0x51ccda
mov byte [ebp - 0x2e9], 1
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x3ec], eax
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x3e0], eax
cmp dword [ebp - 0x3ec], 0
je 0x51cd20
mov eax, dword [ebp - 0x3e0]
mov byte [eax], 0
mov eax, dword [ebp - 0x3e0]
inc eax
mov dword [ebp - 0x3e0], eax
mov eax, dword [ebp - 0x3ec]
dec eax
mov dword [ebp - 0x3ec], eax
jmp 0x51ccf2
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x400], eax
push dword [ebp - 0x400]
call fcn.009d8f75
pop ecx
cmp dword [ebp - 0x400], 0
jne 0x51cd4a
and dword [ebp - 0x640], 0
jmp 0x51cd60
mov dword [ebp - 0x310], 0x8123
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0x640], eax
push dword [ebp - 0x3ac]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x51cd7e
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x5189c8
mov al, byte [ebp - 0x2e9]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.009d8d1d
leave
ret