Function at 0x5058b5
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x678
mov eax, dword [0xaff064]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov byte [ebp - 0x2ad], 0
xor eax, eax
mov word [ebp - 0x224], ax
push 0x206
push 0
lea eax, [ebp - 0x222]
push eax
call fcn.00a75c40
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3f0], eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x3f0]
mov ax, word [eax]
mov word [ebp - 0x38a], ax
mov eax, dword [ebp - 0x3ac]
mov cx, word [ebp - 0x38a]
mov word [eax], cx
mov eax, dword [ebp - 0x3f0]
inc eax
inc eax
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x3ac]
inc eax
inc eax
mov dword [ebp - 0x3ac], eax
cmp word [ebp - 0x38a], 0
jne 0x505912
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x390]
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x390]
mov ax, word [eax]
mov word [ebp - 0x3e2], ax
add dword [ebp - 0x390], 2
cmp word [ebp - 0x3e2], 0
jne 0x505970
mov eax, dword [ebp - 0x390]
sub eax, dword [ebp - 0x42c]
mov ecx, dword [ebp - 0x42c]
mov dword [ebp - 0x54c], ecx
mov dword [ebp - 0x564], eax
lea eax, [ebp - 0x224]
dec eax
dec eax
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp - 0x3b0]
mov ax, word [eax + 2]
mov word [ebp - 0x3d2], ax
add dword [ebp - 0x3b0], 2
cmp word [ebp - 0x3d2], 0
jne 0x5059bd
mov edi, dword [ebp - 0x3b0]
mov esi, dword [ebp - 0x54c]
mov eax, dword [ebp - 0x564]
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 - 0x3f4], 0
jmp 0x505a15
mov eax, dword [ebp - 0x3f4]
inc eax
mov dword [ebp - 0x3f4], eax
cmp dword [ebp - 0x3f4], 0x3c
jge 0x509633
and dword [ebp - 0x234], 0
and dword [ebp - 0x238], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x398], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x380], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x380], xmm0
jmp 0x505a6b
movsd xmm0, qword [ebp - 0x380]
addsd xmm0, qword [0xabb348]
movsd qword [ebp - 0x380], xmm0
movsd xmm0, qword [0xabe448]
comisd xmm0, xmmword [ebp - 0x380]
jbe 0x505b1c
movsd xmm0, qword [0xabe408]
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 [0xabe368]
mulsd xmm1, qword [ebp - 0x380]
mulsd xmm1, qword [ebp - 0x380]
addsd xmm1, qword [0xabe3a0]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x398]
movsd qword [ebp - 0x398], xmm0
movsd xmm0, qword [ebp - 0x398]
comisd xmm0, xmmword [0xabe3b8]
jbe 0x505b17
movsd xmm0, qword [0xabe330]
mulsd xmm0, qword [ebp - 0x380]
movsd xmm1, qword [ebp - 0x398]
subsd xmm1, xmm0
movsd qword [ebp - 0x398], xmm1
jmp 0x505a53
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x398]
jbe 0x505b56
cmp dword [edx + 0x36], ebx
outsd dx, dword [esi]
outsd dx, dword [esi]
dec edx
and dword [edi + 0x33], esi
sub eax, 0x756e2345
cmp byte [esi - 0x4f764473], ch
xchg ecx, eax
scasd eax, dword es:[edi]
mov dh, byte [esi - 0x4f774f70]
mov byte [ebx + eax*4 - 0x79517650], dh
mov cl, 0x8a
mov bh, 0x89
jmp 0x506e62
mov dword [ebp - 0x234], 0x505b39
mov dword [ebp - 0x238], 0x505b29
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x328], eax
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x554], eax
mov byte [ebp - 0x2de], 0x14
and dword [ebp - 0x2a0], 0
jmp 0x505b9f
mov eax, dword [ebp - 0x2a0]
inc eax
mov dword [ebp - 0x2a0], eax
cmp dword [ebp - 0x2a0], 0x100
jae 0x505bc0
mov eax, dword [ebp - 0x2a0]
mov cl, byte [ebp - 0x2a0]
mov byte [ebp + eax - 0x66c], cl
jmp 0x505b92
and dword [ebp - 0x35c], 0
mov byte [ebp - 0x246], 0
mov dword [ebp - 0x2a0], 0xff
jmp 0x505be7
mov eax, dword [ebp - 0x2a0]
dec eax
mov dword [ebp - 0x2a0], eax
cmp dword [ebp - 0x2a0], 0
jbe 0x505e6c
and dword [ebp - 0x3f8], 0
mov dword [ebp - 0x3b4], 1
mov eax, dword [ebp - 0x3b4]
cmp eax, dword [ebp - 0x2a0]
jae 0x505c25
mov eax, dword [ebp - 0x3b4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3b4], eax
jmp 0x505c05
mov eax, dword [ebp - 0x35c]
mov dword [ebp - 0x550], eax
mov eax, dword [ebp - 0x550]
mov dword [ebp - 0x2c0], eax
cmp dword [ebp - 0x2c0], 0
je 0x505c6a
sub dword [ebp - 0x2c0], 1
je 0x505c98
sub dword [ebp - 0x2c0], 1
je 0x505cc9
sub dword [ebp - 0x2c0], 1
je 0x505cf7
jmp 0x505d25
movzx eax, byte [ebp - 0x246]
movzx ebx, byte [ebp + eax - 0x66c]
movsd xmm0, qword [ebp - 0x398]
call fcn.00a23431
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x246], bl
jmp 0x505d4c
movzx eax, byte [ebp - 0x246]
movzx ebx, byte [ebp + eax - 0x66c]
movsd xmm0, qword [ebp - 0x398]
call fcn.00a23431
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x246], bl
jmp 0x505d4c
movzx eax, byte [ebp - 0x246]
movzx ebx, byte [ebp + eax - 0x66c]
movsd xmm0, qword [ebp - 0x398]
call fcn.00a23431
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x246], bl
jmp 0x505d4c
movzx eax, byte [ebp - 0x246]
movzx ebx, byte [ebp + eax - 0x66c]
movsd xmm0, qword [ebp - 0x398]
call fcn.00a23431
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x246], bl
jmp 0x505d4c
movzx eax, byte [ebp - 0x246]
movzx eax, byte [ebp + eax - 0x66c]
mov ecx, dword [ebp - 0x554]
add ecx, dword [ebp - 0x35c]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x246], al
mov eax, dword [ebp - 0x35c]
inc eax
mov dword [ebp - 0x35c], eax
movzx eax, byte [ebp - 0x2de]
cmp dword [ebp - 0x35c], eax
jb 0x505d85
and dword [ebp - 0x35c], 0
movzx eax, byte [ebp - 0x2de]
movzx ecx, byte [ebp - 0x246]
add ecx, eax
mov byte [ebp - 0x246], cl
movzx eax, byte [ebp - 0x246]
and eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x3f8]
inc eax
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0xb
jbe 0x505dc2
mov eax, dword [ebp - 0x31c]
xor edx, edx
div dword [ebp - 0x2a0]
mov dword [ebp - 0x31c], edx
mov eax, dword [ebp - 0x31c]
cmp eax, dword [ebp - 0x2a0]
ja 0x505c25
mov eax, dword [ebp - 0x2a0]
cmp eax, dword [ebp - 0x31c]
je 0x505e67
mov eax, dword [ebp - 0x31c]
movzx eax, byte [ebp + eax - 0x66c]
mov ecx, dword [ebp - 0x2a0]
movzx ecx, byte [ebp + ecx - 0x66c]
xor ecx, eax
mov eax, dword [ebp - 0x2a0]
mov byte [ebp + eax - 0x66c], cl
mov eax, dword [ebp - 0x2a0]
movzx eax, byte [ebp + eax - 0x66c]
mov ecx, dword [ebp - 0x31c]
movzx ecx, byte [ebp + ecx - 0x66c]
xor ecx, eax
mov eax, dword [ebp - 0x31c]
mov byte [ebp + eax - 0x66c], cl
mov eax, dword [ebp - 0x31c]
movzx eax, byte [ebp + eax - 0x66c]
mov ecx, dword [ebp - 0x2a0]
movzx ecx, byte [ebp + ecx - 0x66c]
xor ecx, eax
mov eax, dword [ebp - 0x2a0]
mov byte [ebp + eax - 0x66c], cl
jmp 0x505bda
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp - 0x240], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp - 0x241], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp - 0x24e], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp - 0x242], al
movzx eax, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp - 0x244], al
mov dword [ebp - 0x428], 0x18
cmp dword [ebp - 0x428], 2
jle 0x506e1a
mov eax, dword [ebp - 0x428]
and eax, 1
jne 0x506e1a
and dword [ebp - 0x258], 0
and dword [ebp - 0x2b4], 0
mov eax, dword [ebp - 0x2b4]
inc eax
mov dword [ebp - 0x2b4], eax
and dword [ebp - 0x324], 0
mov eax, dword [ebp - 0x258]
shl eax, 1
mov dword [ebp - 0x324], eax
and dword [ebp - 0x2f0], 0
mov eax, dword [ebp - 0x328]
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, 0xac
mov dword [ebp - 0x2f4], eax
and dword [ebp - 0x32c], 0
mov eax, dword [ebp - 0x258]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x32c], eax
and dword [ebp - 0x304], 0
mov eax, dword [ebp - 0x328]
add eax, dword [ebp - 0x32c]
movzx eax, byte [eax]
add eax, dword [ebp - 0x304]
mov dword [ebp - 0x304], eax
and dword [ebp - 0x2f8], 0
mov eax, dword [ebp - 0x2f8]
add eax, 0x83
mov dword [ebp - 0x2f8], 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 - 0x304]
sub eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x300]
mov dword [ebp - 0x300], eax
and dword [ebp - 0x330], 0
mov eax, dword [ebp - 0x2fc]
shl eax, 4
mov dword [ebp - 0x330], eax
and dword [ebp - 0x308], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x308], eax
and dword [ebp - 0x30c], 0
mov eax, dword [ebp - 0x330]
or eax, dword [ebp - 0x308]
mov dword [ebp - 0x30c], eax
mov byte [ebp - 0x24d], 0
mov al, byte [ebp - 0x30c]
mov byte [ebp - 0x24d], al
mov byte [ebp - 0x24f], 0
movzx eax, byte [ebp - 0x244]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp - 0x24f], al
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x66c]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
mov al, byte [ebp - 0x240]
add al, 1
mov byte [ebp - 0x240], al
movss xmm0, dword [0xabbe0c]
movss dword [ebp - 0x2e4], xmm0
movss xmm0, dword [0xabbd64]
movss dword [ebp - 0x2d4], xmm0
movss xmm0, dword [0xabbc54]
movss dword [ebp - 0x320], xmm0
movss xmm0, dword [ebp - 0x2d4]
subss xmm0, dword [ebp - 0x320]
movss dword [ebp - 0x2d4], xmm0
movss xmm0, dword [ebp - 0x2d4]
addss xmm0, dword [ebp - 0x320]
movss dword [ebp - 0x2d4], xmm0
movss xmm0, dword [ebp - 0x2e4]
addss xmm0, dword [ebp - 0x320]
movss dword [ebp - 0x2e4], xmm0
movss xmm0, dword [ebp - 0x2e4]
comiss xmm0, dword [ebp - 0x320]
jbe 0x506176
movss xmm0, dword [ebp - 0x2d4]
subss xmm0, dword [ebp - 0x2e4]
movss dword [ebp - 0x2d4], xmm0
movss xmm0, dword [ebp - 0x320]
addss xmm0, dword [ebp - 0x2d4]
movss dword [ebp - 0x320], xmm0
movss xmm0, dword [ebp - 0x2d4]
subss xmm0, dword [ebp - 0x2e4]
movss dword [ebp - 0x2d4], xmm0
movzx eax, byte [ebp - 0x241]
movzx ecx, byte [ebp - 0x244]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
jmp 0x5061be
movss xmm0, dword [ebp - 0x2d4]
mulss xmm0, dword [ebp - 0x2e4]
movss dword [ebp - 0x2d4], xmm0
movss xmm0, dword [ebp - 0x2e4]
subss xmm0, dword [ebp - 0x320]
movss dword [ebp - 0x2e4], xmm0
movss xmm0, dword [ebp - 0x2e4]
divss xmm0, dword [ebp - 0x320]
movss dword [ebp - 0x2e4], xmm0
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x241]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
movzx eax, byte [ebp - 0x240]
movzx ecx, byte [ebp - 0x242]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
movzx eax, byte [ebp - 0x240]
mov cl, byte [ebp - 0x24f]
mov byte [ebp + eax - 0x66c], cl
movzx eax, byte [ebp - 0x24f]
movzx eax, byte [ebp + eax - 0x66c]
movzx ecx, byte [ebp - 0x24e]
add ecx, eax
mov byte [ebp - 0x24e], cl
movzx eax, byte [ebp - 0x24d]
movzx ecx, byte [ebp - 0x241]
movzx ecx, byte [ebp + ecx - 0x66c]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x66c]
xor eax, ecx
movzx ecx, byte [ebp - 0x242]
movzx ecx, byte [ebp + ecx - 0x66c]
movzx edx, byte [ebp - 0x244]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
movzx edx, byte [ebp - 0x24e]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x66c]
movzx ecx, byte [ebp + ecx - 0x66c]
xor eax, ecx
mov byte [ebp - 0x242], al
mov al, byte [ebp - 0x24d]
mov byte [ebp - 0x244], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x250], al
cmp dword [ebp - 0x258], 0
jle 0x5062df
mov eax, dword [ebp - 0x258]
mov cl, byte [ebp - 0x250]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x2b4]
add eax, 5
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x3fc], eax
jmp 0x50630a
mov eax, dword [ebp - 0x3fc]
inc eax
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x3fc]
cmp eax, dword [ebp - 0x2b4]
jge 0x506564
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
shl eax, 1
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x328]
add eax, dword [ebp - 0x324]
movzx eax, byte [eax]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2f4], 0xac
mov eax, dword [ebp - 0x258]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x328]
add eax, dword [ebp - 0x32c]
movzx eax, byte [eax]
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x2f8], 0x83
mov eax, dword [ebp - 0x2f0]
sub eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x2fc]
shl eax, 4
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x330]
or eax, dword [ebp - 0x308]
mov dword [ebp - 0x30c], eax
mov al, byte [ebp - 0x30c]
mov byte [ebp - 0x24d], al
movzx eax, byte [ebp - 0x244]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp - 0x24f], al
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x66c]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
mov al, byte [ebp - 0x240]
add al, 1
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x241]
movzx ecx, byte [ebp - 0x244]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x241]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
movzx eax, byte [ebp - 0x240]
movzx ecx, byte [ebp - 0x242]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
movzx eax, byte [ebp - 0x240]
mov cl, byte [ebp - 0x24f]
mov byte [ebp + eax - 0x66c], cl
movzx eax, byte [ebp - 0x24f]
movzx eax, byte [ebp + eax - 0x66c]
movzx ecx, byte [ebp - 0x24e]
add ecx, eax
mov byte [ebp - 0x24e], cl
movzx eax, byte [ebp - 0x24d]
movzx ecx, byte [ebp - 0x241]
movzx ecx, byte [ebp + ecx - 0x66c]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x66c]
xor eax, ecx
movzx ecx, byte [ebp - 0x242]
movzx ecx, byte [ebp + ecx - 0x66c]
movzx edx, byte [ebp - 0x244]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
movzx edx, byte [ebp - 0x24e]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x66c]
movzx ecx, byte [ebp + ecx - 0x66c]
xor eax, ecx
mov byte [ebp - 0x242], al
mov al, byte [ebp - 0x24d]
mov byte [ebp - 0x244], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x250], al
cmp dword [ebp - 0x258], 0
jle 0x50655f
mov eax, dword [ebp - 0x258]
mov cl, byte [ebp - 0x250]
mov byte [ebp + eax - 0x1d], cl
jmp 0x5062fd
mov eax, dword [ebp - 0x2b4]
inc eax
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x2b4]
inc eax
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x258]
shl eax, 1
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x328]
add eax, dword [ebp - 0x324]
movzx eax, byte [eax]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2f4], 0xac
mov eax, dword [ebp - 0x258]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x328]
add eax, dword [ebp - 0x32c]
movzx eax, byte [eax]
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x2f8], 0x83
mov eax, dword [ebp - 0x2f0]
sub eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x2fc]
shl eax, 4
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x330]
or eax, dword [ebp - 0x308]
mov dword [ebp - 0x30c], eax
mov al, byte [ebp - 0x30c]
mov byte [ebp - 0x24d], al
movzx eax, byte [ebp - 0x244]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp - 0x24f], al
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x66c]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
mov al, byte [ebp - 0x240]
add al, 1
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x241]
movzx ecx, byte [ebp - 0x244]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x241]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
movzx eax, byte [ebp - 0x240]
movzx ecx, byte [ebp - 0x242]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
movzx eax, byte [ebp - 0x240]
mov cl, byte [ebp - 0x24f]
mov byte [ebp + eax - 0x66c], cl
movzx eax, byte [ebp - 0x24f]
movzx eax, byte [ebp + eax - 0x66c]
movzx ecx, byte [ebp - 0x24e]
add ecx, eax
mov byte [ebp - 0x24e], cl
movzx eax, byte [ebp - 0x24d]
movzx ecx, byte [ebp - 0x241]
movzx ecx, byte [ebp + ecx - 0x66c]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x66c]
xor eax, ecx
movzx ecx, byte [ebp - 0x242]
movzx ecx, byte [ebp + ecx - 0x66c]
movzx edx, byte [ebp - 0x244]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
movzx edx, byte [ebp - 0x24e]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x66c]
movzx ecx, byte [ebp + ecx - 0x66c]
xor eax, ecx
mov byte [ebp - 0x242], al
mov al, byte [ebp - 0x24d]
mov byte [ebp - 0x244], al
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x250], al
cmp dword [ebp - 0x258], 0
jle 0x5067c1
mov eax, dword [ebp - 0x258]
mov cl, byte [ebp - 0x250]
mov byte [ebp + eax - 0x1d], cl
mov eax, dword [ebp - 0x2b4]
add eax, 5
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x408], eax
jmp 0x5067ec
mov eax, dword [ebp - 0x408]
inc eax
mov dword [ebp - 0x408], eax
mov eax, dword [ebp - 0x408]
cmp eax, dword [ebp - 0x2b4]
jge 0x506bb9
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
shl eax, 1
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x328]
add eax, dword [ebp - 0x324]
movzx eax, byte [eax]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0x2f4], 0xac
mov eax, dword [ebp - 0x258]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x328]
add eax, dword [ebp - 0x32c]
movzx eax, byte [eax]
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x2f8], 0x83
mov eax, dword [ebp - 0x2f0]
sub eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x304]
sub eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x2fc]
shl eax, 4
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x330]
or eax, dword [ebp - 0x308]
mov dword [ebp - 0x30c], eax
mov al, byte [ebp - 0x30c]
mov byte [ebp - 0x24d], al
movzx eax, byte [ebp - 0x244]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp - 0x24f], al
movzx eax, byte [ebp - 0x240]
movzx eax, byte [ebp + eax - 0x66c]
movzx ecx, byte [ebp - 0x241]
add ecx, eax
mov byte [ebp - 0x241], cl
mov al, byte [ebp - 0x240]
add al, 1
mov byte [ebp - 0x240], al
movzx eax, byte [ebp - 0x241]
movzx ecx, byte [ebp - 0x244]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
movzx eax, byte [ebp - 0x242]
movzx ecx, byte [ebp - 0x241]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
movzx eax, byte [ebp - 0x240]
movzx ecx, byte [ebp - 0x242]
mov al, byte [ebp + eax - 0x66c]
mov byte [ebp + ecx - 0x66c], al
movzx eax, byte [ebp - 0x240]
mov cl, byte [ebp - 0x24f]
mov byte [ebp + eax - 0x66c], cl
movzx eax, byte [ebp - 0x24f]
movzx eax, byte [ebp + eax - 0x66c]
movzx ecx, byte [ebp - 0x24e]
add ecx, eax
mov byte [ebp - 0x24e], cl
movzx eax, byte [ebp - 0x24d]
movzx ecx, byte [ebp - 0x241]
movzx ecx, byte [ebp + ecx - 0x66c]
movzx edx, byte [ebp - 0x240]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x66c]
xor eax, ecx
movzx ecx, byte [ebp - 0x242]
movzx ecx, byte [ebp + ecx - 0x66c]
movzx edx, byte [ebp - 0x244]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
movzx edx, byte [ebp - 0x24e]
movzx edx, byte [ebp + edx - 0x66c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x66c]
movzx ecx, byte [ebp + ecx - 0x66c]
xor eax, ecx
mov byte [ebp - 0x242], al
mov al, byte [ebp - 0x24d]
mov byte [ebp - 0x244], al
movss xmm0, dword [0xabe68c]
movss dword [ebp - 0x344], xmm0
movss xmm0, dword [0xabe664]
movss dword [ebp - 0x310], xmm0
movss xmm0, dword [0xabe634]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [0xabe608]
movss dword [ebp - 0x2d8], xmm0
movss xmm0, dword [ebp - 0x2c4]
mulss xmm0, dword [ebp - 0x2d8]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x2c4]
mulss xmm0, dword [ebp - 0x2d8]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x2c4]
subss xmm0, dword [ebp - 0x2d8]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x310]
subss xmm0, dword [ebp - 0x2d8]
movss dword [ebp - 0x310], xmm0
movss xmm0, dword [ebp - 0x2c4]
comiss xmm0, dword [ebp - 0x2d8]
jbe 0x506b3b
movss xmm0, dword [ebp - 0x2d8]
addss xmm0, dword [ebp - 0x310]
movss dword [ebp - 0x2d8], xmm0
movss xmm0, dword [ebp - 0x344]
subss xmm0, dword [ebp - 0x2c4]
movss dword [ebp - 0x344], xmm0
movss xmm0, dword [ebp - 0x310]
subss xmm0, dword [ebp - 0x2d8]
movss dword [ebp - 0x310], xmm0
movss xmm0, dword [ebp - 0x344]
addss xmm0, dword [ebp - 0x2c4]
movss dword [ebp - 0x344], xmm0
mov al, byte [ebp - 0x242]
mov byte [ebp - 0x250], al
jmp 0x506b9b
movss xmm0, dword [ebp - 0x2d8]
divss xmm0, dword [ebp - 0x344]
movss dword [ebp - 0x2d8], xmm0
movss xmm0, dword [ebp - 0x310]
subss xmm0, dword [ebp - 0x2c4]
movss dword [ebp - 0x310], xmm0
movss xmm0, dword [ebp - 0x2c4]
divss xmm0, dword [ebp - 0x2d8]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x344]
addss xmm0, dword [ebp - 0x310]
movss dword [ebp - 0x344], xmm0
cmp dword [ebp - 0x258], 0
jle 0x506bb4
mov eax, dword [ebp - 0x258]
mov cl, byte [ebp - 0x250]
mov byte [ebp + eax - 0x1d], cl
jmp 0x5067df
mov eax, dword [ebp - 0x2b4]
inc eax
mov dword [ebp - 0x2b4], eax
movsd xmm0, qword [0xabe5b0]
movsd qword [ebp - 0x434], xmm0
movsd xmm0, qword [0xabe580]
movsd qword [ebp - 0x43c], xmm0
movsd xmm0, qword [0xabe538]
movsd qword [ebp - 0x358], xmm0
movsd xmm0, qword [0xabe500]
movsd qword [ebp - 0x3a0], xmm0
movsd xmm0, qword [0xabe4b8]
movsd qword [ebp - 0x404], xmm0
movsd xmm0, qword [0xabe430]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x3a0]
addsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x3a0], xmm0
movsd xmm0, qword [ebp - 0x404]
addsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x404], xmm0
movsd xmm0, qword [ebp - 0x358]
mulsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x358], xmm0
movsd xmm0, qword [ebp - 0x358]
addsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x358], xmm0
movsd xmm0, qword [ebp - 0x3a0]
addsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x3a0], xmm0
movsd xmm0, qword [ebp - 0x404]
subsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x404], xmm0
movsd xmm0, qword [ebp - 0x340]
comisd xmm0, xmmword [ebp - 0x358]
jbe 0x506d61
movsd xmm0, qword [ebp - 0x358]
mulsd xmm0, qword [ebp - 0x3a0]
movsd qword [ebp - 0x358], xmm0
movsd xmm0, qword [ebp - 0x434]
divsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x434], xmm0
movsd xmm0, qword [ebp - 0x3a0]
addsd xmm0, qword [ebp - 0x404]
movsd qword [ebp - 0x3a0], xmm0
movsd xmm0, qword [ebp - 0x358]
subsd xmm0, qword [ebp - 0x3a0]
movsd qword [ebp - 0x358], xmm0
movsd xmm0, qword [ebp - 0x434]
divsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x434], xmm0
movsd xmm0, qword [ebp - 0x340]
mulsd xmm0, qword [ebp - 0x434]
movsd qword [ebp - 0x340], xmm0
jmp 0x506e18
movsd xmm0, qword [ebp - 0x340]
mulsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x340]
mulsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x358]
subsd xmm0, qword [ebp - 0x404]
movsd qword [ebp - 0x358], xmm0
movsd xmm0, qword [ebp - 0x3a0]
subsd xmm0, qword [ebp - 0x340]
movsd qword [ebp - 0x3a0], xmm0
movsd xmm0, qword [ebp - 0x340]
mulsd xmm0, qword [ebp - 0x43c]
movsd qword [ebp - 0x340], xmm0
movsd xmm0, qword [ebp - 0x358]
addsd xmm0, qword [ebp - 0x404]
movsd qword [ebp - 0x358], xmm0
xor eax, eax
inc eax
imul eax, eax, 0xb
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 0xc
jae 0x506e08
jmp 0x506e0d
call fcn.00a2312a
mov eax, dword [ebp - 0x424]
mov byte [ebp + eax - 0x1c], 0
jmp 0x506e62
and dword [ebp - 0x3b8], 0
jmp 0x506e30
mov eax, dword [ebp - 0x3b8]
inc eax
mov dword [ebp - 0x3b8], eax
cmp dword [ebp - 0x3b8], 0xc
jge 0x506e62
mov eax, dword [ebp - 0x3b8]
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0xc
jae 0x506e50
jmp 0x506e55
call fcn.00a2312a
mov eax, dword [ebp - 0x420]
mov byte [ebp + eax - 0x1c], 0
jmp 0x506e23
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.00458790
mov dword [ebp - 0x558], eax
push 0
push 0x80
push 3
push 0
push 1
push 0xa0000000
lea eax, [ebp - 0x224]
push eax
call dword [ebp - 0x558]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0xffffffff
je 0x50960b
push 0
push dword [ebp - 0x3c8]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x3d8], eax
and dword [ebp - 0x228], 0
push dword [ebp - 0x3d8]
call fcn.00a22bed
pop ecx
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x55c]
mov dword [ebp - 0x2cc], eax
and dword [ebp - 0x22c], 0
and dword [ebp - 0x230], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x3a8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x378], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x378], xmm0
jmp 0x506f2b
movsd xmm0, qword [ebp - 0x378]
addsd xmm0, qword [0xabb340]
movsd qword [ebp - 0x378], xmm0
movsd xmm0, qword [0xabe458]
comisd xmm0, xmmword [ebp - 0x378]
jbe 0x506fdc
movsd xmm0, qword [0xabe410]
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 [0xabe360]
mulsd xmm1, qword [ebp - 0x378]
mulsd xmm1, qword [ebp - 0x378]
addsd xmm1, qword [0xabe388]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x3a8]
movsd qword [ebp - 0x3a8], xmm0
movsd xmm0, qword [ebp - 0x3a8]
comisd xmm0, xmmword [0xabe3c8]
jbe 0x506fd7
movsd xmm0, qword [0xabe348]
mulsd xmm0, qword [ebp - 0x378]
movsd xmm1, qword [ebp - 0x3a8]
subsd xmm1, xmm0
movsd qword [ebp - 0x3a8], xmm1
jmp 0x506f13
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x3a8]
jbe 0x50701d
cmp eax, 0x3d563049
dec ecx
cmp byte [ebp + 0x32], cl
push ebp
xor byte [esi + 0x39], cl
dec esi
cmp cl, byte [ebx + 0x3b]
push edx
jno 0x507059
cmp dh, byte [edi + 0x5a]
inc esi
inc esi
ja 0x50707d
pop ebx
inc esi
push edx
xor eax, 0x79786624
outsb dx, byte [esi]
sub eax, dword [eax + edi + 0x29]
aaa
pushal
and byte [edx + 0x6c], bh
imul ebp, ecx, 0xfffffff1
and eax, dword [eax]
add bh, al
test esp, edx
std
invalid
mov dword [ebp - 0x22c], 0x506fe9
mov dword [ebp - 0x230], 0x506ffb
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x568], eax
mov byte [ebp - 0x2dd], 0x21
and dword [ebp - 0x27c], 0
jmp 0x507066
mov eax, dword [ebp - 0x27c]
inc eax
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0x100
jae 0x507087
mov eax, dword [ebp - 0x27c]
mov cl, byte [ebp - 0x27c]
mov byte [ebp + eax - 0x540], cl
jmp 0x507059
dec dword [eax - 0x53ffa74]
invalid
and dword [ebp - 0x360], 0
mov byte [ebp - 0x245], 0
mov dword [ebp - 0x27c], 0xff
jmp 0x5070ae
mov eax, dword [ebp - 0x27c]
dec eax
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0
jbe 0x507333
and dword [ebp - 0x40c], 0
mov dword [ebp - 0x3bc], 1
mov eax, dword [ebp - 0x3bc]
cmp eax, dword [ebp - 0x27c]
jae 0x5070ec
mov eax, dword [ebp - 0x3bc]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3bc], eax
jmp 0x5070cc
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x560], eax
mov eax, dword [ebp - 0x560]
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x2c8], 0
je 0x507131
sub dword [ebp - 0x2c8], 1
je 0x50715f
sub dword [ebp - 0x2c8], 1
je 0x507190
sub dword [ebp - 0x2c8], 1
je 0x5071be
jmp 0x5071ec
movzx eax, byte [ebp - 0x245]
movzx ebx, byte [ebp + eax - 0x540]
movsd xmm0, qword [ebp - 0x3a8]
call fcn.00a23431
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x245], bl
jmp 0x507213
movzx eax, byte [ebp - 0x245]
movzx ebx, byte [ebp + eax - 0x540]
movsd xmm0, qword [ebp - 0x3a8]
call fcn.00a23431
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x245], bl
jmp 0x507213
movzx eax, byte [ebp - 0x245]
movzx ebx, byte [ebp + eax - 0x540]
movsd xmm0, qword [ebp - 0x3a8]
call fcn.00a23431
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x245], bl
jmp 0x507213
movzx eax, byte [ebp - 0x245]
movzx ebx, byte [ebp + eax - 0x540]
movsd xmm0, qword [ebp - 0x3a8]
call fcn.00a23431
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x245], bl
jmp 0x507213
movzx eax, byte [ebp - 0x245]
movzx eax, byte [ebp + eax - 0x540]
mov ecx, dword [ebp - 0x568]
add ecx, dword [ebp - 0x360]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x245], al
mov eax, dword [ebp - 0x360]
inc eax
mov dword [ebp - 0x360], eax
movzx eax, byte [ebp - 0x2dd]
cmp dword [ebp - 0x360], eax
jb 0x50724c
and dword [ebp - 0x360], 0
movzx eax, byte [ebp - 0x2dd]
movzx ecx, byte [ebp - 0x245]
add ecx, eax
mov byte [ebp - 0x245], cl
movzx eax, byte [ebp - 0x245]
and eax, dword [ebp - 0x3bc]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x40c]
inc eax
mov dword [ebp - 0x40c], eax
cmp dword [ebp - 0x40c], 0xb
jbe 0x507289
mov eax, dword [ebp - 0x314]
xor edx, edx
div dword [ebp - 0x27c]
mov dword [ebp - 0x314], edx
mov eax, dword [ebp - 0x314]
cmp eax, dword [ebp - 0x27c]
ja 0x5070ec
mov eax, dword [ebp - 0x27c]
cmp eax, dword [ebp - 0x314]
je 0x50732e
mov eax, dword [ebp - 0x314]
movzx eax, byte [ebp + eax - 0x540]
mov ecx, dword [ebp - 0x27c]
movzx ecx, byte [ebp + ecx - 0x540]
xor ecx, eax
mov eax, dword [ebp - 0x27c]
mov byte [ebp + eax - 0x540], cl
mov eax, dword [ebp - 0x27c]
movzx eax, byte [ebp + eax - 0x540]
mov ecx, dword [ebp - 0x314]
movzx ecx, byte [ebp + ecx - 0x540]
xor ecx, eax
mov eax, dword [ebp - 0x314]
mov byte [ebp + eax - 0x540], cl
mov eax, dword [ebp - 0x314]
movzx eax, byte [ebp + eax - 0x540]
mov ecx, dword [ebp - 0x27c]
movzx ecx, byte [ebp + ecx - 0x540]
xor ecx, eax
mov eax, dword [ebp - 0x27c]
mov byte [ebp + eax - 0x540], cl
jmp 0x5070a1
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x239], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23a], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23e], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23b], al
movzx eax, byte [ebp - 0x245]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23c], al
mov dword [ebp - 0x41c], 0x12
cmp dword [ebp - 0x41c], 2
jle 0x5093c6
mov eax, dword [ebp - 0x41c]
and eax, 1
jne 0x5093c6
and dword [ebp - 0x24c], 0
and dword [ebp - 0x288], 0
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
and dword [ebp - 0x28c], 0
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x28c], eax
and dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x28c]
movzx eax, byte [eax]
add eax, dword [ebp - 0x260]
mov dword [ebp - 0x260], eax
and dword [ebp - 0x264], 0
mov eax, dword [ebp - 0x264]
add eax, 0x30
mov dword [ebp - 0x264], eax
and dword [ebp - 0x294], 0
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x294], eax
and dword [ebp - 0x268], 0
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
add eax, dword [ebp - 0x268]
mov dword [ebp - 0x268], eax
and dword [ebp - 0x26c], 0
mov eax, dword [ebp - 0x26c]
add eax, 0x47
mov dword [ebp - 0x26c], eax
and dword [ebp - 0x270], 0
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x264]
add eax, dword [ebp - 0x270]
mov dword [ebp - 0x270], eax
and dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x268]
sub eax, dword [ebp - 0x26c]
add eax, dword [ebp - 0x274]
mov dword [ebp - 0x274], eax
and dword [ebp - 0x298], 0
mov eax, dword [ebp - 0x270]
shl eax, 4
mov dword [ebp - 0x298], eax
and dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], eax
and dword [ebp - 0x29c], 0
mov eax, dword [ebp - 0x298]
or eax, dword [ebp - 0x278]
mov dword [ebp - 0x29c], eax
mov byte [ebp - 0x23f], 0
mov al, byte [ebp - 0x29c]
mov byte [ebp - 0x23f], al
mov byte [ebp - 0x23d], 0
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x540]
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 - 0x540]
mov byte [ebp + ecx - 0x540], al
movsd xmm0, qword [0xabe5d8]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [0xabe588]
movsd qword [ebp - 0x3d0], xmm0
movsd xmm0, qword [0xabe518]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [0xabe4a0]
movsd qword [ebp - 0x3ec], xmm0
movsd xmm0, qword [ebp - 0x370]
mulsd xmm0, qword [ebp - 0x3ec]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x388]
mulsd xmm0, qword [ebp - 0x3ec]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [ebp - 0x3d0]
mulsd xmm0, qword [ebp - 0x3ec]
movsd qword [ebp - 0x3d0], xmm0
movsd xmm0, qword [ebp - 0x370]
mulsd xmm0, qword [ebp - 0x3ec]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x370]
comisd xmm0, xmmword [ebp - 0x3ec]
jbe 0x507696
movsd xmm0, qword [ebp - 0x3d0]
subsd xmm0, qword [ebp - 0x370]
movsd qword [ebp - 0x3d0], xmm0
movsd xmm0, qword [ebp - 0x388]
addsd xmm0, qword [ebp - 0x3d0]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [ebp - 0x3d0]
addsd xmm0, qword [ebp - 0x370]
movsd qword [ebp - 0x3d0], xmm0
movsd xmm0, qword [ebp - 0x388]
addsd xmm0, qword [ebp - 0x3d0]
movsd qword [ebp - 0x388], xmm0
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
jmp 0x5076f6
movsd xmm0, qword [ebp - 0x388]
addsd xmm0, qword [ebp - 0x370]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [ebp - 0x370]
mulsd xmm0, qword [ebp - 0x388]
movsd qword [ebp - 0x370], xmm0
movsd xmm0, qword [ebp - 0x388]
mulsd xmm0, qword [ebp - 0x370]
movsd qword [ebp - 0x388], xmm0
movsd xmm0, qword [ebp - 0x3ec]
subsd xmm0, qword [ebp - 0x3d0]
movsd qword [ebp - 0x3ec], xmm0
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x23d]
mov byte [ebp + eax - 0x540], cl
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x540]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
movzx edx, byte [ebp - 0x23e]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x243], al
cmp dword [ebp - 0x24c], 0
jle 0x5077fb
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x28c]
movzx eax, byte [eax]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x264], 0x30
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x26c], 0x47
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x264]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x268]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
shl eax, 4
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x298]
or eax, dword [ebp - 0x278]
mov dword [ebp - 0x29c], eax
mov al, byte [ebp - 0x29c]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x540]
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 - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x23d]
mov byte [ebp + eax - 0x540], cl
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x540]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
movzx edx, byte [ebp - 0x23e]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x243], al
cmp dword [ebp - 0x24c], 0
jle 0x507a4b
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x28c]
movzx eax, byte [eax]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x264], 0x30
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x26c], 0x47
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x264]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x268]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
shl eax, 4
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x298]
or eax, dword [ebp - 0x278]
mov dword [ebp - 0x29c], eax
mov al, byte [ebp - 0x29c]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x540]
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 - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x23d]
mov byte [ebp + eax - 0x540], cl
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x540]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
movzx edx, byte [ebp - 0x23e]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x243], al
cmp dword [ebp - 0x24c], 0
jle 0x507c9b
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x28c]
movzx eax, byte [eax]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x264], 0x30
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x294], eax
movsd xmm0, qword [0xabe5c0]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [0xabe548]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [0xabe4c0]
movsd qword [ebp - 0x2bc], xmm0
movsd xmm0, qword [ebp - 0x338]
addsd xmm0, qword [ebp - 0x2bc]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x350]
addsd xmm0, qword [ebp - 0x2bc]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x350]
mulsd xmm0, qword [ebp - 0x2bc]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x2bc]
comisd xmm0, xmmword [ebp - 0x350]
jbe 0x507eb6
movsd xmm0, qword [ebp - 0x338]
addsd xmm0, qword [ebp - 0x2bc]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x2bc]
addsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x2bc], xmm0
movsd xmm0, qword [ebp - 0x350]
addsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x350], xmm0
movsd xmm0, qword [ebp - 0x2bc]
addsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x2bc], xmm0
movsd xmm0, qword [ebp - 0x338]
mulsd xmm0, qword [ebp - 0x2bc]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x2bc]
mulsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x2bc], xmm0
movsd xmm0, qword [ebp - 0x338]
comisd xmm0, xmmword [ebp - 0x2bc]
jbe 0x507e6c
movsd xmm0, qword [ebp - 0x338]
divsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x2bc]
divsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x2bc], xmm0
movsd xmm0, qword [ebp - 0x350]
subsd xmm0, qword [ebp - 0x2bc]
movsd qword [ebp - 0x350], xmm0
jmp 0x507eb4
movsd xmm0, qword [ebp - 0x2bc]
subsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x2bc], xmm0
movsd xmm0, qword [ebp - 0x2bc]
addsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x2bc], xmm0
movsd xmm0, qword [ebp - 0x2bc]
subsd xmm0, qword [ebp - 0x338]
movsd qword [ebp - 0x2bc], xmm0
jmp 0x507f13
movsd xmm0, qword [ebp - 0x2bc]
mulsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x2bc], xmm0
movsd xmm0, qword [ebp - 0x338]
subsd xmm0, qword [ebp - 0x2bc]
movsd qword [ebp - 0x338], xmm0
movsd xmm0, qword [ebp - 0x2bc]
addsd xmm0, qword [ebp - 0x350]
movsd qword [ebp - 0x2bc], xmm0
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x26c], 0x47
movss xmm0, dword [0xabe6d4]
movss dword [ebp - 0x2e8], xmm0
movss xmm0, dword [0xabe6b8]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [0xabe694]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [0xabe66c]
movss dword [ebp - 0x2a4], xmm0
movss xmm0, dword [0xabe644]
movss dword [ebp - 0x2ac], xmm0
movss xmm0, dword [0xabe624]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [0xabe5f8]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x2a8]
mulss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x254]
mulss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x2a8]
addss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x2a4]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2a4], xmm0
movss xmm0, dword [ebp - 0x2a4]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2a4], xmm0
movss xmm0, dword [ebp - 0x254]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x254]
addss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x25c]
comiss xmm0, dword [ebp - 0x254]
jbe 0x508309
movss xmm0, dword [ebp - 0x2a4]
addss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x2a4], xmm0
movss xmm0, dword [ebp - 0x254]
mulss xmm0, dword [ebp - 0x2a4]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x2ac]
mulss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2ac], xmm0
movss xmm0, dword [ebp - 0x280]
divss xmm0, dword [ebp - 0x2ac]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x254]
mulss xmm0, dword [ebp - 0x2a4]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x2a8]
divss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x254]
divss xmm0, dword [ebp - 0x2a4]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x2e8]
mulss xmm0, dword [ebp - 0x254]
movss dword [ebp - 0x2e8], xmm0
movss xmm0, dword [ebp - 0x25c]
subss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x254]
mulss xmm0, dword [ebp - 0x280]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x280]
addss xmm0, dword [ebp - 0x2a4]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x280]
addss xmm0, dword [ebp - 0x2a4]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x2ac]
divss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x2ac], xmm0
movss xmm0, dword [ebp - 0x2a8]
mulss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x2e8]
comiss xmm0, dword [ebp - 0x280]
jbe 0x50825c
movss xmm0, dword [ebp - 0x280]
divss xmm0, dword [ebp - 0x2a4]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x2a4]
subss xmm0, dword [ebp - 0x2ac]
movss dword [ebp - 0x2a4], xmm0
movss xmm0, dword [ebp - 0x2e8]
subss xmm0, dword [ebp - 0x254]
movss dword [ebp - 0x2e8], xmm0
movss xmm0, dword [ebp - 0x254]
addss xmm0, dword [ebp - 0x280]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x254]
addss xmm0, dword [ebp - 0x280]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x2ac]
addss xmm0, dword [ebp - 0x2a8]
movss dword [ebp - 0x2ac], xmm0
movss xmm0, dword [ebp - 0x25c]
divss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x25c], xmm0
jmp 0x508304
movss xmm0, dword [ebp - 0x254]
divss xmm0, dword [ebp - 0x2a4]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x25c]
subss xmm0, dword [ebp - 0x254]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x2a8]
divss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x2ac]
addss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2ac], xmm0
movss xmm0, dword [ebp - 0x2ac]
subss xmm0, dword [ebp - 0x25c]
movss dword [ebp - 0x2ac], xmm0
movss xmm0, dword [ebp - 0x25c]
subss xmm0, dword [ebp - 0x254]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x254]
mulss xmm0, dword [ebp - 0x2a4]
movss dword [ebp - 0x254], xmm0
jmp 0x5083c3
movss xmm0, dword [ebp - 0x280]
addss xmm0, dword [ebp - 0x2ac]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x254]
subss xmm0, dword [ebp - 0x2a4]
movss dword [ebp - 0x254], xmm0
movss xmm0, dword [ebp - 0x280]
mulss xmm0, dword [ebp - 0x2ac]
movss dword [ebp - 0x280], xmm0
movss xmm0, dword [ebp - 0x2a8]
mulss xmm0, dword [ebp - 0x2e8]
movss dword [ebp - 0x2a8], xmm0
movss xmm0, dword [ebp - 0x25c]
subss xmm0, dword [ebp - 0x254]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x25c]
mulss xmm0, dword [ebp - 0x254]
movss dword [ebp - 0x25c], xmm0
movss xmm0, dword [ebp - 0x280]
subss xmm0, dword [ebp - 0x2ac]
movss dword [ebp - 0x280], xmm0
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x264]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x268]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
shl eax, 4
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x298]
or eax, dword [ebp - 0x278]
mov dword [ebp - 0x29c], eax
mov al, byte [ebp - 0x29c]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x540]
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 - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x23d]
mov byte [ebp + eax - 0x540], cl
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x540]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
movzx edx, byte [ebp - 0x23e]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x243], al
cmp dword [ebp - 0x24c], 0
jle 0x50858b
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x28c]
movzx eax, byte [eax]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x264], 0x30
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x26c], 0x47
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x264]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x268]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
shl eax, 4
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x298]
or eax, dword [ebp - 0x278]
mov dword [ebp - 0x29c], eax
mov al, byte [ebp - 0x29c]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x540]
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 - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x23d]
mov byte [ebp + eax - 0x540], cl
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x540]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
movzx edx, byte [ebp - 0x23e]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x243], al
cmp dword [ebp - 0x24c], 0
jle 0x5087db
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x28c]
movzx eax, byte [eax]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x264], 0x30
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x268], eax
movss xmm0, dword [0xabe6bc]
movss dword [ebp - 0x348], xmm0
movss xmm0, dword [0xabe69c]
movss dword [ebp - 0x2dc], xmm0
movss xmm0, dword [0xabe680]
movss dword [ebp - 0x318], xmm0
movss xmm0, dword [0xabe65c]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [0xabe638]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [0xabe618]
movss dword [ebp - 0x2ec], xmm0
movss xmm0, dword [0xabe5f0]
movss dword [ebp - 0x284], xmm0
movss xmm0, dword [ebp - 0x2ec]
mulss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x2ec], xmm0
movss xmm0, dword [ebp - 0x2dc]
mulss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x2dc], xmm0
movss xmm0, dword [ebp - 0x348]
mulss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x348], xmm0
movss xmm0, dword [ebp - 0x318]
subss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x318], xmm0
movss xmm0, dword [ebp - 0x2dc]
mulss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x2dc], xmm0
movss xmm0, dword [ebp - 0x2ec]
mulss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x2ec], xmm0
movss xmm0, dword [ebp - 0x2ec]
addss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x2ec], xmm0
movss xmm0, dword [ebp - 0x2dc]
comiss xmm0, dword [ebp - 0x284]
jbe 0x508a2b
movss xmm0, dword [ebp - 0x368]
addss xmm0, dword [ebp - 0x2ec]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x364]
subss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x284]
addss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x284], xmm0
movss xmm0, dword [ebp - 0x318]
addss xmm0, dword [ebp - 0x364]
movss dword [ebp - 0x318], xmm0
movss xmm0, dword [ebp - 0x368]
addss xmm0, dword [ebp - 0x2ec]
movss dword [ebp - 0x368], xmm0
movss xmm0, dword [ebp - 0x364]
subss xmm0, dword [ebp - 0x284]
movss dword [ebp - 0x364], xmm0
movss xmm0, dword [ebp - 0x348]
addss xmm0, dword [ebp - 0x318]
movss dword [ebp - 0x348], xmm0
mov dword [ebp - 0x26c], 0x47
jmp 0x508ad3
movss xmm0, dword [ebp - 0x2dc]
subss xmm0, dword [ebp - 0x368]
movss dword [ebp - 0x2dc], xmm0
movss xmm0, dword [ebp - 0x284]
addss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x284], xmm0
movss xmm0, dword [ebp - 0x284]
divss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x284], xmm0
movss xmm0, dword [ebp - 0x318]
addss xmm0, dword [ebp - 0x364]
movss dword [ebp - 0x318], xmm0
movss xmm0, dword [ebp - 0x348]
addss xmm0, dword [ebp - 0x318]
movss dword [ebp - 0x348], xmm0
movss xmm0, dword [ebp - 0x2ec]
subss xmm0, dword [ebp - 0x348]
movss dword [ebp - 0x2ec], xmm0
movss xmm0, dword [ebp - 0x284]
addss xmm0, dword [ebp - 0x2dc]
movss dword [ebp - 0x284], xmm0
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x264]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x268]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
shl eax, 4
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x298]
or eax, dword [ebp - 0x278]
mov dword [ebp - 0x29c], eax
mov al, byte [ebp - 0x29c]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x540]
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 - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x23d]
mov byte [ebp + eax - 0x540], cl
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x540]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
movzx edx, byte [ebp - 0x23e]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x243], al
cmp dword [ebp - 0x24c], 0
jle 0x508cad
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x28c]
movzx eax, byte [eax]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x264], 0x30
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x26c], 0x47
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x264]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x268]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
shl eax, 4
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x298]
or eax, dword [ebp - 0x278]
mov dword [ebp - 0x29c], eax
mov al, byte [ebp - 0x29c]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x540]
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 - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x23d]
mov byte [ebp + eax - 0x540], cl
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x540]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
movzx edx, byte [ebp - 0x23e]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x243], al
cmp dword [ebp - 0x24c], 0
jle 0x508efd
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x28c]
movzx eax, byte [eax]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x264], 0x30
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x26c], 0x47
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x264]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x268]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
shl eax, 4
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x298]
or eax, dword [ebp - 0x278]
mov dword [ebp - 0x29c], eax
mov al, byte [ebp - 0x29c]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x540]
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 - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x23d]
mov byte [ebp + eax - 0x540], cl
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x540]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
movzx edx, byte [ebp - 0x23e]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x243], al
cmp dword [ebp - 0x24c], 0
jle 0x50914d
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x11], cl
mov eax, dword [ebp - 0x24c]
inc eax
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x288]
inc eax
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x24c]
shl eax, 1
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x28c]
movzx eax, byte [eax]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x264], 0x30
mov eax, dword [ebp - 0x24c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp - 0x290]
add eax, dword [ebp - 0x294]
movzx eax, byte [eax]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x26c], 0x47
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x264]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x268]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x270]
shl eax, 4
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x298]
or eax, dword [ebp - 0x278]
mov dword [ebp - 0x29c], eax
mov al, byte [ebp - 0x29c]
mov byte [ebp - 0x23f], al
movzx eax, byte [ebp - 0x23c]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp - 0x23d], al
movzx eax, byte [ebp - 0x239]
movzx eax, byte [ebp + eax - 0x540]
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 - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x23b]
movzx ecx, byte [ebp - 0x23a]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
movzx ecx, byte [ebp - 0x23b]
mov al, byte [ebp + eax - 0x540]
mov byte [ebp + ecx - 0x540], al
movzx eax, byte [ebp - 0x239]
mov cl, byte [ebp - 0x23d]
mov byte [ebp + eax - 0x540], cl
movzx eax, byte [ebp - 0x23d]
movzx eax, byte [ebp + eax - 0x540]
movzx ecx, byte [ebp - 0x23e]
add ecx, eax
mov byte [ebp - 0x23e], cl
movzx eax, byte [ebp - 0x23f]
movzx ecx, byte [ebp - 0x23a]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x239]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
movzx ecx, byte [ebp - 0x23b]
movzx ecx, byte [ebp + ecx - 0x540]
movzx edx, byte [ebp - 0x23c]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
movzx edx, byte [ebp - 0x23e]
movzx edx, byte [ebp + edx - 0x540]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x540]
movzx ecx, byte [ebp + ecx - 0x540]
xor eax, ecx
mov byte [ebp - 0x23b], al
mov al, byte [ebp - 0x23f]
mov byte [ebp - 0x23c], al
mov al, byte [ebp - 0x23b]
mov byte [ebp - 0x243], al
cmp dword [ebp - 0x24c], 0
jle 0x50939d
mov eax, dword [ebp - 0x24c]
mov cl, byte [ebp - 0x243]
mov byte [ebp + eax - 0x11], cl
xor eax, eax
inc eax
shl eax, 3
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 9
jae 0x5093b4
jmp 0x5093b9
call fcn.00a2312a
mov eax, dword [ebp - 0x418]
mov byte [ebp + eax - 0x10], 0
jmp 0x50940e
and dword [ebp - 0x3c0], 0
jmp 0x5093dc
mov eax, dword [ebp - 0x3c0]
inc eax
mov dword [ebp - 0x3c0], eax
cmp dword [ebp - 0x3c0], 9
jge 0x50940e
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x414], 9
jae 0x5093fc
jmp 0x509401
call fcn.00a2312a
mov eax, dword [ebp - 0x414]
mov byte [ebp + eax - 0x10], 0
jmp 0x5093cf
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x48]
call fcn.00458790
mov dword [ebp - 0x56c], eax
push 0
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x3d8]
push dword [ebp - 0x2cc]
push dword [ebp - 0x3c8]
call dword [ebp - 0x56c]
test eax, eax
je 0x509577
or dword [ebp - 0x3c4], 0xffffffff
mov byte [ebp - 0x2cd], 0
mov byte [ebp - 0x2ae], 0
cmp dword [ebp - 0x228], 0x100
jbe 0x509551
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0x4d
jne 0x5094a9
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0x5a
jne 0x5094a9
mov byte [ebp - 0x2ae], 1
and dword [ebp - 0x3c4], 0
xor eax, eax
inc eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0xd0
jne 0x509513
xor eax, eax
inc eax
shl eax, 0
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0xcf
jne 0x509513
xor eax, eax
inc eax
shl eax, 1
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0x11
jne 0x509513
xor eax, eax
inc eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x2cc]
movzx eax, byte [ecx + eax]
cmp eax, 0xe0
jne 0x509513
mov byte [ebp - 0x2ae], 1
mov dword [ebp - 0x3c4], 1
and dword [ebp - 0x440], 0
cmp dword [ebp - 0x3c4], 0
jne 0x509551
push dword [ebp - 0x228]
push dword [ebp - 0x2cc]
call fcn.004ee7c3
pop ecx
pop ecx
mov dword [ebp - 0x440], eax
xor eax, eax
cmp dword [ebp - 0x440], 0x1000
sete al
mov byte [ebp - 0x2cd], al
movzx eax, byte [ebp - 0x2ae]
test eax, eax
je 0x509577
movzx eax, byte [ebp - 0x2cd]
test eax, eax
je 0x509577
cmp dword [ebp - 0x3c4], 0
jne 0x509577
mov byte [ebp - 0x2ad], 1
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x3e0], eax
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x3dc], eax
cmp dword [ebp - 0x3e0], 0
je 0x5095bd
mov eax, dword [ebp - 0x3dc]
mov byte [eax], 0
mov eax, dword [ebp - 0x3dc]
inc eax
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x3e0]
dec eax
mov dword [ebp - 0x3e0], eax
jmp 0x50958f
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x410], eax
push dword [ebp - 0x410]
call fcn.00a22bf6
pop ecx
cmp dword [ebp - 0x410], 0
jne 0x5095e7
and dword [ebp - 0x544], 0
jmp 0x5095fd
mov dword [ebp - 0x2cc], 0x8123
mov eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x544], eax
push dword [ebp - 0x3c8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x509633
mov dword [ebp - 0x548], 0xbb8
lea eax, [ebp - 0x548]
push eax
lea ecx, [ebp - 0x678]
call fcn.004e6c92
push eax
call fcn.004e6d54
pop ecx
jmp 0x505a08
mov al, byte [ebp - 0x2ad]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00a22a1e
mov esp, ebp
pop ebp
ret