Function at 0x163ff70
Capabilities:
Encode data using xor

Disassembly:
cdq
or ch, ch
ljmp 0x8eb
jmp 0x163ff7a
jmp 0x163ff7a
pushal
call 0x163ff80
add byte [eax], al
pop ebp
sub ebp, 0x10
sub ebp, 0x123ff70
jmp 0x163ff96
add byte [eax], al
mov esp, 0xb86bb746
jo 0x163ff98
mov eax, 0x123ff70
jmp dword [ebx]
and eax, dword [ecx]
add eax, ebp
add eax, 0x4c
mov ecx, 0x584
mov edx, 0x9c8cf47a
add eax, 0x7aba0000
hlt
xor byte [eax], dl
inc eax
dec ecx
jne 0x163ffad
jmp 0x163ffc0
int1
mov bh, 0xf1
inc esi
inc esi
jp 0x1640041
jp 0x163ffc4
mov ebx, 0x7a7a7a82
jns 0x163ff87
ret 0x7a7d
push edx
jp 0x1640053
jp 0x163ff68
cwde
jns 0x163ff90
int1
sti
jbe 0x164005c
jp 0x164005e
jns 0x163ffa5
sub ch, byte [edx]
adc bl, byte [esi]
push ds
jno 0x1640046
jp 0x1640000
jno 0x163ff7e
jns 0x164006d
jnp 0x164004a
pop esi
adc dl, byte [eax - 0x6dd878e2]
jg 0x1640077
jp 0x1640079
xchg ebx, eax
push edx
jp 0x164007d
jp 0x1640034
int1
xchg esi, eax
int1
push dword [edx + 0x7a]
jp 0x1640087
int1
out dx, eax
jbe 0x164008b
jp 0x164008d
int1
imul dword [edx + 0x7a]
jp 0x1640093
mov ebx, 0x784b7893
stc
mov eax, 0xff75337e
mov es, word [ebp - 0x47d87a7b]
jbe 0x16400a6
int1
neg byte [esi + 0x7e]
jp 0x16400ac
jp 0x1640046
push ds
jno 0x1640091
jp 0x164004b
jno 0x163ffc9
jns 0x16400b8
jnp 0x1640095
pop esi
sub edx, dword [edx + 0x7a7a7a7f]
xchg edx, eax
jg 0x16400be
jp 0x16400c0
xchg ebx, eax
cmp edi, dword [eax + 0x7a]
jp 0x164007b
das
not dword [esi]
push ss
pop esi
jp 0x163ffd6
pcmpeqd mm0, qword [ebp + 0x892720f]
test dword [edi], ecx
jb 0x163ffe9
or byte [edx + 0x7a], bh
jp 0x16400d4
jp 0x164004d
invalid
jb 0x16400d9
jp 0x16400da
jp 0x16400db
jp 0x164005d
sti
mov ebp, dword [edx]
int1
rol byte [eax - 0xed57405], cl
rol byte [eax - 0x57b64cb7], cl
stc
dec ecx
mov bl, 0x49
dec ecx
test al, 0xf9
xchg edx, eax
jg 0x16400a7
jne 0x1640075
xor al, 0x7a
jp 0x16400f5
jne 0x164006f
xor bh, byte [edx + 0x7a]
jp 0x164009e
int1
inc bx
cli
adc dword [edx + 0x7a60fe75], 0x81fa7a7a
xchg ebx, eax
xchg edx, eax
jne 0x1640088
invalid
pushal
jp 0x1640107
jp 0x1640089
adc dword [ebx + 0x7a6bfe75], 0xfb1c7a7a
jne 0x1640091
imul edi, dword [edx + 0x7a], 0x7a
jp 0x1640111
sbb al, 0xfb
add dword [ebp + 0x6ffe755f], 0x3b7a7a7a
outsd dx, dword [esi]
jp 0x164011b
jp 0x16400de
xchg ebx, eax
mov dh, 0x85
test dword [ebp + 0x7b433653], eax
test dword [ebx + 0x36], edx
inc ebx
jnp 0x16400a6
stc
mov ebx, 0x7e92f97f
xchg ebx, eax
mov dword [ebp + 0x2e538585], 0xbbf97843
jl 0x16400b8
test dword [ebp + 0x78432e53], eax
inc ebx
js 0x16400b5
stc
mov ebx, 0x7e90f97c
stc
stc
nop
jle 0x16400bb
xchg edx, eax
jg 0x1640058
rol dword [ebp - 0x47d87a7b], 1
jbe 0x1640147
das
int1
xchg esi, eax
sub al, 0x2d
das
int1
pcmpeqd mm6, mm1
pop es
jb 0x1640060
xchg al, cl
enter 0xfffffffffffff0fa, 0x7c
cli
invalid
sti
mov esp, 0x7a7a7a7b
jp 0x164015e
bnd jge 0x16400e2
mov ebp, 0x7a7a7a7b
sar dword [eax + 0x7a], 0x7a
jp 0x164016a
test al, 0x75
invalid
jg 0x1640171
jp 0x1640173
invalid
invalid
invalid
test al, 0x75
stc
jne 0x164010c
adc byte [edx + 0x7a], bh
jp 0x1640161
mov edx, 0xff75a878
jne 0x164011c
invalid
jg 0x1640199
jp 0x164019b
invalid
test al, 0x69
mov edx, 0xff75a878
jg 0x16401ca
jp 0x16401cc
invalid
jp 0x16401da
jp 0x1640152
invalid
insb byte es:[edi], dx
cmp al, 0x68
test al, 0x69
push 0x75ba69a8
invalid
mov edx, 0x7a7cfe75
jl 0x16401e6
jp 0x16401e8
int1
movsd dword es:[edi], dword [esi]
push ecx
mov byte [0x7df279f0], al
cmp eax, 0x7a7a78c1
jns 0x1640167
jge 0x16401b4
sar dword [eax + 0x7a], 0x7a
jp 0x16401f5
jp 0x1640110
or al, byte [ebp + 0x7bc28585]
jp 0x16401ff
jp 0x16401ff
test al, 0x75
invalid
jg 0x1640215
jp 0x1640217
invalid
test al, 0x75
clc
movsb byte es:[edi], byte [esi]
test dword [ebp - 0x3e46ae7b], eax
jnp 0x1640227
jp 0x1640229
jne 0x16401b0
dec dword [esi + 0x7a]
jp 0x164022f
dec esi
jp 0x164022e
jp 0x1640179
ret
jnp 0x1640232
jp 0x1640234
js 0x1640164
jne 0x16401bd
invalid
jg 0x164023a
jp 0x164023c
invalid
test al, 0x75
invalid
movsb byte es:[edi], byte [esi]
test dword [ebp - 0x720ed37b], eax
push ecx
test dword [ebp + 0x518df12c], eax
lea edx, [ecx - 0x71]
mov esi, ebx
and al, 0x93
jb 0x164016c
invalid
test dword [ebp - 0x6544cd7b], eax
jb 0x16401de
test dword [ebp + 0x729abb32], eax
invalid
test dword [edx], esi
mov ebx, 0x7cf0729a
cmp al, 0xf1
jl 0x164022c
int1
xchg edx, eax
ret
jp 0x1640271
js 0x16401a1
jne 0x16401fa
invalid
jg 0x1640277
jp 0x1640279
invalid
jp 0x16401ff
insb byte es:[edi], dx
cmp al, 0x68
test al, 0x75
clc
movsb byte es:[edi], byte [esi]
test dword [ebp + 0x7a82fb85], eax
pop es
test dword [ebp + 0x77a82fb], eax
jp 0x1640299
sti
mov dword [0x85858585], eax
sti
cmp byte [edx + 0x7f], 0x7a
jp 0x1640227
jp 0x16402a8
jp 0x16402a5
sti
mov dword [0x85858585], eax
sti
test dword [ebp - 0x57d047b], eax
test dword [ebp + 0x7afa82fb], eax
cmp dl, 0x7a
cli
jp 0x16402b0
jp 0x16402b1
jp 0x1640233
sti
stosd dword es:[edi], eax
jp 0x16402b5
jp 0x16402b6
jp 0x16402b7
jp 0x1640239
sti
cmp dl, 0x7a
jp 0x16402bd
sti
stosd dword es:[edi], eax
jp 0x16402c1
jp 0x16402c3
sub al, 0xf1
lea edx, [ecx - 0x76]
mov esi, ebx
and al, 0x93
loope 0x16401d8
test dword [ebp + 0x493c7cf0], eax
mov bl, 0xba
xchg edx, eax
invalid
jnp 0x16402d4
invalid
int1
xchg edx, eax
sub al, 0xf1
lea edx, [ecx - 0x76]
push ecx
mov cl, byte [ecx + 0x7bc124de]
jp 0x16402f2
mov esi, ebx
and al, 0xc1
jnp 0x16402f1
sar dword [ebx + 0x7a], 0x7a
jp 0x16402f3
jp 0x164020d
xchg ebx, eax
or dword [ebp + eax*4 + 0x7512785], eax
test dword [edi], esp
push ecx
pop es
jb 0x1640274
mov ebp, 0x9ff12425
daa
mov eax, 0x24257a72
xchg ebx, eax
jle 0x164030b
jp 0x164030d
movzx esp, sp
or eax, edx
or al, byte [ebp - 0x408684a7]
test dword [ecx + 0x7b], ebx
jns 0x164025d
sti
mov edx, 0x7a7a7937
ret
stc
js 0x1640322
jp 0x164026a
int1
jle 0x16402f6
ret 0x6a4a
cmp dh, byte [ebx]
jne 0x16402b3
xor esi, dword [ebp - 1]
dec dword [ebp + eax*4 + 0x7e938585]
mov word [ebp + 0x7e938585], es
test dword [ebp + 0x7a7e9385], eax
jp 0x1640337
test dword [ebp + 0x7a7a7e93], eax
test dword [ebx + 0x7a7a7a7e], edx
jp 0x1640336
jp 0x164027d
mov edi, 0x76c44b2a
invalid
sub cl, byte [ebx - 0x3c]
jbe 0x16402d2
jp 0x1640254
int 0x7a
dec ebp
invalid
jp 0x1640256
or ebp, 0xc1757a67
vpsllw xmm6, xmm1, xmm1
int 0x67
jp 0x164034e
rol ebp, 0xf1
int1
int1
fisubr dword [ecx]
jp 0x1640288
int1
jbe 0x16402ed
jp 0x164026f
cmc
jbe 0x16402f2
jo 0x16402f7
int1
int1
int1
int1
invalid
jne 0x16402aa
mov bh, 0xf1
int1
int1
int1
daa
daa
jo 0x1640330
stc
int1
int1
int1
jo 0x1640318
stc
int1
int1
int1
jo 0x164030e
int1
int1
int1
int1
invalid
jne 0x164032e
push cs
push cs
push cs
xchg edi, eax
jp 0x1640309
xor byte [ecx], bl
std
jb 0x1640329
invalid
int1
invalid
int1
int1
int1
xchg edi, eax
jp 0x164031e
jo 0x164033b
adc dword [esi], ecx
push cs
invalid
xor esi, eax
jmp 0x37d6bbee
invalid
sbb byte [ecx], bh
sbb byte [ecx], bh
push cs
push cs
push cs
sbb ch, dh
int1
int1
int1
xchg ebx, eax
inc eax
mov ebx, 0xe8149c5
sal al, cl
xor al, 0x70
xor dword [edx], ecx
int1
or dh, dl
int1
int1
dec eax
and al, 0xf0
int1
int1
dec ebx
inc ecx
mov edi, 0xe1c136eb
mov cl, 0xb8
invalid