Function at 0x6fa95d4f
Capabilities:
Encode data using xor

Disassembly:
mov edx, dword [ebp - 0x1aec]
lea eax, [ecx + edx*4 + 1]
mov dword [ebp - 0x1b78], eax
mov ecx, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1b74], ecx
mov edx, dword [ebp - 0x1b74]
mov dword [ebp - 0x1b04], edx
mov eax, dword [ebp - 0x1b78]
mov dword [ebp - 0x1b00], eax
mov ecx, dword [ebp - 0x1b00]
mov dword [ebp - 0x1b80], ecx
mov edx, dword [ebp - 0x1b04]
mov dword [ebp - 0x1b7c], edx
mov edx, dword [ebp - 0x1b80]
mov ecx, dword [ebp - 0x1b7c]
call 0x6fc25cb3
mov byte [ebp - 0x1b81], al
mov eax, dword [ebp - 0x1c68]
mov ecx, dword [ebp - 0x1aec]
lea edx, [eax + ecx*4 + 2]
mov dword [ebp - 0x1b8c], edx
mov eax, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1b88], eax
mov ecx, dword [ebp - 0x1b88]
mov dword [ebp - 0x1b0c], ecx
mov edx, dword [ebp - 0x1b8c]
mov dword [ebp - 0x1b08], edx
mov eax, dword [ebp - 0x1b08]
mov dword [ebp - 0x1b94], eax
mov ecx, dword [ebp - 0x1b0c]
mov dword [ebp - 0x1b90], ecx
movzx ebx, byte [ebp - 0x1b81]
mov edx, dword [ebp - 0x1b94]
mov ecx, dword [ebp - 0x1b90]
call 0x6fc25cb3
movzx edx, al
xor ebx, edx
mov byte [ebp - 0x1ae6], bl
movzx eax, byte [ebp - 0x1ae5]
movzx ecx, byte [ebp - 0x1ae6]
xor eax, ecx
mov byte [ebp - 0x1ae7], al
mov edx, dword [ebp - 0x1c68]
mov eax, dword [ebp - 0x1aec]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x1b9c], ecx
mov edx, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1b98], edx
mov eax, dword [ebp - 0x1b98]
mov dword [ebp - 0x1b1c], eax
mov ecx, dword [ebp - 0x1b9c]
mov dword [ebp - 0x1b18], ecx
mov edx, dword [ebp - 0x1b18]
mov dword [ebp - 0x1ba4], edx
mov eax, dword [ebp - 0x1b1c]
mov dword [ebp - 0x1ba0], eax
mov edx, dword [ebp - 0x1ba4]
mov ecx, dword [ebp - 0x1ba0]
call 0x6fc25cb3
mov byte [ebp - 0x1ba5], al
mov ecx, dword [ebp - 0x1c68]
mov edx, dword [ebp - 0x1aec]
lea eax, [ecx + edx*4 + 1]
mov dword [ebp - 0x1bb0], eax
mov ecx, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1bac], ecx
mov edx, dword [ebp - 0x1bac]
mov dword [ebp - 0x1b24], edx
mov eax, dword [ebp - 0x1bb0]
mov dword [ebp - 0x1b20], eax
mov ecx, dword [ebp - 0x1b20]
mov dword [ebp - 0x1bb8], ecx
mov edx, dword [ebp - 0x1b24]
mov dword [ebp - 0x1bb4], edx
mov edx, dword [ebp - 0x1bb8]
mov ecx, dword [ebp - 0x1bb4]
call 0x6fc25cb3
mov byte [ebp - 0x1bb9], al
mov eax, dword [ebp - 0x1c68]
mov ecx, dword [ebp - 0x1aec]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x1bc4], edx
mov eax, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1bc0], eax
mov ecx, dword [ebp - 0x1bc0]
mov dword [ebp - 0x1b14], ecx
mov edx, dword [ebp - 0x1bc4]
mov dword [ebp - 0x1b10], edx
movzx eax, byte [ebp - 0x1bb9]
movzx ecx, byte [ebp - 0x1ba5]
xor ecx, eax
push ecx
push 2
call fcn.6faf4d03
movzx edx, al
movzx eax, byte [ebp - 0x1ae7]
xor eax, edx
mov byte [ebp - 0x1bd9], al
mov ecx, dword [ebp - 0x1b10]
mov dword [ebp - 0x1bd0], ecx
mov edx, dword [ebp - 0x1b14]
mov dword [ebp - 0x1bcc], edx
mov edx, dword [ebp - 0x1bd0]
mov ecx, dword [ebp - 0x1bcc]
call 0x6fc25cb3
mov byte [ebp - 0x1bc5], al
movzx eax, byte [ebp - 0x1bd9]
movzx ecx, byte [ebp - 0x1bc5]
xor ecx, eax
mov byte [ebp - 0x1bc5], cl
mov edx, dword [ebp - 0x1b10]
mov dword [ebp - 0x1bd8], edx
mov eax, dword [ebp - 0x1b14]
mov dword [ebp - 0x1bd4], eax
mov cl, byte [ebp - 0x1bc5]
push ecx
mov edx, dword [ebp - 0x1bd8]
mov ecx, dword [ebp - 0x1bd4]
call 0x6fc25ca8
mov edx, dword [ebp - 0x1c68]
mov eax, dword [ebp - 0x1aec]
lea ecx, [edx + eax*4 + 1]
mov dword [ebp - 0x1be4], ecx
mov edx, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1be0], edx
mov eax, dword [ebp - 0x1be0]
mov dword [ebp - 0x1b2c], eax
mov ecx, dword [ebp - 0x1be4]
mov dword [ebp - 0x1b28], ecx
mov dl, byte [ebp - 0x1ae6]
push edx
push 2
call fcn.6faf4d03
movzx eax, al
movzx ecx, byte [ebp - 0x1ae7]
xor ecx, eax
mov byte [ebp - 0x1bf9], cl
mov edx, dword [ebp - 0x1b28]
mov dword [ebp - 0x1bf0], edx
mov eax, dword [ebp - 0x1b2c]
mov dword [ebp - 0x1bec], eax
mov edx, dword [ebp - 0x1bf0]
mov ecx, dword [ebp - 0x1bec]
call 0x6fc25cb3
mov byte [ebp - 0x1be5], al
movzx ecx, byte [ebp - 0x1bf9]
movzx edx, byte [ebp - 0x1be5]
xor edx, ecx
mov byte [ebp - 0x1be5], dl
mov eax, dword [ebp - 0x1b28]
mov dword [ebp - 0x1bf8], eax
mov ecx, dword [ebp - 0x1b2c]
mov dword [ebp - 0x1bf4], ecx
mov dl, byte [ebp - 0x1be5]
push edx
mov edx, dword [ebp - 0x1bf8]
mov ecx, dword [ebp - 0x1bf4]
call 0x6fc25ca8
mov eax, dword [ebp - 0x1c68]
mov ecx, dword [ebp - 0x1aec]
lea edx, [eax + ecx*4 + 2]
mov dword [ebp - 0x1c04], edx
mov eax, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1c00], eax
mov ecx, dword [ebp - 0x1c00]
mov dword [ebp - 0x1b3c], ecx
mov edx, dword [ebp - 0x1c04]
mov dword [ebp - 0x1b38], edx
mov eax, dword [ebp - 0x1b38]
mov dword [ebp - 0x1c0c], eax
mov ecx, dword [ebp - 0x1b3c]
mov dword [ebp - 0x1c08], ecx
mov edx, dword [ebp - 0x1c0c]
mov ecx, dword [ebp - 0x1c08]
call 0x6fc25cb3
mov byte [ebp - 0x1c0d], al
mov edx, dword [ebp - 0x1c68]
mov eax, dword [ebp - 0x1aec]
lea ecx, [edx + eax*4 + 3]
mov dword [ebp - 0x1c18], ecx
mov edx, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1c14], edx
mov eax, dword [ebp - 0x1c14]
mov dword [ebp - 0x1b44], eax
mov ecx, dword [ebp - 0x1c18]
mov dword [ebp - 0x1b40], ecx
mov edx, dword [ebp - 0x1b40]
mov dword [ebp - 0x1c20], edx
mov eax, dword [ebp - 0x1b44]
mov dword [ebp - 0x1c1c], eax
mov edx, dword [ebp - 0x1c20]
mov ecx, dword [ebp - 0x1c1c]
call 0x6fc25cb3
mov byte [ebp - 0x1c21], al
mov ecx, dword [ebp - 0x1c68]
mov edx, dword [ebp - 0x1aec]
lea eax, [ecx + edx*4 + 2]
mov dword [ebp - 0x1c2c], eax
mov ecx, dword [ebp - 0x1c6c]
mov dword [ebp - 0x1c28], ecx
mov edx, dword [ebp - 0x1c28]
mov dword [ebp - 0x1b34], edx
mov eax, dword [ebp - 0x1c2c]
mov dword [ebp - 0x1b30], eax
movzx ecx, byte [ebp - 0x1c21]
movzx edx, byte [ebp - 0x1c0d]
xor edx, ecx
push edx
push 2
call fcn.6faf4d03
movzx eax, al
movzx ecx, byte [ebp - 0x1ae7]
xor ecx, eax
mov byte [ebp - 0x1c41], cl
mov edx, dword [ebp - 0x1b30]
mov dword [ebp - 0x1c38], edx
mov eax, dword [ebp - 0x1b34]
mov dword [ebp + 0x524352cc], eax
inc esp
sub byte [eax], al
or dword [eax], eax
cmc
xchg ecx, eax
push ds
jne 0x6fa9620d
invalid
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
or dword [eax], eax
test al, 0xf
add byte [eax], al
add byte [eax], al
add byte [eax], al
loop 0x6fa961b3
push ds
jne 0x6fa96225
add byte [eax], al
add byte [edx], al
mov dword [0], eax
add byte [eax], al
add ah, byte [ebx]
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
xor byte [eax + ebx], ah
ja 0x6fa9622a
sbb byte [edi - 0x1b], dh
js 0x6fa9621e
add dword [eax], esi
and al, 0x18
ja 0x6fa96232
js 0x6fa96226
add dword [eax], esi
and al, 0x18
ja 0x6fa9623a
js 0x6fa9622e
add dword [eax], esi
and al, 0x18
ja 0x6fa96242
js 0x6fa96236
add dword [eax], eax
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], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edi], cl
nop
push ds
jne 0x6fa9627d
add byte [eax], al
add dh, ch
invalid