Function at 0x6fb15c
Capabilities:
Encode data using xor

Disassembly:
push 0x1b7c1e
call 0x6fb15c
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 byte [eax], al
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 byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
imul esp, dword [ebp + 0x72], 0x6e
insb byte es:[edi], dx
xor esi, dword [edx]
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [edi + 0x65], al
je 0x6fb093
insd dword es:[edi], dx
jo 0x6fb093
popal
je 0x6fb0ae
inc ecx
add byte [ebx + 0x72], al
popal
je 0x6fb0b3
inc esi
imul ebp, dword [ebp + 0x41], 0x65724300
popal
je 0x6fb0bf
inc esi
imul ebp, dword [ebp + 0x4d], 0x69707061
outsb dx, byte [esi]
inc ecx
add byte [ebp + 0x61], cl
jo 0x6fb0c1
imul esp, dword [ebp + 0x77], 0x6946664f
insb byte es:[edi], dx
add byte gs:[ebp + 0x6e], dl
insd dword es:[edi], dx
popal
jo 0x6fb0d1
imul esp, dword [ebp + 0x77], 0x6946664f
insb byte es:[edi], dx
add byte gs:[ebx + 0x6c], al
outsd dx, dword [esi]
jae 0x6fb0ef
dec eax
popal
outsb dx, byte [esi]
insb byte es:[edi], dx
add byte gs:[edi + ebp*2 + 0x61], cl
popal
dec esp
imul esp, dword [edx + 0x72], 0x41797261
add byte [ebp + 0x78], al
imul esi, dword [eax + edx*2 + 0x72], 0x7365636f
jae 0x6fb0aa
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi + 0x32], dl
xor dh, byte [eax]
xor dword [ecx], esi
xor byte [0x452e3831], dh
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
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 byte [eax], al
add byte [eax], al
push esi
xor dh, byte [edx]
xor byte [ecx], dh
xor dword [eax], esi
xor eax, 0x452e3831
push eax
inc ebp
add byte [eax], al
add byte [ebp + 0x6e], al
arpl word [edx + 0x79], si
jo 0x6fb1bf
push eax
inc ebp
pop edi
dec ecx
outsb dx, byte [esi]
imul esi, dword [eax + eax], 0xc10007b6
add dword [eax], eax
add al, dh
pop ebp
pop edi
mov eax, dword [ebp]
cmp eax, 0
jne 0x6fb2f1
mov eax, ebp
add eax, 0x24
push eax
call dword [edi + ebp]
mov dword [ebp], eax
mov eax, ebp
add eax, 0x3e
push eax
push dword [ebp]
call dword [edi + ebp + 4]
mov dword [ebp + 8], eax
mov eax, ebp
add eax, 0x31
push eax
push dword [ebp]
call dword [edi + ebp + 4]
mov dword [ebp + 4], eax
mov eax, ebp
add eax, 0x4a
push eax
push dword [ebp]
call dword [edi + ebp + 4]
mov dword [ebp + 0xc], eax
mov eax, ebp
add eax, 0x87
push eax
push dword [ebp]
call dword [edi + ebp + 4]
mov dword [ebp + 0x1c], eax
mov eax, ebp
add eax, 0x6b
push eax
push dword [ebp]
jne 0x6fb1c1
call dword [edi + ebp + 4]
mov dword [ebp + 0x14], eax
mov eax, ebp
add eax, 0x5d
push eax
push dword [ebp]
call dword [edi + ebp + 4]
mov dword [ebp + 0x10], eax
mov eax, ebp
add eax, 0x94
push eax
push dword [ebp]
call dword [edi + ebp + 4]
mov dword [ebp + 0x20], eax
mov eax, ebp
add eax, 0x7b
push eax
push dword [ebp]
call dword [edi + ebp + 4]
mov dword [ebp + 0x18], eax
mov eax, ebp
add eax, 0x24
push eax
push 0x104
call dword [ebp + 4]
cmp eax, 4
jl 0x6fb318
add eax, ebp
add eax, 0x23
mov dl, byte [eax]
cmp dl, 0x5c
je 0x6fb221
inc eax
mov byte [eax], 0x5c
xor ecx, ecx
mov dl, byte [ecx + ebp + 0x129]
mov byte [ecx + eax + 1], dl
cmp dl, 0
je 0x6fb236
inc ecx
jmp 0x6fb223
mov eax, dword [ebp + 0x149]
cmp eax, 0
je 0x6fb2cc
push 0
push 0x80
push 4
push 0
push 0
push 0xc0000000
mov eax, ebp
add eax, 0x24
push eax
call dword [ebp + 8]
cmp eax, 0xffffffff
je 0x6fb2cc
push eax
push 0
mov ecx, dword [ebp + 0x149]
push ecx
push 0
push 4
push 0
push eax
call dword [ebp + 0xc]
cmp eax, 0
je 0x6fb2c9
push eax
mov ecx, dword [ebp + 0x149]
push ecx
push 0
push 0
push 0xf001f
push eax
call dword [ebp + 0x10]
cmp eax, 0
je 0x6fb2c6
push eax
mov ecx, dword [ebp + 0x14d]
mov esi, ebp
add esi, 0x152
add esi, ecx
mov ecx, dword [ebp + 0x149]
mov dh, byte [ebp + 0x151]
mov dl, byte [esi]
xor dl, dh
mov byte [eax], dl
inc esi
inc eax
dec ecx
cmp ecx, 0
jne 0x6fb2b5
call dword [ebp + 0x14]
call dword [ebp + 0x18]
call dword [ebp + 0x18]
mov eax, ebp
add eax, 0x24
push eax
call dword [ebp + 0x1c]
cmp eax, 0
je 0x6fb318
mov ebx, eax
mov eax, ebp
add eax, 0x13a
push eax
push ebx
call dword [edi + ebp + 4]
cmp eax, 0
je 0x6fb318
mov dword [ebp], eax
mov ebx, ebp
add ebx, 0x152
mov ecx, dword [ebp + 0x14d]
add ebx, ecx
mov ecx, dword [ebp + 0x149]
add ebx, ecx
push ebx
jmp 0x6fb316
call eax
push 0
call dword [ebp + 0x20]
mov ebp, 0xf2f0a0aa
invalid
jmp 0x8acd5c
pushal
jmp 0x8acd62
pushfd
jmp 0x8acd6d
push dword fs:[0]
jmp 0x8acd76
jmp 0x8acd82
jmp section.EPE1