Function at 0x4160c3
Capabilities:
Encode data using xor

Disassembly:
retf
jnp 0x41608d
xchg dword [ecx], edx
cli
add dword [ecx], eax
inc esi
enter 0x1287, 0xfffffffffffffffa
xchg dword [edx], edx
cli
add dword [ecx], eax
enter 0x1387, 0xfffffffffffffffa
add dword [ecx], eax
push 0xfa1487c8
add dword [ecx], eax
arpl ax, cx
xchg dword [0x770101fa], edx
enter 0x1687, 0xfffffffffffffffa
add dword [ecx], eax
outsb dx, byte [esi]
enter 0x1787, 0xfffffffffffffffa
add dword [ecx], eax
jbe 0x4160be
xchg dword [eax], ebx
cli
add dword [ecx], eax
dec esi
enter 0x1987, 0xfffffffffffffffa
add dword [ecx], eax
jno 0x4160cc
xchg dword [edx], ebx
cli
add dword [ecx], eax
enter 0x1b87, 0xfffffffffffffffa
add dword [ecx], eax
arpl ax, cx
xchg dword [edx + edi*8], ebx
add dword [ecx], eax
outsb dx, byte [esi]
enter 0x1d87, 0xfffffffffffffffa
add dword [ecx], eax
enter 0x1e87, 0xfffffffffffffffa
add dword [ecx], eax
add dl, byte [ebp + 0x58]
test esi, eax
push es
and ebp, 0x6e
pop ecx
add eax, dword [edx]
pop ebp
push esp
push esp
test esi, eax
push es
xor esp, 0xfffffff3
xor al, byte [ebx]
add bl, byte [esp + edx*2 - 0x7d]
in al, dx
bound ebx, qword [eax - 0xb7cfdfe]
push edx
add al, byte [edx]
sub esp, 1
sbb dword [ebx], eax
add al, byte [ebx + 0x2308dec]
add bl, byte [eax + ecx*8 - 0x79]
xchg edx, eax
test byte [ecx], 1
push esp
enter 0xffffffffffff9387, 0xfffffffffffffff6
add dword [ecx], eax
jbe 0x41612f
xchg dword [esi + esi*8 - 0x3791feff], edx
xchg dword [ebp + 0x4b0101f6], edx
enter 0xffffffffffff9687, 0xfffffffffffffff6
add dword [ecx], eax
outsd dx, dword [esi]
enter 0xffffffffffff9787, 0xfffffffffffffff6
add dword [ecx], eax
arpl ax, cx
xchg dword [eax + 0x690101f6], ebx
enter 0xffffffffffff9987, 0xfffffffffffffff6
add dword [ecx], eax
enter 0xffffffffffff9a87, 0xfffffffffffffff6
xchg dword [ecx + 0x670101f6], ebx
enter 0xffffffffffff9a87, 0xfffffffffffffff6
xchg dword [edx + 0x460101f6], ebx
add dword [ecx], eax
inc esi
enter 0xffffffffffff9b87, 0xfffffffffffffff6
add dword [ecx], eax
imul ecx, eax, 0xffffff87
pushfd
test byte [ecx], 1
xchg dword [ebx + 0x6b0101f6], ebx
enter 0xffffffffffff9c87, 0xfffffffffffffff6
add dword [ecx], eax
je 0x41616e
xchg dword [ebp + 0x670101f6], ebx
enter 0xffffffffffff9e87, 0xfffffffffffffff6
add dword [ecx], eax
enter 0xffffffffffff9f87, 0xfffffffffffffff6
add dword [ecx], eax
jbe 0x416183
xchg dword [edi + 0x760101f6], ebx
enter 0xffffffffffffa087, 0xfffffffffffffff6
add dword [ecx], eax
jno 0x41618a
xchg dword [eax + 0x710101f6], esp
enter 0xffffffffffffa187, 0xfffffffffffffff6
add dword [ecx], eax
je 0x416191
xchg dword [ecx + 0x740101f6], esp
enter 0xffffffffffffa287, 0xfffffffffffffff6
add dword [ecx], eax
jnp 0x416198
xchg dword [edx + 0x7b0101f6], esp
enter 0xffffffffffffa387, 0xfffffffffffffff6
add dword [ecx], eax
inc edi
xchg dword [ebx + 0x470101f6], esp
enter 0xffffffffffffa487, 0xfffffffffffffff6
add dword [ecx], eax
jo 0x4161a6
xchg dword [ebp + 0x760101f6], esp
enter 0xffffffffffffa687, 0xfffffffffffffff6
add dword [ecx], eax
je 0x4161b4
xchg dword [edi + 0x7b0101f6], esp
enter 0xffffffffffffa887, 0xfffffffffffffff6
add dword [ecx], eax
push esi
enter 0xffffffffffffa987, 0xfffffffffffffff6
add dword [ecx], eax
jno 0x4161c9
xchg dword [edx + 0x460101f6], ebp
enter 0xffffffffffffab87, 0xfffffffffffffff6
add dword [ecx], eax
arpl ax, cx
xchg dword [esi + esi*8 - 0x3789feff], ebp
xchg dword [ebp + 0x630101f6], ebp
enter 0xffffffffffffae87, 0xfffffffffffffff6
add dword [ecx], eax
add dl, byte [ebx + eax*4 - 0x34]
imul byte [edx]
add al, byte [edx]
pop esp
push ebx
ljmp 0x4902