Function at 0x162c00b
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x80c
mov eax, dword [0x13869788]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
lea ecx, [ebp - 0x80c]
push ecx
lea ecx, [eax + 0x124]
push ecx
add eax, 0x14a
push eax
lea eax, [ebp - 0x808]
push eax
xor esi, esi
call fcn.0162364a
test eax, eax
jl 0x1623634
mov esi, dword [0x1386839c]
push ebx
mov ebx, dword [0x13801060]
push edi
mov edi, 0x401
test esi, esi
je 0x162bdac
cmp dword [esi + 0xa60], 0
jg 0x1623993
push edi
lea eax, [esi + 0x212]
push eax
lea eax, [ebp - 0x808]
push eax
call ebx
add esp, 0xc
test eax, eax
jne 0x1623993
pop edi
pop ebx
mov ecx, dword [ebp - 4]
mov eax, esi
xor ecx, ebp
pop esi
call fcn.0161f8d0
leave
ret 4
mov esi, dword [esi]
jmp 0x1623601
add eax, dword [eax + 0x4811815a]
add byte [ebx], cl
dec esp
add byte [eax - 0x7fa0ffb3], cl
adc dword [eax], ecx
dec ebx
add byte [eax + eax - 0x78], cl
dec ebp
add byte [edi - 0x80], bl
daa
dec ebp
add byte [edi - 0x80], dl
add ebp, dword [eax]
inc ebx
add byte [esi - 0x80], dl
add cl, byte [ecx - 0x80]
pop es
pop edi
add byte [esi + 0x7a], dh
and byte [ecx - 0x7fa0547f], 0x59
add dword [ecx], 0x4234a181
add byte [0xa771af00], cl
dec eax
or byte [ecx], 0x98
test al, 0x5c
add byte [edx - 0x80], dl
das
or byte [si - 0x7f8d], 0x2f
push 0x82790072
inc edx
popal
adc byte [edx - 0x7f], 0x96
outsb dx, byte [esi]
lodsd eax, dword [esi]
or byte [0x812b805c], 0x9d
or byte gs:[esi + 0x61], 0x80
push cs
xor byte [edi - 0x80], 0xd
insd dword es:[edi], dx
add byte [edx], bh
add byte [edi], ch
add byte [eax], 0xaa
dec ebp
sbb byte [ebx], 0x63
sbb byte [ebp + 0x6f], 0x82
mov bl, 0x66
and byte [eax], 0xaa
sub eax, 0x80694880
enter 0xffffffffffff8064, 0x43
ja 0x162bdb0
or al, byte [eax]
sub eax, 0x45004900
add byte [0x8050a200], ch
jne 0x162beb4
add byte [edi - 0x80], ah
add byte [ecx - 0x7e], ah
mov bl, 0xe8
add byte gs:[eax - 0x80], cl
jno 0x162bebb
rcl byte [ecx - 0x3f], 0x37
inc ecx
jg 0x162bdfe
inc ecx
inc edx
or eax, 0x631c4053
inc eax
jae 0x162bed0
inc eax
push ss
mov edx, 0x5a234074
invalid
xor eax, 0x150044cd
jb 0x162bf14
inc esp
add byte [0x89ff5b72], dl
dec dword [ecx + 0x206582e1]
mov byte [ecx + 0x7ce06819], ah
insd dword es:[edi], dx
loope 0x162be3f
and byte gs:[eax - 0x1f97e65f], cl
jl 0x162bf33
stc
and byte [eax - 0x7600ffa4], al
pop esp
add bh, bh
mov edi, edi
mov dword [ecx + 0x43], esp
dec dword [ecx - 0x207601]
into
dec esi
inc ebx
dec dword [ecx - 0x207601]
into
dec esi
dec dword [ecx - 0x76003101]
loopne 0x162beb2
dec esi
jle 0x162bf55
pushal
mov bh, 0xff
into
dec esi
dec esi
into
out dx, eax
inc esp
push eax
outsd dx, dword [esi]
inc dword [eax + edx*4 + 0x5f]
adc dword [eax], edi
jg 0x162bf64
arpl word [eax], dx
push 0xfa6f677f
add byte [edi + 0x67], bh
jae 0x162bf19
jg 0x162bf73
int1
cmp byte [edi + 0x67], bh
jg 0x162bf79
invalid
and dh, bl
jns 0x162bf17
dec dword [ecx + 0x44ff30b1]
dec dword [ecx - 0x76007601]
stosd dword es:[edi], eax
dec dword [ecx - 0x4f93dd81]
adc dword [ebx - 0x10], esp
mov dword [ecx - 0xbb00d0], esi
mov edi, edi
mov edi, edi
mov dword [ebx + 0x227f89ff], ebp
mov cl, 0x30
inc dword [edi + edi*8 - 0x77]
dec dword [ecx - 0x547601]
mov dword [edi + 0x22], edi
insb byte es:[edi], dx
mov al, 0x11
arpl ax, si
jg 0x162bf94
nop
jno 0x162bfa1
dec dword [ecx - 0x76007601]
inc dword [esi + ebp*2 + 0x12]
jbe 0x162bf3d
mov edi, edi
mov edi, edi
mov edi, edi
inc esp
outsb dx, byte [esi]
adc dh, byte [esi - 1]
dec dword [ecx + 0x39d0dd3d]
insb byte es:[edi], dx
mov dword [0x6c39d0dd], edi
cmp dword [eax + edx*2 + 0x7b], ebp
push eax
jnp 0x162bf46
dec dword [ecx + 0x70618fd1]
je 0x162bf1f
mov ecx, edx
invalid
popal
jo 0x162bfc1
rol dword [eax + 0x2106556], 1
adc byte [esi + 0x65], 0x10
add dl, byte [ecx + 0x5a306581]
je 0x162bf4a
adc byte gs:[edx], al
xchg ecx, eax
and dword [ebp + 0x30], 0x7ef0745a
pop esp
xor byte gs:[edx + 0x74], bl
invalid
jle 0x162bfb8
xlatb
jo 0x162bfdc
jge 0x162bf5f
dec dword [ecx + 0x107389ff]
mov edi, edi
mov dword [ebx + 0x10], esi
adc byte [ebx + 0x31003231], cl
mov esi, dword [ecx]
xor al, byte [eax]
xor dword [edx + edi*8], edx
add byte [ecx], dh
adc al, 0xfa
cmp esi, edi
inc esp
wait
jg 0x162bf94
xchg edx, eax
jnp 0x162bf74
dec dword [ecx + 0x227f227f]
mov dword [edi + 0x22], edi
jg 0x162bf9c
and bl, bl
dec dword [ecx + 0x106c89ff]
pop ebx
dec dword [ecx - 0xf20d9c]
mov dword [edi - 1], edi
mov edi, edi
mov dword [edi - 0x54], edi
jg 0x162bf3e
invalid
inc dword [edi + edi*2 - 0x54]
jg 0x162bf42
rcr dword [ebx + esi*2 + 0x721a50f9], 1
add byte [edi + 0x67], bh
jb 0x162bf9e
jg 0x162c007
jg 0x162bf4e
lodsb al, byte [esi]
jg 0x162bf50
dec dword [ecx - 0x249881]
inc esp
push ebx
stosd dword es:[edi], eax
arpl word [eax + 7], si
jg 0x162bf5e
nop
push ds
xchg edi, eax
add dword [edi + 0x7f], edi
jg 0x162bf68
jg 0x162c021
jg 0x162bf68
jg 0x162bfe0
jg 0x162bf6c
jg 0x162bf6e
lodsb al, byte [esi]
jge 0x162bf70
inc dword [esi + eax*8 - 1]
jg 0x162bfec
jg 0x162bfee
mov al, 0x29
jg 0x162c037
jg 0x162c039
shl dword [eax + 0x44ff1671], 1
std
inc dword [edi - 0x30]
xor edi, edi
inc esp
sal byte [ecx], 1
inc dword [edi + edi*2 + 0x22]
jg 0x162c004
jg 0x162c006
jg 0x162c008
jg 0x162c00a
fistp qword [edi + 0x22]
jg 0x162c00f
and bh, byte [edi + 0x22]
jg 0x162c011
and bh, byte [edi + 0x22]
jg 0x162c013
dec esi
js 0x162bff4
dec esi
into
inc dword [ebx + edi*8 - 0x50]
dec esi
xor esi, dword [eax - 0x31]
inc dword [edi + edi*8 + 0x44]
inc dword [ebp + edx*4 - 0x30]
xchg ebp, eax
sar byte [edi + 0x7f], 1
jg 0x162c089
and bh, byte [edi + 0x22]
jg 0x162c031
jg 0x162c033
jg 0x162c035
jg 0x162c037
or eax, 0x73fe0145
dec dword [ecx + 0x44ff1411]
inc dword [edi + edi*8 + 0x44]
inc dword [edi + edi*8 + 0x44]
ja 0x162c029
inc esp
inc dword [edi + edi*8 + 0x44]
inc dword [edi + esi*2 - 1]
inc dword [ecx + esi*2 + 0x61]
inc esp
jno 0x162c08e
inc dword [ebp - 0x10]
aam 0x51
cmp al, 0xb1
sbb bh, byte [ecx - 0x46]
add bh, bh
into
mov edx, 0x73ceff00
xor byte [edi - 0x4f], bl
cmp byte [edi - 0xf], bh
dec esi
jae 0x162c06d
pop edi
mov cl, 0x38
jg 0x162c033
adc dh, bl
cmp byte [eax], dh
mov ebx, 0xf17f0038
add byte [edi - 0xf], bh
mov cl, 0x63
jg 0x162bffd
dec esi
salc
jb 0x162c026
pop es
jg 0x162c04a
cmp eax, 0xf038ead0
push ds
xor edx, edx
pop ds
inc dword [edi + edi*8 + 0x44]
inc dword [edi + edi*8 + 0x44]
inc dword [edi + ebp*2 - 0x2a]
add byte [ebp + eax*2], ch
or byte [ebp], dl
cwde
add byte gs:[edx], dh