Function at 0x40118c
Capabilities:
Encode data using xor

Disassembly:
push 0x401420
call fcn.00401184
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], al
adc ebp, dword [eax + 0x61637b7c]
add byte [eax], al
add byte [eax], al
add dl, byte [ebx]
test al, 0x7c
jnp 0x401211
popal
inc ebx
mov dword [0xef09a686], eax
lodsb al, byte [esi]
sub edx, ebp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
sub eax, 0x30303043
sub eax, 0x4d77654e
outsd dx, dword [esi]
outsd dx, dword [esi]
outsb dx, byte [esi]
insb byte es:[edi], dx
imul esp, dword [edi + 0x68], 0x32230074
add byte cs:[eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
add al, 0x13
mov eax, 0x87fee3da
insd dword es:[edi], dx
inc edi
mov ebp, ebx
mov ss, word [edx + 0x40]
mov al, byte [0x2f3715a1]
scasd eax, dword es:[edi]
or edi, dword [ebp - 0x6eb014a0]
scasd eax, dword es:[edi]
ror byte [esi], 1
jae 0x4011a4
xchg edi, eax
mov ebx, 0x33ad4f3a
cdq
iret
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
out dx, al
add byte [eax], al
add byte [ecx], cl
add byte [eax], al
add byte [edi], al
add byte [esi + 0x72], al
insd dword es:[edi], dx
dec ebp
popal
imul ebp, dword [esi], 0x6010d
adc byte [ecx], bl
and eax, 0x324301
sbb dword [ecx], eax
add byte [edx], al
sbb al, 0x18
outsd dx, dword [esi]
and al, byte [ebx]
and al, 5
add byte [esi + 0x6f], al
jb 0x4012d1
xor dword [eax], eax
add byte es:[edi], ah
add byte [eax], ch
add byte [esi], ch
add byte [0xffffd549], dh
pop eax
add al, byte [eax]
add dh, bh
add dword [eax], eax
add byte [esi], bl
add byte [eax], al
add byte [eax + eax - 1], al
add dword [eax + eax], edi
add byte [eax], al
add dword [0x78655400], eax
je 0x4012c0
add byte [edx], al
add al, 0
add byte [eax], al
add byte [ecx], ch
ret
and dword [eax], eax
add byte [eax], al
add al, byte [esi]
add byte [ebp + ebp*2 + 0x72], dl
insb byte es:[edi], dx
outsd dx, dword [esi]
add byte [bp + di], cl
add al, byte [eax]
add eax, dword [ecx]
add byte [eax], al
add byte [edi], al
add byte [eax], al
add byte [eax], al
or byte [eax], al
add byte [eax], al
add bh, bh
add ebx, dword [edi]
add byte [eax], al
add byte [ebx], al
push es
add byte [ecx + ebp*2 + 0x6d], dl
jb 0x401322
add byte [ebx], cl
add ebp, eax
add eax, dword [eax]
add byte [edi], al
rol byte [ebx], 0
add byte [eax], cl
add byte [eax], al
add byte [eax], al
inc dword [ebx]
pop ds
add byte [eax], al
add byte [esi + eax], al
add byte [ecx + ebp*2 + 0x6d], dl
jb 0x401341
add byte [ebx], cl
add esi, dword [eax + 0x17]
add byte [eax], al
pop es
loopne 0x40131a
add byte [eax], al
or byte [eax], al
add byte [eax], al
add bh, bh
add al, byte [eax + eax]
add byte [eax], cl
add byte [eax], al
add byte [eax], al
inc dword [edx]
add al, 0
add dword [eax], eax
push es
add byte [ebx + ebp], bh
inc eax
add byte [eax], al
add byte [eax], al
add bh, bh
xor al, byte [ecx]
add dword [eax], eax
add byte [eax], al
pop esp
adc eax, dword [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
pop esp
adc eax, dword [eax]
js 0x4013d1
inc eax
add byte [edx + 0x407378], bh
mov ecx, 0x401166
jmp ecx
add byte [eax], al
add byte [eax], ah
sub al, 0x40
add byte [eax + 0x3004132], dh
add byte [eax], al
add byte [eax], cl
adc al, 0x40
add byte [0x2000], al
add byte [eax], al
add ah, ch
sub bl, byte [esi]
add ah, dh
adc eax, dword [eax]
int3