Function at 0x401220
Capabilities:
Encode data using xor

Disassembly:
push 0x40a4f8
call fcn.00401218
add byte [eax], al
dec eax
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
dec ecx
cmp dword [edx], edx
pop eax
fistp qword [eax]
or cl, byte [edx - 0x62]
xor byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 0x39], cl
adc bl, byte [eax - 0x21]
cmp byte [edx], cl
dec edx
sahf
jp 0x401230
jg 0x401274
fdivr qword [ebx + 0xe3]
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebx + 0x5f], ch
inc ecx
inc ebx
pop edi
cmp dword [eax + 0x72], edx
outsd dx, dword [esi]
push 0x65
arpl word [ecx + esi], si
jb 0x4012d0
jbe 0x4012ce
jb 0x4012c7
push edi
add byte [ebp + 0x35], cl
xor esi, dword ss:[eax]
pop esp
push edi
add byte [eax], al
add byte [eax], al
nop
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax + eax], al
add byte [eax], al
loopne 0x401258
mov ebx, 0xa411ae17
inc ecx
mov eax, 0x6be723fd
aaa
mov dl, 0x49
add dword [eax], eax
add byte [eax], al
cwde
add byte [eax], al
add byte [eax + 0x1000000], ch
add byte [eax], al
add byte [eax + 1], bh
cmp dword [ecx], eax
add dword [eax], esp
je 0x40131f
dec ecx
outsb dx, byte [esi]
add byte [eax], al
insd dword es:[edi], dx
outsb dx, byte gs:[esi]
je 0x401310
jb 0x401301
dec esp
add byte [edx], cl
push ebx
jb 0x40133a
mov si, 0xfe
hlt
add ah, dh
cmp byte [edi + 0x5ee29844], 0x67
pop esi
adc ah, byte [bp - 0x48]
adc ah, byte [esi - 0x48]
insd dword es:[edi], dx
sahf
test dword [edx - 0x3277f9e5], edx
dec esi
xchg dword [edi - 0x1f5a1986], esi
fbstp tbyte [edx + 0x31ccff]
push cs
aaa
and cl, byte [edx - 0x7c]
sbb ch, byte [eax - 0x2d4bb019]
shr dword [edi + 0x3b], cl
add eax, 0x477aad29
clc
out dx, al
inc edi
and esi, dword [esi + ecx*2 - 0x203a06a]
xchg esi, eax
pop edi
cld
std
ret
adc dword [edi + 0xaa000c], esi
pushal
rcl dword [ebx], cl
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
mov edx, 0x7d000091
add byte [eax], al
add byte [edx + 0x7d000091], bh
pop dword [eax]
add byte [eax], al
add eax, 0x726f4600
insd dword es:[edi], dx
xor dword [eax], eax
or eax, 0x42000119
add byte [edx], ah
add esp, dword [ebx]
pop dword ds:[eax]
add byte [esp + esi*2], ch
add byte [esi], dh
pop dword [eax]
add byte [eax], al
add byte [ecx], al
add byte [edx], cl
add byte [eax], dh
xor byte [eax], dl
add byte [ecx], al
add byte [eax + eax], al
push 0xa6000006
add byte [eax], al
add byte [eax], ah
and byte [eax], dl
add byte [ecx], al
add byte [eax + eax], al
call 0xe401388
pop es
add byte [eax], al
adc byte [eax], dl
adc byte [eax], al
add dword [eax], eax
add al, 0
sub byte [ecx], al
add byte [eax], al
test byte [ecx], 0
add byte [eax], dh
xor byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax + 0x1e00000e], ch
or eax, dword [eax]
add byte [eax], ah
and byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax - 0x39fffff8], ch
sbb dword [eax], eax
add byte [eax], dl
adc byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax + 5], ch
add byte [eax], al
outsb dx, byte [esi]
and al, byte [eax]
add byte [eax], dh
xor byte [eax], al
add byte [ecx], al
add byte [eax], ah
add byte [eax - 0x29ffffdb], ch
daa
add byte [eax], al
and byte [eax], ah
add byte [eax], al
add dword [eax], eax
and byte [eax], al
test al, 0x10
add byte [eax], al
jle 0x401434
add byte [eax], al
adc byte [eax], dl
add byte [eax], al
add dword [eax], eax
and byte [eax], al
push 0x26000004
pop esi
add byte [eax], al
pushal
pushal
add byte [eax], al
add dword [eax], eax
or byte [eax], al
test al, 0x2c
add byte [eax], al
mov fs, word [edx]
add byte [eax], ch
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add dword [eax], eax
add al, 0
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 - 0x80000000], al
add byte [eax], 0x80
add byte [eax], al
add byte [eax - 0x7fff8000], al
add byte [eax], 0
rol al, 0xc0
add byte [eax + 0x8080], al
add bh, bh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x800080], al
add byte [eax], al
add byte [eax], 0x80
add byte [eax - 0x3fffff80], al
rol al, 0
add byte [eax + 0x80], 0xff
add byte [eax], al
inc dword [eax]
add byte [eax], al
invalid