Function at 0x513969
Capabilities:
Get file size

Disassembly:
test dword [esi], eax
salc
invalid
push ebp
mov ebp, esp
sub esp, 0x604
mov eax, dword [0xaf7064]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov byte [ebp - 0x26e], 0
xor eax, eax
mov word [ebp - 0x224], ax
push 0x206
push 0
lea eax, [ebp - 0x222]
push eax
call fcn.00a6dcb0
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3a8], eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x5fc], eax
mov eax, dword [ebp - 0x3a8]
mov ax, word [eax]
mov word [ebp - 0x342], ax
mov eax, dword [ebp - 0x358]
mov cx, word [ebp - 0x342]
mov word [eax], cx
mov eax, dword [ebp - 0x3a8]
inc eax
inc eax
mov dword [ebp - 0x3a8], eax
mov eax, dword [ebp - 0x358]
inc eax
inc eax
mov dword [ebp - 0x358], eax
cmp word [ebp - 0x342], 0
jne 0x5139c6
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x340]
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x340]
mov ax, word [eax]
mov word [ebp - 0x39e], ax
add dword [ebp - 0x340], 2
cmp word [ebp - 0x39e], 0
jne 0x513a24
mov eax, dword [ebp - 0x340]
sub eax, dword [ebp - 0x3cc]
mov ecx, dword [ebp - 0x3cc]
mov dword [ebp - 0x3f0], ecx
mov dword [ebp - 0x3ec], eax
lea eax, [ebp - 0x224]
dec eax
dec eax
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x35c]
mov ax, word [eax + 2]
mov word [ebp - 0x38e], ax
add dword [ebp - 0x35c], 2
cmp word [ebp - 0x38e], 0
jne 0x513a71
mov edi, dword [ebp - 0x35c]
mov esi, dword [ebp - 0x3f0]
mov eax, dword [ebp - 0x3ec]
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 - 0x378], 0
jmp 0x513ac9
mov eax, dword [ebp - 0x378]
inc eax
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x378], 0x3c
jge 0x5160e5
and dword [ebp - 0x234], 0
and dword [ebp - 0x230], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x354], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x33c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x33c], xmm0
jmp 0x513b1f
movsd xmm0, qword [ebp - 0x33c]
addsd xmm0, qword [0xab3140]
movsd qword [ebp - 0x33c], xmm0
movsd xmm0, qword [0xab6a60]
comisd xmm0, xmmword [ebp - 0x33c]
jbe 0x513bd0
movsd xmm0, qword [0xab6988]
mulsd xmm0, qword [ebp - 0x33c]
mulsd xmm0, qword [ebp - 0x33c]
movsd xmm1, qword [ebp - 0x33c]
mulsd xmm1, qword [ebp - 0x33c]
subsd xmm0, xmm1
movsd xmm1, qword [0xab3e70]
mulsd xmm1, qword [ebp - 0x33c]
mulsd xmm1, qword [ebp - 0x33c]
addsd xmm1, qword [0xab33e8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x354]
movsd qword [ebp - 0x354], xmm0
movsd xmm0, qword [ebp - 0x354]
comisd xmm0, xmmword [0xab6940]
jbe 0x513bcb
movsd xmm0, qword [0xab68d0]
mulsd xmm0, qword [ebp - 0x33c]
movsd xmm1, qword [ebp - 0x354]
subsd xmm1, xmm0
movsd qword [ebp - 0x354], xmm1
jmp 0x513b07
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x354]
jbe 0x513c18
and eax, 0x2707270d
or eax, 0xd22061a
sbb ecx, dword [eax]
sbb ecx, dword [esi]
sub byte [esi], cl
sbb ecx, dword [edx]
and eax, 0x1c022603
pop es
pop ecx
dec edx
cmp al, 0x5f
ja 0x513c74
and al, 0x59
dec ecx
jne 0x513c39
push edx
jp 0x513c45
cmp eax, 0x6d205039
cmp esi, dword [edi]
dec ebp
dec edx
inc esi
pop ebp
sub cl, ch
std
or eax, dword [eax]
add bh, al
test esp, ecx
std
invalid
mov dword [ebp - 0x234], 0x513bdd
mov dword [ebp - 0x230], 0x513bf5
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x3f8], eax
mov byte [ebp - 0x285], 0x22
and dword [ebp - 0x260], 0
jmp 0x513c61
test eax, edx
std
invalid
test dword [ebx - 3], edi
invalid
mov eax, dword [ebp - 0x260]
inc eax
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0x100
jae 0x513c82
mov eax, dword [ebp - 0x260]
mov cl, byte [ebp - 0x260]
mov byte [ebp + eax - 0x5f8], cl
lea esp, [eax - 0x77000003]
mov word [0xfffffa08], es
jmp 0x513c54
and dword [ebp - 0x320], 0
mov byte [ebp - 0x240], 0
mov dword [ebp - 0x260], 0xff
jmp 0x513ca9
mov eax, dword [ebp - 0x260]
dec eax
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0
jbe 0x513f2e
and dword [ebp - 0x37c], 0
mov dword [ebp - 0x374], 1
mov eax, dword [ebp - 0x374]
cmp eax, dword [ebp - 0x260]
jae 0x513ce7
mov eax, dword [ebp - 0x374]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x374], eax
jmp 0x513cc7
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x513d2c
sub dword [ebp - 0x284], 1
je 0x513d5a
sub dword [ebp - 0x284], 1
je 0x513d8b
sub dword [ebp - 0x284], 1
je 0x513db9
jmp 0x513de7
movzx eax, byte [ebp - 0x240]
movzx ebx, byte [ebp + eax - 0x5f8]
movsd xmm0, qword [ebp - 0x354]
call fcn.00a1b481
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x240], bl
jmp 0x513e0e
movzx eax, byte [ebp - 0x240]
movzx ebx, byte [ebp + eax - 0x5f8]
movsd xmm0, qword [ebp - 0x354]
call fcn.00a1b481
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x240], bl
jmp 0x513e0e
movzx eax, byte [ebp - 0x240]
movzx ebx, byte [ebp + eax - 0x5f8]
movsd xmm0, qword [ebp - 0x354]
call fcn.00a1b481
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x240], bl
jmp 0x513e0e
movzx eax, byte [ebp - 0x240]
movzx ebx, byte [ebp + eax - 0x5f8]
movsd xmm0, qword [ebp - 0x354]
call fcn.00a1b481
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x240], bl
jmp 0x513e0e
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x5f8]
mov ecx, dword [ebp - 0x3f8]
add ecx, dword [ebp - 0x320]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x240], al
mov eax, dword [ebp - 0x320]
inc eax
mov dword [ebp - 0x320], eax
movzx eax, byte [ebp - 0x285]
cmp dword [ebp - 0x320], eax
jb 0x513e47
and dword [ebp - 0x320], 0
movzx eax, byte [ebp - 0x285]
movzx ecx, byte [ebp - 0x240]
add ecx, eax
mov byte [ebp - 0x240], cl
movzx eax, byte [ebp - 0x240]
and eax, dword [ebp - 0x374]
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x37c]
inc eax
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 0xb
jbe 0x513e84
mov eax, dword [ebp - 0x2e4]
xor edx, edx
div dword [ebp - 0x260]
mov dword [ebp - 0x2e4], edx
mov eax, dword [ebp - 0x2e4]
cmp eax, dword [ebp - 0x260]
ja 0x513ce7
mov eax, dword [ebp - 0x260]
cmp eax, dword [ebp - 0x2e4]
je 0x513f29
mov eax, dword [ebp - 0x2e4]
movzx eax, byte [ebp + eax - 0x5f8]
mov ecx, dword [ebp - 0x260]
movzx ecx, byte [ebp + ecx - 0x5f8]
xor ecx, eax
mov eax, dword [ebp - 0x260]
mov byte [ebp + eax - 0x5f8], cl
mov eax, dword [ebp - 0x260]
movzx eax, byte [ebp + eax - 0x5f8]
mov ecx, dword [ebp - 0x2e4]
movzx ecx, byte [ebp + ecx - 0x5f8]
xor ecx, eax
mov eax, dword [ebp - 0x2e4]
mov byte [ebp + eax - 0x5f8], cl
mov eax, dword [ebp - 0x2e4]
movzx eax, byte [ebp + eax - 0x5f8]
mov ecx, dword [ebp - 0x260]
movzx ecx, byte [ebp + ecx - 0x5f8]
xor ecx, eax
mov eax, dword [ebp - 0x260]
mov byte [ebp + eax - 0x5f8], cl
jmp 0x513c9c
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp - 0x23c], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp - 0x23e], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp - 0x247], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x240]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp - 0x242], al
mov dword [ebp - 0x3c8], 0x18
cmp dword [ebp - 0x3c8], 2
jle 0x5147cd
mov eax, dword [ebp - 0x3c8]
and eax, 1
jne 0x5147cd
and dword [ebp - 0x268], 0
and dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x278]
inc eax
mov dword [ebp - 0x278], eax
and dword [ebp - 0x324], 0
mov eax, dword [ebp - 0x268]
shl eax, 1
mov dword [ebp - 0x324], eax
and dword [ebp - 0x2f0], 0
mov eax, dword [ebp - 0x308]
add eax, dword [ebp - 0x324]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x2f0], eax
and dword [ebp - 0x2f4], 0
mov eax, dword [ebp - 0x2f4]
add eax, 0x1a
mov dword [ebp - 0x2f4], eax
and dword [ebp - 0x30c], 0
mov eax, dword [ebp - 0x268]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x30c], eax
and dword [ebp - 0x2f8], 0
mov eax, dword [ebp - 0x308]
add eax, dword [ebp - 0x30c]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x2f8], eax
and dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x304]
inc eax
mov dword [ebp - 0x304], eax
and dword [ebp - 0x2fc], 0
mov eax, dword [ebp - 0x2f0]
sub eax, dword [ebp - 0x2f4]
add eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x2fc], eax
and dword [ebp - 0x300], 0
mov eax, dword [ebp - 0x2f8]
sub eax, dword [ebp - 0x304]
add eax, dword [ebp - 0x300]
mov dword [ebp - 0x300], eax
and dword [ebp - 0x310], 0
mov eax, dword [ebp - 0x2fc]
shl eax, 4
mov dword [ebp - 0x310], eax
and dword [ebp - 0x314], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x314], eax
and dword [ebp - 0x318], 0
mov eax, dword [ebp - 0x310]
or eax, dword [ebp - 0x314]
mov dword [ebp - 0x318], eax
mov byte [ebp - 0x248], 0
mov al, byte [ebp - 0x318]
mov byte [ebp - 0x248], al
mov byte [ebp - 0x246], 0
movzx eax, byte [ebp - 0x242]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x5f8]
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 - 0x242]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp + ecx - 0x5f8], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp + ecx - 0x5f8], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp + ecx - 0x5f8], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x246]
mov byte [ebp + eax - 0x5f8], cl
movzx eax, byte [ebp - 0x246]
movzx eax, byte [ebp + eax - 0x5f8]
movzx ecx, byte [ebp - 0x247]
add ecx, eax
mov byte [ebp - 0x247], cl
movzx eax, byte [ebp - 0x248]
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x5f8]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x5f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5f8]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x5f8]
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x5f8]
add ecx, edx
movzx edx, byte [ebp - 0x247]
movzx edx, byte [ebp + edx - 0x5f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5f8]
movzx ecx, byte [ebp + ecx - 0x5f8]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x248]
mov byte [ebp - 0x242], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x255], al
cmp dword [ebp - 0x268], 0
jle 0x514280
mov eax, dword [ebp - 0x268]
mov cl, byte [ebp - 0x255]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x278]
add eax, 5
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x268]
inc eax
mov dword [ebp - 0x380], eax
jmp 0x5142ab
mov eax, dword [ebp - 0x380]
inc eax
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x380]
cmp eax, dword [ebp - 0x278]
jge 0x514505
mov eax, dword [ebp - 0x268]
inc eax
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
shl eax, 1
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x308]
add eax, dword [ebp - 0x324]
movzx eax, byte [eax]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2f4], 0x1a
mov eax, dword [ebp - 0x268]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x308]
add eax, dword [ebp - 0x30c]
movzx eax, byte [eax]
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x304], 1
mov eax, dword [ebp - 0x2f0]
sub eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f8]
sub eax, dword [ebp - 0x304]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x2fc]
shl eax, 4
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x310]
or eax, dword [ebp - 0x314]
mov dword [ebp - 0x318], eax
mov al, byte [ebp - 0x318]
mov byte [ebp - 0x248], al
movzx eax, byte [ebp - 0x242]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x5f8]
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 - 0x242]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp + ecx - 0x5f8], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp + ecx - 0x5f8], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp + ecx - 0x5f8], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x246]
mov byte [ebp + eax - 0x5f8], cl
movzx eax, byte [ebp - 0x246]
movzx eax, byte [ebp + eax - 0x5f8]
movzx ecx, byte [ebp - 0x247]
add ecx, eax
mov byte [ebp - 0x247], cl
movzx eax, byte [ebp - 0x248]
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x5f8]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x5f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5f8]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x5f8]
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x5f8]
add ecx, edx
movzx edx, byte [ebp - 0x247]
movzx edx, byte [ebp + edx - 0x5f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5f8]
movzx ecx, byte [ebp + ecx - 0x5f8]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x248]
mov byte [ebp - 0x242], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x255], al
cmp dword [ebp - 0x268], 0
jle 0x514500
mov eax, dword [ebp - 0x268]
mov cl, byte [ebp - 0x255]
mov byte [ebp + eax - 0x1d], cl
jmp 0x51429e
mov eax, dword [ebp - 0x278]
inc eax
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x278]
add eax, 6
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x268]
inc eax
mov dword [ebp - 0x384], eax
jmp 0x51453d
mov eax, dword [ebp - 0x384]
inc eax
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 0x384]
cmp eax, dword [ebp - 0x278]
jge 0x514797
mov eax, dword [ebp - 0x268]
inc eax
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
shl eax, 1
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x308]
add eax, dword [ebp - 0x324]
movzx eax, byte [eax]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2f4], 0x1a
mov eax, dword [ebp - 0x268]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x308]
add eax, dword [ebp - 0x30c]
movzx eax, byte [eax]
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x304], 1
mov eax, dword [ebp - 0x2f0]
sub eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f8]
sub eax, dword [ebp - 0x304]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x2fc]
shl eax, 4
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x310]
or eax, dword [ebp - 0x314]
mov dword [ebp - 0x318], eax
mov al, byte [ebp - 0x318]
mov byte [ebp - 0x248], al
movzx eax, byte [ebp - 0x242]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x23c]
movzx eax, byte [ebp + eax - 0x5f8]
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 - 0x242]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp + ecx - 0x5f8], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp + ecx - 0x5f8], al
movzx eax, byte [ebp - 0x23c]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x5f8]
mov byte [ebp + ecx - 0x5f8], al
movzx eax, byte [ebp - 0x23c]
mov cl, byte [ebp - 0x246]
mov byte [ebp + eax - 0x5f8], cl
movzx eax, byte [ebp - 0x246]
movzx eax, byte [ebp + eax - 0x5f8]
movzx ecx, byte [ebp - 0x247]
add ecx, eax
mov byte [ebp - 0x247], cl
movzx eax, byte [ebp - 0x248]
movzx ecx, byte [ebp - 0x23e]
movzx ecx, byte [ebp + ecx - 0x5f8]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x5f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5f8]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x5f8]
movzx edx, byte [ebp - 0x242]
movzx edx, byte [ebp + edx - 0x5f8]
add ecx, edx
movzx edx, byte [ebp - 0x247]
movzx edx, byte [ebp + edx - 0x5f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x5f8]
movzx ecx, byte [ebp + ecx - 0x5f8]
xor eax, ecx
mov byte [ebp - 0x23f], al
mov al, byte [ebp - 0x248]
mov byte [ebp - 0x242], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x255], al
cmp dword [ebp - 0x268], 0
jle 0x514792
mov eax, dword [ebp - 0x268]
mov cl, byte [ebp - 0x255]
mov byte [ebp + eax - 0x1d], cl
jmp 0x514530
mov eax, dword [ebp - 0x278]
inc eax
mov dword [ebp - 0x278], eax
xor eax, eax
inc eax
imul eax, eax, 0xb
mov dword [ebp - 0x3c4], eax
cmp dword [ebp - 0x3c4], 0xc
jae 0x5147bb
jmp 0x5147c0
call fcn.00a1b17a
mov eax, dword [ebp - 0x3c4]
mov byte [ebp + eax - 0x1c], 0
jmp 0x514815
and dword [ebp - 0x36c], 0
jmp 0x5147e3
mov eax, dword [ebp - 0x36c]
inc eax
mov dword [ebp - 0x36c], eax
cmp dword [ebp - 0x36c], 0xc
jge 0x514815
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x3c0], eax
cmp dword [ebp - 0x3c0], 0xc
jae 0x514803
jmp 0x514808
call fcn.00a1b17a
mov eax, dword [ebp - 0x3c0]
mov byte [ebp + eax - 0x1c], 0
jmp 0x5147d6
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.00459900
mov dword [ebp - 0x3d0], eax
push 0
push 0x80
push 3
push 0
push 1
push 0xa0000000
lea eax, [ebp - 0x224]
push eax
call dword [ebp - 0x3d0]
mov dword [ebp - 0x370], eax
cmp dword [ebp - 0x370], 0xffffffff
je 0x5160bd
push 0
push dword [ebp - 0x370]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x394], eax
and dword [ebp - 0x228], 0
push dword [ebp - 0x394]
call fcn.00a1ac3d
pop ecx
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d4]
mov dword [ebp - 0x280], eax
and dword [ebp - 0x238], 0
and dword [ebp - 0x22c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x34c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x334], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x334], xmm0
jmp 0x5148de
movsd xmm0, qword [ebp - 0x334]
addsd xmm0, qword [0xab3350]
movsd qword [ebp - 0x334], xmm0
movsd xmm0, qword [0xab6a18]
comisd xmm0, xmmword [ebp - 0x334]
jbe 0x51498f
movsd xmm0, qword [0xab6970]
mulsd xmm0, qword [ebp - 0x334]
mulsd xmm0, qword [ebp - 0x334]
movsd xmm1, qword [ebp - 0x334]
mulsd xmm1, qword [ebp - 0x334]
subsd xmm0, xmm1
movsd xmm1, qword [0xab6760]
mulsd xmm1, qword [ebp - 0x334]
mulsd xmm1, qword [ebp - 0x334]
addsd xmm1, qword [0xab6910]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x34c]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x34c]
comisd xmm0, xmmword [0xab6948]
jbe 0x51498a
movsd xmm0, qword [0xab68c0]
mulsd xmm0, qword [ebp - 0x334]
movsd xmm1, qword [ebp - 0x34c]
subsd xmm1, xmm0
movsd qword [ebp - 0x34c], xmm1
jmp 0x5148c6
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x34c]
jbe 0x5149cc
out 0x60, eax
fsub qword [ebx - 0x1d]
fcomp qword gs:[esi - 0x1c]
jmp 0x512615
mov dword [ebp - 0x238], 0x51499c
mov dword [ebp - 0x22c], 0x5149ae
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x3dc], eax
mov byte [ebp - 0x286], 0x1d
and dword [ebp - 0x264], 0
jmp 0x514a15
mov eax, dword [ebp - 0x264]
inc eax
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0x100
jae 0x514a36
mov eax, dword [ebp - 0x264]
mov cl, byte [ebp - 0x264]
mov byte [ebp + eax - 0x4f8], cl
jmp 0x514a08
and dword [ebp - 0x31c], 0
mov byte [ebp - 0x241], 0
mov dword [ebp - 0x264], 0xff
jmp 0x514a5d
mov eax, dword [ebp - 0x264]
dec eax
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0
jbe 0x514ce2
and dword [ebp - 0x388], 0
mov dword [ebp - 0x368], 1
mov eax, dword [ebp - 0x368]
cmp eax, dword [ebp - 0x264]
jae 0x514a9b
mov eax, dword [ebp - 0x368]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x368], eax
jmp 0x514a7b
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x3d8], eax
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0
je 0x514ae0
sub dword [ebp - 0x27c], 1
je 0x514b0e
sub dword [ebp - 0x27c], 1
je 0x514b3f
sub dword [ebp - 0x27c], 1
je 0x514b6d
jmp 0x514b9b
movzx eax, byte [ebp - 0x241]
movzx ebx, byte [ebp + eax - 0x4f8]
movsd xmm0, qword [ebp - 0x34c]
call fcn.00a1b481
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x241], bl
jmp 0x514bc2
movzx eax, byte [ebp - 0x241]
movzx ebx, byte [ebp + eax - 0x4f8]
movsd xmm0, qword [ebp - 0x34c]
call fcn.00a1b481
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x241], bl
jmp 0x514bc2
movzx eax, byte [ebp - 0x241]
movzx ebx, byte [ebp + eax - 0x4f8]
movsd xmm0, qword [ebp - 0x34c]
call fcn.00a1b481
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x241], bl
jmp 0x514bc2
movzx eax, byte [ebp - 0x241]
movzx ebx, byte [ebp + eax - 0x4f8]
movsd xmm0, qword [ebp - 0x34c]
call fcn.00a1b481
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x241], bl
jmp 0x514bc2
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x4f8]
mov ecx, dword [ebp - 0x3dc]
add ecx, dword [ebp - 0x31c]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x241], al
mov eax, dword [ebp - 0x31c]
inc eax
mov dword [ebp - 0x31c], eax
movzx eax, byte [ebp - 0x286]
cmp dword [ebp - 0x31c], eax
jb 0x514bfb
and dword [ebp - 0x31c], 0
movzx eax, byte [ebp - 0x286]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
movzx eax, byte [ebp - 0x241]
and eax, dword [ebp - 0x368]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x388]
inc eax
mov dword [ebp - 0x388], eax
cmp dword [ebp - 0x388], 0xb
jbe 0x514c38
mov eax, dword [ebp - 0x2c8]
xor edx, edx
div dword [ebp - 0x264]
mov dword [ebp - 0x2c8], edx
mov eax, dword [ebp - 0x2c8]
cmp eax, dword [ebp - 0x264]
ja 0x514a9b
mov eax, dword [ebp - 0x264]
cmp eax, dword [ebp - 0x2c8]
je 0x514cdd
mov eax, dword [ebp - 0x2c8]
movzx eax, byte [ebp + eax - 0x4f8]
mov ecx, dword [ebp - 0x264]
movzx ecx, byte [ebp + ecx - 0x4f8]
xor ecx, eax
mov eax, dword [ebp - 0x264]
mov byte [ebp + eax - 0x4f8], cl
mov eax, dword [ebp - 0x264]
movzx eax, byte [ebp + eax - 0x4f8]
mov ecx, dword [ebp - 0x2c8]
movzx ecx, byte [ebp + ecx - 0x4f8]
xor ecx, eax
mov eax, dword [ebp - 0x2c8]
mov byte [ebp + eax - 0x4f8], cl
mov eax, dword [ebp - 0x2c8]
movzx eax, byte [ebp + eax - 0x4f8]
mov ecx, dword [ebp - 0x264]
movzx ecx, byte [ebp + ecx - 0x4f8]
xor ecx, eax
mov eax, dword [ebp - 0x264]
mov byte [ebp + eax - 0x4f8], cl
jmp 0x514a50
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp - 0x239], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp - 0x23a], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp - 0x244], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp - 0x23b], al
movzx eax, byte [ebp - 0x241]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp - 0x23d], al
mov dword [ebp - 0x3ac], 0x12
cmp dword [ebp - 0x3ac], 2
jle 0x515e78
mov eax, dword [ebp - 0x3ac]
and eax, 1
jne 0x515e78
and dword [ebp - 0x254], 0
and dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x274]
inc eax
mov dword [ebp - 0x274], eax
and dword [ebp - 0x2cc], 0
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2cc], eax
and dword [ebp - 0x2b8], 0
mov eax, dword [ebp - 0x2d0]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x2b8], eax
and dword [ebp - 0x2bc], 0
mov eax, dword [ebp - 0x2bc]
add eax, 0xdc
mov dword [ebp - 0x2bc], eax
and dword [ebp - 0x2d4], 0
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2d4], eax
and dword [ebp - 0x2a8], 0
mov eax, dword [ebp - 0x2d0]
add eax, dword [ebp - 0x2d4]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2a8], eax
and dword [ebp - 0x2ac], 0
mov eax, dword [ebp - 0x2ac]
add eax, 0x5c
mov dword [ebp - 0x2ac], eax
and dword [ebp - 0x2b0], 0
mov eax, dword [ebp - 0x2b8]
sub eax, dword [ebp - 0x2bc]
add eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2b0], eax
and dword [ebp - 0x2b4], 0
mov eax, dword [ebp - 0x2a8]
sub eax, dword [ebp - 0x2ac]
add eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2b4], eax
and dword [ebp - 0x2dc], 0
mov eax, dword [ebp - 0x2b0]
shl eax, 4
mov dword [ebp - 0x2dc], eax
and dword [ebp - 0x2e0], 0
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2e0], eax
and dword [ebp - 0x2d8], 0
mov eax, dword [ebp - 0x2dc]
or eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2d8], eax
mov byte [ebp - 0x245], 0
mov al, byte [ebp - 0x2d8]
mov byte [ebp - 0x245], al
mov byte [ebp - 0x243], 0
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x4f8]
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 - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x4f8], cl
movzx eax, byte [ebp - 0x243]
movzx eax, byte [ebp + eax - 0x4f8]
movzx ecx, byte [ebp - 0x244]
add ecx, eax
mov byte [ebp - 0x244], cl
movzx eax, byte [ebp - 0x245]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4f8]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
movzx edx, byte [ebp - 0x244]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx ecx, byte [ebp + ecx - 0x4f8]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x245]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x249], al
cmp dword [ebp - 0x254], 0
jle 0x515038
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x274]
add eax, 3
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x38c], eax
jmp 0x515063
mov eax, dword [ebp - 0x38c]
inc eax
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp - 0x38c]
cmp eax, dword [ebp - 0x274]
jge 0x51556a
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2d0]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2bc], 0xdc
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d0]
add eax, dword [ebp - 0x2d4]
movzx eax, byte [eax]
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2ac], 0x5c
mov eax, dword [ebp - 0x2b8]
sub eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2a8]
sub eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b0]
shl eax, 4
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2dc]
or eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2d8], eax
mov al, byte [ebp - 0x2d8]
mov byte [ebp - 0x245], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x4f8]
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 - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
movss xmm0, dword [0xab6e5c]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [0xab6df0]
movss dword [ebp - 0x250], xmm0
movss xmm0, dword [0xab666c]
movss dword [ebp - 0x28c], xmm0
movss xmm0, dword [0xab6d1c]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x250]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x250], xmm0
movss xmm0, dword [ebp - 0x26c]
mulss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x250]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x250], xmm0
movss xmm0, dword [ebp - 0x28c]
mulss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x28c], xmm0
movss xmm0, dword [ebp - 0x26c]
comiss xmm0, dword [ebp - 0x250]
jbe 0x5152e9
movss xmm0, dword [ebp - 0x25c]
addss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x25c]
subss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x26c]
mulss xmm0, dword [ebp - 0x250]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x250]
addss xmm0, dword [ebp - 0x28c]
movss dword [ebp - 0x250], xmm0
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
jmp 0x51547c
movss xmm0, dword [ebp - 0x25c]
divss xmm0, dword [ebp - 0x250]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x26c]
subss xmm0, dword [ebp - 0x28c]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x26c]
divss xmm0, dword [ebp - 0x28c]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x25c]
mulss xmm0, dword [ebp - 0x250]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x26c]
addss xmm0, dword [ebp - 0x250]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x26c]
addss xmm0, dword [ebp - 0x250]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x28c]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x28c], xmm0
movss xmm0, dword [ebp - 0x250]
addss xmm0, dword [ebp - 0x28c]
movss dword [ebp - 0x250], xmm0
movss xmm0, dword [ebp - 0x26c]
comiss xmm0, dword [ebp - 0x28c]
jbe 0x51541c
movss xmm0, dword [ebp - 0x250]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x250], xmm0
movss xmm0, dword [ebp - 0x25c]
addss xmm0, dword [ebp - 0x250]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x28c]
divss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x28c], xmm0
movss xmm0, dword [ebp - 0x250]
addss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x250], xmm0
jmp 0x51547c
movss xmm0, dword [ebp - 0x250]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x250], xmm0
movss xmm0, dword [ebp - 0x250]
addss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x250], xmm0
movss xmm0, dword [ebp - 0x25c]
divss xmm0, dword [ebp - 0x250]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x250]
addss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x250], xmm0
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x4f8], cl
movzx eax, byte [ebp - 0x243]
movzx eax, byte [ebp + eax - 0x4f8]
movzx ecx, byte [ebp - 0x244]
add ecx, eax
mov byte [ebp - 0x244], cl
movzx eax, byte [ebp - 0x245]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4f8]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
movzx edx, byte [ebp - 0x244]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx ecx, byte [ebp + ecx - 0x4f8]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x245]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x249], al
cmp dword [ebp - 0x254], 0
jle 0x515565
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x11], cl
jmp 0x515056
mov eax, dword [ebp - 0x274]
inc eax
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x274]
inc eax
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2d0]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2bc], 0xdc
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d0]
add eax, dword [ebp - 0x2d4]
movzx eax, byte [eax]
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2ac], 0x5c
movsd xmm0, qword [0xab6bf8]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [0xab6ba0]
movsd qword [ebp - 0x32c], xmm0
movsd xmm0, qword [0xab6b40]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [0xab6ac8]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [0xab6a48]
movsd qword [ebp - 0x2ec], xmm0
movsd xmm0, qword [0xab69a0]
movsd qword [ebp - 0x2c4], xmm0
movsd xmm0, qword [ebp - 0x2ec]
subsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x2ec], xmm0
movsd xmm0, qword [ebp - 0x2a4]
addsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [ebp - 0x29c]
mulsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [ebp - 0x2a4]
subsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [ebp - 0x2a4]
addsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [ebp - 0x32c]
subsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x32c], xmm0
movsd xmm0, qword [ebp - 0x2ec]
comisd xmm0, xmmword [ebp - 0x29c]
jbe 0x515953
movsd xmm0, qword [ebp - 0x29c]
subsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [ebp - 0x2a4]
mulsd xmm0, qword [ebp - 0x294]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [ebp - 0x2a4]
divsd xmm0, qword [ebp - 0x294]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [ebp - 0x32c]
divsd xmm0, qword [ebp - 0x29c]
movsd qword [ebp - 0x32c], xmm0
movsd xmm0, qword [ebp - 0x29c]
mulsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [ebp - 0x294]
divsd xmm0, qword [ebp - 0x2ec]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x294]
addsd xmm0, qword [ebp - 0x2ec]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x294]
mulsd xmm0, qword [ebp - 0x2ec]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x32c]
mulsd xmm0, qword [ebp - 0x29c]
movsd qword [ebp - 0x32c], xmm0
movsd xmm0, qword [ebp - 0x29c]
divsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [ebp - 0x2ec]
subsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x2ec], xmm0
movsd xmm0, qword [ebp - 0x2a4]
divsd xmm0, qword [ebp - 0x294]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [ebp - 0x2ec]
comisd xmm0, xmmword [ebp - 0x294]
jbe 0x5158be
movsd xmm0, qword [ebp - 0x29c]
divsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [ebp - 0x32c]
divsd xmm0, qword [ebp - 0x29c]
movsd qword [ebp - 0x32c], xmm0
movsd xmm0, qword [ebp - 0x294]
subsd xmm0, qword [ebp - 0x2ec]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x2c4]
divsd xmm0, qword [ebp - 0x32c]
movsd qword [ebp - 0x2c4], xmm0
movsd xmm0, qword [ebp - 0x29c]
divsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [ebp - 0x29c]
mulsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x29c], xmm0
jmp 0x51594e
movsd xmm0, qword [ebp - 0x2a4]
addsd xmm0, qword [ebp - 0x294]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [ebp - 0x294]
mulsd xmm0, qword [ebp - 0x2ec]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x2c4]
addsd xmm0, qword [ebp - 0x32c]
movsd qword [ebp - 0x2c4], xmm0
movsd xmm0, qword [ebp - 0x2a4]
divsd xmm0, qword [ebp - 0x294]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [ebp - 0x29c]
subsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x29c], xmm0
movsd xmm0, qword [ebp - 0x29c]
mulsd xmm0, qword [ebp - 0x2c4]
movsd qword [ebp - 0x29c], xmm0
jmp 0x5159f5
movsd xmm0, qword [ebp - 0x2ec]
subsd xmm0, qword [ebp - 0x2a4]
movsd qword [ebp - 0x2ec], xmm0
movsd xmm0, qword [ebp - 0x294]
mulsd xmm0, qword [ebp - 0x2ec]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x294]
mulsd xmm0, qword [ebp - 0x2ec]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x294]
mulsd xmm0, qword [ebp - 0x2ec]
movsd qword [ebp - 0x294], xmm0
movsd xmm0, qword [ebp - 0x2a4]
addsd xmm0, qword [ebp - 0x294]
movsd qword [ebp - 0x2a4], xmm0
movsd xmm0, qword [ebp - 0x32c]
mulsd xmm0, qword [ebp - 0x29c]
movsd qword [ebp - 0x32c], xmm0
mov eax, dword [ebp - 0x2b8]
sub eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2a8]
sub eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b0]
shl eax, 4
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2dc]
or eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2d8], eax
mov al, byte [ebp - 0x2d8]
mov byte [ebp - 0x245], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x4f8]
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 - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x4f8], cl
movzx eax, byte [ebp - 0x243]
movzx eax, byte [ebp + eax - 0x4f8]
movzx ecx, byte [ebp - 0x244]
add ecx, eax
mov byte [ebp - 0x244], cl
movzx eax, byte [ebp - 0x245]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4f8]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
movzx edx, byte [ebp - 0x244]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx ecx, byte [ebp + ecx - 0x4f8]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x245]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x249], al
cmp dword [ebp - 0x254], 0
jle 0x515bbd
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x274]
add eax, 4
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x3a4], eax
jmp 0x515be8
mov eax, dword [ebp - 0x3a4]
inc eax
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp - 0x3a4]
cmp eax, dword [ebp - 0x274]
jge 0x515e42
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
shl eax, 1
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2d0]
add eax, dword [ebp - 0x2cc]
movzx eax, byte [eax]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2bc], 0xdc
mov eax, dword [ebp - 0x254]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d0]
add eax, dword [ebp - 0x2d4]
movzx eax, byte [eax]
mov dword [ebp - 0x2a8], eax
mov dword [ebp - 0x2ac], 0x5c
mov eax, dword [ebp - 0x2b8]
sub eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2a8]
sub eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x2b0]
shl eax, 4
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2b4]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2dc]
or eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2d8], eax
mov al, byte [ebp - 0x2d8]
mov byte [ebp - 0x245], al
movzx eax, byte [ebp - 0x23d]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp - 0x243], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x4f8]
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 - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x4f8]
mov byte [ebp + ecx - 0x4f8], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x4f8], cl
movzx eax, byte [ebp - 0x243]
movzx eax, byte [ebp + eax - 0x4f8]
movzx ecx, byte [ebp - 0x244]
add ecx, eax
mov byte [ebp - 0x244], cl
movzx eax, byte [ebp - 0x245]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4f8]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
movzx edx, byte [ebp - 0x244]
movzx edx, byte [ebp + edx - 0x4f8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x4f8]
movzx ecx, byte [ebp + ecx - 0x4f8]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x245]
mov byte [ebp - 0x23d], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x249], al
cmp dword [ebp - 0x254], 0
jle 0x515e3d
mov eax, dword [ebp - 0x254]
mov cl, byte [ebp - 0x249]
mov byte [ebp + eax - 0x11], cl
jmp 0x515bdb
mov eax, dword [ebp - 0x274]
inc eax
mov dword [ebp - 0x274], eax
xor eax, eax
inc eax
shl eax, 3
mov dword [ebp - 0x3bc], eax
cmp dword [ebp - 0x3bc], 9
jae 0x515e66
jmp 0x515e6b
call fcn.00a1b17a
mov eax, dword [ebp - 0x3bc]
mov byte [ebp + eax - 0x10], 0
jmp 0x515ec0
and dword [ebp - 0x360], 0
jmp 0x515e8e
mov eax, dword [ebp - 0x360]
inc eax
mov dword [ebp - 0x360], eax
cmp dword [ebp - 0x360], 9
jge 0x515ec0
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x3b8], eax
cmp dword [ebp - 0x3b8], 9
jae 0x515eae
jmp 0x515eb3
call fcn.00a1b17a
mov eax, dword [ebp - 0x3b8]
mov byte [ebp + eax - 0x10], 0
jmp 0x515e81
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.00459900
mov dword [ebp - 0x3e0], eax
push 0
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x394]
push dword [ebp - 0x280]
push dword [ebp - 0x370]
call dword [ebp - 0x3e0]
test eax, eax
je 0x516029
or dword [ebp - 0x364], 0xffffffff
mov byte [ebp - 0x287], 0
mov byte [ebp - 0x26d], 0
cmp dword [ebp - 0x228], 0x100
jbe 0x516003
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x280]
movzx eax, byte [ecx + eax]
cmp eax, 0x4d
jne 0x515f5b
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x280]
movzx eax, byte [ecx + eax]
cmp eax, 0x5a
jne 0x515f5b
mov byte [ebp - 0x26d], 1
and dword [ebp - 0x364], 0
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x280]
movzx eax, byte [ecx + eax]
cmp eax, 0xd0
jne 0x515fc5
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x280]
movzx eax, byte [ecx + eax]
cmp eax, 0xcf
jne 0x515fc5
xor eax, eax
inc eax
shl eax, 1
mov ecx, dword [ebp - 0x280]
movzx eax, byte [ecx + eax]
cmp eax, 0x11
jne 0x515fc5
xor eax, eax
inc eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x280]
movzx eax, byte [ecx + eax]
cmp eax, 0xe0
jne 0x515fc5
mov byte [ebp - 0x26d], 1
mov dword [ebp - 0x364], 1
and dword [ebp - 0x3b4], 0
cmp dword [ebp - 0x364], 0
jne 0x516003
push dword [ebp - 0x228]
push dword [ebp - 0x280]
call fcn.004f5744
pop ecx
pop ecx
mov dword [ebp - 0x3b4], eax
xor eax, eax
cmp dword [ebp - 0x3b4], 0x1000
sete al
mov byte [ebp - 0x287], al
movzx eax, byte [ebp - 0x26d]
test eax, eax
je 0x516029
movzx eax, byte [ebp - 0x287]
test eax, eax
je 0x516029
cmp dword [ebp - 0x364], 0
jne 0x516029
mov byte [ebp - 0x26e], 1
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x398], eax
cmp dword [ebp - 0x39c], 0
je 0x51606f
mov eax, dword [ebp - 0x398]
mov byte [eax], 0
mov eax, dword [ebp - 0x398]
inc eax
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x39c]
dec eax
mov dword [ebp - 0x39c], eax
jmp 0x516041
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x3b0], eax
push dword [ebp - 0x3b0]
call fcn.00a1ac46
pop ecx
cmp dword [ebp - 0x3b0], 0
jne 0x516099
and dword [ebp - 0x3e4], 0
jmp 0x5160af
mov dword [ebp - 0x280], 0x8123
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x3e4], eax
push dword [ebp - 0x370]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x5160e5
mov dword [ebp - 0x3e8], 0xbb8
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x604]
call fcn.004ee7ae
push eax
call fcn.004ee870
pop ecx
jmp 0x513abc
mov al, byte [ebp - 0x26e]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00a1aa6a
mov esp, ebp
pop ebp
ret