Function at 0x507533
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x654
mov eax, dword [0xb07064]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov byte [ebp - 0x2b2], 0
xor eax, eax
mov word [ebp - 0x224], ax
push 0x206
push 0
lea eax, [ebp - 0x222]
push eax
call fcn.00a7dc30
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3c4], eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x64c], eax
mov eax, dword [ebp - 0x3c4]
mov ax, word [eax]
mov word [ebp - 0x362], ax
mov eax, dword [ebp - 0x394]
mov cx, word [ebp - 0x362]
mov word [eax], cx
mov eax, dword [ebp - 0x3c4]
inc eax
inc eax
mov dword [ebp - 0x3c4], eax
mov eax, dword [ebp - 0x394]
inc eax
inc eax
mov dword [ebp - 0x394], eax
cmp word [ebp - 0x362], 0
jne 0x507590
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x368]
mov ax, word [eax]
mov word [ebp - 0x3e0], ax
add dword [ebp - 0x368], 2
cmp word [ebp - 0x3e0], 0
jne 0x5075ee
mov eax, dword [ebp - 0x368]
sub eax, dword [ebp - 0x3fc]
mov ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x53c], ecx
mov dword [ebp - 0x520], eax
lea eax, [ebp - 0x224]
dec eax
dec eax
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x398]
mov ax, word [eax + 2]
mov word [ebp - 0x3de], ax
add dword [ebp - 0x398], 2
cmp word [ebp - 0x3de], 0
jne 0x50763b
mov edi, dword [ebp - 0x398]
mov esi, dword [ebp - 0x53c]
mov eax, dword [ebp - 0x520]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
and dword [ebp - 0x3c8], 0
jmp 0x507693
mov eax, dword [ebp - 0x3c8]
inc eax
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0x3c
jge 0x50b0e4
and dword [ebp - 0x22c], 0
and dword [ebp - 0x238], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x390], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x380], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x380], xmm0
jmp 0x5076e9
movsd xmm0, qword [ebp - 0x380]
addsd xmm0, qword [0xac3328]
movsd qword [ebp - 0x380], xmm0
movsd xmm0, qword [0xac68f8]
comisd xmm0, xmmword [ebp - 0x380]
jbe 0x50779a
movsd xmm0, qword [0xac67c0]
mulsd xmm0, qword [ebp - 0x380]
mulsd xmm0, qword [ebp - 0x380]
movsd xmm1, qword [ebp - 0x380]
mulsd xmm1, qword [ebp - 0x380]
subsd xmm0, xmm1
movsd xmm1, qword [0xac6748]
mulsd xmm1, qword [ebp - 0x380]
mulsd xmm1, qword [ebp - 0x380]
addsd xmm1, qword [0xac6780]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x390]
movsd qword [ebp - 0x390], xmm0
movsd xmm0, qword [ebp - 0x390]
comisd xmm0, xmmword [0xac6788]
jbe 0x507795
movsd xmm0, qword [0xac6708]
mulsd xmm0, qword [ebp - 0x380]
movsd xmm1, qword [ebp - 0x390]
subsd xmm1, xmm0
movsd qword [ebp - 0x390], xmm1
jmp 0x5076d1
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x390]
jbe 0x5077e3
dec ebx
xor eax, 0x41375f2d
dec ecx
jno 0x507811
arpl word [esi + 0x6c], si
cmp dword [eax + 0x24], esp
and esp, dword ss:[ecx + esi + 0x5c]
jnp 0x507833
xor dl, byte [edx + 0x6b]
pop ebx
pop ebp
jb 0x507800
xor eax, 0x71277562
das
je 0x5077ff
jb 0x5077fb
imul esp, dword [esi], 0x76
xor ch, byte [esi + 0x31]
push 0x29
push 0x32
je 0x507806
js 0x50780f
jno 0x507809
jmp 0x508c78
mov dword [ebp - 0x22c], 0x5077c6
mov dword [ebp - 0x238], 0x5077a7
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp - 0x238]
invalid
or al, 0xfd
std
invalid
std
invalid
mov dword [ebp - 0x528], eax
mov byte [ebp - 0x2e3], 0x23
sbb eax, 0x23fffffd
and dword [ebp - 0x270], 0
jmp 0x50782c
mov eax, dword [ebp - 0x270]
inc eax
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0x100
jae 0x50784d
add dword [eax], eax
add byte [ebx + 0x15], dh
mov eax, dword [ebp - 0x270]
mov cl, byte [ebp - 0x270]
mov byte [ebp + eax - 0x648], cl
jmp 0x50781f
and dword [ebp - 0x350], 0
mov byte [ebp - 0x248], 0
mov dword [ebp - 0x270], 0xff
jmp 0x507874
mov eax, dword [ebp - 0x270]
dec eax
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x270], 0
jbe 0x507af9
and dword [ebp - 0x3cc], 0
mov dword [ebp - 0x39c], 1
mov eax, dword [ebp - 0x39c]
cmp eax, dword [ebp - 0x270]
jae 0x5078b2
mov eax, dword [ebp - 0x39c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x39c], eax
jmp 0x507892
mov eax, dword [ebp - 0x350]
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x524]
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0
je 0x5078f7
sub dword [ebp - 0x2c4], 1
je 0x507925
sub dword [ebp - 0x2c4], 1
je 0x507956
sub dword [ebp - 0x2c4], 1
je 0x507984
jmp 0x5079b2
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x648]
movsd xmm0, qword [ebp - 0x390]
call fcn.00a2b3f1
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x5079d9
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x648]
movsd xmm0, qword [ebp - 0x390]
call fcn.00a2b3f1
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x5079d9
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x648]
movsd xmm0, qword [ebp - 0x390]
call fcn.00a2b3f1
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x5079d9
movzx eax, byte [ebp - 0x248]
movzx ebx, byte [ebp + eax - 0x648]
movsd xmm0, qword [ebp - 0x390]
call fcn.00a2b3f1
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x248], bl
jmp 0x5079d9
movzx eax, byte [ebp - 0x248]
movzx eax, byte [ebp + eax - 0x648]
mov ecx, dword [ebp - 0x528]
add ecx, dword [ebp - 0x350]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x248], al
mov eax, dword [ebp - 0x350]
inc eax
mov dword [ebp - 0x350], eax
movzx eax, byte [ebp - 0x2e3]
cmp dword [ebp - 0x350], eax
jb 0x507a12
and dword [ebp - 0x350], 0
movzx eax, byte [ebp - 0x2e3]
movzx ecx, byte [ebp - 0x248]
add ecx, eax
mov byte [ebp - 0x248], cl
movzx eax, byte [ebp - 0x248]
and eax, dword [ebp - 0x39c]
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x3cc]
inc eax
mov dword [ebp - 0x3cc], eax
cmp dword [ebp - 0x3cc], 0xb
jbe 0x507a4f
mov eax, dword [ebp - 0x334]
xor edx, edx
div dword [ebp - 0x270]
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x334]
cmp eax, dword [ebp - 0x270]
ja 0x5078b2
mov eax, dword [ebp - 0x270]
cmp eax, dword [ebp - 0x334]
je 0x507af4
mov eax, dword [ebp - 0x334]
movzx eax, byte [ebp + eax - 0x648]
mov ecx, dword [ebp - 0x270]
movzx ecx, byte [ebp + ecx - 0x648]
xor ecx, eax
mov eax, dword [ebp - 0x270]
mov byte [ebp + eax - 0x648], cl
mov eax, dword [ebp - 0x270]
movzx eax, byte [ebp + eax - 0x648]
mov ecx, dword [ebp - 0x334]
movzx ecx, byte [ebp + ecx - 0x648]
xor ecx, eax
mov eax, dword [ebp - 0x334]
mov byte [ebp + eax - 0x648], cl
mov eax, dword [ebp - 0x334]
movzx eax, byte [ebp + eax - 0x648]
mov ecx, dword [ebp - 0x270]
movzx ecx, byte [ebp + ecx - 0x648]
xor ecx, eax
mov eax, dword [ebp - 0x270]
mov byte [ebp + eax - 0x648], cl
jmp 0x507867
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x23d], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x23e], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x245], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x248]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x243], al
mov dword [ebp - 0x41c], 0x18
cmp dword [ebp - 0x41c], 2
jle 0x508c30
mov eax, dword [ebp - 0x41c]
and eax, 1
jne 0x508c30
and dword [ebp - 0x258], 0
and dword [ebp - 0x290], 0
mov eax, dword [ebp - 0x290]
inc eax
mov dword [ebp - 0x290], eax
and dword [ebp - 0x2fc], 0
mov eax, dword [ebp - 0x258]
shl eax, 1
mov dword [ebp - 0x2fc], eax
and dword [ebp - 0x2e8], 0
mov eax, dword [ebp - 0x2f4]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x2e8], eax
and dword [ebp - 0x2e0], 0
mov eax, dword [ebp - 0x2e0]
add eax, 0x6a
mov dword [ebp - 0x2e0], eax
and dword [ebp - 0x2f8], 0
mov eax, dword [ebp - 0x258]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
and dword [ebp - 0x2ec], 0
mov eax, dword [ebp - 0x2f4]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
add eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x2ec], eax
and dword [ebp - 0x2d0], 0
mov eax, dword [ebp - 0x2d0]
add eax, 0x24
mov dword [ebp - 0x2d0], eax
and dword [ebp - 0x2d4], 0
mov eax, dword [ebp - 0x2e8]
sub eax, dword [ebp - 0x2e0]
add eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x2d4], eax
and dword [ebp - 0x2d8], 0
mov eax, dword [ebp - 0x2ec]
sub eax, dword [ebp - 0x2d0]
add eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2d8], eax
and dword [ebp - 0x308], 0
mov eax, dword [ebp - 0x2d4]
shl eax, 4
mov dword [ebp - 0x308], eax
and dword [ebp - 0x300], 0
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x300], eax
and dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x308]
or eax, dword [ebp - 0x300]
mov dword [ebp - 0x304], eax
mov byte [ebp - 0x246], 0
mov al, byte [ebp - 0x304]
mov byte [ebp - 0x246], al
mov byte [ebp - 0x244], 0
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23d]
add al, 1
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23d]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23d]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x648], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x648]
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 - 0x648]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
movzx ecx, byte [ebp + ecx - 0x648]
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 - 0x251], al
cmp dword [ebp - 0x258], 0
jle 0x507e4d
mov eax, dword [ebp - 0x258]
mov cl, byte [ebp - 0x251]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x290]
add eax, 4
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x3d0], eax
jmp 0x507e78
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d0]
cmp eax, dword [ebp - 0x290]
jge 0x5080d2
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
shl eax, 1
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f4]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e0], 0x6a
mov eax, dword [ebp - 0x258]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f4]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2d0], 0x24
mov eax, dword [ebp - 0x2e8]
sub eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2ec]
sub eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d4]
shl eax, 4
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x308]
or eax, dword [ebp - 0x300]
mov dword [ebp - 0x304], eax
mov al, byte [ebp - 0x304]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23d]
add al, 1
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23d]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23d]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x648], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x648]
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 - 0x648]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
movzx ecx, byte [ebp + ecx - 0x648]
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 - 0x251], al
cmp dword [ebp - 0x258], 0
jle 0x5080cd
mov eax, dword [ebp - 0x258]
mov cl, byte [ebp - 0x251]
mov byte [ebp + eax - 0x1d], cl
jmp 0x507e6b
mov eax, dword [ebp - 0x290]
inc eax
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x290]
inc eax
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x258]
shl eax, 1
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f4]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e0], 0x6a
mov eax, dword [ebp - 0x258]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f4]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2d0], 0x24
mov eax, dword [ebp - 0x2e8]
sub eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2ec]
sub eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d4]
shl eax, 4
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x308]
or eax, dword [ebp - 0x300]
mov dword [ebp - 0x304], eax
mov al, byte [ebp - 0x304]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23d]
add al, 1
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23d]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23d]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x648], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x648]
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 - 0x648]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
movzx ecx, byte [ebp + ecx - 0x648]
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 - 0x251], al
cmp dword [ebp - 0x258], 0
jle 0x50832f
mov eax, dword [ebp - 0x258]
mov cl, byte [ebp - 0x251]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x290]
add eax, 5
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x3d4], eax
jmp 0x50835a
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d4]
cmp eax, dword [ebp - 0x290]
jge 0x5089aa
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
shl eax, 1
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f4]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e0], 0x6a
mov eax, dword [ebp - 0x258]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f4]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2d0], 0x24
mov eax, dword [ebp - 0x2e8]
sub eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2ec]
sub eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d8], eax
movsd xmm0, qword [0xac6a30]
movsd qword [ebp - 0x31c], xmm0
movsd xmm0, qword [0xac69d0]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [0xac6950]
movsd qword [ebp - 0x344], xmm0
movsd xmm0, qword [0xac6928]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [0xac6870]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [0xac67f8]
movsd qword [ebp - 0x314], xmm0
movsd xmm0, qword [ebp - 0x2c0]
subsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x31c]
addsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x31c], xmm0
movsd xmm0, qword [ebp - 0x328]
mulsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x2c0]
addsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x34c]
addsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x328]
subsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x328]
comisd xmm0, xmmword [ebp - 0x314]
jbe 0x5085a3
movsd xmm0, qword [ebp - 0x328]
addsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x2c0]
subsd xmm0, qword [ebp - 0x31c]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x344]
addsd xmm0, qword [ebp - 0x2c0]
movsd qword [ebp - 0x344], xmm0
movsd xmm0, qword [ebp - 0x314]
addsd xmm0, qword [ebp - 0x34c]
movsd qword [ebp - 0x314], xmm0
movsd xmm0, qword [ebp - 0x34c]
addsd xmm0, qword [ebp - 0x328]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x2c0]
subsd xmm0, qword [ebp - 0x31c]
movsd qword [ebp - 0x2c0], xmm0
mov eax, dword [ebp - 0x2d4]
shl eax, 4
mov dword [ebp - 0x308], eax
jmp 0x5087fe
movsd xmm0, qword [ebp - 0x328]
divsd xmm0, qword [ebp - 0x2c0]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x31c]
subsd xmm0, qword [ebp - 0x34c]
movsd qword [ebp - 0x31c], xmm0
movsd xmm0, qword [ebp - 0x344]
subsd xmm0, qword [ebp - 0x328]
movsd qword [ebp - 0x344], xmm0
movsd xmm0, qword [ebp - 0x2c0]
mulsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x314]
subsd xmm0, qword [ebp - 0x31c]
movsd qword [ebp - 0x314], xmm0
movsd xmm0, qword [ebp - 0x31c]
addsd xmm0, qword [ebp - 0x34c]
movsd qword [ebp - 0x31c], xmm0
movsd xmm0, qword [ebp - 0x31c]
addsd xmm0, qword [ebp - 0x344]
movsd qword [ebp - 0x31c], xmm0
movsd xmm0, qword [ebp - 0x328]
mulsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x2c0]
addsd xmm0, qword [ebp - 0x31c]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x314]
subsd xmm0, qword [ebp - 0x34c]
movsd qword [ebp - 0x314], xmm0
movsd xmm0, qword [ebp - 0x2c0]
divsd xmm0, qword [ebp - 0x31c]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x34c]
mulsd xmm0, qword [ebp - 0x328]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x2c0]
comisd xmm0, xmmword [ebp - 0x344]
jbe 0x50876e
movsd xmm0, qword [ebp - 0x34c]
divsd xmm0, qword [ebp - 0x344]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x344]
subsd xmm0, qword [ebp - 0x328]
movsd qword [ebp - 0x344], xmm0
movsd xmm0, qword [ebp - 0x2c0]
mulsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x34c]
addsd xmm0, qword [ebp - 0x344]
movsd qword [ebp - 0x34c], xmm0
movsd xmm0, qword [ebp - 0x31c]
divsd xmm0, qword [ebp - 0x34c]
movsd qword [ebp - 0x31c], xmm0
movsd xmm0, qword [ebp - 0x2c0]
divsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x2c0], xmm0
jmp 0x5087fe
movsd xmm0, qword [ebp - 0x2c0]
mulsd xmm0, qword [ebp - 0x31c]
movsd qword [ebp - 0x2c0], xmm0
movsd xmm0, qword [ebp - 0x31c]
divsd xmm0, qword [ebp - 0x344]
movsd qword [ebp - 0x31c], xmm0
movsd xmm0, qword [ebp - 0x328]
divsd xmm0, qword [ebp - 0x314]
movsd qword [ebp - 0x328], xmm0
movsd xmm0, qword [ebp - 0x344]
divsd xmm0, qword [ebp - 0x2c0]
movsd qword [ebp - 0x344], xmm0
movsd xmm0, qword [ebp - 0x344]
subsd xmm0, qword [ebp - 0x2c0]
movsd qword [ebp - 0x344], xmm0
movsd xmm0, qword [ebp - 0x2c0]
divsd xmm0, qword [ebp - 0x31c]
movsd qword [ebp - 0x2c0], xmm0
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x308]
or eax, dword [ebp - 0x300]
mov dword [ebp - 0x304], eax
mov al, byte [ebp - 0x304]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23d]
add al, 1
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23d]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23d]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x648], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x648]
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 - 0x648]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
movzx ecx, byte [ebp + ecx - 0x648]
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 - 0x251], al
cmp dword [ebp - 0x258], 0
jle 0x5089a5
mov eax, dword [ebp - 0x258]
mov cl, byte [ebp - 0x251]
mov byte [ebp + eax - 0x1d], cl
jmp 0x50834d
mov eax, dword [ebp - 0x290]
inc eax
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x290]
inc eax
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x258]
shl eax, 1
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2f4]
add eax, dword [ebp - 0x2fc]
movzx eax, byte [eax]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e0], 0x6a
mov eax, dword [ebp - 0x258]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f4]
add eax, dword [ebp - 0x2f8]
movzx eax, byte [eax]
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2d0], 0x24
mov eax, dword [ebp - 0x2e8]
sub eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2ec]
sub eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d4]
shl eax, 4
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x308]
or eax, dword [ebp - 0x300]
mov dword [ebp - 0x304], eax
mov al, byte [ebp - 0x304]
mov byte [ebp - 0x246], al
movzx eax, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp - 0x244], al
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x648]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
mov al, byte [ebp - 0x23d]
add al, 1
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x23e]
movzx ecx, byte [ebp - 0x243]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23e]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23d]
movzx ecx, byte [ebp - 0x23f]
mov al, byte [ebp + eax - 0x648]
mov byte [ebp + ecx - 0x648], al
movzx eax, byte [ebp - 0x23d]
mov cl, byte [ebp - 0x244]
mov byte [ebp + eax - 0x648], cl
movzx eax, byte [ebp - 0x244]
movzx eax, byte [ebp + eax - 0x648]
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 - 0x648]
movzx edx, byte [ebp - 0x23d]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
xor eax, ecx
movzx ecx, byte [ebp - 0x23f]
movzx ecx, byte [ebp + ecx - 0x648]
movzx edx, byte [ebp - 0x243]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
movzx edx, byte [ebp - 0x245]
movzx edx, byte [ebp + edx - 0x648]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x648]
movzx ecx, byte [ebp + ecx - 0x648]
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 - 0x251], al
cmp dword [ebp - 0x258], 0
jle 0x508c07
mov eax, dword [ebp - 0x258]
mov cl, byte [ebp - 0x251]
mov byte [ebp + eax - 0x1d], cl
xor eax, eax
inc eax
imul eax, eax, 0xb
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0xc
jae 0x508c1e
jmp 0x508c23
call fcn.00a2b0ea
mov eax, dword [ebp - 0x418]
mov byte [ebp + eax - 0x1c], 0
jmp 0x508c78
and dword [ebp - 0x3a0], 0
jmp 0x508c46
mov eax, dword [ebp - 0x3a0]
inc eax
mov dword [ebp - 0x3a0], eax
cmp dword [ebp - 0x3a0], 0xc
jge 0x508c78
mov eax, dword [ebp - 0x3a0]
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 0xc
jae 0x508c66
jmp 0x508c6b
call fcn.00a2b0ea
mov eax, dword [ebp - 0x414]
mov byte [ebp + eax - 0x1c], 0
jmp 0x508c39
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.0045a550
mov dword [ebp - 0x548], eax
push 0
push 0x80
push 3
push 0
push 1
push 0xa0000000
lea eax, [ebp - 0x224]
push eax
call dword [ebp - 0x548]
mov dword [ebp - 0x3b0], eax
cmp dword [ebp - 0x3b0], 0xffffffff
je 0x50b0bc
push 0
push dword [ebp - 0x3b0]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x3f4], eax
and dword [ebp - 0x228], 0
push dword [ebp - 0x3f4]
call fcn.00a2abad
pop ecx
mov dword [ebp - 0x544], eax
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x2cc], eax
and dword [ebp - 0x234], 0
and dword [ebp - 0x230], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x388], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x378], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x378], xmm0
jmp 0x508d41
movsd xmm0, qword [ebp - 0x378]
addsd xmm0, qword [0xac3330]
movsd qword [ebp - 0x378], xmm0
movsd xmm0, qword [0xac68d8]
comisd xmm0, xmmword [ebp - 0x378]
jbe 0x508df2
movsd xmm0, qword [0xac67d8]
mulsd xmm0, qword [ebp - 0x378]
mulsd xmm0, qword [ebp - 0x378]
movsd xmm1, qword [ebp - 0x378]
mulsd xmm1, qword [ebp - 0x378]
subsd xmm0, xmm1
movsd xmm1, qword [0xac6738]
mulsd xmm1, qword [ebp - 0x378]
mulsd xmm1, qword [ebp - 0x378]
addsd xmm1, qword [0xac6778]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x388]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [ebp - 0x388]
comisd xmm0, xmmword [0xac6790]
jbe 0x508ded
movsd xmm0, qword [0xac66f8]
mulsd xmm0, qword [ebp - 0x378]
movsd xmm1, qword [ebp - 0x388]
subsd xmm1, xmm0
movsd qword [ebp - 0x388], xmm1
jmp 0x508d29
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x388]
jbe 0x508e2b
aaa
int3
mov dword [ebp - 0x234], 0x508dff
mov dword [ebp - 0x230], 0x508e11
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x534], eax
mov byte [ebp - 0x2e2], 0x19
and dword [ebp - 0x274], 0
jmp 0x508e74
mov eax, dword [ebp - 0x274]
inc eax
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0x100
jae 0x508e95
mov eax, dword [ebp - 0x274]
mov cl, byte [ebp - 0x274]
mov byte [ebp + eax - 0x51c], cl
jmp 0x508e67
and dword [ebp - 0x354], 0
mov byte [ebp - 0x249], 0
mov dword [ebp - 0x274], 0xff
jmp 0x508ebc
mov eax, dword [ebp - 0x274]
dec eax
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0
jbe 0x509141
and dword [ebp - 0x3d8], 0
mov dword [ebp - 0x3a4], 1
mov eax, dword [ebp - 0x3a4]
cmp eax, dword [ebp - 0x274]
jae 0x508efa
mov eax, dword [ebp - 0x3a4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3a4], eax
jmp 0x508eda
mov eax, dword [ebp - 0x354]
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0
je 0x508f3f
sub dword [ebp - 0x2c8], 1
je 0x508f6d
sub dword [ebp - 0x2c8], 1
je 0x508f9e
sub dword [ebp - 0x2c8], 1
je 0x508fcc
jmp 0x508ffa
movzx eax, byte [ebp - 0x249]
movzx ebx, byte [ebp + eax - 0x51c]
movsd xmm0, qword [ebp - 0x388]
call fcn.00a2b3f1
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x249], bl
jmp 0x509021
movzx eax, byte [ebp - 0x249]
movzx ebx, byte [ebp + eax - 0x51c]
movsd xmm0, qword [ebp - 0x388]
call fcn.00a2b3f1
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x249], bl
jmp 0x509021
movzx eax, byte [ebp - 0x249]
movzx ebx, byte [ebp + eax - 0x51c]
movsd xmm0, qword [ebp - 0x388]
call fcn.00a2b3f1
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x249], bl
jmp 0x509021
movzx eax, byte [ebp - 0x249]
movzx ebx, byte [ebp + eax - 0x51c]
movsd xmm0, qword [ebp - 0x388]
call fcn.00a2b3f1
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x249], bl
jmp 0x509021
movzx eax, byte [ebp - 0x249]
movzx eax, byte [ebp + eax - 0x51c]
mov ecx, dword [ebp - 0x534]
add ecx, dword [ebp - 0x354]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x249], al
mov eax, dword [ebp - 0x354]
inc eax
mov dword [ebp - 0x354], eax
movzx eax, byte [ebp - 0x2e2]
cmp dword [ebp - 0x354], eax
jb 0x50905a
and dword [ebp - 0x354], 0
movzx eax, byte [ebp - 0x2e2]
movzx ecx, byte [ebp - 0x249]
add ecx, eax
mov byte [ebp - 0x249], cl
movzx eax, byte [ebp - 0x249]
and eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x3d8]
inc eax
mov dword [ebp - 0x3d8], eax
cmp dword [ebp - 0x3d8], 0xb
jbe 0x509097
mov eax, dword [ebp - 0x330]
xor edx, edx
div dword [ebp - 0x274]
mov dword [ebp - 0x330], edx
mov eax, dword [ebp - 0x330]
cmp eax, dword [ebp - 0x274]
ja 0x508efa
mov eax, dword [ebp - 0x274]
cmp eax, dword [ebp - 0x330]
je 0x50913c
mov eax, dword [ebp - 0x330]
movzx eax, byte [ebp + eax - 0x51c]
mov ecx, dword [ebp - 0x274]
movzx ecx, byte [ebp + ecx - 0x51c]
xor ecx, eax
mov eax, dword [ebp - 0x274]
mov byte [ebp + eax - 0x51c], cl
mov eax, dword [ebp - 0x274]
movzx eax, byte [ebp + eax - 0x51c]
mov ecx, dword [ebp - 0x330]
movzx ecx, byte [ebp + ecx - 0x51c]
xor ecx, eax
mov eax, dword [ebp - 0x330]
mov byte [ebp + eax - 0x51c], cl
mov eax, dword [ebp - 0x330]
movzx eax, byte [ebp + eax - 0x51c]
mov ecx, dword [ebp - 0x274]
movzx ecx, byte [ebp + ecx - 0x51c]
xor ecx, eax
mov eax, dword [ebp - 0x274]
mov byte [ebp + eax - 0x51c], cl
jmp 0x508eaf
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x239], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x23a], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x241], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x23b], al
movzx eax, byte [ebp - 0x249]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x23c], al
mov dword [ebp - 0x410], 0x12
cmp dword [ebp - 0x410], 2
jle 0x50ae77
mov eax, dword [ebp - 0x410]
and eax, 1
jne 0x50ae77
and dword [ebp - 0x250], 0
and dword [ebp - 0x264], 0
mov eax, dword [ebp - 0x264]
inc eax
mov dword [ebp - 0x264], eax
and dword [ebp - 0x294], 0
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x294], eax
and dword [ebp - 0x27c], 0
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
add eax, dword [ebp - 0x27c]
mov dword [ebp - 0x27c], eax
and dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x278]
add eax, 0x30
mov dword [ebp - 0x278], eax
and dword [ebp - 0x29c], 0
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x29c], eax
and dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x29c]
movzx eax, byte [eax]
add eax, dword [ebp - 0x280]
mov dword [ebp - 0x280], eax
and dword [ebp - 0x284], 0
mov eax, dword [ebp - 0x284]
add eax, 0xbd
mov dword [ebp - 0x284], eax
and dword [ebp - 0x288], 0
mov eax, dword [ebp - 0x27c]
sub eax, dword [ebp - 0x278]
add eax, dword [ebp - 0x288]
mov dword [ebp - 0x288], eax
and dword [ebp - 0x28c], 0
mov eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x284]
add eax, dword [ebp - 0x28c]
mov dword [ebp - 0x28c], eax
and dword [ebp - 0x2a4], 0
mov eax, dword [ebp - 0x288]
shl eax, 4
mov dword [ebp - 0x2a4], eax
and dword [ebp - 0x2a8], 0
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a8], eax
and dword [ebp - 0x2ac], 0
mov eax, dword [ebp - 0x2a4]
or eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], eax
mov byte [ebp - 0x242], 0
mov al, byte [ebp - 0x2ac]
mov byte [ebp - 0x242], al
mov byte [ebp - 0x240], 0
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x51c], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x51c]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x51c]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x509497
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x264]
inc eax
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], 0x30
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x29c]
movzx eax, byte [eax]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x284], 0xbd
mov eax, dword [ebp - 0x27c]
sub eax, dword [ebp - 0x278]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x284]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x288]
shl eax, 4
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x2a4]
or eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], eax
mov al, byte [ebp - 0x2ac]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x51c], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x51c]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x51c]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x5096e7
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x264]
inc eax
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x294], eax
movsd xmm0, qword [0xac6a98]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [0xac6a08]
movsd qword [ebp - 0x3f0], xmm0
movsd xmm0, qword [0xac6988]
movsd qword [ebp - 0x3c0], xmm0
movsd xmm0, qword [0xac6908]
movsd qword [ebp - 0x3b8], xmm0
movsd xmm0, qword [0xac6830]
movsd qword [ebp - 0x35c], xmm0
movsd xmm0, qword [ebp - 0x3b8]
mulsd xmm0, qword [ebp - 0x35c]
movsd qword [ebp - 0x3b8], xmm0
movsd xmm0, qword [ebp - 0x3b8]
mulsd xmm0, qword [ebp - 0x35c]
movsd qword [ebp - 0x3b8], xmm0
movsd xmm0, qword [ebp - 0x3c0]
addsd xmm0, qword [ebp - 0x35c]
movsd qword [ebp - 0x3c0], xmm0
movsd xmm0, qword [ebp - 0x3c0]
mulsd xmm0, qword [ebp - 0x35c]
movsd qword [ebp - 0x3c0], xmm0
movsd xmm0, qword [ebp - 0x370]
addsd xmm0, qword [ebp - 0x35c]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x3b8]
comisd xmm0, xmmword [ebp - 0x35c]
jbe 0x50987c
movsd xmm0, qword [ebp - 0x3b8]
mulsd xmm0, qword [ebp - 0x35c]
movsd qword [ebp - 0x3b8], xmm0
movsd xmm0, qword [ebp - 0x370]
mulsd xmm0, qword [ebp - 0x3f0]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x3f0]
mulsd xmm0, qword [ebp - 0x3c0]
movsd qword [ebp - 0x3f0], xmm0
movsd xmm0, qword [ebp - 0x35c]
subsd xmm0, qword [ebp - 0x370]
movsd qword [ebp - 0x35c], xmm0
movsd xmm0, qword [ebp - 0x35c]
subsd xmm0, qword [ebp - 0x370]
movsd qword [ebp - 0x35c], xmm0
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x27c], eax
jmp 0x5098f4
movsd xmm0, qword [ebp - 0x370]
addsd xmm0, qword [ebp - 0x3f0]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x35c]
mulsd xmm0, qword [ebp - 0x370]
movsd qword [ebp - 0x35c], xmm0
movsd xmm0, qword [ebp - 0x3f0]
addsd xmm0, qword [ebp - 0x3c0]
movsd qword [ebp - 0x3f0], xmm0
movsd xmm0, qword [ebp - 0x370]
divsd xmm0, qword [ebp - 0x3f0]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x3c0]
addsd xmm0, qword [ebp - 0x3b8]
movsd qword [ebp - 0x3c0], xmm0
mov dword [ebp - 0x278], 0x30
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x29c]
movzx eax, byte [eax]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x284], 0xbd
mov eax, dword [ebp - 0x27c]
sub eax, dword [ebp - 0x278]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x284]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x288]
shl eax, 4
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x2a4]
or eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], eax
mov al, byte [ebp - 0x2ac]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x51c], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x51c]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x51c]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x509b07
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x264]
inc eax
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x3e4], eax
jmp 0x509b30
mov eax, dword [ebp - 0x3e4]
inc eax
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp - 0x3e4]
cmp eax, dword [ebp - 0x264]
jge 0x509d8a
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], 0x30
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x29c]
movzx eax, byte [eax]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x284], 0xbd
mov eax, dword [ebp - 0x27c]
sub eax, dword [ebp - 0x278]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x284]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x288]
shl eax, 4
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x2a4]
or eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], eax
mov al, byte [ebp - 0x2ac]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x51c], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x51c]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x51c]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x509d85
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
jmp 0x509b23
mov eax, dword [ebp - 0x264]
inc eax
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x264]
inc eax
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], 0x30
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x29c]
movzx eax, byte [eax]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x284], 0xbd
mov eax, dword [ebp - 0x27c]
sub eax, dword [ebp - 0x278]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x284]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x288]
shl eax, 4
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x2a4]
or eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], eax
mov al, byte [ebp - 0x2ac]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x51c], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x51c]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x51c]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x509fe7
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x264]
inc eax
inc eax
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x3e8], eax
jmp 0x50a011
mov eax, dword [ebp - 0x3e8]
inc eax
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3e8]
cmp eax, dword [ebp - 0x264]
jge 0x50a26b
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], 0x30
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x29c]
movzx eax, byte [eax]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x284], 0xbd
mov eax, dword [ebp - 0x27c]
sub eax, dword [ebp - 0x278]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x284]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x288]
shl eax, 4
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x2a4]
or eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], eax
mov al, byte [ebp - 0x2ac]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x51c], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x51c]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x51c]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x50a266
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
jmp 0x50a004
mov eax, dword [ebp - 0x264]
inc eax
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x264]
inc eax
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], 0x30
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x29c], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x29c]
movzx eax, byte [eax]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x284], 0xbd
mov eax, dword [ebp - 0x27c]
sub eax, dword [ebp - 0x278]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x284]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x288]
shl eax, 4
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a8], eax
mov eax, dword [ebp - 0x2a4]
or eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], eax
mov al, byte [ebp - 0x2ac]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x240], al
movss xmm0, dword [0xac6c34]
movss dword [ebp - 0x2f0], xmm0
movss xmm0, dword [0xac6c00]
movss dword [ebp - 0x2b0], xmm0
movss xmm0, dword [0xac6bd4]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [0xac6bac]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [0xac6b80]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [0xac6b4c]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x26c]
mulss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x2b0]
mulss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2b0], xmm0
movss xmm0, dword [ebp - 0x2b0]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2b0], xmm0
movss xmm0, dword [ebp - 0x268]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x268]
addss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x26c]
addss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x2b0]
comiss xmm0, dword [ebp - 0x25c]
jbe 0x50a525
movss xmm0, dword [ebp - 0x25c]
mulss xmm0, dword [ebp - 0x2b0]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x25c]
mulss xmm0, dword [ebp - 0x2b0]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x26c]
addss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x26c]
mulss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x260]
subss xmm0, dword [ebp - 0x2f0]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x26c]
subss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x26c], xmm0
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x51c]
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
jmp 0x50a77f
movss xmm0, dword [ebp - 0x260]
addss xmm0, dword [ebp - 0x2f0]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x260]
addss xmm0, dword [ebp - 0x2f0]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x26c]
subss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x268]
addss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x26c]
divss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x268]
mulss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x2b0]
divss xmm0, dword [ebp - 0x26c]
movss dword [ebp - 0x2b0], xmm0
movss xmm0, dword [ebp - 0x2f0]
divss xmm0, dword [ebp - 0x2b0]
movss dword [ebp - 0x2f0], xmm0
movss xmm0, dword [ebp - 0x268]
mulss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x26c]
divss xmm0, dword [ebp - 0x268]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x268]
divss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x260]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x268]
comiss xmm0, dword [ebp - 0x25c]
jbe 0x50a6ef
movss xmm0, dword [ebp - 0x268]
divss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x2f0]
subss xmm0, dword [ebp - 0x2b0]
movss dword [ebp - 0x2f0], xmm0
movss xmm0, dword [ebp - 0x260]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x260], xmm0
movss xmm0, dword [ebp - 0x25c]
mulss xmm0, dword [ebp - 0x2f0]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x25c]
subss xmm0, dword [ebp - 0x2f0]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x268]
addss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x268], xmm0
jmp 0x50a77f
movss xmm0, dword [ebp - 0x26c]
addss xmm0, dword [ebp - 0x260]
movss dword [ebp - 0x26c], xmm0
movss xmm0, dword [ebp - 0x25c]
mulss xmm0, dword [ebp - 0x2b0]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x268]
mulss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x268], xmm0
movss xmm0, dword [ebp - 0x25c]
subss xmm0, dword [ebp - 0x2b0]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x2b0]
addss xmm0, dword [ebp - 0x268]
movss dword [ebp - 0x2b0], xmm0
movss xmm0, dword [ebp - 0x260]
divss xmm0, dword [ebp - 0x2f0]
movss dword [ebp - 0x260], xmm0
movzx eax, byte [ebp - 0x23a]
movzx ecx, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x51c], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x51c]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x51c]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x50a8bc
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x250]
inc eax
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x264]
inc eax
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x250]
shl eax, 1
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], 0x30
mov eax, dword [ebp - 0x250]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x29c], eax
movss xmm0, dword [0xac6c44]
movss dword [ebp - 0x320], xmm0
movss xmm0, dword [0xac4b0c]
movss dword [ebp - 0x30c], xmm0
movss xmm0, dword [0xac6bb4]
movss dword [ebp - 0x338], xmm0
movss xmm0, dword [0xac5ba4]
movss dword [ebp - 0x2b8], xmm0
movss xmm0, dword [ebp - 0x320]
addss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x320], xmm0
movss xmm0, dword [ebp - 0x338]
addss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x338], xmm0
movss xmm0, dword [ebp - 0x320]
mulss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x320], xmm0
movss xmm0, dword [ebp - 0x30c]
subss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x30c], xmm0
movss xmm0, dword [ebp - 0x320]
comiss xmm0, dword [ebp - 0x2b8]
jbe 0x50aa3b
movss xmm0, dword [ebp - 0x30c]
addss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x30c], xmm0
movss xmm0, dword [ebp - 0x2b8]
subss xmm0, dword [ebp - 0x30c]
movss dword [ebp - 0x2b8], xmm0
movss xmm0, dword [ebp - 0x338]
subss xmm0, dword [ebp - 0x320]
movss dword [ebp - 0x338], xmm0
movss xmm0, dword [ebp - 0x338]
mulss xmm0, dword [ebp - 0x320]
movss dword [ebp - 0x338], xmm0
mov eax, dword [ebp - 0x298]
add eax, dword [ebp - 0x29c]
movzx eax, byte [eax]
mov dword [ebp - 0x280], eax
jmp 0x50aa9b
movss xmm0, dword [ebp - 0x30c]
subss xmm0, dword [ebp - 0x2b8]
movss dword [ebp - 0x30c], xmm0
movss xmm0, dword [ebp - 0x2b8]
addss xmm0, dword [ebp - 0x30c]
movss dword [ebp - 0x2b8], xmm0
movss xmm0, dword [ebp - 0x320]
divss xmm0, dword [ebp - 0x338]
movss dword [ebp - 0x320], xmm0
movss xmm0, dword [ebp - 0x2b8]
addss xmm0, dword [ebp - 0x30c]
movss dword [ebp - 0x2b8], xmm0
mov dword [ebp - 0x284], 0xbd
mov eax, dword [ebp - 0x27c]
sub eax, dword [ebp - 0x278]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x284]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x288]
shl eax, 4
mov dword [ebp - 0x2a4], eax
movss xmm0, dword [0xac6c3c]
movss dword [ebp - 0x33c], xmm0
movss xmm0, dword [0xac6bfc]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [0xac6bc8]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [0xac6b94]
movss dword [ebp - 0x32c], xmm0
movss xmm0, dword [0xac6b58]
movss dword [ebp - 0x2dc], xmm0
movss xmm0, dword [ebp - 0x2a0]
subss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x33c]
addss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x33c], xmm0
movss xmm0, dword [ebp - 0x33c]
addss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x33c], xmm0
movss xmm0, dword [ebp - 0x2a0]
addss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x32c]
subss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x32c], xmm0
movss xmm0, dword [ebp - 0x33c]
comiss xmm0, dword [ebp - 0x32c]
jbe 0x50ac3b
movss xmm0, dword [ebp - 0x360]
subss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x2a0]
addss xmm0, dword [ebp - 0x32c]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x2a0]
addss xmm0, dword [ebp - 0x32c]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x2dc]
subss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x2dc], xmm0
movss xmm0, dword [ebp - 0x33c]
subss xmm0, dword [ebp - 0x360]
movss dword [ebp - 0x33c], xmm0
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x2a8], eax
jmp 0x50acb3
movss xmm0, dword [ebp - 0x2a0]
addss xmm0, dword [ebp - 0x32c]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x2a0]
mulss xmm0, dword [ebp - 0x32c]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x360]
subss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x360], xmm0
movss xmm0, dword [ebp - 0x2dc]
divss xmm0, dword [ebp - 0x2a0]
movss dword [ebp - 0x2dc], xmm0
movss xmm0, dword [ebp - 0x2a0]
divss xmm0, dword [ebp - 0x32c]
movss dword [ebp - 0x2a0], xmm0
mov eax, dword [ebp - 0x2a4]
or eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], eax
mov al, byte [ebp - 0x2ac]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x23c]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x51c]
mov byte [ebp + ecx - 0x51c], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x240]
mov byte [ebp + eax - 0x51c], cl
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x51c]
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 - 0x51c]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x51c]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
movzx edx, byte [ebp - 0x241]
movzx edx, byte [ebp + edx - 0x51c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x51c]
movzx ecx, byte [ebp + ecx - 0x51c]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x247], al
cmp dword [ebp - 0x250], 0
jle 0x50ae4e
mov eax, dword [ebp - 0x250]
mov cl, byte [ebp - 0x247]
mov byte [ebp + eax - 0x11], cl
xor eax, eax
inc eax
shl eax, 3
mov dword [ebp - 0x404], eax
cmp dword [ebp - 0x404], 9
jae 0x50ae65
jmp 0x50ae6a
call fcn.00a2b0ea
mov eax, dword [ebp - 0x404]
mov byte [ebp + eax - 0x10], 0
jmp 0x50aebf
and dword [ebp - 0x3a8], 0
jmp 0x50ae8d
mov eax, dword [ebp - 0x3a8]
inc eax
mov dword [ebp - 0x3a8], eax
cmp dword [ebp - 0x3a8], 9
jge 0x50aebf
mov eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x40c], eax
cmp dword [ebp - 0x40c], 9
jae 0x50aead
jmp 0x50aeb2
call fcn.00a2b0ea
mov eax, dword [ebp - 0x40c]
mov byte [ebp + eax - 0x10], 0
jmp 0x50ae80
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.0045a550
mov dword [ebp - 0x530], eax
push 0
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x3f4]
push dword [ebp - 0x2cc]
push dword [ebp - 0x3b0]
call dword [ebp - 0x530]
test eax, eax
je 0x50b028
or dword [ebp - 0x3ac], 0xffffffff
mov byte [ebp - 0x2e1], 0
mov byte [ebp - 0x2b1], 0
cmp dword [ebp - 0x228], 0x100
jbe 0x50b002
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0x4d
jne 0x50af5a
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0x5a
jne 0x50af5a
mov byte [ebp - 0x2b1], 1
and dword [ebp - 0x3ac], 0
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0xd0
jne 0x50afc4
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0xcf
jne 0x50afc4
xor eax, eax
inc eax
shl eax, 1
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0x11
jne 0x50afc4
xor eax, eax
inc eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0xe0
jne 0x50afc4
mov byte [ebp - 0x2b1], 1
mov dword [ebp - 0x3ac], 1
and dword [ebp - 0x408], 0
cmp dword [ebp - 0x3ac], 0
jne 0x50b002
push dword [ebp - 0x228]
push dword [ebp - 0x2cc]
call fcn.004ec78b
pop ecx
pop ecx
mov dword [ebp - 0x408], eax
xor eax, eax
cmp dword [ebp - 0x408], 0x1000
sete al
mov byte [ebp - 0x2e1], al
movzx eax, byte [ebp - 0x2b1]
test eax, eax
je 0x50b028
movzx eax, byte [ebp - 0x2e1]
test eax, eax
je 0x50b028
cmp dword [ebp - 0x3ac], 0
jne 0x50b028
mov byte [ebp - 0x2b2], 1
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3dc], 0
je 0x50b06e
mov eax, dword [ebp - 0x3f8]
mov byte [eax], 0
mov eax, dword [ebp - 0x3f8]
inc eax
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x3dc]
dec eax
mov dword [ebp - 0x3dc], eax
jmp 0x50b040
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x400], eax
push dword [ebp - 0x400]
call fcn.00a2abb6
pop ecx
cmp dword [ebp - 0x400], 0
jne 0x50b098
and dword [ebp - 0x52c], 0
jmp 0x50b0ae
mov dword [ebp - 0x2cc], 0x8123
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x52c], eax
push dword [ebp - 0x3b0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x50b0e4
mov dword [ebp - 0x538], 0xbb8
lea eax, [ebp - 0x538]
push eax
lea ecx, [ebp - 0x654]
call fcn.004e4222
push eax
call fcn.004e42e4
pop ecx
jmp 0x507686
mov al, byte [ebp - 0x2b2]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00a2a9da
mov esp, ebp
pop ebp
ret