Function at 0x6b9c29
Capabilities:
Encode data using xor

Disassembly:
pop edi
jg 0x6b9bdf
adc esi, 0xde950ff
sti
add edi, 0xe069
adc esi, 0x5970d0eb
mov ecx, 0x37f4
stc
push dword [edi]
pushal
mov eax, edx
mov dx, 0x3e14
popal
pop ebx
sub ebx, 0x44077b00
mov dh, bl
sub ebx, 0x3e649da7
mov ax, dx
xor ebx, 0x66e83491
mov ax, si
mov dword [edi], ebx
jno 0x6b9c2c
call 0x6b9c29
dec esi
mov cl, 0xe5
xlatb
scasd eax, dword es:[edi]
mov dh, 0x84
pop edx
sub edi, 1
mov dx, cx
dec edi
dec edi
dec edi
jmp 0x6b9c42
sub ecx, 1
jne 0x6b9bf2
sti
mov eax, 0xd5cb068
mov edx, 0x259c6133
mov ebx, 0xd763ca3
cmp dword [ebp + 0x122d15b1], 0
je 0x6b9c75
mov dword [ebp + 0x122d2b60], 1
mov eax, dword [ebp + 0x122d10b9]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x124a47d9], ecx
mov edi, dword [ebp + 0x122d29d8]
test edi, edi
jne 0x6b9ca0
jmp 0x6b9de1
mov esi, edi
mov ecx, 0x374c
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0x6b9ca7
mov ecx, dword [ebp + 0x122d29d8]
mov edi, dword [ebp + 0x122d10b9]
mov esi, dword [ebp + 0x124a47d9]
cmp edi, esi
jne 0x6b9cd1
jmp 0x6b9dd2
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d1269], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x122d1a3c]
pop ebx
test eax, eax
je 0x6b9d12
lea eax, [ebp + 0x122d20a7]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x1247f8c1]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0x6b9db9
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d2ba4], 1
jne 0x6b9d4f
cmp byte [ebx - 2], 0xe8
jne 0x6b9d4f
cmp byte [ebx + 3], 0x90
jne 0x6b9d4f
jmp 0x6b9db9
cmp byte [ebx - 1], 0xc5
jne 0x6b9d7c
cmp dword [ebp + 0x122d2c7c], 0
je 0x6b9d7c
cmp dword [ebp + 0x122d1171], 0
je 0x6b9d7c
mov byte [ebx - 1], 0xe9
jmp 0x6b9db9
cmp dword [ebp + 0x122d15b1], 0
je 0x6b9da9
cmp byte [ebx - 1], 0xc5
jne 0x6b9da9
cmp dword [ebp + 0x122d2c7c], 0
je 0x6b9da9
mov byte [ebx - 1], 0xe9
jmp 0x6b9db9
cmp dword [ebx], 0x90909090
je 0x6b9db9
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0x6b9d13
cmp dword [ebp + 0x122d1269], 0
jne 0x6b9cd1
mov edi, dword [ebp + 0x122d29d8]
mov ecx, 0x374c
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x2863c7e2
mov edi, dword [ebp + 0x122d0335]
mov ecx, 0x79
lea esi, [ebp + 0x12535e34]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d0335]
add edi, 0xe
test edx, edx
je 0x6b9e16
add edx, dword [ebp + 0x122d10b9]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d1b91]
mov edi, dword [ebp + 0x122d0335]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d0335]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d0335]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0x6b9ec1
mov eax, edx
jmp 0x6b9ed1
jmp 0x6bc2cf
mov edi, esi
pop esi
pop ebx
jmp 0x6bc2c5
mov dword [esp], edi
mov edi, 0x1c36cc24
mov esi, edi
pop edi
xor esi, edi
jmp 0x6bc211
pop edi
add esp, 4
sub eax, edx
push edx
mov edx, 0x3bfff2cf
add eax, edx
jmp 0x6bc1ec
push edi
push ebx
mov ebx, 0x77fe66c8
jmp 0x6bc26f
pop edi
pop edx
push ebx
mov ebx, 0x3ff96e46
add ebx, 0x3cd90eaa
inc ebx
neg ebx
sub ebx, 0x375ed0d
jmp 0x6bc1c7
push ecx
mov ecx, 0x2bd2d62d
shl ecx, 4
xor ecx, 0x778fc00b
dec ecx
or ecx, 0x7edbfe34
jmp 0x6bc259
and edi, ebx
pop ebx
or edi, 0x3fbc9912
add edi, 0xffffffff
xor edi, 0x7ffd1d87
xor edi, 0x7bbd7059
sub eax, edi
push dword [esp]
jmp 0x6bc147
pop edx
push esi
mov esi, 0x6dc7dfd2
shl esi, 7
sub esi, 0x78273e14
add eax, esi
pop esi
pop edx
jmp 0x6bc2cf
push edx
mov edx, 0x357
push esi
jmp 0x6bc166
pop edi
sub eax, esi
pop esi
push edi
jmp 0x6bc23d
push edx
jmp 0x6bc199
xor ecx, 0xc50c1896
mov edx, ecx
pop ecx
push edx
jmp 0x6bc172
push 0x5c9f88c8
mov dword [esp], esi
mov esi, ebx
jmp 0x6bc12c
and al, 0x81
les eax, [eax + eax]
add byte [eax], al
pop dword [esp]
add al, 0x24
mov esp, dword [esp]
jmp 0x6bc205
push 0x3fd99bb7
jmp 0x6bc135
mov edx, ebx
lea eax, [ebp + 0x12537dae]
mov dword [ebp + 0x12454086], eax
jmp 0x6bc30a
mov eax, 0x6754
dec dl
jg 0x6bc379
cmp ch, byte [eax - 0x75811104]
mov edx, 0xaba83a66
aad 0xea
jne 0x6bc334
cmp ch, byte [bx + si - 0x1006]
jle 0x6bc2b3
mov edx, 0x5757ae5d
in al, dx
jle 0x6bc2bb
add ah, byte [edx + edi - 0x58]
stosd dword es:[edi], eax
test al, 0xab
aad 0xea
jne 0x6bc30f
cmp ch, byte fs:[eax - 0x7581137b]
push edi
cmp ch, byte gs:[eax - 0x758112f9]
leave
cmp ch, byte gs:[eax + 0x75ead5ab]
and eax, 0xd08ed42f
jns 0x6bc35f
add eax, eax
pop edi
sar ebx, cl
inc esi
cmpsd dword [esi], dword es:[edi]
nop
push ds
sal ecx, 0x43
and ecx, edx
sub edx, dword [esi - 0x2bd0a827]
inc ebx
sar byte [ecx + 7], 1
add eax, eax
cmpsd dword [esi], dword es:[edi]
sar bl, cl
inc esi
cmpsd dword [esi], dword es:[edi]
nop
leave
sal cl, 0x43
and ecx, edx
daa
xchg esi, eax
fst dword [edi + 0x2f]
aam 0x32
sar dword [ecx + 7], 1
add eax, eax
mov bl, 0xd2
sti
inc esi
cmpsd dword [esi], dword es:[edi]
nop
sal cl, 0x43
and ecx, edx
xor edx, dword [esi - 0x2bd0a827]
wait
sar byte [ecx + 7], cl
add eax, eax
mov edi, 0xa746fbd2
nop
test bl, 0xf1
inc ebx
and ecx, edx
setbe cl
push edi
das
aam 0x15
sar byte [ecx + 7], cl
add eax, eax
mov edx, edx
sti
inc esi
cmpsd dword [esi], dword es:[edi]
nop
je 0x6bc385
int1
inc ebx
and ecx, edx
pop es
xchg esi, eax
fst dword [edi + 0x2f]
aam 0x97
sar dword [ecx + 7], cl
add eax, eax
xchg ebx, eax
sar bl, cl
inc esi
cmpsd dword [esi], dword es:[edi]
nop
bnd ret 0x43f1