Function at 0x410bc0
Capabilities:
Encode data using xor

Disassembly:
mov ss, word [edi - 0x44ffff19]
dec edi
add dword [ecx], eax
add dword [edi - 0x76], esp
xchg esi, eax
cdq
out 0, eax
add byte [ecx + 0x1010150], bh
mov al, byte [bp - 0x1865]
add byte [eax], al
mov edx, 0x1010151
mov cl, byte [bp - 0x1863]
add byte [eax], al
mov ebx, 0x1010152
mov dl, byte [bp - 0x1861]
add byte [eax], al
mov ecx, 0x1010154
mov al, byte [bp - 0x185f]
add byte [eax], al
mov edx, 0x1010132
mov cl, byte [bp - 0x185d]
add byte [eax], al
mov ebx, 0x1010134
mov dl, byte [bp - 0x185b]
add byte [eax], al
mov ecx, 0x1010131
mov al, byte [bp - 0x1859]
add byte [eax], al
xor al, 0xca
mov cl, byte [bp - 0x1857]
add byte [eax], al
push esp
push ecx
test ch, al
add eax, 0xde76cc82
add dword [ecx], eax
in al, dx
pop es
dec edx
dec esi
dec esp
cmp eax, 0xec82434b
jle 0x410c0d
add dword [ecx], eax
pop esp
push ecx
add cl, 0xb
rol byte [ecx], 1
add dword [ecx + 0x58], ebx
sub al, 0x41
mov al, byte [0x7ec0101]
cmp eax, dword [edi + 0x4e]
cmp al, 0x46
xor al, 0x60
mov ebx, 0x1010148
mov dl, byte [bp - 0x1893]
add byte [eax], al
mov ecx, 0x1010154
mov al, byte [bp - 0x1891]
add byte [eax], al
mov edx, 0x1010142
mov cl, byte [bp - 0x188f]
add byte [eax], al
mov ebx, 0x101014c
mov dl, byte [bp - 0x188d]
add byte [eax], al
mov ecx, 0x101014d
mov al, byte [bp - 0x188b]
add byte [eax], al
mov edx, 0x101014e
mov cl, byte [bp - 0x1889]
add byte [eax], al
mov ebx, 0x101014f
mov dl, byte [bp - 0x1887]
add byte [eax], al
mov ecx, 0x1010150
mov al, byte [bp - 0x1885]
add byte [eax], al
mov edx, 0x1010151
mov cl, byte [bp - 0x1883]
add byte [eax], al
mov ebx, 0x1010152
mov dl, byte [bp - 0x1881]
add byte [eax], al
mov ecx, 0x1010154
mov al, byte [bp - 0x187f]
add byte [eax], al
mov edx, 0x1010132
mov cl, byte [bp - 0x187d]
add byte [eax], al
mov ebx, 0x1010134
mov dl, byte [bp - 0x187b]
add byte [eax], al
mov ecx, 0x1010132
mov al, byte [bp - 0x1879]
add byte [eax], al
xor al, 0xca
mov cl, byte [bp - 0x1877]
add byte [eax], al
push edx
push ecx
test ch, al
add eax, 0x434c06ec
inc edi
cmp dword [eax], edi
and dl, 0x78
rol byte [ecx], cl
add dword [edx + 0x284e5ca], eax
add dword [edx + 0x27c1af2], eax
add dword [edx + 0x53], ebx
in al, dx
add al, 0x47
xor eax, 0x12eb824f
adc al, byte [ecx]
add dword [edx + 0x128b4eb], eax
add dword [ebx - 0x45], ebx
dec eax
add dword [ecx], eax
add dword [edi - 0x76], esp
xchg esi, eax
dec ebp
out 0, eax
add byte [ecx + 0x1010154], bh
mov al, byte [bp - 0x18b1]
add byte [eax], al
mov edx, 0x1010142
mov cl, byte [bp - 0x18af]
add byte [eax], al
mov ebx, 0x101014c
mov dl, byte [bp - 0x18ad]
add byte [eax], al
mov ecx, 0x101014d
mov al, byte [bp - 0x18ab]
add byte [eax], al
mov edx, 0x101014e
mov cl, byte [bp - 0x18a9]
add byte [eax], al
mov ebx, 0x101014f
mov dl, byte [bp - 0x18a7]
add byte [eax], al
mov ecx, 0x1010150
mov al, byte [bp - 0x18a5]
add byte [eax], al
mov edx, 0x1010151
mov cl, byte [bp - 0x18a3]
add byte [eax], al
mov ebx, 0x1010152
mov dl, byte [bp - 0x18a1]
add byte [eax], al
mov ecx, 0x1010154
mov al, byte [bp - 0x189f]
add byte [eax], al
mov edx, 0x1010132
mov cl, byte [bp - 0x189d]
add byte [eax], al
mov ebx, 0x1010134
mov dl, byte [bp - 0x189b]
add byte [eax], al
mov ecx, 0x1010133
mov al, byte [bp - 0x1899]
add byte [eax], al
xor al, 0xca
mov cl, byte [bp - 0x1897]
add byte [eax], al
pop eax
push ebx
test ch, al
add eax, 0x7141f882
add dword [ecx], eax
cmp al, 0x5f
jns 0x410e06
add dword [edx + 0x1179af0], eax
add dword [eax + 0x57], esp
and bh, 0x87
mov byte [ecx], 1
pop edi
pop eax
pop eax
test ch, al
add eax, 0x8b37d082
add dword [ecx], eax
sub al, 0x77
and eax, dword [ecx]
add dword [eax - 0x45], esp
dec eax
add dword [ecx], eax
add dword [edi - 0x76], esp
xchg esi, eax
lodsd eax, dword [esi]
out 0, eax
add byte [ecx + 0x1010154], bh
mov al, byte [bp - 0x1851]
add byte [eax], al
mov edx, 0x1010142
mov cl, byte [bp - 0x184f]
add byte [eax], al
mov ebx, 0x101014c
mov dl, byte [bp - 0x184d]
add byte [eax], al
mov ecx, 0x101014d
mov al, byte [bp - 0x184b]
add byte [eax], al
mov edx, 0x101014e
mov cl, byte [bp - 0x1849]
add byte [eax], al
mov ebx, 0x101014f
mov dl, byte [bp - 0x1847]
add byte [eax], al
mov ecx, 0x1010150
mov al, byte [bp - 0x1845]
add byte [eax], al
mov edx, 0x1010151
mov cl, byte [bp - 0x1843]
add byte [eax], al
mov ebx, 0x1010152
mov dl, byte [bp - 0x1841]
add byte [eax], al
mov ecx, 0x1010154
mov al, byte [bp - 0x183f]
add byte [eax], al
mov edx, 0x1010132
mov cl, byte [bp - 0x183d]
add byte [eax], al
mov ebx, 0x1010134
mov dl, byte [bp - 0x183b]
add byte [eax], al
mov ecx, 0x1010134
mov al, byte [bp - 0x1839]
add byte [eax], al
xor al, 0xca
mov cl, byte [bp - 0x1837]
add byte [eax], al
pop eax
push edx
test ch, al
add eax, 0x82af082
add dword [ecx], eax
pushal
push ecx
sub cl, 0x95
and byte [ecx], al
add ecx, ebp
or eax, dword [ecx]
add dword [ecx], eax
add dword [edi], esi
dec eax
inc eax
cmp eax, 0x3f43473a
inc ebp
test ch, al
add eax, 0x423305ec
inc eax
inc esi
or cl, 0xff
mov dword [ecx], eax
add dword [ecx - 0x45], ebx
insb byte es:[edi], dx
add dword [ecx], eax
add dword [edi - 0x76], esp
xchg esi, eax
sub edi, 0x66b90000
add dword [ecx], eax
add dword [edi - 0x76], esp
xchg byte [ebx - 0x45ffff11], al
jae 0x410f25
invalid
add dword [ecx], eax
mov cl, byte [bp - 0x107b]
add byte [eax], al
mov ebx, 0x101016f
mov dl, byte [bp - 0x1079]
add dword [edi - 0x76], esp
mov es, word [ebp - 0x44ffff11]
outsd dx, dword [esi]
add dword [ecx], eax
add dword [edi - 0x76], esp
xchg esi, eax
xchg edi, ebp
add byte [eax], al
mov ecx, 0x1010166
mov al, byte [bp - 0x1077]
add byte [eax], al
mov edx, 0x101016d
mov cl, byte [bp - 0x1075]
add byte [eax], al
mov ebx, 0x1010134
mov dl, byte [bp - 0x1073]
add byte [eax], al
mov ecx, 0x1010133
mov al, byte [bp - 0x1071]
add byte [eax], al
mov edx, 0x101012f
mov cl, byte [bp - 0x106f]
add byte [eax], al
mov ebx, 0x1010165
mov dl, byte [bp - 0x106d]
add byte [eax], al
mov ecx, 0x101016d
mov al, byte [bp - 0x106b]
add byte [eax], al
mov edx, 0x101016d
mov cl, byte [bp - 0x1069]
add byte [eax], al
xor al, 0xd3
mov dl, byte [bp - 0x1067]
add byte [eax], al
enter 0xffffffffffffcd86, 0xfffffffffffffffb
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
in al, dx
adc byte [esi + eax*4 + 0xfbcd], cl
test cl, al
add cl, byte [edx + 0xfbcd86]
add byte [esi + edi*4 + 0xfbcd], al
add eax, 0x71ab8410
add al, byte [ecx]
push edi
push esp
test ch, al
add eax, 0x434c05ec
inc ebx
xor eax, 0x23ede782
add dword [ecx], eax
sub bh, 0x84
and al, byte [ecx]
add dword [edi + 0x58], ebx
sub al, 0xc3
imul eax, dword [edx], 0x2df08201
xor dword [edx], eax
add dword [edx + 0x1168cc8], eax
add dword [edx + 0x26601c8], eax
add dword [eax - 0x39], esp
xchg ch, dh
test byte [eax], 0
dec eax
mov dword [esi + 0xf6f6], 0xf786c766
test byte [eax], 0
jne 0x410fd9
xchg al, bh
test byte [eax], 0
dec esi
mov dword [esi + 0xf6f9], 0xfa86c770
test byte [eax], 0
mov dword gs:[esi + 0xf6fb], 0xfc86c776
test byte [eax], 0
insd dword es:[edi], dx
mov dword [esi + 0xf6fd], 0xfe86c766
test byte [eax], 0
dec ecx
mov dword [esi + 0xf6ff], 0x86c762
test byte [eax], 0
outsd dx, dword [esi]
mov dword [esi + 0xf701], 0x286c765
test dword [eax], 0x86c76d00
add esi, edi
add byte [eax], al
mov word [esi + 0xf704], 0xc746
xchg byte [0x790000f7], al
mov dword [esi + 0xf706], 0x786c758
test dword [eax], 0x86c80100
std
cmc
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
mov word [esi + 0xdff1], cs
mov cl, byte [esi + 0xf649]
push edi
push esp
test ch, al
add eax, 0x10109e9
add dword [ecx], eax
cmp eax, 0x354a3e47
cmp eax, dword [ebp + eax*8 + 0x45c78205]
jb 0x4110b2
add dword [edx + 0x24e70cf], eax
add ecx, ebp
or dword [ecx], eax
add dword [ecx], eax
add dword [esi + 0x36], eax
inc esp
inc ebp
dec esi
cmp byte [eax - 0x7c], cl
lds eax, [0x168c655f]
sbb dword [ecx], eax
add dword [ecx], eax
mov dl, byte [esi + 0xe6b5]
mov word [esi + 0xe6b5], es
mov word [ecx + 0x31], cs
mov cl, byte [esi + 0xe6b1]
mov word [esi + 0xe6b1], ss
mov dl, byte [esi + 0xea65]
pop eax
in al, dx
add eax, 0x4c434739
pushal
push esp
push ecx
test ch, al
add eax, 0x3539c482
add al, byte [ecx]
add ah, 0x5c
sbb eax, 0xf4820101
pop ebp
mov byte [ecx], al
add dword [esp + edx*2 + 0x57], ebx
test ch, al
add eax, 0x14e4cc82
add dword [ecx], eax
sub ah, 0x2e
mov ecx, 0x845c0101
mov esi, 0xea65
add dword [esi + 0x10], esi
enter 0xffffffffffffed86, 0xfffffffffffffffd
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
ljmp 0x868c
or bh, 0x70
dec esi
add al, byte [ecx]
jmp 0x14211c6