Function at 0x6fb09126
Capabilities:
Encode data using xor

Disassembly:
sldt word [ecx]
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add eax, 0x12
add byte [eax], al
adc al, 0
inc dword [ecx]
sldt word [ecx]
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add eax, 0x13
add byte [eax], al
sbb byte [eax], al
inc dword [ecx]
sldt word [ecx]
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add eax, 0x20
and byte [edx], al
add byte [eax], al
add byte [eax], al
adc al, 0
inc dword [ecx]
sldt word [ecx]
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add eax, 0x12
add dword [edx], eax
add byte [eax], al
add byte [eax], al
add byte [0x20], al
and byte [edx], al
add byte [eax], al
add dword [ecx], eax
add byte [eax], al
add byte [eax], al
add byte [0x12], al
push ebp
add bl, byte [ecx]
or edx, dword [ebx + 0x65]
inc ecx
arpl word [eax + 0x48a88a1], di
add byte [eax], al
add byte [eax], al
add byte [eax + eax], dl
inc dword [ecx]
sldt word [ecx]
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add eax, 0x12
add byte [eax], al
adc al, 0
inc dword [ecx]
sldt word [ecx]
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add eax, 0x13
add byte [eax], al
sbb byte [eax], al
inc dword [ecx]
sldt word [ecx]
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add eax, 0x20
and byte [edx], al
add byte [eax], al
add byte [eax], al
adc al, 0
inc dword [ecx]
sldt word [ecx]
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add eax, 0x12
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add bh, bh
dec dword [ebx - 0x7c3ed436]
rol al, 0x79
add dh, byte [ebx]
rol byte [ebx], 0xc1
push 0x40
pop edx
mov byte [eax], 0
inc eax
dec edx
jne 0x6fb09213
lea eax, [edi + ebx]
mov dword [ebp - 0x70], eax
mov eax, dword [0x6faa7b94]
sub eax, edi
mov dword [ebp - 0x74], ebx
sub dword [ebp - 0x74], esi
lea ebx, [eax + 1]
mov dword [ebp - 0x58], ebx
xor eax, eax
test ebx, ebx
je 0x6fb09263
mov edx, dword [0x6fb3f040]
shr dword [ebp - 0x58], 0x10
imul edx, edx, 0x343fd
add edx, 0x269ec3
mov dword [0x6fb3f040], edx
shr edx, 0x10
shl eax, 0x10
or eax, edx
cmp dword [ebp - 0x58], 0
jne 0x6fb09239
xor edx, edx
div ebx
lea ebx, [edx + ecx]
push ebx
push edi
push dword [ebp - 0x74]
mov dword [ebp - 0xc8], ebx
mov eax, 0xbe3fca9f
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd0]
add esp, 0xc
mov dword [ebp - 0x78], ebx
test edi, edi
mov dword [ebp - 0xf4], ecx
mov byte [ebp - 0x59], 0
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xd4], eax
mov ebx, 0xfffff000
je 0x6fb09a12
lea eax, [ebp - 0xf4]
push eax
mov eax, 0xf78cdab
mov eax, 0xfffffff
mov edi, dword [ebp - 0xf4]
and dword [ebp - 0x64], 0
and dword [ebp - 0x60], 0
pop ecx
mov ecx, dword [ebp - 0xf0]
and ecx, eax
and edi, eax
mov eax, esi
mov dword [ebp - 0x58], ecx
mov ecx, dword [0x6fa6c370]
add edi, esi
sub eax, ecx
mov dword [ebp - 0xfc], eax
jne 0x6fb09373
and dword [ebp - 0x68], 0
cmp dword [ebp - 0x58], 0
jbe 0x6fb0962c
mov esi, 0x1e526e97
mov ecx, 0x7fffffff
mov eax, dword [ebp - 0x68]
mov edx, 0xe1ad9169
movzx eax, byte [eax + edi]
sub eax, esi
add dword [ebp - 0x64], eax
add eax, dword [ebp - 0x60]
mul edx
lea ebx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub ebx, eax
mov edx, ebx
sar edx, 0x1f
and edx, ecx
add edx, ebx
mov eax, edx
imul eax, eax, 0xef9e
rol eax, 9
ror edx, 9
xor eax, edx
mov edx, eax
imul edx, edx, 0xef9e
rol edx, 9
ror eax, 9
xor edx, eax
add dword [ebp - 0x64], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x60], edx
cmp eax, dword [ebp - 0x58]
jb 0x6fb09310
jmp 0x6fb0962c
mov ecx, edi
mov edx, dword [0x6fa6003c]
lea edx, [edx + 0x6fa600a0]
mov eax, dword [ebp - 0x58]
add eax, edi
mov dword [ebp - 0xbc], eax
mov eax, dword [edx]
add eax, esi
mov edx, dword [edx + 4]
sub ecx, esi
mov esi, ecx
and esi, ebx
mov dword [ebp - 0x6c], edx
mov edx, ecx
sub edx, esi
mov dword [ebp - 0x68], edx
mov edx, dword [ebp - 0x58]
add ecx, edx
mov edx, ecx
and edx, ebx
mov ebx, eax
sub ecx, edx
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x6c]
add ecx, eax
mov dword [ebp - 0xe8], edx
cmp eax, ecx
mov dword [ebp - 0xe0], ecx
je 0x6fb093d6
cmp dword [ebx], esi
jae 0x6fb093d6
add ebx, dword [ebx + 4]
cmp ebx, ecx
jne 0x6fb093cb
and dword [ebp - 0xd8], 0
cmp ebx, ecx
je 0x6fb0940f
cmp dword [ebx], esi
jne 0x6fb0940f
mov esi, dword [ebx + 4]
sub esi, 8
shr esi, 1
je 0x6fb0940f
lea ecx, [ebx + 8]
movzx eax, word [ecx]
and eax, 0xfff
cmp eax, dword [ebp - 0x68]
jae 0x6fb0940f
inc dword [ebp - 0xd8]
inc ecx
inc ecx
cmp dword [ebp - 0xd8], esi
jne 0x6fb093f2
mov ecx, 0x7fffffff
mov esi, 0x1e526e97
jmp 0x6fb09421
mov edx, dword [ebp - 0xe8]
cmp ebx, dword [ebp - 0xe0]
je 0x6fb095b7
cmp dword [ebx], edx
ja 0x6fb095b7
mov eax, dword [ebx + 4]
add eax, 0xfffffff8
shr eax, 1
cmp dword [ebp - 0xd8], eax
jne 0x6fb0946b
add ebx, dword [ebx + 4]
cmp ebx, dword [ebp - 0xe0]
je 0x6fb095b7
mov eax, dword [ebp - 0xe8]
cmp dword [ebx], eax
ja 0x6fb095b7
and dword [ebp - 0xd8], 0
jmp 0x6fb09435
mov eax, dword [ebp - 0xe8]
cmp dword [ebx], eax
jne 0x6fb09491
mov eax, dword [ebp - 0xd8]
movzx eax, word [ebx + eax*2 + 8]
and eax, 0xfff
cmp eax, dword [ebp - 0xe4]
jae 0x6fb095b7
mov eax, 0xf000
mov edx, dword [ebp - 0xd8]
inc dword [ebp - 0xd8]
test word [ebx + edx*2 + 8], ax
je 0x6fb0941b
movzx eax, word [ebx + edx*2 + 8]
mov edx, dword [ebx]
and dword [ebp - 0x58], 0
and eax, 0xfff
lea eax, [eax + edx + 0x6fa60000]
mov dword [ebp - 0x68], eax
sub dword [ebp - 0x68], edi
mov dword [ebp - 0x6c], eax
je 0x6fb0953a
mov edx, 0xe1ad9169
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax + edi]
sub eax, esi
add dword [ebp - 0x64], eax
add eax, dword [ebp - 0x60]
mul edx
lea edx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edx, eax
mov dword [ebp - 0x144], edx
sar edx, 0x1f
and edx, ecx
add edx, dword [ebp - 0x144]
mov eax, edx
imul eax, eax, 0xef9e
rol eax, 9
ror edx, 9
xor eax, edx
mov edx, eax
imul edx, edx, 0xef9e
rol edx, 9
ror eax, 9
xor edx, eax
mov eax, edx
add dword [ebp - 0x64], eax
inc dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x60], edx
cmp eax, dword [ebp - 0x68]
jb 0x6fb094cf
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
sub eax, dword [ebp - 0xfc]
and dword [ebp - 0x58], 0
mov dword [ebp - 0x100], eax
mov edx, 0xe1ad9169
mov eax, dword [ebp - 0x58]
movzx eax, byte [ebp + eax - 0x100]
sub eax, esi
add dword [ebp - 0x64], eax
add eax, dword [ebp - 0x60]
mul edx
lea edi, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub edi, eax
mov edx, edi
sar edx, 0x1f
and edx, ecx
add edx, edi
mov eax, edx
imul eax, eax, 0xef9e
rol eax, 9
ror edx, 9
xor eax, edx
mov edx, eax
imul edx, edx, 0xef9e
rol edx, 9
ror eax, 9
xor edx, eax
add dword [ebp - 0x64], edx
inc dword [ebp - 0x58]
cmp dword [ebp - 0x58], 4
mov dword [ebp - 0x60], edx
jb 0x6fb0954c
mov edi, dword [ebp - 0x6c]
add edi, 4
jmp 0x6fb0941b
mov eax, dword [ebp - 0xbc]
and dword [ebp - 0x58], 0
sub eax, edi
mov dword [ebp - 0xbc], eax
je 0x6fb0962c
mov eax, dword [ebp - 0x58]
mov edx, 0xe1ad9169
movzx eax, byte [eax + edi]
sub eax, esi
add dword [ebp - 0x64], eax
add eax, dword [ebp - 0x60]
mul edx
lea ebx, [eax + edx*2 - 0x7fffffff]
sar eax, 0x1f
and eax, ecx
sub ebx, eax
mov edx, ebx
sar edx, 0x1f
and edx, ecx
add edx, ebx
mov eax, edx
imul eax, eax, 0xef9e
rol eax, 9
ror edx, 9
xor eax, edx
mov edx, eax
imul edx, edx, 0xef9e
rol edx, 9
ror eax, 9
xor edx, eax
add dword [ebp - 0x64], edx
inc dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x60], edx
cmp eax, dword [ebp - 0xbc]
jb 0x6fb095cb
xor edi, edi
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0x64]
mov byte [ebp + eax - 0x54], cl
inc eax
cmp eax, 0x10
jb 0x6fb09630
mov eax, 0x22eceb98
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x114], eax
mov eax, dword [0x6fb3fedc]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x110], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x140], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x12c], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x118], ecx
lea ecx, [ebp - 0x44]
sub eax, ecx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0xc8]
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0xbc], eax
lea esi, [ebp - 0x140]
push 0x10
pop ecx
lea edi, [ebp - 0xb8]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xa8]
mov esi, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x6c], 2
mov ebx, dword [ebp - 0xb4]
lea edi, [edx + esi]
rol edi, 7
xor eax, edi
lea edi, [esi + eax]
rol edi, 9
xor ecx, edi
lea edi, [eax + ecx]
rol edi, 0xd
xor edx, edi
lea edi, [ecx + edx]
ror edi, 0xe
xor esi, edi
mov edi, dword [ebp - 0xa4]
add ebx, edi
rol ebx, 7
xor dword [ebp - 0x94], ebx
mov ebx, dword [ebp - 0x94]
add edi, ebx
rol edi, 9
xor dword [ebp - 0x84], edi
mov edi, ebx
mov ebx, dword [ebp - 0x84]
add ebx, edi
rol ebx, 0xd
mov edi, dword [ebp - 0x84]
xor dword [ebp - 0xb4], ebx
mov ebx, dword [ebp - 0xb4]
add edi, ebx
mov ebx, dword [ebp - 0x90]
ror edi, 0xe
xor dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0xa0]
add edi, ebx
rol edi, 7
xor dword [ebp - 0x80], edi
mov edi, ebx
mov ebx, dword [ebp - 0x80]
add edi, ebx
rol edi, 9
xor dword [ebp - 0xb0], edi
mov edi, ebx
mov ebx, dword [ebp - 0xb0]
add ebx, edi
mov edi, dword [ebp - 0xb0]
rol ebx, 0xd
xor dword [ebp - 0xa0], ebx
mov ebx, dword [ebp - 0xa0]
add edi, ebx
ror edi, 0xe
mov ebx, dword [ebp - 0x7c]
xor dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x8c]
add edi, ebx
rol edi, 7
xor dword [ebp - 0xac], edi
mov edi, ebx
mov ebx, dword [ebp - 0xac]
add edi, ebx
rol edi, 9
xor dword [ebp - 0x9c], edi
mov edi, ebx
mov ebx, dword [ebp - 0x9c]
add ebx, edi
rol ebx, 0xd
mov edi, dword [ebp - 0x9c]
xor dword [ebp - 0x8c], ebx
mov ebx, dword [ebp - 0x8c]
add edi, ebx
ror edi, 0xe
xor dword [ebp - 0x7c], edi
mov edi, dword [ebp - 0xac]
add edi, esi
rol edi, 7
xor dword [ebp - 0xb4], edi
mov edi, dword [ebp - 0xb4]
add edi, esi
rol edi, 9
xor dword [ebp - 0xb0], edi
mov edi, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xb0]
add ebx, edi
mov edi, dword [ebp - 0xb0]
rol ebx, 0xd
xor dword [ebp - 0xac], ebx
mov ebx, dword [ebp - 0xac]
add ebx, edi
mov edi, dword [ebp - 0xa4]
add edi, eax
ror ebx, 0xe
xor esi, ebx
rol edi, 7
xor dword [ebp - 0xa0], edi
mov ebx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0xa4]
add ebx, edi
rol ebx, 9
mov edi, dword [ebp - 0xa0]
xor dword [ebp - 0x9c], ebx
mov ebx, dword [ebp - 0x9c]
add ebx, edi
mov edi, dword [ebp - 0x9c]
rol ebx, 0xd
xor eax, ebx
mov ebx, dword [ebp - 0x94]
add edi, eax
ror edi, 0xe
xor dword [ebp - 0xa4], edi
mov edi, dword [ebp - 0x90]
add edi, ebx
rol edi, 7
xor dword [ebp - 0x8c], edi
mov ebx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x90]
add ebx, edi
mov edi, dword [ebp - 0x8c]
rol ebx, 9
xor ecx, ebx
add edi, ecx
mov ebx, dword [ebp - 0x80]
rol edi, 0xd
xor dword [ebp - 0x94], edi
mov edi, dword [ebp - 0x94]
add edi, ecx
ror edi, 0xe
xor dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x7c]
add edi, ebx
rol edi, 7
xor edx, edi
mov edi, dword [ebp - 0x7c]
add edi, edx
rol edi, 9
xor dword [ebp - 0x84], edi
mov edi, dword [ebp - 0x84]
add edi, edx
rol edi, 0xd
xor dword [ebp - 0x80], edi
mov edi, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x80]
add ebx, edi
ror ebx, 0xe
xor dword [ebp - 0x7c], ebx
dec dword [ebp - 0x6c]
jne 0x6fb09714
mov dword [ebp - 0x88], edx
xor edx, edx
push 0x40
mov dword [ebp - 0xa8], eax
xor eax, eax
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xb8], esi
pop ebx
mov ecx, dword [ebp + eax - 0x140]
add dword [ebp + eax - 0xb8], ecx
add eax, 4
cmp eax, ebx
jl 0x6fb09968
lea esi, [ebp - 0xb8]
lea edi, [ebp - 0x44]
inc dword [ebp - 0x120]
push 0x10
pop ecx
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0xc0], ebx
jbe 0x6fb099d2
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0x58]
lea edi, [esi + eax]
lea ecx, [ebp + edx - 0x44]
mov al, byte [ecx + edi]
xor al, byte [ecx]
xor byte [ebp - 0x59], al
inc edx
mov byte [esi + ecx], al
cmp edx, ebx
jb 0x6fb099a5
sub dword [ebp - 0xc0], ebx
add dword [ebp - 0x78], ebx
add esi, ebx
add dword [ebp - 0xd4], ebx
mov dword [ebp - 0x58], esi
jmp 0x6fb096e4
cmp dword [ebp - 0xc0], edx
jbe 0x6fb09a02
lea eax, [ebp - 0x44]
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0x78]
sub esi, eax
sub edi, eax
lea ecx, [ebp + edx - 0x44]
mov al, byte [ecx + esi]
xor al, byte [ecx]
xor byte [ebp - 0x59], al
mov byte [ecx + edi], al
inc edx
cmp edx, dword [ebp - 0xc0]
jb 0x6fb099ea
mov ebx, 0xfffff000
mov edi, dword [ebp - 0xcc]
mov esi, 0x6fa60000
movzx eax, byte [ebp - 0x59]
mov ecx, dword [ebp - 0x70]
movzx ecx, byte [ecx + 8]
sub eax, ecx
je 0x6fb09ab3
call 0x6fb85688
mov edx, 0xffff
mov edi, eax
mov eax, dword [ebp - 0xec]
mov dword [eax + 8], 0x6fa95b1e
lea ecx, [eax + 0xc]
and ecx, 0xfffffffc
and edi, ebx
lea esi, [ecx + 0xfff]
and esi, ebx
xor eax, eax
mov ebx, dword [0x6fb3f040]
imul ebx, ebx, 0x343fd
add ebx, 0x269ec3
mov dword [0x6fb3f040], ebx
shr ebx, 0x10
shl eax, 0x10
shr edx, 0x10
or eax, ebx
test edx, edx
jne 0x6fb09a50
mov ebx, 0xffff
div ebx
inc edx
cmp ecx, esi
mov eax, dword [ebp - 0xc4]
mov dword [eax + 4], edi
mov dword [eax], edx
mov eax, ecx
mov dword [ebp - 0xc4], 0
jae 0x6fb09aa9
mov ecx, dword [ebp - 0xc4]
mov dword [eax], ecx
add eax, 4
cmp eax, esi
jb 0x6fb09a9a
mov eax, 0x6fa95b1e
jmp 0x6fb09ba3
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0xc8]
mov ecx, dword [0x6fa6c370]
mov dword [ebp - 0xcc], eax
sub esi, ecx
mov dword [ebp - 0x70], esi
jne 0x6fb09ada
test eax, eax
je 0x6fb09b8b
mov esi, dword [ebp - 0xc8]
mov ecx, dword [0x6fa64370]
mov eax, dword [ebp - 0x74]
sub esi, dword [ebp - 0xd0]
add eax, edi
xor edi, edi
dec ecx
mov dword [ebp - 0xc4], eax
js 0x6fb09b24
lea eax, [edi + ecx]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x6fa64374]
and edx, 0xfffffff
cmp dword [ebp - 0x74], edx
jae 0x6fb09b1b
lea ecx, [eax - 1]
jmp 0x6fb09b20
jbe 0x6fb09b28
lea edi, [eax + 1]
cmp ecx, edi
jge 0x6fb09afc
mov ebx, edi
jmp 0x6fb09b83
mov ebx, eax
jmp 0x6fb09b83
mov eax, dword [ebx*4 + 0x6fa64374]
mov ecx, eax
and ecx, 0xfffffff
cmp ecx, dword [ebp - 0xc4]
jae 0x6fb09b8b
lea edi, [ecx + esi + 0x6fa60000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x6fb09b73
dec ecx
je 0x6fb09b6b
dec ecx
jne 0x6fb09b7c
mov edx, dword [ebp - 0x70]
jmp 0x6fb09b7c
mov edx, dword [ebp - 0xcc]
jmp 0x6fb09b7c
mov edx, dword [ebp - 0x70]
sub edx, dword [ebp - 0xcc]
dec eax
dec eax
jne 0x6fb09b82
add dword [edi], edx
inc ebx
cmp ebx, dword [0x6fa64370]
jb 0x6fb09b2c
mov eax, dword [0x6faa7b94]
mov eax, 0x33e6c76d
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xc8]
add eax, ecx
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
pop ebx
call fcn.6fafe91d
leave
ret 8