Function at 0x409da3
Capabilities:
Encode data using xor

Disassembly:
out dx, eax
add byte [eax], al
mov ecx, 0x1010165
mov al, byte [bp - 0x1083]
add byte [eax], al
mov edx, 0x101016d
mov cl, byte [bp - 0x1081]
add byte [eax], al
mov ebx, 0x101016d
mov dl, byte [bp - 0x107f]
add byte [eax], al
xor al, 0xc1
add dword [ecx], eax
add dword [edi - 0x76], esp
xchg esi, eax
sub edi, 0xc1340000
mov al, byte [bp - 0x107d]
add byte [eax], al
push esp
add ah, 0x2d
cmpsb byte [esi], byte es:[edi]
add dword [ecx], eax
and ah, 0x13
in al, 0x13
sbb dword [ecx], eax
add dword [edx + 0x1243cec], eax
add dword [eax + ebx*2 + 0x54], ebx
test ch, al
add eax, 0x7038f882
add al, byte [ecx]
or al, 0
mov al, byte [0xc8820101]
jno 0x409cd5
add dword [ecx], eax
cmp al, 0x4f
cmpsb byte [esi], byte es:[edi]
add dword [ecx], eax
pushal
mov dword [esi + 0xf5dd], 0xde86c753
cmc
add byte [eax], al
jne 0x409cf0
xchg bh, bl
cmc
add byte [eax], al
insd dword es:[edi], dx
mov dword [esi + 0xf5e0], 0xe186c74a
cmc
add byte [eax], al
outsd dx, dword [esi]
mov dword [esi + 0xf5e2], 0xe386c76a
cmc
add byte [eax], al
jne 0x409d13
xchg ah, ah
cmc
add byte [eax], al
push esi
mov dword [esi + 0xf5e5], 0xe686c76f
cmc
add byte [eax], al
push 0xffffffffffffffc7
xchg bh, ah
mov dword [esi + 0xf5e6], 0xe786c76a
cmc
add byte [eax], al
mov dword fs:[esi + 0xf5e8], 0xe986c770
cmc
add byte [eax], al
mov dword gs:[esi + 0xf5ea], 0xeb86c766
cmc
add byte [eax], al
push esp
mov dword [esi + 0xf5ec], 0xed86c775
cmc
add byte [eax], al
jae 0x409d59
xchg dh, ch
cmc
add byte [eax], al
push 0xffffffffffffffc7
xchg bh, ch
cmc
add byte [eax], al
outsd dx, dword [esi]
mov dword [esi + 0xf5f0], 0xf186c768
add byte [eax], al
push 0xf5f186c7
add byte [eax], al
add dword [ebx + 0x57], edx
test ch, al
add eax, 0x2657c382
add al, byte [ecx]
add al, byte es:[ecx]
in al, dx
add eax, 0x4349383a
sub bl, 0x49
sub eax, dword [edx]
add dword [ebx + 0x57], ebx
push ecx
test ch, al
add eax, 0x4311cf82
or bh, 0x11
inc ebx
add al, byte [ecx]
sub bh, 0xc4
pop ds
add al, byte [ecx]
in al, dx
pop es
cmp eax, 0x5f414441
mov dword [esi + 0xf595], 0x9686c753
cmc
add byte [eax], al
jne 0x409db5
xchg byte [edi + 0x6d0000f5], dl
mov dword [esi + 0xf598], 0x9986c756
cmc
add byte [eax], al
jno 0x409dca
xchg byte [edx + 0x640000f5], bl
mov dword [esi + 0xf59b], 0x9c86c762
cmc
add byte [eax], al
je 0x409ddf
xchg byte [ebp + 0x660000f5], bl
mov dword [esi + 0xf59e], 0x9f86c756
cmc
add byte [eax], al
outsd dx, dword [esi]
mov dword [esi + 0xf5a0], 0xa186c76a
cmc
add byte [eax], al
mov dword fs:[esi + 0xf5a2], 0xa386c770
cmc
add byte [eax], al
mov dword gs:[esi + 0xf5a4], 0xa586c766
cmc
add byte [eax], al
push esp
mov dword [esi + 0xf5a6], 0xa786c775
cmc
add byte [eax], al
jae 0x409e2c
xchg byte [eax + 0x6a0000f5], ch
mov dword [esi + 0xf5a9], 0xaa86c76f
cmc
add byte [eax], al
push 0xf5ab86c7
add byte [eax], al
add dword [ecx + edx*2 - 0x7c], edx
lds eax, [0x4ec0ec82]
dec esi
add dword [ecx], eax
in al, dx
or byte [esi + edi], dh
dec ebp
inc edx
inc edi
dec ebx
aaa
pop esp
push edx
pop eax
test ch, al
add eax, 0x1099c282
add al, byte [ecx]
in al, dx
adc byte [edx], al
add esp, ebp
add eax, 0x4a434834
xor dl, 0xf5
push es
add dword [ecx], eax
in al, dx
add al, 0x3e
cmp cl, byte [edx + ebx*2 - 0x39]
xchg byte [ebp + 0x530000f5], ch
mov dword [esi + 0xf5ae], 0xaf86c775
cmc
add byte [eax], al
insd dword es:[edi], dx
mov dword [esi + 0xf5ad], 0xae86c753
cmc
add byte [eax], al
jne 0x409e88
xchg byte [edi + 0x6d0000f5], ch
mov dword [esi + 0xf5b0], 0xb186c744
cmc
add byte [eax], al
jae 0x409e9d
xchg byte [edx + 0x660000f5], dh
mov dword [esi + 0xf5b3], 0xb486c762
cmc
add byte [eax], al
jne 0x409eb2
xchg byte [ebp + 0x660000f5], dh
mov dword [esi + 0xf5b6], 0xb786c756
cmc
add byte [eax], al
outsd dx, dword [esi]
mov dword [esi + 0xf5b8], 0xb986c76a
cmc
add byte [eax], al
mov dword fs:[esi + 0xf5ba], 0xbb86c770
cmc
add byte [eax], al
mov dword gs:[esi + 0xf5bc], 0xbd86c766
cmc
add byte [eax], al
push esp
mov dword [esi + 0xf5be], 0xbf86c775
cmc
add byte [eax], al
jae 0x409eff
xchg al, al
cmc
add byte [eax], al
push 0xffffffffffffffc7
xchg cl, al
cmc
add byte [eax], al
outsd dx, dword [esi]
mov dword [esi + 0xf5c2], 0xc386c768
cmc
add byte [eax], al
add dword [edx + 0x54], edx
test ch, al
add eax, 0xbf65ca82
add dword [ecx], eax
pop edx
push ecx
push edx
test ch, al
add eax, 0x4d44e982
add dword [ecx], eax
pop ecx
push edi
add bh, 0xe2
sbb eax, dword [edx]
add dword [edx + 0x21a89e7], eax
add dword [edx + 0x28494cf], eax
add dword [edx + 0x1ba9ccf], eax
add dword [edi - 0x46], ebx
add eax, dword [ecx]
add dword [ecx], eax
insb byte es:[edi], dx
rol byte [ecx], cl
mov word [esi + 0xfba9], es
adc byte [eax - 0x57beef3], bh
and al, 0x10
xchg byte [eax + 0x1b], bh
add dword [ecx], eax
push edi
push esp
test ch, al
add eax, 0x45c8cf82
add al, byte [ecx]
and bh, 0x41
mov ebx, 0x585f0101
push ecx
test ch, al
add eax, 0x1e35f882
add dword [ecx], eax
pushal
push edi
or bh, 0xa3
jne 0x409fc6
add dword [edx + 0x163e8c7], eax
add dword [edx + 0x13872ef], eax
add dword [edi - 0x74], ebx
xchg esi, eax
push ecx
loopne 0x409fd7
invalid
add byte [edx + 0xf65596], cl
add byte [ecx - 0x7e], dl
loope 0x40a025
push esp
add dword [ecx], eax
or cl, 0x10
adc al, byte [ecx]
add dword [edx + 0x25333f1], eax
add dword [ecx + 0x58], ebx
push ebx
test ch, al
add eax, 0x1a8dc882
add al, byte [ecx]
adc al, 0xaf
and byte [ecx], al
add dword [edx + 0x16e6cc8], eax
add dword [edx + 0x25bd4e8], eax
add dword [eax + 0x65], esp
mov byte [0x1010119], al
mov al, byte [esi + 0xe6d9]
mov word [esi + 0xe6d9], cs
mov word [edx + 0x31], ss
mov dl, byte [esi + 0xe6d5]
mov word [esi + 0xe6d5], es
mov al, byte [esi + 0xea25]
push esp
pop eax
test ch, al
add eax, 0x451ae482
add al, byte [ecx]
and ah, 0xed
push ebp
add dword [ecx], eax
sub ah, 0x8b
adc eax, dword [ecx]
add dword [eax + ebx*2 - 0x7e], ebx
call 0x142ffc4
cmp al, 0x7f
push 0xf0820101
mov bh, 0xfa
add dword [ecx], eax
adc al, 0x9a
lar eax, word [ecx]
pushal
test byte [esi + 0xea25], bh
add dword [esi + 0x10], esi
enter 0x986, 0xfffffffffffffffe
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
ljmp 0x8e8c