Function at 0x405d20
Capabilities:
Encode data using xor

Disassembly:
aaa
add byte [eax + eax], dh
add byte [eax], al
add byte [eax], al
push ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x1c37664f], al
push ebp
add byte [eax], al
add byte [ecx + 0x55e3c827], cl
add byte [eax], al
xor al, byte [eax]
xor byte [eax], al
xor dword [eax], eax
xor eax, dword [eax]
sub eax, 0x36003000
add byte [0x38003200], ch
add byte [eax], ah
add byte [ecx], dh
add byte [eax], bh
add byte [edx], bh
add byte [0x3a003700], dh
add byte [eax + eax], dh
xor al, 0
add byte cs:[ecx], dh
add byte [edx], dh
add byte [ecx], bh
add byte [ecx], bh
add byte [eax], al
add al, byte [eax]
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 [edx - 0x4b], ch
dec ebx
xchg esi, eax
out 0x55, al
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov al, byte [0x51]
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], ch
imul edx, dword [ebx + 0x55e696], 0x400
add byte [eax], al
add byte [eax], al
add byte [eax + eax], dh
xor eax, dword [eax]
cmp dword [eax], eax
xor 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
adc dword [eax], ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov al, byte [0xe3c8b47d]
push ebp
add byte [eax], al
adc byte [esp + ebp*4 + 0x55e3c8], 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
and dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
pushal
cmpsb byte [esi], byte es:[edi]
scasd eax, dword es:[edi]
enter 0x55e3, 0
add byte [eax - 0x1c374e39], dl
push ebp
add byte [eax], al
push 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
mov edx, 0xe6964e4a
push ebp
add byte [eax], al
push cs
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], dh
add byte [ecx], bh
add byte [edx], dh
add byte [esi], ch
add byte [ecx], dh
add byte [eax], al
add byte [eax], al
xor dword [eax], eax
cmp dword [eax], eax
xor al, byte [eax]
add byte cs:[ecx], dh
add byte [esi], dh
add byte [eax], bh
add byte [esi], ch
add byte [ecx], dh
add byte [eax], dh
add byte [esi], ch
add byte [edx], dh
add byte [0x3500], dh
add byte [edi + 0x74], ch
outsd dx, dword [esi]
arpl word [edi + 0x6c], bp
add byte [eax], al
add byte [eax], al
add dword [edi], 0
add byte [eax], al
adc al, dh
jp 0x405e2c
jecxz 0x405ebb
add byte [eax], al
rol ah, 1
mov ah, 0xc8
jecxz 0x405ec3
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], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
dec edx
xchg edi, eax
xchg ebx, eax
xchg esi, eax
out 0x55, al
add byte [eax], al
sbb dh, 0x72
enter 0x55e3, 0
add byte [0], cl
add byte [eax], al
add byte [ecx + 2], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
lock sub dword [ecx], esi
enter 0x55e3, 0
add byte [eax - 0x1c37e3b1], dh
push ebp
add byte [eax], al
xor dword [eax], eax
cmp dword [eax], eax
xor al, byte [eax]
add byte cs:[ecx], dh
enter 0x55e3, 0
add byte [ecx], dh
add byte [ecx], bh
add byte [edx], dh
add byte [esi], ch
add byte [ecx], dh
add byte [esi], dh
add byte [eax], bh
add byte [esi], ch
add byte [ecx], dh
add byte [eax], dh
add byte [esi], ch
add byte [0x3000], dh
add byte cs:[0x3000], dh
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 [ecx], al
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax - 6], al
add byte [eax], al
add byte [eax], al
add dword [edx], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
cli
sub ecx, eax
jecxz 0x405f4b
add byte [eax], al
nop
enter 0x55e3, 0
add byte [eax - 0x1c378d83], ah
push ebp
add byte [eax], al
mov al, 0x7d
jb 0x405ed4
jecxz 0x405f63
add byte [eax], al
add eax, 0
add byte [eax], al
add byte [eax], al
push eax
jb 0x405ee4
jecxz 0x405f73
add byte [eax], al
adc byte [eax + 0x72], dl
enter 0x55e3, 0
add byte [edx], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, dl
scasb al, byte es:[edi]
mov eax, 0x55e3c8
add byte [eax], al
add byte [eax], al
shr byte [esi + 0x55e3c8b8], 1
add byte [eax], al
loopne 0x405ee8
enter 0x55e3, 0
add al, ah
scasb al, byte es:[edi]
mov eax, 0x55e3c8
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x1c378d74], ah
push ebp
add byte [eax], al
mov al, 0x8c
jb 0x405f1c
enter 0x55e3, 0
add byte [eax - 0x1c378d74], dh
push ebp
jecxz 0x405fab
add byte [eax], al
push es
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, ah
ja 0x405fd5
add byte [eax], al
add byte [eax], al
loopne 0x405fd9
jb 0x405f2c
enter 0x55e3, 0
add al, dh
ja 0x405fdd
jecxz 0x405fbb
add byte [eax], al
invalid
enter 0x55e3, 0
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x1c378d9a], dl
push ebp
jecxz 0x405fd3
add byte [eax], al
mov al, byte [0xe3c87266]
push ebp
add byte [eax], al
add al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
jo 0x405f33
jb 0x405f5c
jecxz 0x405feb
add byte [eax], al
and byte [ecx + 0x55e3c872], 0
add byte [0], cl
add byte [eax], al
add byte [eax - 0x1c378d76], ah
push ebp
add byte [eax], al
mov al, 0x8a
jb 0x405f7c
enter 0x55e3, 0
add byte [eax - 0x1c378d76], dh
push ebp
jecxz 0x40600b
add byte [eax], al
add eax, 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
and byte [edi], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], ah
daa
pop eax
jns 0x405fe7
jg 0x405fcf
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x12], al
out dx, al
scasd eax, dword es:[edi]
enter 0x55e3, 0
add byte [eax - 0x12], dl
push ebp
add byte [eax], al
push eax
out dx, al
scasd eax, dword es:[edi]
enter 0x55e3, 0
add byte [ebx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x79], dh
jb 0x405fbc
jecxz 0x40604b
add byte [eax], al
add byte [edi + 0x55e3c872], 0
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 6], dl
sub ecx, eax
jecxz 0x406063
enter 0x55e3, 0
add byte [eax - 6], ah
add byte [eax], al
pushal
cli
sub ecx, eax
jecxz 0x40606b
add byte [eax], al
push edx
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
daa
pop eax
jns 0x406047
jg 0x40602f
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 [eax], al
add byte [eax], al
add byte [eax], dl
mov bl, 0x78
enter 0x55e3, 0
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc byte [ebx + 0x55e3c878], dh
add byte [eax], al
mov al, 0xb5
lodsd eax, dword [esi]
add byte [eax - 0x1c37524b], dh
push ebp
add byte [eax], al
cmp dword [eax + eax], ebx
enter 0x55e3, 0
add byte [ecx], bh
sbb al, 0
add byte [eax], al
add byte [eax], al
add byte [eax - 0x64], al
mov cl, al
jecxz 0x4060b3
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
enter 0x7757, 0xffffffffffffffc8
add byte [eax], al
add byte [eax], al
add al, cl
push edi
ja 0x406034
enter 0x55e3, 0
add byte [eax], bl
xor byte [esi + 0x55e3c8], ch
jecxz 0x4060c3
add byte [eax], al
sbb byte [eax], dh
scasb al, byte es:[edi]
enter 0x55e3, 0
add byte [9], bl
add byte [eax], al
add al, dl
enter 0x55e3, 0
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x5f], ch
xchg esi, eax
enter 0x55e3, 0
add byte [eax - 0x1c3753f8], bh
push ebp
add byte [eax], al
cwde
adc dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x1c37a866], al
push ebp
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
or byte [ecx + 0x55e3c86e], ch
add byte [eax], al
add byte [eax], al
add byte [eax], cl
test eax, 0x55e3c86e
add byte [eax], al
inc eax
push 0xffffffffffffff85
enter 0x55e3, 0
add byte [edi + 0xf], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc byte [esi + 0x4c], al
enter 0x55e3, 0
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 2], dl
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], bl
outsb dx, byte [esi]
push esp
xchg esi, eax
out 0x55, al
add byte [eax], al
add eax, 0
add byte [eax], al
add byte [ebx], dh
add byte [ebx], dh
add byte [0x31003800], dh
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 [ecx + 4], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
invalid