Function at 0xca7a08
Capabilities:
Encode data using xor

Disassembly:
inc esp
xor dword [esp + ebp*8 + 0x151588], ecx
inc ebp
movzx esi, ah
dec eax
cwde
sal ebx, cl
dec esp
mov eax, dword [esp + ebp*8 + 0x151588]
imul al
ror dx, 0x24
dec ebp
arpl cx, cx
dec ebp
adc ebp, ecx
inc cx
and esi, 0x970f4996
test byte [edi + esi*4], ch
mov byte [0xd3480002], al
out 0x41, al
pop esi
inc ecx
pop edi
pop ebx
pop ecx
jp fcn.00d060e3
jmp 0x1409282
dec eax
cwde
dec ebp
lea edx, [edx + ebx*2 - 0xb642]
add word [esp + ebx - 0x5b1a], 0xbe00
pop edx
dec esi
mov dword [esp + ecx - 0x16], ebp
ret
dec ebx
lea edx, [esi + edi + 0x5084339e]
dec ebp
adc edi, esp
inc esi
lea ecx, [esi + ecx - 0x33507ce2]
adc dx, 0x8d9e
sets byte [esp + edi*2 - 0x3e47b22b]
inc ecx
not ecx
dec esp
mov dword [esp + edi - 0x1f23d90f], eax
not dword [esp + edi*4 - 0x7c8f645b]
inc esp
xor dword [esp + edi - 0x1f23d90f], ecx
dec esp
mov eax, dword [esp + edi*2 - 0x3e47b226]
dec ecx
bswap esi
dec ebp
arpl cx, cx
jmp 0x14836a9
dec ecx
btr esp, ebp
inc esp
movsx eax, ax
dec esp
mov eax, dword [esp + ebx - 0x40120e]
dec eax
arpl cx, cx
dec esp
adc ebp, ecx
inc ecx
or eax, esp
dec eax
mov dword [esp + ebx*2 - 0x802424], 0x91b876ad
dec ebp
mov edi, dword [edx + ebx*2 - 0x80242c]
or ebp, 0xaa92281a
setbe byte [esp + ebx*2 - 0x802421]
inc esi
mov ecx, dword [ebx + edi - 0x401216]
movzx edi, word [esp + ebx - 0x40120c]
dec ecx
ror esp, 0x53
call fcn.00d198cc
dec ebp
jmp 0x141c35b
inc esp
movsx ecx, bx
sar ebx, 0xca
not ebp
inc eax
setne bh
dec ecx
lea edx, [esi - 0x72d2fcfb]
rol ebp, 1
dec ecx
or ecx, ecx
movzx esi, bl
not ebp
dec eax
xadd esi, edx
lea ebp, [ebp + esi - 0x36750c60]
je 0xd4e2b8
dec edx
lea edi, [esi + ecx + 0x5919c72c]
not bl
inc ecx
push eax
xor dword [esp + ebx*4 - 0x3fc], ebp
inc ecx
pop eax
dec eax
sal esi, cl
dec eax
arpl bp, bp
dec esp
add ebp, ebp
dec eax
lea ebp, [edx*2 - 0x1852a5dc]
inc ebp
movzx esp, word [ebx + ebx - 0xfb]
dec eax
lea eax, [ebx*4 - 0x2e7c0d79]
sal si, 9
bts edi, 0xa
dec ebp
lea ebx, [ebx + ebx - 0xf9]
idiv cx
xadd edi, esi
inc bp
xor esp, eax
push edx
inc cx
sub esp, 0x4166bab9
ror esp, 1
shr dword [esp + ebx*4 - 0x3fb], 0xb3
dec eax
dec dword [esp + ebx - 0xff]
sal word [esp + ebx*2 - 0x1f8], 0x49
inc cx
not esp
cdq
add bx, bp
inc cx
neg esp
inc bp
xor eax, esp
push ebx
inc ebx
inc bp
mov dword [edx + ebx*4 - 0x16c8a], esp
jne 0xcdcc6b
dec eax
mov dword [esp + edi*2 - 0x3e47b22c], 0x392bcbba
inc ecx
bswap ecx
jne 0xd0e30d
xchg esp, eax
cmpsd dword [esi], dword es:[edi]
sub al, 0x8d
mov esi, 0xd36cce89
add esi, dword [ebp - 0x2e]
push 0x657403d3
loop 0x141c4ae
rol dword [ebx], cl
je 0x141c4c7
fimul word [eax - 0x2d]
add esi, dword [ecx + eax*2 + 0x3f]
inc esp
and al, 0xe6
add al, 0x9f
xchg ecx, eax
pop ds
xchg ecx, eax
outsd dx, dword [esi]
scasb al, byte es:[edi]
xchg dword [edi + 0x74], esi
push edx
pop ecx
push ds
xchg edx, eax
scasb al, byte es:[edi]
adc dl, byte [ebx - 0x7cbffd40]
imul edx, dword [ebx - 0x47b3a1ad], 0x527f6c99
mov eax, 0x56a36c99
push 0x5f6c99b8
out dx, al
shr byte [esi], 1
xchg edx, eax
pop esi
xor dword [edx + ecx*4], ebx
leave
pop ds
pop eax
cli
jecxz 0x141c494
add edx, ebx
je 0x141c45a
jecxz 0x141c49a
add edx, dword [edi]
push 0x304e3d6
mov dword [eax], 0x304e38a
cmp ebp, 0x74
jecxz 0x141c4a0
add eax, edi
add byte [edx - 0x7cfcfb1d], cl
std
je 0x141c4ca
jecxz 0x141c4a6
add eax, dword [ebx - 0x6edc8b03]
and edx, dword [ecx + 0x18a109c3]
out 0xfd, al
xchg ecx, eax
ret
sahf
cmp ah, 0xef
dec ecx
or dword [eax - 0x6ced516a], ecx
les eax, [esi + 0x60]
mov byte [esi - 0x3b6ced52], dl
inc esi
pushal
sub dword [ecx - 0x6d], 0x4f
or al, byte [eax]
mov eax, 0x1adf6c99
adc al, 0xb8
cdq
insb byte es:[edi], dx
xor eax, dword [esi]
cmp byte [eax - 0x41f09367], bh
shr byte [esi], 1
xchg edx, eax
xchg esi, eax
dec esi
idiv byte [edx]
movsd dword es:[edi], dword [esi]
fadd qword [ebx + eax*2]
aad 0xc5
add byte [esi], ah
fadd dword [esi]
jle 0x141c4b4
push edx
daa
mov ah, 0xff
mov edx, dword [eax + eax*4 - 0x11]
xchg byte [ebx + 0x38], ch
rcl byte [edx - 9], cl
invalid