Function at 0x4013f4
Capabilities:
Encode data using xor

Disassembly:
push 0x407ed0
call fcn.004013ec
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 [ebx + 0x1a], ch
ja 0x401480
cmpsb byte [esi], byte es:[edi]
dec edi
outsb dx, byte [esi]
dec eax
mov al, byte [edi]
das
mov esp, 0x13c20f76
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc ecx
inc edx
inc ecx
inc edx
dec ebx
inc ecx
dec ecx
inc esi
push ebp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add bh, bh
int3
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 [edx - 0x7affff97], cl
imul eax, dword [eax], 0x80000
inc esi
outsd dx, dword [esi]
jb 0x401519
dec ebp
popal
imul ebp, dword [esi], 0x12010d
mov cl, 0xa3
mov ah, 0xe6
mov edi, 0xb7aabfe1
invalid
add byte [eax], al
add dword [eax], eax
or byte [eax], al
push 0xbe000005
arpl word [eax], ax
add byte [eax], ch
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [ecx], al
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [0x5000016], al
and eax, dword [eax]
adc byte [eax], al
and eax, 0x23140000
add byte [eax], al
add dword [0x35041400], esi
add byte [eax], al
push ss
xor eax, 0x390a2500
add byte [eax], al
sub al, 0x39
add byte [ebx], dh
cmp byte [ecx], bh
add byte [ecx], al
add byte [ebp], al
adc al, byte [0x14040043]
inc edi
add byte [ebx], dl
adc ecx, dword [ecx]
add dword [ebx], eax
push ebp
add byte [ebx], dl
add al, 0x55
add byte [edi], al
adc al, 0x57
add byte [eax], dl
pop ss
pop eax
add byte [eax], ch
adc dword [ebp], ecx
add byte [0x33000048], ah
dec edx
add byte [eax], al
and eax, 0x20100056
pop edx
add byte [eax], al
xor eax, 0x25310058
push esi
add byte [edx], al
pop es
add byte gs:[eax], dl
add ah, byte [esi]
add eax, 0x10006617
sbb dword [edi], esp
add eax, 0x1400740b
add al, 0x75
add byte [ebx], al
adc al, 0x74
add byte [eax], dl
sbb dh, byte [edi]
xor dword [edx], ebx
arpl word [eax], ax
add byte [edi], ah
add byte [esi], dl
and al, 0x6a
add byte [eax], al
aaa
push 0x76250000
add byte [edx], dl
and bh, byte [eax]
add byte [esi + esi*2], dh
add byte [ecx], ch
and al, 0x63
add byte [edi], dh
daa
add byte gs:[esi], ah
xor eax, 0x3237006b
add byte [ecx], ah
sub bh, byte [ebx]
and al, 0x34
jns 0x40160b
cmp dword [eax], edi
jae 0x40160f
inc edx
sbb al, 0x52
add byte [ebp + 0x2b], al
pop ecx
add byte [ecx + 0x31], cl
imul eax, dword [eax], 0
inc edi
pop eax
add byte [eax], al
inc esi
imul eax, dword [eax], 0
push ebx
imul eax, dword [eax], 0
inc esi
ja 0x40162b
add byte [eax + 0x79], bl
add byte [esi], dh
inc esi
js 0x401633
add byte [ecx + 0x73], ah
add byte [esi + 0x4a], al
pop eax
add byte [edi + 0x71], dh
pop edx
add byte [eax + 0x43], cl
add byte [bx + si + 0x49], bl
imul eax, dword [eax], 0x63514a
push ebp
pop ecx
add byte [bp + si + 0x43], cl
jnp 0x401653
push edi
dec edx
js 0x401657
inc edx
push ecx
jnp 0x40165b
push esi
push ebx
jns 0x40165f
imul edx, dword [ecx + 0x75], 0
pop edx
popal
imul eax, dword [eax], 0x72
jb 0x4016de
add byte [ebp + edi*2 - 0x7978ff95], al
jo 0x401673
sbb byte [edi], al
xchg byte [eax], al
add dl, byte [edi]
test byte [eax], al
adc dword [ebx], ebx
xchg byte [eax], al
add byte [esp + edx*4], bl
add byte [edx], dl
sbb al, 0x94
add byte [ecx], ah
or al, 0x84
add byte [ecx], ah
adc al, 0x88
add byte [ecx], ah
or dl, byte [eax + eax + 0x981621]
add byte [edi], ah
xchg byte [eax], al
adc eax, 0x8824
aaa
xchg dword [eax], eax
add byte [edx], ch
xchg esi, eax
add byte [edi], dl
sub byte [edi - 0x69c90000], dl
add byte [eax], bl
xor byte [esi - 0x76d4df00], dl
add byte [edx], ah
xor dword [ebp - 0x68d5df00], eax
test dword [eax], eax
and dword [edx], ebp
xchg edi, eax
add byte [ecx], ah
xor byte [ebx - 0x67c3cf00], bl
add byte [ebx], ah
sbb dword [edi - 0x56d4e800], esp
add byte [eax], al
cmp ah, byte [esi - 0x56cfe800]
add byte [eax], bl
sub esi, dword [esi - 0x42c40000]
add byte [eax], bl
xor byte [ebx - 0x56d8de00], bh
add byte [ecx], ah
xor ch, byte [ecx - 0x5ac3cf00]
add byte [esi], ah
sub byte [edx - 0x42d7cf00], bh
add byte [edx], ah
xor eax, 0x450000b8
mov ebp, 0xb8352200
add byte [eax], al
inc ebp
mov byte [eax], al
sbb byte [ecx - 0x74], al
add byte [eax], al
push edi
mov al, byte [eax]
add byte [esi - 0x68], al
add byte [eax], al
push esi
cwde
add byte [eax*2 + 0x65000095], dh
mov al, byte [eax]
add byte [ebp - 0x74], dh
add byte [eax], al
cwde
add byte [eax], al
jne 0x4016b9
add byte [eax], al
inc edi
test al, 0
add byte [eax - 0x56], bl
add byte [eax], al
dec eax
mov ch, 0
add byte [edi - 0x46], dl
add byte [eax*2 + 0x412900ab], dh
mov esp, 0xba4a3700
add byte [ecx], bh
push ecx
mov ebp, 0xa9690000
add byte [eax], al
ja 0x4016f5
add byte [eax], al
mov ecx, 0xb8760000
add byte [edx + 0x4d], al
mov word [eax], es
push edi
dec edx
test byte [eax], al
dec edx
pop ecx
test byte [eax], al
push esi
pop ecx
xchg dword [eax], eax
inc edx
dec ebp
pushfd
add byte [edx + 0x55], cl
pushfd
add byte [ebx + 0x58], ch
xchg dword [eax], eax
pop edx
arpl word [edx - 0x639aaa00], cx
add byte [edi + 0x66], ah
mov dword [eax], eax
js 0x4017e6
mov al, byte [eax]
imul esi, dword [ecx - 0x7c], 0
je 0x4017fb
xchg byte [eax], al
arpl word [esp + edx*4], bp
je 0x4017f2
xchg edi, eax
add byte [ebx + 0x75], ch
pushfd
add byte [ebx + 0x79], dh
cwde
add byte [edx + 0x4b], al
stosb byte es:[edi], al
add byte [esi + 0x53], al
lodsd eax, dword [esi]
add byte [edx + 0x49], al
mov ch, 0
inc ebx
push ebx
mov ebx, 0xbd5d5200
add byte [eax + 0x68], bl
mov ch, 0
imul esi, dword [ebp - 0x53], 0
jae 0x401832
movsd dword es:[edi], dword [esi]
add byte [ebx + 0x77], ch
mov ecx, 0xb77b7300
add byte [eax], bl
xor al, dh
add byte [ecx], ch
sub al, 0xc6
add byte [ebx], ah
cmp dl, cl
add byte [ecx], dh
cmp dh, cl
add byte [0x3100d83b], ah
add byte [ecx], dh
cmp al, 0xde
add byte [ecx], ah
cmp al, 0xe7
add byte [eax], al
dec edx
enter 0, 0x57
enter 0, 0x4d
fiadd dword [eax]
add byte [eax - 0x28], bl
add byte [ecx], ch
inc edx
retf
add byte [eax], al
pop eax
fadd dword [eax]
sub dword [edx - 0x35], eax
add byte [ecx], dh
inc edi
int3
add byte [ecx], bh
push ecx
mov byte [eax], 0x28
inc edx
fld dword [eax]
xor dword [edi - 0x25], eax
add byte [ecx], dh
push ecx
fiadd word [eax]
add byte [esi - 0x37], ah
add byte [eax], al
js 0x4017d2
add byte [eax], al
fld dword [eax]
add byte [ebp - 0x27], dh
add byte [eax], al
pop ebx
jmp 0xea83401a
add byte [ecx], ch
dec ebx
test dword [eax], 0xfb4d32
aaa
push esi
sti
add byte [eax], al
imul ebp, edx, 0xec750000
add byte [eax], al
jne 0x401822
add byte [eax], al
imul edi, esi, 0
add byte [edi - 2], dh
add byte [ecx], bh
popal
inc dword [eax]
inc ebx
push ebp
retf 0x4400