Function at 0x6bb2e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x74
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x6bc7e0
mov edx, dword fs:[0]
mov dword [ebp - 0x18], edx
mov dword fs:[0], eax
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 7
mov word [ebp - 0x74], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], 0
mov dword [ebp - 0x24], ecx
cmp byte [ecx + 0x48], 0
jne 0x6bb356
nop
mov eax, dword [ebp - 0x24]
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 0
mov dword [ebp - 0x10], 3
sub esp, 0x10
movzx eax, byte [ebp - 0x5c]
mov byte [esp + 4], al
mov dword [esp + 0xc], 0
mov dword [esp + 8], 8
mov dword [esp], 8
lea ecx, [ebp - 0x74]
call fcn.006bc110
nop
mov eax, dword [ebp - 0x24]
add eax, 0x40
mov dword [ebp - 0x80], eax
xor eax, eax
jmp 0x6bb3a8
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x2c]
mov word [ecx + eax*2], 0
nop
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp - 0x7c]
nop
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x4c], eax
mov ebx, dword [ebp + 0xc]
cmp ebx, dword [ebp + 0x10]
je 0x6bbad0
cmp dword [ebp - 0x60], 8
lea esi, [ebp - 0x74]
jb 0x6bb3c7
mov esi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x24]
mov edi, dword [ecx + 4]
lea eax, [esi + eax*2]
mov dword [ebp - 0x28], eax
mov eax, dword [edi]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa37360]
mov dword [ebp - 0x10], 3
mov ecx, edi
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x28]
mov dword [ebp - 0x28], esi
push esi
lea eax, [ebp + 0xc]
push eax
push dword [ebp + 0x10]
push ebx
push dword [ebp - 0x80]
call dword [ebp - 0x20]
cmp eax, 2
jae 0x6bb460
nop
mov ebx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x28]
cmp esi, ebx
jae 0x6bb7c0
nop
mov dword [ebp - 0x30], ebx
sub ebx, esi
mov edi, ebx
sar edi, 1
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov edx, ecx
sub edx, eax
cmp edx, edi
jae 0x6bb80b
sub esp, 0x10
movzx eax, byte [ebp - 0x38]
mov byte [esp + 4], al
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp], edi
lea ecx, [ebp - 0x50]
call fcn.0066ed50
jmp 0x6bb3a1
cmp eax, 3
je 0x6bb485
jmp 0x6bbaea
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
mov word [eax + ecx*2], dx
mov word [eax + ecx*2 + 2], 0
nop
inc dword [ebp + 0xc]
nop
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp + 0x10]
je 0x6bb3a1
nop
movzx eax, byte [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
cmp eax, ecx
nop
mov dword [ebp - 0x20], eax
jae 0x6bb4c0
inc eax
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x50]
cmp ecx, 8
jb 0x6bb470
mov eax, dword [ebp - 0x50]
jmp 0x6bb470
mov dword [ebp - 0x28], ecx
cmp eax, 0x7ffffffe
je 0x6bbf27
inc eax
mov dword [ebp - 0x2c], eax
or eax, 7
cmp eax, 0x7ffffffe
ja 0x6bbf0d
mov edx, dword [ebp - 0x28]
mov esi, edx
shr esi, 1
mov ecx, 0x7ffffffe
sub ecx, esi
cmp ecx, edx
jb 0x6bbf0d
nop
add esi, dword [ebp - 0x28]
cmp eax, esi
cmova esi, eax
mov dword [ebp - 0x58], esi
mov ecx, esi
inc ecx
js 0x6bbf1a
lea eax, [ecx + ecx]
cmp ecx, 0x800
jb 0x6bb550
cmp ecx, 0x7fffffef
mov dword [ebp - 0x10], 3
jae 0x6bbf0d
add eax, 0x23
push eax
call fcn.0091d7fd
add esp, 4
mov esi, eax
add esi, 0x23
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x6bb570
test ecx, ecx
je 0x6bb568
mov dword [ebp - 0x10], 3
push eax
call fcn.0091d7fd
add esp, 4
mov esi, eax
jmp 0x6bb570
xor esi, esi
nop word [eax + eax]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x28], 8
jb 0x6bb6c0
nop
mov eax, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x20]
add ebx, ebx
je 0x6bb66a
xor edx, edx
cmp ebx, 8
jb 0x6bb606
mov edi, esi
sub edi, eax
cmp edi, 0x20
jb 0x6bb606
xor edx, edx
cmp ebx, 0x20
jb 0x6bb5e8
mov edx, ebx
and edx, 0xffffffe0
xor edi, edi
nop word cs:[eax + eax]
nop
movups xmm0, xmmword [eax + edi]
movups xmm1, xmmword [eax + edi + 0x10]
movups xmmword [esi + edi], xmm0
movups xmmword [esi + edi + 0x10], xmm1
add edi, 0x20
cmp edx, edi
jne 0x6bb5c0
cmp ebx, edx
je 0x6bb66a
test byte [ebp - 0x20], 0xc
je 0x6bb606
mov edi, edx
mov edx, ebx
and edx, 0xfffffff8
nop
nop
movsd xmm0, qword [eax + edi]
movsd qword [esi + edi], xmm0
add edi, 8
cmp edx, edi
jne 0x6bb5f0
cmp ebx, edx
je 0x6bb66a
mov dword [ebp - 0x2c], ebx
mov edi, edx
and ebx, 2
je 0x6bb62c
mov edi, edx
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + edi]
mov byte [esi + edi], cl
inc edi
dec ebx
jne 0x6bb620
mov ebx, dword [ebp - 0x2c]
sub edx, ebx
cmp edx, 0xfffffffc
ja 0x6bb66a
nop word cs:[eax + eax]
nop
movzx ecx, byte [eax + edi]
mov byte [esi + edi], cl
movzx ecx, byte [eax + edi + 1]
mov byte [esi + edi + 1], cl
movzx ecx, byte [eax + edi + 2]
mov byte [esi + edi + 2], cl
movzx ecx, byte [eax + edi + 3]
mov byte [esi + edi + 3], cl
add edi, 4
cmp ebx, edi
jne 0x6bb640
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x30]
mov word [esi + ecx*2], dx
mov word [esi + ecx*2 + 2], 0
mov ecx, dword [ebp - 0x28]
lea edx, [ecx*2 + 2]
cmp edx, 0x1000
jb 0x6bb6a9
nop
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x6bbf34
mov edx, dword [ebp - 0x28]
add edx, edx
add edx, 0x25
mov eax, ecx
push edx
push eax
call fcn.0091d82d
add esp, 8
jmp 0x6bb7ac
mov eax, dword [ebp - 0x20]
add eax, eax
je 0x6bb79b
xor ecx, ecx
cmp eax, 8
jb 0x6bb737
mov edx, esi
lea edi, [ebp - 0x50]
sub edx, edi
cmp edx, 0x20
jb 0x6bb737
xor ecx, ecx
cmp eax, 0x20
jb 0x6bb719
mov ecx, eax
and ecx, 0xffffffe0
xor edx, edx
nop dword [eax]
nop
movups xmm0, xmmword [ebp + edx - 0x50]
movups xmm1, xmmword [ebp + edx - 0x40]
movups xmmword [esi + edx], xmm0
movups xmmword [esi + edx + 0x10], xmm1
add edx, 0x20
cmp ecx, edx
jne 0x6bb6f0
cmp eax, ecx
je 0x6bb79b
test byte [ebp - 0x20], 0xc
je 0x6bb737
mov edx, ecx
mov ecx, eax
and ecx, 0xfffffff8
nop
movsd xmm0, qword [ebp + edx - 0x50]
movsd qword [esi + edx], xmm0
add edx, 8
cmp ecx, edx
jne 0x6bb720
cmp eax, ecx
je 0x6bb79b
mov edi, eax
mov edx, ecx
and edi, 2
je 0x6bb75d
mov edx, ecx
nop word cs:[eax + eax]
nop
movzx ebx, byte [ebp + edx - 0x50]
mov byte [esi + edx], bl
inc edx
dec edi
jne 0x6bb750
sub ecx, eax
cmp ecx, 0xfffffffc
ja 0x6bb79b
nop word cs:[eax + eax]
nop
movzx ecx, byte [ebp + edx - 0x50]
mov byte [esi + edx], cl
movzx ecx, byte [ebp + edx - 0x4f]
mov byte [esi + edx + 1], cl
movzx ecx, byte [ebp + edx - 0x4e]
mov byte [esi + edx + 2], cl
movzx ecx, byte [ebp + edx - 0x4d]
mov byte [esi + edx + 3], cl
add edx, 4
cmp eax, edx
jne 0x6bb770
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x30]
mov word [esi + eax*2], cx
mov word [esi + eax*2 + 2], 0
nop
mov dword [ebp - 0x50], esi
jmp 0x6bb481
mov eax, dword [ebp - 0x64]
cmp eax, 0xf
ja 0x6bbb1a
mov ecx, dword [ebp - 0x60]
mov edx, ecx
sub edx, eax
cmp edx, 8
jae 0x6bb94f
sub esp, 0x10
movzx eax, byte [ebp - 0x38]
mov byte [esp + 4], al
mov dword [esp + 0xc], 0
mov dword [esp + 8], 8
mov dword [esp], 8
lea ecx, [ebp - 0x74]
call fcn.006bc110
jmp 0x6bb96e
nop
mov dword [ebp - 0x20], eax
add edi, eax
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x40], edi
lea edx, [ebp - 0x50]
cmp ecx, 8
jb 0x6bb822
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x20]
lea edi, [edx + eax*2]
mov ecx, edi
sub ecx, esi
jae 0x6bb973
test ebx, ebx
je 0x6bb395
mov dword [ebp - 0x34], 0
cmp ebx, 8
jb 0x6bb8dd
cmp ecx, 0x20
jb 0x6bb8dd
mov dword [ebp - 0x34], 0
cmp ebx, 0x20
jb 0x6bb8ac
lea ecx, [eax + eax]
mov edx, ebx
and edx, 0xffffffe0
mov eax, dword [ebp - 0x2c]
add ecx, eax
add ecx, 0x10
mov eax, esi
xor esi, esi
nop word cs:[eax + eax]
nop
movups xmm0, xmmword [eax + esi]
movups xmm1, xmmword [eax + esi + 0x10]
movups xmmword [ecx + esi - 0x10], xmm0
movups xmmword [ecx + esi], xmm1
add esi, 0x20
cmp edx, esi
jne 0x6bb880
mov dword [ebp - 0x34], edx
cmp ebx, edx
je 0x6bb395
mov esi, eax
test bl, 0x18
je 0x6bb8dd
mov ecx, dword [ebp - 0x34]
mov eax, ebx
and eax, 0xfffffff8
nop word cs:[eax + eax]
nop
movsd xmm0, qword [esi + ecx]
movsd qword [edi + ecx], xmm0
add ecx, 8
cmp eax, ecx
jne 0x6bb8c0
mov dword [ebp - 0x34], eax
cmp ebx, eax
je 0x6bb395
mov eax, esi
mov esi, dword [ebp - 0x30]
sub esi, eax
mov ecx, dword [ebp - 0x34]
and esi, 3
je 0x6bb8fc
mov ecx, dword [ebp - 0x34]
nop
nop
movzx edx, byte [eax + ecx]
mov byte [edi + ecx], dl
inc ecx
dec esi
jne 0x6bb8f0
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x30]
add edx, eax
cmp edx, 0xfffffffc
mov esi, eax
mov eax, dword [ebp - 0x20]
ja 0x6bb395
mov edx, eax
mov eax, dword [ebp - 0x2c]
lea eax, [eax + edx*2]
add eax, 3
nop dword [eax]
nop
movzx edx, byte [esi + ecx]
mov byte [eax + ecx - 3], dl
movzx edx, byte [esi + ecx + 1]
mov byte [eax + ecx - 2], dl
movzx edx, byte [esi + ecx + 2]
mov byte [eax + ecx - 1], dl
movzx edx, byte [esi + ecx + 3]
mov byte [eax + ecx], dl
add ecx, 4
cmp ebx, ecx
jne 0x6bb920
jmp 0x6bb395
lea edx, [eax + 8]
mov dword [ebp - 0x64], edx
lea edx, [ebp - 0x74]
cmp ecx, 8
jb 0x6bb960
mov edx, dword [ebp - 0x74]
xorps xmm0, xmm0
movups xmmword [edx + eax*2], xmm0
mov word [edx + eax*2 + 0x10], 0
jmp 0x6bb3a1
test ebx, ebx
je 0x6bb395
cmp ebx, 4
jb 0x6bba52
mov ecx, esi
sub ecx, edi
cmp ecx, 0x10
jb 0x6bba52
lea edx, [eax + eax]
xor ecx, ecx
mov eax, 0
cmp ebx, 0x10
jb 0x6bb9f9
mov edi, ebx
and edi, 0xfffffff0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x78], edx
add edx, eax
sub edx, esi
mov eax, dword [ebp - 0x2c]
add eax, edx
add eax, 0xfffffff0
mov dword [ebp - 0x34], eax
mov edx, edi
add esi, ebx
add esi, 0xfffffff0
mov dword [ebp - 0x54], edi
neg edx
xor edi, edi
nop dword [eax + eax]
nop
movups xmm0, xmmword [esi + edi]
mov eax, dword [ebp - 0x34]
movups xmmword [eax + edi], xmm0
add edi, 0xfffffff0
cmp edx, edi
jne 0x6bb9d0
mov eax, dword [ebp - 0x54]
cmp ebx, eax
mov esi, dword [ebp - 0x28]
je 0x6bb395
test bl, 0xc
mov edx, dword [ebp - 0x78]
je 0x6bba4f
mov edi, ebx
and edi, 0xfffffffc
mov dword [ebp - 0x34], edi
mov edi, edx
mov edx, eax
mov eax, ebx
and eax, 3
mov dword [ebp - 0x54], eax
add edi, dword [ebp - 0x30]
sub edi, edx
sub edi, esi
mov eax, dword [ebp - 0x2c]
lea esi, [eax + edi]
add esi, 0xfffffffc
mov eax, dword [ebp - 0x30]
sub eax, edx
add eax, 0xfffffffc
sub edx, dword [ebp - 0x34]
nop dword [eax + eax]
nop
mov edi, dword [eax + ecx]
mov dword [esi + ecx], edi
add ecx, 0xfffffffc
cmp edx, ecx
jne 0x6bba30
cmp ebx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x54]
je 0x6bb395
jmp 0x6bba52
and ebx, 0xf
mov eax, ebx
mov ecx, ebx
and eax, 3
mov edi, esi
je 0x6bba81
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x20]
lea edx, [ecx + edx*2]
dec edx
mov esi, ebx
nop dword [eax]
nop
movzx ecx, byte [edi + esi - 1]
mov byte [edx + esi], cl
lea ecx, [esi - 1]
dec eax
mov esi, ecx
jne 0x6bba70
dec ebx
cmp ebx, 3
mov eax, dword [ebp - 0x20]
jb 0x6bb395
mov edx, eax
mov eax, dword [ebp - 0x2c]
lea eax, [eax + edx*2]
dec eax
mov edx, ecx
nop dword [eax]
nop
movzx ebx, byte [edi + ecx - 1]
mov byte [eax + ecx], bl
movzx ebx, byte [edi + ecx - 2]
mov byte [eax + ecx - 1], bl
movzx ebx, byte [edi + ecx - 3]
mov byte [eax + ecx - 2], bl
add edx, 0xfffffffc
movzx ebx, byte [edi + ecx - 4]
mov byte [eax + ecx - 3], bl
mov ecx, edx
jne 0x6bbaa0
jmp 0x6bb395
nop
movsd xmm0, qword [ebp - 0x40]
mov eax, dword [ebp + 8]
movsd qword [eax + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x50]
movups xmmword [eax], xmm0
jmp 0x6bbebb
nop
mov ecx, dword [ebp - 0x24]
cmp byte [ecx + 0x4a], 1
jne 0x6bbf4e
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0x20], eax
cmp dword [ecx + 0x3c], 8
jb 0x6bbb57
mov ecx, dword [ecx + 0x28]
jmp 0x6bbb5a
nop
cmp byte [0xa8c5fc], 0
jne 0x6bbb32
nop
mov eax, dword [ebp - 0x24]
cmp byte [eax + 0x4a], 0
je 0x6bbf75
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x38]
mov dword [ebp - 0x20], ecx
cmp dword [eax + 0x3c], 8
jb 0x6bbbc3
mov eax, dword [eax + 0x28]
jmp 0x6bbbc6
add ecx, 0x28
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jae 0x6bbb7c
nop
mov eax, dword [ebp - 0x24]
movups xmm0, xmmword [eax]
mov eax, dword [ebp + 8]
movups xmmword [eax], xmm0
mov edx, 7
jmp 0x6bbd40
or ecx, 7
cmp ecx, 0x7ffffffe
mov eax, 0x7ffffffe
cmovb eax, ecx
mov dword [ebp - 0x28], eax
add eax, eax
cmp ecx, 0x7ff
jb 0x6bbc32
cmp ecx, 0x7fffffee
jae 0x6bc017
add eax, 0x25
push eax
call fcn.0091d7fd
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x6bbc3e
add eax, 0x28
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x20]
cmp ecx, 8
jae 0x6bbbe8
nop
mov eax, dword [ebp - 0x24]
movups xmm0, xmmword [eax]
mov eax, dword [ebp + 8]
movups xmmword [eax], xmm0
mov edx, 7
jmp 0x6bbe70
or ecx, 7
cmp ecx, 0x7ffffffe
mov eax, 0x7ffffffe
cmovb eax, ecx
mov dword [ebp - 0x28], eax
add eax, eax
cmp ecx, 0x7ff
jb 0x6bbd4f
cmp ecx, 0x7fffffee
jae 0x6bc086
add eax, 0x25
push eax
call fcn.0091d7fd
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x6bbd5b
add eax, 2
push eax
call fcn.0091d7fd
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x20]
lea ecx, [ecx*2 + 2]
xor edx, edx
cmp ecx, 8
jb 0x6bbcc6
mov esi, eax
sub esi, dword [ebp - 0x24]
cmp esi, 0x20
jb 0x6bbcc6
xor edx, edx
cmp ecx, 0x20
jb 0x6bbc97
mov edx, ecx
and edx, 0xffffffe0
xor esi, esi
mov edi, dword [ebp - 0x24]
nop
nop
movups xmm0, xmmword [edi + esi]
movups xmm1, xmmword [edi + esi + 0x10]
movups xmmword [eax + esi], xmm0
movups xmmword [eax + esi + 0x10], xmm1
add esi, 0x20
cmp edx, esi
jne 0x6bbc70
cmp ecx, edx
je 0x6bbd3a
test cl, 0x18
je 0x6bbcc6
mov esi, edx
mov edx, ecx
and edx, 0xfffffff8
mov edi, dword [ebp - 0x24]
nop word cs:[eax + eax]
nop
movsd xmm0, qword [edi + esi]
movsd qword [eax + esi], xmm0
add esi, 8
cmp edx, esi
jne 0x6bbcb0
cmp ecx, edx
je 0x6bbd3a
mov ebx, dword [ebp - 0x20]
lea esi, [ebx + ebx]
or esi, 1
sub esi, edx
mov dword [ebp - 0x30], esi
test bl, 1
jne 0x6bbcfc
mov edi, 2
mov esi, dword [ebp - 0x24]
nop word cs:[eax + eax]
nop
movzx ebx, byte [esi + edx]
mov byte [eax + edx], bl
inc edx
dec edi
jne 0x6bbcf0
cmp dword [ebp - 0x30], 3
jb 0x6bbd3a
mov esi, dword [ebp - 0x24]
nop word cs:[eax + eax]
nop
movzx ebx, byte [esi + edx]
mov byte [eax + edx], bl
movzx ebx, byte [esi + edx + 1]
mov byte [eax + edx + 1], bl
movzx ebx, byte [esi + edx + 2]
mov byte [eax + edx + 2], bl
movzx ebx, byte [esi + edx + 3]
mov byte [eax + edx + 3], bl
add edx, 4
cmp ecx, edx
jne 0x6bbd10
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x28]
nop
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
jmp 0x6bbe7a
add eax, 2
push eax
call fcn.0091d7fd
add esp, 4
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov esi, dword [0xa8c5f8]
mov ecx, dword [ebp - 0x20]
lea ebx, [esi + ecx*2]
add ebx, 2
je 0x6bbe6a
xor edx, edx
cmp ebx, 8
jb 0x6bbdf6
mov edi, eax
sub edi, dword [ebp - 0x24]
cmp edi, 0x20
jb 0x6bbdf6
xor edx, edx
cmp ebx, 0x20
jb 0x6bbdc7
mov edx, ebx
and edx, 0xffffffe0
xor edi, edi
mov ecx, dword [ebp - 0x24]
nop word [eax + eax]
nop
movups xmm0, xmmword [ecx + edi]
movups xmm1, xmmword [ecx + edi + 0x10]
movups xmmword [eax + edi], xmm0
movups xmmword [eax + edi + 0x10], xmm1
add edi, 0x20
cmp edx, edi
jne 0x6bbda0
cmp ebx, edx
je 0x6bbe6a
test bl, 0x18
je 0x6bbdf6
mov edi, edx
mov edx, ebx
and edx, 0xfffffff8
mov ecx, dword [ebp - 0x24]
nop word cs:[eax + eax]
nop
movsd xmm0, qword [ecx + edi]
movsd qword [eax + edi], xmm0
add edi, 8
cmp edx, edi
jne 0x6bbde0
cmp ebx, edx
je 0x6bbe6a
mov dword [ebp - 0x30], ebx
mov ecx, dword [ebp - 0x20]
add esi, ecx
add esi, ecx
mov ecx, esi
sub ecx, edx
inc ecx
mov dword [ebp - 0x2c], ecx
and esi, 3
cmp esi, 2
je 0x6bbe33
mov ebx, 1
mov edi, dword [ebp - 0x24]
nop dword [eax + eax]
nop
movzx ecx, byte [edi + edx]
mov byte [eax + edx], cl
inc edx
mov ecx, esi
xor ecx, ebx
inc ebx
cmp ecx, 2
jne 0x6bbe20
cmp dword [ebp - 0x2c], 3
mov edi, dword [ebp - 0x30]
jb 0x6bbe6a
mov esi, dword [ebp - 0x24]
nop
nop
movzx ecx, byte [esi + edx]
mov byte [eax + edx], cl
movzx ecx, byte [esi + edx + 1]
mov byte [eax + edx + 1], cl
movzx ecx, byte [esi + edx + 2]
mov byte [eax + edx + 2], cl
movzx ecx, byte [esi + edx + 3]
mov byte [eax + edx + 3], cl
add edx, 4
cmp edi, edx
jne 0x6bbe40
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x28]
nop
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
nop
mov eax, dword [ebp - 0x3c]
cmp eax, 8
jb 0x6bbebb
nop
mov ecx, dword [ebp - 0x50]
lea esi, [eax*2 + 2]
cmp esi, 0x1000
jb 0x6bbeb1
nop
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x6bbfa0
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0091d82d
add esp, 8
mov eax, dword [ebp - 0x60]
cmp eax, 8
jb 0x6bbef7
nop
mov ecx, dword [ebp - 0x74]
lea esi, [eax*2 + 2]
cmp esi, 0x1000
jb 0x6bbeed
nop
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x6bbf41
add eax, eax
add eax, 0x25
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.0091d82d
add esp, 8
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
add esp, 0x74
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
nop
mov dword [ebp - 0x10], 3
call fcn.0066aec0
nop
mov dword [ebp - 0x10], 3
call fcn.0066aec0
nop
mov dword [ebp - 0x10], 3
call fcn.0066e300
nop
mov dword [ebp - 0x10], 0
call fcn.00900ce1
nop
mov dword [ebp - 0x10], 2
call fcn.00900ce1
nop
movzx eax, byte [0xa42f9f]
cmp al, 0x59
je 0x6bc002
mov cl, 0xa1
mov al, 0xe6
lock cmpxchg byte [0xa42f9f], cl
je 0x6bbfad
cmp al, 0x59
jne 0x6bbf60
jmp 0x6bc002
nop
movzx eax, byte [0xa42f9f]
cmp al, 0x59
je 0x6bc071
mov cl, 0xa1
mov al, 0xe6
lock cmpxchg byte [0xa42f9f], cl
je 0x6bc01c
cmp al, 0x59
jne 0x6bbf87
jmp 0x6bc071
nop
mov dword [ebp - 0x10], 1
call fcn.00900ce1
nop
movq xmm0, qword [0xa42f90]
paddb xmm0, xmmword [0x9d6090]
movq qword [0xa42f90], xmm0
movd xmm0, dword [0xa42f98]
paddb xmm0, xmmword [0x9d60a0]
movd dword [0xa42f98], xmm0
add byte [0xa42f9c], 0xbe
add byte [0xa42f9d], 0xe2
add byte [0xa42f9e], 0xee
mov al, 0x59
xchg byte [0xa42f9f], al
mov dword [ebp - 0x10], 3
nop
mov dword [ebp - 0x10], 3
push 0xa42f90
call fcn.006bc0e0
add esp, 4
call fcn.0066aec0
nop
movq xmm0, qword [0xa42f90]
paddb xmm0, xmmword [0x9d6090]
movq qword [0xa42f90], xmm0
movd xmm0, dword [0xa42f98]
paddb xmm0, xmmword [0x9d60a0]
movd dword [0xa42f98], xmm0
add byte [0xa42f9c], 0xbe
add byte [0xa42f9d], 0xe2
add byte [0xa42f9e], 0xee
mov al, 0x59
xchg byte [0xa42f9f], al
mov dword [ebp - 0x10], 3
nop
mov dword [ebp - 0x10], 3
push 0xa42f90
call fcn.006bc0e0
add esp, 4
call fcn.0066aec0
nop dword [eax + eax]
push ebp
sub esp, 0x1c
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0x1c
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0x1c
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0x1c
add ebp, 0xc
lea ecx, [ebp - 0x50]
call fcn.0065b8a0
lea ecx, [ebp - 0x74]
call fcn.0065b8a0
add esp, 0x1c
pop ebp
ret