Function at 0x816e2a
Capabilities:
Encode data using xor

Disassembly:
mov ebx, eax
push edx
mov edx, ebx
neg word [esp + 1]
shl edx, 2
inc dword [esp]
mov eax, dword [esp]
call fcn.007a44c7
wait
xchg esi, eax
fdiv st(7), st(0)
jo 0x5da047
jne 0x5da05a
jo 0x5da084
std
outsb dx, byte [esi]
ljmp 0xb353
xor dword [ebp + 0x1f], ebx
pop edx
lahf
inc eax
cmpsb byte [esi], byte es:[edi]
invalid
xchg ecx, eax
je 0x5da0c3
adc al, 0xda
outsb dx, byte [esi]
or byte [eax + 0x2d], cl
pop esp
xor dword [esi - 0x14efb58a], ecx
dec eax
sub eax, 0x768e315c
dec edx
adc bl, ch
out dx, al
xchg esp, eax
xchg ebx, eax
sti
rcr ebp, 1
dec ebp
outsb dx, byte [esi]
hlt
loop 0x5da053
add al, 0xfe
add esp, ebx
pop es
mov bh, dl
outsb dx, byte [esi]
push cs
add byte [ebp - 0x7ca2f4cc], al
and bh, byte [edx - 0x2072f601]
shl esp, 0x27
vxorps zmm5 {k3} {z}, zmm0, dword [esi - 0x3c]{1to16}
add byte [ebp - 0x1728f2cc], al
xchg ebx, eax
scasd eax, dword es:[edi]
sar byte [eax - 0x61e6e05f], 1
movsd dword es:[edi], dword [esi]
and dword [ecx], edx
aas
mov dl, 0xa5
mov ebp, 0x2213a46b
jnp 0x5da0b9
lcall 0xe7f6, 0xb79e4fdb
stosd dword es:[edi], eax
sahf
mov bh, 0xf6
out 0xab, eax
ror dword [edx + ebp*8], cl
jg 0x5da0f7
cmpsd dword [esi], dword es:[edi]
test al, 0x79
in al, 0x26
test al, 0x84
cmc
xor eax, 0xecb3e785
shr byte [edi], 0xd5
sub dh, ah
hlt
mov edi, 0x87b14dc9
pop eax
sub eax, 0x7bf45212
dec ebp
push ss
insd dword es:[edi], dx
jmp 0xa6d232ba
mov dx, word [ebp + 4]
adc ebp, 6
mov eax, 0x18991b88
xor eax, eax
mov word [ecx + eax*2], dx
mov dword [esp + eax], edi
ret
movzx ecx, byte [esp + edx - 0x4813ca99]
xadd dword [esp + ecx - 0x1e], ecx
xor eax, ebx
xor byte [esp + edx - 0x4813ca99], ch
bswap eax
sar byte [esp + edx - 0x4813ca96], 0xa5
rol dword [esp + ecx*8 - 0xe0000f0], 0x39
xor eax, 0xc294a336
jmp 0x8d868c
lea eax, [eax + ecx - 0x75d3d0b5]
lea edx, [edx*2 - 0x506a3148]
bswap ecx
bswap edx
not eax
inc eax
shr byte [esp + ecx*2 - 0x3c017fff], 0xe3
ja 0xa72ef0
push ss
jnp 0x7d3c1c
call [ebp + 0x3f]
mov byte [0x7bf4f56e], al
insd dword es:[edi], dx
xchg ecx, eax
and dword [ecx], ebx
xchg esp, eax
invalid
xor esi, 0x26925ca3
push ss
fisttp dword [0x4eac723c]
pushal
insd dword es:[edi], dx
mov ah, 0x14
ret 0x50e
bts edx, edx
push ebp
movzx ebp, dl
shl dl, 0xe7
xor ebp, ebp
push ebx
movzx ebx, dl
add ebp, edi
ror bl, 5
jae 0x5d9fea
mov esi, 0x6d07242e
outsd dx, dword [esi]
inc edi
push 0xab6fadc3
xchg ecx, eax
ret 0xa5d5
inc ebp
xor ebp, edx
btr ebx, ebx
inc ecx
inc ebp
dec ecx
lea eax, [ecx + ebx*4 + 0x6073201]
xadd bl, ah
inc ecx
neg ebp
dec ax
dec eax
lea edx, [esi + ebx*8 - 0x5dc1136c]
inc esp
movsx ebx, dl
inc ecx
ror ebp, 2
dec esi
lea ebx, [eax + ecx - 0x264b524c]
inc esp
movzx edi, dx
inc ecx
push edi
inc ecx
xor ebp, 0xbf8fe435
neg byte [esp + esi*4 - 0xdf]
inc ecx
pop ecx
inc ecx
dec ebp
inc ecx
movsx ecx, di
inc ecx
push edx
inc ecx
not ecx
ror bx, 0x4a
inc cx
btr ebx, 0x9b
inc esp
xor dword [esp + esi - 0x39], ebp
inc ecx
pop edx
dec ebp
arpl bp, bp
jmp 0x9d4fd2
inc edx
xor dword [esp + edi - 0x355882f1], eax
sub dx, dx
dec esp
lea eax, [esi*2 + 0x6ca24e33]
inc ecx
sal ebx, 0x94
dec esi
mov edx, dword [esp + edi - 0x355882f1]
inc ecx
pop edi
jne 0xa00a34
movsx edx, cl
btr ecx, 0x21
adc esi, 3
inc ecx
and edx, 0x8a004385
sal dl, cl
xor eax, ebx
lea ecx, [edx + edx*4 + 0x4ca890a9]
neg eax
and cl, cl
inc eax
bswap eax
xor eax, 0xaa35639d
xor ebx, eax
add edx, 0x173d7f07
sar edx, cl
adc edi, eax
mov ecx, dword [ebp]
rol dx, 0x4c
push edx
jae 0x678f1e
add dword [esp + ecx - 0x1c0001e], 0x928c829d
jne 0x7d3bdc
dec edx
lea edi, [edi + eax - 0x6996c91d]
inc ebp
movzx ebx, di
inc ecx
inc bl
not edx
add cx, 0x819f
call fcn.007cec64
shr ebp, 0x44
movzx bp, byte [esp + ebp*8 - 0x35a96f7]
mov ebp, dword [esp + ebp*2 - 0xd5ffec]
shr dword [esp + 0x18], 0xdd
and word [esp + 0x18], 0x6285
shl word [esp + 0x18], 0xfa
mov dword [esp + 0x18], 0x790349ae
not byte [esp + 0x18]
neg dword [esp + 0x18]
neg word [esp + 0x18]
jo fcn.0062599a
push dword [esp + 0xc]
popfd
lea esp, [esp + 0x28]
call fcn.00a7dfc2
mov edi, 0x6a0080e0
xchg ebx, eax
or al, 7
lea esi, [ecx + ebp*4 + 0x166e92e3]
invalid
dec ebp
add esp, ebp
inc ecx
mov eax, 0x7b31d411
dec eax
mov ecx, dword [esi + edi - 0x39]
inc esi
mov esi, dword [edi + esi*2 - 0x6a]
inc sp
xor ebx, eax
setb bl
inc ecx
rol edi, 0x33
dec eax
lea edi, [edi + esi - 0x2d]
dec esp
adc edi, ebx
dec eax
cdq
inc esp
mov dword [ecx + esi - 0x39], esi
dec ecx
lea ecx, [ecx + eax*2 - 0x4ef318f9]
dec eax
cwde
dec eax
btr ebx, 0xa5
dec ecx
or edx, esp
jmp edx
dec eax
arpl ax, ax
movzx ecx, dl
dec esp
adc esp, eax
inc esi
movsx ebp, word [esp + ebx - 0x549ffffe]
call fcn.0064bab5
xor bl, dl
push eax
lea edx, [esp + edx + 4]
movzx cx, byte [edx]
mov edx, 0x641fcbba
lea esi, [esi + edx - 0x641fcbbc]
cdq
lea edx, [eax + eax*2 - 0x57ec35c1]
ror word [esp + edx - 0x4813ca97], 0xa7
mov word [esi + edx - 0x4813ca99], cx
shl ax, 0x25
mov eax, dword [ebp + edx - 0x4813ca99]
lea ebp, [edx + ebp - 0x4813ca95]
jns 0x6806ae
inc ecx
mov eax, 0x6996c921
inc ebp
movsx ebp, al
inc edx
mov edx, dword [edi + ebp*2 - 0x42]
inc ebp
movzx ecx, ch
inc ecx
movzx ecx, ax
dec esi
lea edi, [ebp*8 - 0x7ec21c6d]
inc esi
mov esi, dword [edi + eax - 0x6996c91d]
sal ecx, 0x71
js 0x96d39a
invalid
xor ebx, eax
shr dx, cl
add edi, eax
xchg byte [esp + ecx*4 - 0x78030003], cl
push ecx
sal dx, cl
pop ecx
pop eax
jb fcn.009cfbdf
jl 0x7d85c2
inc ecx
mov ebp, 0x8eb39939
inc ecx
movsx esi, ch
inc esp
mov ebp, dword [ebp + esi*2 - 0x72]
dec esp
lea ecx, [esi + esi + 0x4f2adc83]
inc eax
movzx ebx, dh
dec eax
lea ebp, [ebp + esi*2 - 0x6e]
inc esp
mov esi, esi
jmp 0x7d9d8e