Function at 0x512824
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6ac
mov eax, dword [0xaf9064]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov byte [ebp - 0x2d5], 0
xor eax, eax
mov word [ebp - 0x224], ax
push 0x206
push 0
lea eax, [ebp - 0x222]
push eax
call fcn.00a6ff20
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [ebp - 0x430], eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x6a4], eax
mov eax, dword [ebp - 0x430]
mov ax, word [eax]
mov word [ebp - 0x396], ax
mov eax, dword [ebp - 0x3dc]
mov cx, word [ebp - 0x396]
mov word [eax], cx
mov eax, dword [ebp - 0x430]
inc eax
inc eax
mov dword [ebp - 0x430], eax
mov eax, dword [ebp - 0x3dc]
inc eax
inc eax
mov dword [ebp - 0x3dc], eax
cmp word [ebp - 0x396], 0
jne 0x512881
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x394]
mov ax, word [eax]
mov word [ebp - 0x42a], ax
add dword [ebp - 0x394], 2
cmp word [ebp - 0x42a], 0
jne 0x5128df
mov eax, dword [ebp - 0x394]
sub eax, dword [ebp - 0x570]
mov ecx, dword [ebp - 0x570]
mov dword [ebp - 0x69c], ecx
mov dword [ebp - 0x698], eax
lea eax, [ebp - 0x224]
dec eax
dec eax
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x3cc]
mov ax, word [eax + 2]
mov word [ebp - 0x422], ax
add dword [ebp - 0x3cc], 2
cmp word [ebp - 0x422], 0
jne 0x51292c
mov edi, dword [ebp - 0x3cc]
mov esi, dword [ebp - 0x69c]
mov eax, dword [ebp - 0x698]
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 - 0x428], 0
jmp 0x512984
mov eax, dword [ebp - 0x428]
inc eax
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x428], 0x3c
jge 0x517b67
and dword [ebp - 0x230], 0
and dword [ebp - 0x238], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x3c8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x3b8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x3b8], xmm0
jmp 0x5129da
movsd xmm0, qword [ebp - 0x3b8]
addsd xmm0, qword [0xab52f0]
movsd qword [ebp - 0x3b8], xmm0
movsd xmm0, qword [0xab8748]
comisd xmm0, xmmword [ebp - 0x3b8]
jbe 0x512a8b
movsd xmm0, qword [0xab86b0]
mulsd xmm0, qword [ebp - 0x3b8]
mulsd xmm0, qword [ebp - 0x3b8]
movsd xmm1, qword [ebp - 0x3b8]
mulsd xmm1, qword [ebp - 0x3b8]
subsd xmm0, xmm1
movsd xmm1, qword [0xab8628]
mulsd xmm1, qword [ebp - 0x3b8]
mulsd xmm1, qword [ebp - 0x3b8]
addsd xmm1, qword [0xab8660]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x3c8]
movsd qword [ebp - 0x3c8], xmm0
movsd xmm0, qword [ebp - 0x3c8]
comisd xmm0, xmmword [0xab8690]
jbe 0x512a86
movsd xmm0, qword [0xab85f8]
mulsd xmm0, qword [ebp - 0x3b8]
movsd xmm1, qword [ebp - 0x3c8]
subsd xmm1, xmm0
movsd qword [ebp - 0x3c8], xmm1
jmp 0x5129c2
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x3c8]
jbe 0x512ad2
fcmovnb st(0), st(5)
fld st(2)
fcmove st(0), st(7)
ror esp, 1
invalid
mov dword [ebp - 0x230], 0x512a98
mov dword [ebp - 0x238], 0x512ab0
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x27c], eax
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x690], eax
mov byte [ebp - 0x307], 0x21
and dword [ebp - 0x2b4], 0
jmp 0x512b1b
mov eax, dword [ebp - 0x2b4]
inc eax
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0x100
jae 0x512b3c
mov eax, dword [ebp - 0x2b4]
mov cl, byte [ebp - 0x2b4]
mov byte [ebp + eax - 0x548], cl
jmp 0x512b0e
and dword [ebp - 0x374], 0
mov byte [ebp - 0x24e], 0
mov dword [ebp - 0x2b4], 0xff
jmp 0x512b63
mov eax, dword [ebp - 0x2b4]
dec eax
mov dword [ebp - 0x2b4], eax
cmp dword [ebp - 0x2b4], 0
jbe 0x512de8
and dword [ebp - 0x43c], 0
mov dword [ebp - 0x3e0], 1
mov eax, dword [ebp - 0x3e0]
cmp eax, dword [ebp - 0x2b4]
jae 0x512ba1
mov eax, dword [ebp - 0x3e0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3e0], eax
jmp 0x512b81
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0x694], eax
mov eax, dword [ebp - 0x694]
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0x2e4], 0
je 0x512be6
sub dword [ebp - 0x2e4], 1
je 0x512c14
sub dword [ebp - 0x2e4], 1
je 0x512c45
sub dword [ebp - 0x2e4], 1
je 0x512c73
jmp 0x512ca1
movzx eax, byte [ebp - 0x24e]
movzx ebx, byte [ebp + eax - 0x548]
movsd xmm0, qword [ebp - 0x3c8]
call fcn.00a1d6e1
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x24e], bl
jmp 0x512cc8
movzx eax, byte [ebp - 0x24e]
movzx ebx, byte [ebp + eax - 0x548]
movsd xmm0, qword [ebp - 0x3c8]
call fcn.00a1d6e1
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x24e], bl
jmp 0x512cc8
movzx eax, byte [ebp - 0x24e]
movzx ebx, byte [ebp + eax - 0x548]
movsd xmm0, qword [ebp - 0x3c8]
call fcn.00a1d6e1
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x24e], bl
jmp 0x512cc8
movzx eax, byte [ebp - 0x24e]
movzx ebx, byte [ebp + eax - 0x548]
movsd xmm0, qword [ebp - 0x3c8]
call fcn.00a1d6e1
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x24e], bl
jmp 0x512cc8
movzx eax, byte [ebp - 0x24e]
movzx eax, byte [ebp + eax - 0x548]
mov ecx, dword [ebp - 0x690]
add ecx, dword [ebp - 0x374]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x24e], al
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
movzx eax, byte [ebp - 0x307]
cmp dword [ebp - 0x374], eax
jb 0x512d01
and dword [ebp - 0x374], 0
movzx eax, byte [ebp - 0x307]
movzx ecx, byte [ebp - 0x24e]
add ecx, eax
mov byte [ebp - 0x24e], cl
movzx eax, byte [ebp - 0x24e]
and eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x43c]
inc eax
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 0xb
jbe 0x512d3e
mov eax, dword [ebp - 0x358]
xor edx, edx
div dword [ebp - 0x2b4]
mov dword [ebp - 0x358], edx
mov eax, dword [ebp - 0x358]
cmp eax, dword [ebp - 0x2b4]
ja 0x512ba1
mov eax, dword [ebp - 0x2b4]
cmp eax, dword [ebp - 0x358]
je 0x512de3
mov eax, dword [ebp - 0x358]
movzx eax, byte [ebp + eax - 0x548]
mov ecx, dword [ebp - 0x2b4]
movzx ecx, byte [ebp + ecx - 0x548]
xor ecx, eax
mov eax, dword [ebp - 0x2b4]
mov byte [ebp + eax - 0x548], cl
mov eax, dword [ebp - 0x2b4]
movzx eax, byte [ebp + eax - 0x548]
mov ecx, dword [ebp - 0x358]
movzx ecx, byte [ebp + ecx - 0x548]
xor ecx, eax
mov eax, dword [ebp - 0x358]
mov byte [ebp + eax - 0x548], cl
mov eax, dword [ebp - 0x358]
movzx eax, byte [ebp + eax - 0x548]
mov ecx, dword [ebp - 0x2b4]
movzx ecx, byte [ebp + ecx - 0x548]
xor ecx, eax
mov eax, dword [ebp - 0x2b4]
mov byte [ebp + eax - 0x548], cl
jmp 0x512b56
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x239], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x23a], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x241], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x23b], al
movzx eax, byte [ebp - 0x24e]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x23d], al
mov dword [ebp - 0x554], 0x18
cmp dword [ebp - 0x554], 2
jle 0x515765
mov eax, dword [ebp - 0x554]
and eax, 1
jne 0x515765
and dword [ebp - 0x24c], 0
and dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
and dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
and dword [ebp - 0x25c], 0
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
add eax, dword [ebp - 0x25c]
mov dword [ebp - 0x25c], eax
and dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x260]
add eax, 0xd0
mov dword [ebp - 0x260], eax
and dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
and dword [ebp - 0x264], 0
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
add eax, dword [ebp - 0x264]
mov dword [ebp - 0x264], eax
and dword [ebp - 0x268], 0
mov eax, dword [ebp - 0x268]
add eax, 0xc2
mov dword [ebp - 0x268], eax
and dword [ebp - 0x26c], 0
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
add eax, dword [ebp - 0x26c]
mov dword [ebp - 0x26c], eax
and dword [ebp - 0x270], 0
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
add eax, dword [ebp - 0x270]
mov dword [ebp - 0x270], eax
and dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
and dword [ebp - 0x284], 0
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
and dword [ebp - 0x288], 0
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov byte [ebp - 0x242], 0
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
mov byte [ebp - 0x240], 0
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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 - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x513140
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x260], 0xd0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x268], 0xc2
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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 - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x513390
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x260], 0xd0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x268], 0xc2
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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 - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x5135e0
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x440], eax
jmp 0x513609
mov eax, dword [ebp - 0x440]
inc eax
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x440]
cmp eax, dword [ebp - 0x258]
jge 0x513863
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x260], 0xd0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x268], 0xc2
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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 - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x51385e
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
jmp 0x5135fc
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x260], 0xd0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x268], 0xc2
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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 - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x513ac0
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x260], 0xd0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x268], 0xc2
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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
movsd xmm0, qword [0xab8978]
movsd qword [ebp - 0x348], xmm0
movsd xmm0, qword [0xab8948]
movsd qword [ebp - 0x310], xmm0
movsd xmm0, qword [0xab88c8]
movsd qword [ebp - 0x2f8], xmm0
movsd xmm0, qword [0xab8848]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [0xab87d0]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [0xab8718]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x2f8]
addsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x2f8], xmm0
movsd xmm0, qword [ebp - 0x310]
addsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x310], xmm0
movsd xmm0, qword [ebp - 0x310]
subsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x310], xmm0
movsd xmm0, qword [ebp - 0x348]
addsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x348], xmm0
movsd xmm0, qword [ebp - 0x390]
mulsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x2f8]
mulsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x2f8], xmm0
movsd xmm0, qword [ebp - 0x340]
comisd xmm0, xmmword [ebp - 0x2f8]
jbe 0x513f39
movsd xmm0, qword [ebp - 0x338]
subsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x310]
addsd xmm0, qword [ebp - 0x2f8]
movsd qword [ebp - 0x310], xmm0
movsd xmm0, qword [ebp - 0x340]
divsd xmm0, qword [ebp - 0x348]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x2f8]
addsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x2f8], xmm0
movsd xmm0, qword [ebp - 0x390]
subsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x340]
subsd xmm0, qword [ebp - 0x348]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x348]
addsd xmm0, qword [ebp - 0x310]
movsd qword [ebp - 0x348], xmm0
movsd xmm0, qword [ebp - 0x2f8]
addsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x2f8], xmm0
movsd xmm0, qword [ebp - 0x310]
addsd xmm0, qword [ebp - 0x2f8]
movsd qword [ebp - 0x310], xmm0
movsd xmm0, qword [ebp - 0x338]
mulsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x2f8]
mulsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x2f8], xmm0
movsd xmm0, qword [ebp - 0x2f8]
addsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x2f8], xmm0
movsd xmm0, qword [ebp - 0x338]
comisd xmm0, xmmword [ebp - 0x340]
jbe 0x513ea4
movsd xmm0, qword [ebp - 0x348]
addsd xmm0, qword [ebp - 0x2f8]
movsd qword [ebp - 0x348], xmm0
movsd xmm0, qword [ebp - 0x338]
addsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x2f8]
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x2f8], xmm0
movsd xmm0, qword [ebp - 0x310]
mulsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x310], xmm0
movsd xmm0, qword [ebp - 0x2f8]
divsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x2f8], xmm0
movsd xmm0, qword [ebp - 0x348]
addsd xmm0, qword [ebp - 0x2f8]
movsd qword [ebp - 0x348], xmm0
jmp 0x513f34
movsd xmm0, qword [ebp - 0x390]
mulsd xmm0, qword [ebp - 0x348]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x310]
divsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x310], xmm0
movsd xmm0, qword [ebp - 0x310]
divsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x310], xmm0
movsd xmm0, qword [ebp - 0x348]
divsd xmm0, qword [ebp - 0x2f8]
movsd qword [ebp - 0x348], xmm0
movsd xmm0, qword [ebp - 0x310]
mulsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x310], xmm0
movsd xmm0, qword [ebp - 0x338]
divsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x338], xmm0
jmp 0x513fe5
movsd xmm0, qword [ebp - 0x310]
subsd xmm0, qword [ebp - 0x2f8]
movsd qword [ebp - 0x310], xmm0
movsd xmm0, qword [ebp - 0x2f8]
addsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x2f8], xmm0
movsd xmm0, qword [ebp - 0x340]
mulsd xmm0, qword [ebp - 0x348]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x348]
subsd xmm0, qword [ebp - 0x310]
movsd qword [ebp - 0x348], xmm0
movsd xmm0, qword [ebp - 0x390]
addsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x348]
subsd xmm0, qword [ebp - 0x310]
movsd qword [ebp - 0x348], xmm0
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x514106
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x260], 0xd0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x268], 0xc2
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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 - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x514356
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x444], eax
jmp 0x51437f
mov eax, dword [ebp - 0x444]
inc eax
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x444]
cmp eax, dword [ebp - 0x258]
jge 0x5149cf
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x260], 0xd0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
mov dword [ebp - 0x264], eax
movsd xmm0, qword [0xab88c0]
movsd qword [ebp - 0x318], xmm0
movsd xmm0, qword [0xab8880]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [0xab8838]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [0xab87c8]
movsd qword [ebp - 0x400], xmm0
movsd xmm0, qword [0xab8750]
movsd qword [ebp - 0x320], xmm0
movsd xmm0, qword [0xab86e0]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x320]
subsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x320], xmm0
movsd xmm0, qword [ebp - 0x328]
mulsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x400]
addsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x400], xmm0
movsd xmm0, qword [ebp - 0x328]
mulsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x320]
addsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x320], xmm0
movsd xmm0, qword [ebp - 0x318]
subsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x318], xmm0
movsd xmm0, qword [ebp - 0x360]
comisd xmm0, xmmword [ebp - 0x328]
jbe 0x514756
movsd xmm0, qword [ebp - 0x318]
mulsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x318], xmm0
movsd xmm0, qword [ebp - 0x318]
subsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x318], xmm0
movsd xmm0, qword [ebp - 0x328]
mulsd xmm0, qword [ebp - 0x400]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x318]
addsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x318], xmm0
movsd xmm0, qword [ebp - 0x318]
addsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x318], xmm0
movsd xmm0, qword [ebp - 0x318]
divsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x318], xmm0
movsd xmm0, qword [ebp - 0x2e0]
addsd xmm0, qword [ebp - 0x320]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x2e0]
mulsd xmm0, qword [ebp - 0x320]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x320]
mulsd xmm0, qword [ebp - 0x318]
movsd qword [ebp - 0x320], xmm0
movsd xmm0, qword [ebp - 0x320]
subsd xmm0, qword [ebp - 0x318]
movsd qword [ebp - 0x320], xmm0
movsd xmm0, qword [ebp - 0x2e0]
addsd xmm0, qword [ebp - 0x320]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x2e0]
divsd xmm0, qword [ebp - 0x320]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x360]
comisd xmm0, xmmword [ebp - 0x328]
jbe 0x5146c1
movsd xmm0, qword [ebp - 0x360]
subsd xmm0, qword [ebp - 0x328]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x318]
mulsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x318], xmm0
movsd xmm0, qword [ebp - 0x360]
subsd xmm0, qword [ebp - 0x328]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x2e0]
subsd xmm0, qword [ebp - 0x320]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x318]
divsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x318], xmm0
movsd xmm0, qword [ebp - 0x328]
addsd xmm0, qword [ebp - 0x400]
movsd qword [ebp - 0x328], xmm0
jmp 0x514751
movsd xmm0, qword [ebp - 0x328]
subsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x360]
addsd xmm0, qword [ebp - 0x318]
movsd qword [ebp - 0x360], xmm0
movsd xmm0, qword [ebp - 0x320]
addsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x320], xmm0
movsd xmm0, qword [ebp - 0x328]
mulsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x2e0]
mulsd xmm0, qword [ebp - 0x400]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x320]
addsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x320], xmm0
jmp 0x5147f0
movsd xmm0, qword [ebp - 0x328]
subsd xmm0, qword [ebp - 0x2e0]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x320]
addsd xmm0, qword [ebp - 0x360]
movsd qword [ebp - 0x320], xmm0
movsd xmm0, qword [ebp - 0x2e0]
addsd xmm0, qword [ebp - 0x400]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x318]
subsd xmm0, qword [ebp - 0x328]
movsd qword [ebp - 0x318], xmm0
movsd xmm0, qword [ebp - 0x2e0]
addsd xmm0, qword [ebp - 0x400]
movsd qword [ebp - 0x2e0], xmm0
movsd xmm0, qword [ebp - 0x400]
addsd xmm0, qword [ebp - 0x320]
movsd qword [ebp - 0x400], xmm0
mov dword [ebp - 0x268], 0xc2
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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 - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x5149ca
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
jmp 0x514372
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x260], 0xd0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x268], 0xc2
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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 - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x514c2c
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x260], 0xd0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x268], 0xc2
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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 - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x514e7c
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x260], 0xd0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x268], 0xc2
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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 - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movss xmm0, dword [0xab8a68]
movss dword [ebp - 0x304], xmm0
movss xmm0, dword [0xab8a34]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [0xab89f8]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [0xab89bc]
movss dword [ebp - 0x2e8], xmm0
movss xmm0, dword [ebp - 0x304]
addss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x304], xmm0
movss xmm0, dword [ebp - 0x304]
subss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x304], xmm0
movss xmm0, dword [ebp - 0x368]
mulss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x304]
mulss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x304], xmm0
movss xmm0, dword [ebp - 0x2e8]
comiss xmm0, dword [ebp - 0x304]
jbe 0x5150f6
movss xmm0, dword [ebp - 0x2e8]
divss xmm0, dword [ebp - 0x304]
movss dword [ebp - 0x2e8], xmm0
movss xmm0, dword [ebp - 0x364]
divss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x368]
divss xmm0, dword [ebp - 0x364]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x364]
divss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x364], xmm0
jmp 0x51516a
movss xmm0, dword [ebp - 0x2e8]
subss xmm0, dword [ebp - 0x304]
movss dword [ebp - 0x2e8], xmm0
movss xmm0, dword [ebp - 0x364]
addss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x368]
addss xmm0, dword [ebp - 0x364]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x304]
subss xmm0, dword [ebp - 0x368]
movss dword [ebp - 0x304], xmm0
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x51523f
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x278]
movzx eax, byte [eax]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x260], 0xd0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp - 0x27c]
add eax, dword [ebp - 0x280]
movzx eax, byte [eax]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x268], 0xc2
mov eax, dword [ebp - 0x25c]
sub eax, dword [ebp - 0x260]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x264]
sub eax, dword [ebp - 0x268]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
shl eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x274]
or eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov al, byte [ebp - 0x288]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x548]
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
movss xmm0, dword [0xab8ac4]
movss dword [ebp - 0x298], xmm0
movss xmm0, dword [0xab8a98]
movss dword [ebp - 0x290], xmm0
movss xmm0, dword [0xab8a38]
movss dword [ebp - 0x294], xmm0
movss xmm0, dword [0xab89d8]
movss dword [ebp - 0x2b8], xmm0
movss xmm0, dword [ebp - 0x290]
subss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x290], xmm0
movss xmm0, dword [ebp - 0x294]
mulss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x294], xmm0
movss xmm0, dword [ebp - 0x298]
mulss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x298], xmm0
movss xmm0, dword [ebp - 0x298]
mulss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x298], xmm0
movss xmm0, dword [ebp - 0x298]
comiss xmm0, dword [ebp - 0x2b8]
jbe 0x515488
movss xmm0, dword [ebp - 0x2b8]
mulss xmm0, dword [ebp - 0x290]
movss dword [ebp - 0x2b8], xmm0
movss xmm0, dword [ebp - 0x2b8]
mulss xmm0, dword [ebp - 0x290]
movss dword [ebp - 0x2b8], xmm0
movss xmm0, dword [ebp - 0x2b8]
subss xmm0, dword [ebp - 0x290]
movss dword [ebp - 0x2b8], xmm0
movss xmm0, dword [ebp - 0x298]
mulss xmm0, dword [ebp - 0x294]
movss dword [ebp - 0x298], xmm0
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
jmp 0x51561b
movss xmm0, dword [ebp - 0x294]
mulss xmm0, dword [ebp - 0x298]
movss dword [ebp - 0x294], xmm0
movss xmm0, dword [ebp - 0x294]
subss xmm0, dword [ebp - 0x298]
movss dword [ebp - 0x294], xmm0
movss xmm0, dword [ebp - 0x294]
divss xmm0, dword [ebp - 0x298]
movss dword [ebp - 0x294], xmm0
movss xmm0, dword [ebp - 0x290]
mulss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x290], xmm0
movss xmm0, dword [ebp - 0x298]
addss xmm0, dword [ebp - 0x290]
movss dword [ebp - 0x298], xmm0
movss xmm0, dword [ebp - 0x290]
addss xmm0, dword [ebp - 0x294]
movss dword [ebp - 0x290], xmm0
movss xmm0, dword [ebp - 0x290]
subss xmm0, dword [ebp - 0x294]
movss dword [ebp - 0x290], xmm0
movss xmm0, dword [ebp - 0x294]
addss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x294], xmm0
movss xmm0, dword [ebp - 0x290]
comiss xmm0, dword [ebp - 0x2b8]
jbe 0x5155bb
movss xmm0, dword [ebp - 0x290]
subss xmm0, dword [ebp - 0x294]
movss dword [ebp - 0x290], xmm0
movss xmm0, dword [ebp - 0x2b8]
mulss xmm0, dword [ebp - 0x298]
movss dword [ebp - 0x2b8], xmm0
movss xmm0, dword [ebp - 0x290]
divss xmm0, dword [ebp - 0x294]
movss dword [ebp - 0x290], xmm0
movss xmm0, dword [ebp - 0x290]
divss xmm0, dword [ebp - 0x294]
movss dword [ebp - 0x290], xmm0
jmp 0x51561b
movss xmm0, dword [ebp - 0x298]
addss xmm0, dword [ebp - 0x294]
movss dword [ebp - 0x298], xmm0
movss xmm0, dword [ebp - 0x2b8]
mulss xmm0, dword [ebp - 0x290]
movss dword [ebp - 0x2b8], xmm0
movss xmm0, dword [ebp - 0x298]
subss xmm0, dword [ebp - 0x294]
movss dword [ebp - 0x298], xmm0
movss xmm0, dword [ebp - 0x298]
divss xmm0, dword [ebp - 0x294]
movss dword [ebp - 0x298], xmm0
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x548]
mov byte [ebp + ecx - 0x548], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x548], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x548]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x548]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x548]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x548]
movzx ecx, byte [ebp + ecx - 0x548]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x24c], 0
jle 0x51573c
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x1d], cl
xor eax, eax
inc eax
imul eax, eax, 0xb
mov dword [ebp - 0x558], eax
cmp dword [ebp - 0x558], 0xc
jae 0x515753
jmp 0x515758
call fcn.00a1d3da
mov eax, dword [ebp - 0x558]
mov byte [ebp + eax - 0x1c], 0
jmp 0x5157ad
and dword [ebp - 0x3d0], 0
jmp 0x51577b
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
cmp dword [ebp - 0x3d0], 0xc
jge 0x5157ad
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x55c], eax
cmp dword [ebp - 0x55c], 0xc
jae 0x51579b
jmp 0x5157a0
call fcn.00a1d3da
mov eax, dword [ebp - 0x55c]
mov byte [ebp + eax - 0x1c], 0
jmp 0x51576e
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.004585f0
mov dword [ebp - 0x68c], eax
push 0
push 0x80
push 3
push 0
push 1
push 0xa0000000
lea eax, [ebp - 0x224]
push eax
call dword [ebp - 0x68c]
mov dword [ebp - 0x3d8], eax
cmp dword [ebp - 0x3d8], 0xffffffff
je 0x517b3f
push 0
push dword [ebp - 0x3d8]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x420], eax
and dword [ebp - 0x228], 0
push dword [ebp - 0x420]
call fcn.00a1ce9d
pop ecx
mov dword [ebp - 0x688], eax
mov eax, dword [ebp - 0x688]
mov dword [ebp - 0x2f0], eax
and dword [ebp - 0x234], 0
and dword [ebp - 0x22c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x3c0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x3b0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x3b0], xmm0
jmp 0x515876
movsd xmm0, qword [ebp - 0x3b0]
addsd xmm0, qword [0xab52f8]
movsd qword [ebp - 0x3b0], xmm0
movsd xmm0, qword [0xab8768]
comisd xmm0, xmmword [ebp - 0x3b0]
jbe 0x515927
movsd xmm0, qword [0xab86d0]
mulsd xmm0, qword [ebp - 0x3b0]
mulsd xmm0, qword [ebp - 0x3b0]
movsd xmm1, qword [ebp - 0x3b0]
mulsd xmm1, qword [ebp - 0x3b0]
subsd xmm0, xmm1
movsd xmm1, qword [0xab5da8]
mulsd xmm1, qword [ebp - 0x3b0]
mulsd xmm1, qword [ebp - 0x3b0]
addsd xmm1, qword [0xab8650]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x3c0]
movsd qword [ebp - 0x3c0], xmm0
movsd xmm0, qword [ebp - 0x3c0]
comisd xmm0, xmmword [0xab8680]
jbe 0x515922
movsd xmm0, qword [0xab8600]
mulsd xmm0, qword [ebp - 0x3b0]
movsd xmm1, qword [ebp - 0x3c0]
subsd xmm1, xmm0
movsd qword [ebp - 0x3c0], xmm1
jmp 0x51585e
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x3c0]
jbe 0x51595d
pop es
sysret
mov dword [ebp - 0x234], 0x515934
mov dword [ebp - 0x22c], 0x515946
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x680], eax
mov byte [ebp - 0x306], 0x16
and dword [ebp - 0x2bc], 0
jmp 0x5159a6
mov eax, dword [ebp - 0x2bc]
inc eax
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 0x100
jae 0x5159c7
mov eax, dword [ebp - 0x2bc]
mov cl, byte [ebp - 0x2bc]
mov byte [ebp + eax - 0x674], cl
jmp 0x515999
and dword [ebp - 0x378], 0
mov byte [ebp - 0x24f], 0
mov dword [ebp - 0x2bc], 0xff
jmp 0x5159ee
mov eax, dword [ebp - 0x2bc]
dec eax
mov dword [ebp - 0x2bc], eax
cmp dword [ebp - 0x2bc], 0
jbe 0x515c73
and dword [ebp - 0x448], 0
mov dword [ebp - 0x404], 1
mov eax, dword [ebp - 0x404]
cmp eax, dword [ebp - 0x2bc]
jae 0x515a2c
mov eax, dword [ebp - 0x404]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x404], eax
jmp 0x515a0c
mov eax, dword [ebp - 0x378]
mov dword [ebp - 0x684], eax
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0x2ec], eax
cmp dword [ebp - 0x2ec], 0
je 0x515a71
sub dword [ebp - 0x2ec], 1
je 0x515a9f
sub dword [ebp - 0x2ec], 1
je 0x515ad0
sub dword [ebp - 0x2ec], 1
je 0x515afe
jmp 0x515b2c
movzx eax, byte [ebp - 0x24f]
movzx ebx, byte [ebp + eax - 0x674]
movsd xmm0, qword [ebp - 0x3c0]
call fcn.00a1d6e1
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x24f], bl
jmp 0x515b53
movzx eax, byte [ebp - 0x24f]
movzx ebx, byte [ebp + eax - 0x674]
movsd xmm0, qword [ebp - 0x3c0]
call fcn.00a1d6e1
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x24f], bl
jmp 0x515b53
movzx eax, byte [ebp - 0x24f]
movzx ebx, byte [ebp + eax - 0x674]
movsd xmm0, qword [ebp - 0x3c0]
call fcn.00a1d6e1
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x24f], bl
jmp 0x515b53
movzx eax, byte [ebp - 0x24f]
movzx ebx, byte [ebp + eax - 0x674]
movsd xmm0, qword [ebp - 0x3c0]
call fcn.00a1d6e1
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x24f], bl
jmp 0x515b53
movzx eax, byte [ebp - 0x24f]
movzx eax, byte [ebp + eax - 0x674]
mov ecx, dword [ebp - 0x680]
add ecx, dword [ebp - 0x378]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x24f], al
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x378], eax
movzx eax, byte [ebp - 0x306]
cmp dword [ebp - 0x378], eax
jb 0x515b8c
and dword [ebp - 0x378], 0
movzx eax, byte [ebp - 0x306]
movzx ecx, byte [ebp - 0x24f]
add ecx, eax
mov byte [ebp - 0x24f], cl
movzx eax, byte [ebp - 0x24f]
and eax, dword [ebp - 0x404]
mov dword [ebp - 0x354], eax
mov eax, dword [ebp - 0x448]
inc eax
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0xb
jbe 0x515bc9
mov eax, dword [ebp - 0x354]
xor edx, edx
div dword [ebp - 0x2bc]
mov dword [ebp - 0x354], edx
mov eax, dword [ebp - 0x354]
cmp eax, dword [ebp - 0x2bc]
ja 0x515a2c
mov eax, dword [ebp - 0x2bc]
cmp eax, dword [ebp - 0x354]
je 0x515c6e
mov eax, dword [ebp - 0x354]
movzx eax, byte [ebp + eax - 0x674]
mov ecx, dword [ebp - 0x2bc]
movzx ecx, byte [ebp + ecx - 0x674]
xor ecx, eax
mov eax, dword [ebp - 0x2bc]
mov byte [ebp + eax - 0x674], cl
mov eax, dword [ebp - 0x2bc]
movzx eax, byte [ebp + eax - 0x674]
mov ecx, dword [ebp - 0x354]
movzx ecx, byte [ebp + ecx - 0x674]
xor ecx, eax
mov eax, dword [ebp - 0x354]
mov byte [ebp + eax - 0x674], cl
mov eax, dword [ebp - 0x354]
movzx eax, byte [ebp + eax - 0x674]
mov ecx, dword [ebp - 0x2bc]
movzx ecx, byte [ebp + ecx - 0x674]
xor ecx, eax
mov eax, dword [ebp - 0x2bc]
mov byte [ebp + eax - 0x674], cl
jmp 0x5159e1
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x23c], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x23e], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x245], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x24f]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x243], al
mov dword [ebp - 0x574], 0x12
cmp dword [ebp - 0x574], 2
jle 0x5178fa
mov eax, dword [ebp - 0x574]
and eax, 1
jne 0x5178fa
and dword [ebp - 0x254], 0
and dword [ebp - 0x28c], 0
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
and dword [ebp - 0x2c0], 0
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2c0], eax
and dword [ebp - 0x29c], 0
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c0]
movzx eax, byte [eax]
add eax, dword [ebp - 0x29c]
mov dword [ebp - 0x29c], eax
and dword [ebp - 0x2a0], 0
mov eax, dword [ebp - 0x2a0]
add eax, 7
mov dword [ebp - 0x2a0], eax
and dword [ebp - 0x2c8], 0
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c8], eax
and dword [ebp - 0x2a4], 0
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c8]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x2a4], eax
and dword [ebp - 0x2a8], 0
mov eax, dword [ebp - 0x2a8]
add eax, 0xd
mov dword [ebp - 0x2a8], eax
and dword [ebp - 0x2ac], 0
mov eax, dword [ebp - 0x29c]
sub eax, dword [ebp - 0x2a0]
add eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x2ac], eax
and dword [ebp - 0x2b0], 0
mov eax, dword [ebp - 0x2a4]
sub eax, dword [ebp - 0x2a8]
add eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2b0], eax
and dword [ebp - 0x2cc], 0
mov eax, dword [ebp - 0x2ac]
shl eax, 4
mov dword [ebp - 0x2cc], eax
and dword [ebp - 0x2d0], 0
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2d0], eax
and dword [ebp - 0x2d4], 0
mov eax, dword [ebp - 0x2cc]
or eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
mov byte [ebp - 0x246], 0
mov al, byte [ebp - 0x2d4]
mov byte [ebp - 0x246], al
mov byte [ebp - 0x244], 0
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x674], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x674]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x674]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x243], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24d], al
cmp dword [ebp - 0x254], 0
jle 0x515fc7
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24d]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c0]
movzx eax, byte [eax]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a0], 7
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c8]
movzx eax, byte [eax]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a8], 0xd
mov eax, dword [ebp - 0x29c]
sub eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2a4]
sub eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2ac]
shl eax, 4
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2cc]
or eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
mov al, byte [ebp - 0x2d4]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x674], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x674]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x674]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x243], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24d], al
cmp dword [ebp - 0x254], 0
jle 0x516217
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24d]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c0]
movzx eax, byte [eax]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a0], 7
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c8]
movzx eax, byte [eax]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a8], 0xd
mov eax, dword [ebp - 0x29c]
sub eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2a4]
sub eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2ac]
shl eax, 4
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2cc]
or eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
mov al, byte [ebp - 0x2d4]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x674], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x674]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x674]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x243], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24d], al
cmp dword [ebp - 0x254], 0
jle 0x516467
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24d]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c0]
movzx eax, byte [eax]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a0], 7
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c8]
movzx eax, byte [eax]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a8], 0xd
mov eax, dword [ebp - 0x29c]
sub eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2a4]
sub eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2ac]
shl eax, 4
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2cc]
or eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
mov al, byte [ebp - 0x2d4]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x674], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x674]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x674]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x243], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24d], al
cmp dword [ebp - 0x254], 0
jle 0x5166b7
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24d]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c0]
movzx eax, byte [eax]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a0], 7
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c8]
movzx eax, byte [eax]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a8], 0xd
mov eax, dword [ebp - 0x29c]
sub eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2a4]
sub eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2ac]
shl eax, 4
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2cc]
or eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
mov al, byte [ebp - 0x2d4]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x674], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x674]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x674]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x243], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24d], al
cmp dword [ebp - 0x254], 0
jle 0x516907
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24d]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x414], eax
jmp 0x516930
mov eax, dword [ebp - 0x414]
inc eax
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x414]
cmp eax, dword [ebp - 0x28c]
jge 0x516b8a
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c0]
movzx eax, byte [eax]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a0], 7
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c8]
movzx eax, byte [eax]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a8], 0xd
mov eax, dword [ebp - 0x29c]
sub eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2a4]
sub eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2ac]
shl eax, 4
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2cc]
or eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
mov al, byte [ebp - 0x2d4]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x674], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x674]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x674]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x243], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24d], al
cmp dword [ebp - 0x254], 0
jle 0x516b85
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24d]
mov byte [ebp + eax - 0x11], cl
jmp 0x516923
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c0]
movzx eax, byte [eax]
mov dword [ebp - 0x29c], eax
movsd xmm0, qword [0xab8930]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [0xab88b0]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [0xab8810]
movsd qword [ebp - 0x300], xmm0
movsd xmm0, qword [0xab8740]
movsd qword [ebp - 0x330], xmm0
movsd xmm0, qword [ebp - 0x300]
mulsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x300], xmm0
movsd xmm0, qword [ebp - 0x350]
mulsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x350]
mulsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x370]
mulsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x350]
comisd xmm0, xmmword [ebp - 0x330]
jbe 0x516cf5
movsd xmm0, qword [ebp - 0x330]
subsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x330], xmm0
movsd xmm0, qword [ebp - 0x370]
addsd xmm0, qword [ebp - 0x300]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x330]
mulsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x330], xmm0
movsd xmm0, qword [ebp - 0x300]
subsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x300], xmm0
mov dword [ebp - 0x2a0], 7
jmp 0x516e89
movsd xmm0, qword [ebp - 0x350]
addsd xmm0, qword [ebp - 0x300]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x370]
mulsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x300]
addsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x300], xmm0
movsd xmm0, qword [ebp - 0x300]
divsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x300], xmm0
movsd xmm0, qword [ebp - 0x370]
subsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x330]
mulsd xmm0, qword [ebp - 0x370]
movsd qword [ebp - 0x330], xmm0
movsd xmm0, qword [ebp - 0x370]
addsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x300]
subsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x300], xmm0
movsd xmm0, qword [ebp - 0x300]
comisd xmm0, xmmword [ebp - 0x350]
jbe 0x516e29
movsd xmm0, qword [ebp - 0x300]
mulsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x300], xmm0
movsd xmm0, qword [ebp - 0x350]
subsd xmm0, qword [ebp - 0x370]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x300]
mulsd xmm0, qword [ebp - 0x330]
movsd qword [ebp - 0x300], xmm0
movsd xmm0, qword [ebp - 0x370]
addsd xmm0, qword [ebp - 0x300]
movsd qword [ebp - 0x370], xmm0
jmp 0x516e89
movsd xmm0, qword [ebp - 0x300]
mulsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x300], xmm0
movsd xmm0, qword [ebp - 0x330]
subsd xmm0, qword [ebp - 0x370]
movsd qword [ebp - 0x330], xmm0
movsd xmm0, qword [ebp - 0x300]
mulsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x300], xmm0
movsd xmm0, qword [ebp - 0x300]
mulsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x300], xmm0
movsd xmm0, qword [0xab8900]
movsd qword [ebp - 0x3f0], xmm0
movsd xmm0, qword [0xab88a8]
movsd qword [ebp - 0x410], xmm0
movsd xmm0, qword [0xab8840]
movsd qword [ebp - 0x550], xmm0
movsd xmm0, qword [0xab87e8]
movsd qword [ebp - 0x3f8], xmm0
movsd xmm0, qword [0xab8770]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [0xab86e8]
movsd qword [ebp - 0x380], xmm0
movsd xmm0, qword [ebp - 0x3f8]
addsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x3f8], xmm0
movsd xmm0, qword [ebp - 0x3f0]
subsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x3f0], xmm0
movsd xmm0, qword [ebp - 0x410]
subsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x410], xmm0
movsd xmm0, qword [ebp - 0x3f8]
addsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x3f8], xmm0
movsd xmm0, qword [ebp - 0x3f0]
addsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x3f0], xmm0
movsd xmm0, qword [ebp - 0x550]
addsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x550], xmm0
movsd xmm0, qword [ebp - 0x3f0]
comisd xmm0, xmmword [ebp - 0x380]
jbe 0x517034
movsd xmm0, qword [ebp - 0x550]
mulsd xmm0, qword [ebp - 0x388]
movsd qword [ebp - 0x550], xmm0
movsd xmm0, qword [ebp - 0x388]
subsd xmm0, qword [ebp - 0x3f0]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [ebp - 0x388]
subsd xmm0, qword [ebp - 0x3f0]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [ebp - 0x410]
mulsd xmm0, qword [ebp - 0x3f8]
movsd qword [ebp - 0x410], xmm0
movsd xmm0, qword [ebp - 0x388]
subsd xmm0, qword [ebp - 0x3f0]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [ebp - 0x3f8]
mulsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x3f8], xmm0
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c8], eax
jmp 0x5170c4
movsd xmm0, qword [ebp - 0x410]
divsd xmm0, qword [ebp - 0x550]
movsd qword [ebp - 0x410], xmm0
movsd xmm0, qword [ebp - 0x3f8]
divsd xmm0, qword [ebp - 0x388]
movsd qword [ebp - 0x3f8], xmm0
movsd xmm0, qword [ebp - 0x380]
mulsd xmm0, qword [ebp - 0x3f0]
movsd qword [ebp - 0x380], xmm0
movsd xmm0, qword [ebp - 0x388]
subsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [ebp - 0x410]
addsd xmm0, qword [ebp - 0x550]
movsd qword [ebp - 0x410], xmm0
movsd xmm0, qword [ebp - 0x388]
subsd xmm0, qword [ebp - 0x380]
movsd qword [ebp - 0x388], xmm0
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c8]
movzx eax, byte [eax]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a8], 0xd
mov eax, dword [ebp - 0x29c]
sub eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2a4]
sub eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2ac]
shl eax, 4
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2cc]
or eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
mov al, byte [ebp - 0x2d4]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x674], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x674]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x674]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x243], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24d], al
cmp dword [ebp - 0x254], 0
jle 0x5172bd
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24d]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c0]
movzx eax, byte [eax]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a0], 7
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c8]
movzx eax, byte [eax]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a8], 0xd
mov eax, dword [ebp - 0x29c]
sub eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2a4]
sub eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2ac]
shl eax, 4
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2cc]
or eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
mov al, byte [ebp - 0x2d4]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x674], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x674]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x674]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x243], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24d], al
cmp dword [ebp - 0x254], 0
jle 0x51750d
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24d]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x28c]
inc eax
mov dword [ebp - 0x28c], eax
movsd xmm0, qword [0xab8918]
movsd qword [ebp - 0x438], xmm0
movsd xmm0, qword [0xab8890]
movsd qword [ebp - 0x3a0], xmm0
movsd xmm0, qword [0xab87f8]
movsd qword [ebp - 0x3e8], xmm0
movsd xmm0, qword [0xab8728]
movsd qword [ebp - 0x3a8], xmm0
movsd xmm0, qword [ebp - 0x3e8]
mulsd xmm0, qword [ebp - 0x3a8]
movsd qword [ebp - 0x3e8], xmm0
movsd xmm0, qword [ebp - 0x3e8]
subsd xmm0, qword [ebp - 0x3a8]
movsd qword [ebp - 0x3e8], xmm0
movsd xmm0, qword [ebp - 0x438]
subsd xmm0, qword [ebp - 0x3a8]
movsd qword [ebp - 0x438], xmm0
movsd xmm0, qword [ebp - 0x3a0]
mulsd xmm0, qword [ebp - 0x3a8]
movsd qword [ebp - 0x3a0], xmm0
movsd xmm0, qword [ebp - 0x3a0]
comisd xmm0, xmmword [ebp - 0x3a8]
jbe 0x517649
movsd xmm0, qword [ebp - 0x438]
addsd xmm0, qword [ebp - 0x3e8]
movsd qword [ebp - 0x438], xmm0
movsd xmm0, qword [ebp - 0x3a0]
addsd xmm0, qword [ebp - 0x3a8]
movsd qword [ebp - 0x3a0], xmm0
movsd xmm0, qword [ebp - 0x3e8]
mulsd xmm0, qword [ebp - 0x438]
movsd qword [ebp - 0x3e8], xmm0
movsd xmm0, qword [ebp - 0x3a0]
addsd xmm0, qword [ebp - 0x3a8]
movsd qword [ebp - 0x3a0], xmm0
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2c0], eax
jmp 0x5176a9
movsd xmm0, qword [ebp - 0x3a0]
subsd xmm0, qword [ebp - 0x3e8]
movsd qword [ebp - 0x3a0], xmm0
movsd xmm0, qword [ebp - 0x3a8]
mulsd xmm0, qword [ebp - 0x438]
movsd qword [ebp - 0x3a8], xmm0
movsd xmm0, qword [ebp - 0x3a8]
subsd xmm0, qword [ebp - 0x438]
movsd qword [ebp - 0x3a8], xmm0
movsd xmm0, qword [ebp - 0x3a0]
divsd xmm0, qword [ebp - 0x3e8]
movsd qword [ebp - 0x3a0], xmm0
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c0]
movzx eax, byte [eax]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a0], 7
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c8]
movzx eax, byte [eax]
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a8], 0xd
mov eax, dword [ebp - 0x29c]
sub eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2a4]
sub eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2ac]
shl eax, 4
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2cc]
or eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], eax
mov al, byte [ebp - 0x2d4]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x243]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x674]
mov byte [ebp + ecx - 0x674], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x674], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x674]
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 - 0x674]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x674]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x674]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x674]
movzx ecx, byte [ebp + ecx - 0x674]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x246]
mov byte [ebp - 0x243], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x24d], al
cmp dword [ebp - 0x254], 0
jle 0x5178d1
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x24d]
mov byte [ebp + eax - 0x11], cl
xor eax, eax
inc eax
shl eax, 3
mov dword [ebp - 0x56c], eax
cmp dword [ebp - 0x56c], 9
jae 0x5178e8
jmp 0x5178ed
call fcn.00a1d3da
mov eax, dword [ebp - 0x56c]
mov byte [ebp + eax - 0x10], 0
jmp 0x517942
and dword [ebp - 0x408], 0
jmp 0x517910
mov eax, dword [ebp - 0x408]
inc eax
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 9
jge 0x517942
mov eax, dword [ebp - 0x408]
mov dword [ebp - 0x568], eax
cmp dword [ebp - 0x568], 9
jae 0x517930
jmp 0x517935
call fcn.00a1d3da
mov eax, dword [ebp - 0x568]
mov byte [ebp + eax - 0x10], 0
jmp 0x517903
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.004585f0
mov dword [ebp - 0x67c], eax
push 0
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x420]
push dword [ebp - 0x2f0]
push dword [ebp - 0x3d8]
call dword [ebp - 0x67c]
test eax, eax
je 0x517aab
or dword [ebp - 0x3d4], 0xffffffff
mov byte [ebp - 0x305], 0
mov byte [ebp - 0x2d6], 0
cmp dword [ebp - 0x228], 0x100
jbe 0x517a85
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x2f0]
movzx eax, byte [ecx + eax]
cmp eax, 0x4d
jne 0x5179dd
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x2f0]
movzx eax, byte [ecx + eax]
cmp eax, 0x5a
jne 0x5179dd
mov byte [ebp - 0x2d6], 1
and dword [ebp - 0x3d4], 0
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x2f0]
movzx eax, byte [ecx + eax]
cmp eax, 0xd0
jne 0x517a47
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x2f0]
movzx eax, byte [ecx + eax]
cmp eax, 0xcf
jne 0x517a47
xor eax, eax
inc eax
shl eax, 1
mov ecx, dword [ebp - 0x2f0]
movzx eax, byte [ecx + eax]
cmp eax, 0x11
jne 0x517a47
xor eax, eax
inc eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x2f0]
movzx eax, byte [ecx + eax]
cmp eax, 0xe0
jne 0x517a47
mov byte [ebp - 0x2d6], 1
mov dword [ebp - 0x3d4], 1
and dword [ebp - 0x564], 0
cmp dword [ebp - 0x3d4], 0
jne 0x517a85
push dword [ebp - 0x228]
push dword [ebp - 0x2f0]
call fcn.004f6a96
pop ecx
pop ecx
mov dword [ebp - 0x564], eax
xor eax, eax
cmp dword [ebp - 0x564], 0x1000
sete al
mov byte [ebp - 0x305], al
movzx eax, byte [ebp - 0x2d6]
test eax, eax
je 0x517aab
movzx eax, byte [ebp - 0x305]
test eax, eax
je 0x517aab
cmp dword [ebp - 0x3d4], 0
jne 0x517aab
mov byte [ebp - 0x2d5], 1
mov eax, dword [ebp - 0x420]
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x41c], 0
je 0x517af1
mov eax, dword [ebp - 0x418]
mov byte [eax], 0
mov eax, dword [ebp - 0x418]
inc eax
mov dword [ebp - 0x418], eax
mov eax, dword [ebp - 0x41c]
dec eax
mov dword [ebp - 0x41c], eax
jmp 0x517ac3
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x560], eax
push dword [ebp - 0x560]
call fcn.00a1cea6
pop ecx
cmp dword [ebp - 0x560], 0
jne 0x517b1b
and dword [ebp - 0x6a0], 0
jmp 0x517b31
mov dword [ebp - 0x2f0], 0x8123
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x6a0], eax
push dword [ebp - 0x3d8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x517b67
mov dword [ebp - 0x678], 0xbb8
lea eax, [ebp - 0x678]
push eax
lea ecx, [ebp - 0x6ac]
call fcn.004ecc98
push eax
call fcn.004ecd5a
pop ecx
jmp 0x512977
mov al, byte [ebp - 0x2d5]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00a1cccc
mov esp, ebp
pop ebp
ret