Function at 0x10384251
Capabilities:
Encode data using xor

Disassembly:
adc di, sp
mov edi, dword [edx + 0x1c]
pushfd
add edi, eax
pushfd
pushfd
test dh, 0x5f
clc
mov edi, dword [edi + ecx*4]
test cx, bx
pushal
mov byte [esp + 0xc], 0x40
test ch, 0xf6
test edi, edi
push 0x797fbdb5
mov word [esp + 8], 0x16c3
push ecx
pushfd
lea esp, [esp + 0x38]
je fcn.10382e96
pushfd
pushal
pushal
cmp ah, 0xe4
add eax, edi
cmc
jmp 0x10381b33
pushfd
lea esp, [esp + 4]
jae fcn.10382e96
pushfd
push 0xfd1c1436
mov byte [esp], 0x3c
lea esp, [esp + 8]
jmp 0x1036d134
jmp 0x10581d26
sub eax, 0x757b84ae
inc ecx
out 0x61, al
wait
mov ecx, 0x790266fd
ror byte [edi + ecx - 0x46f80893], 0xc2
dec ebx
sahf
push eax
invalid
add bh, byte [ecx - 0x69]
dec ecx
jb 0x1036f7c6
push cs
sub al, 0x80
cmp byte [ebp - 0x17aca8f6], cl
hlt
movzx di, al
movzx si, cl
pop edi
lea esi, [esp + 0x3ead0f6]
call fcn.103822ed
add dword [eax], eax
xor byte [esi + edx*4], ch
mov al, byte [0x2d3e08cb]
fistp qword [ebx - 0x5f]
sbb dl, byte [edi - 0x7d]
cmp eax, 0x8da4f75f
outsb dx, byte [esi]
push edi
mov dword [0x90cb4a31], eax
pop ebp
jg 0x1036f839
mov ebp, ebp
dec esi
scasd eax, dword es:[edi]
insb byte es:[edi], dx
repne outsb dx, byte [esi]
mov al, 0x2c
cmc
call dword [edi - 0x6315614a]
pushfd
aas
cmp eax, 0xb3b40714
pop ss
sti
sub al, 0xc6
mov dl, 0x30
loop 0x1036f7e1
cwde
dec edx
mov dh, 0x7f
call 0xf605603c
jg 0x1036f80b
and ebp, dword [ebx]
add eax, 0x115f66e2
lodsd eax, dword [esi]
adc eax, 0x1ad3f9af
hlt
jae 0x10382ea9
shld bx, cx, 0xb
mov ebx, eax
rcl cx, cl
bsr di, sp
setl cl
lea ecx, [edx + 0x5e11c3e7]
mov edi, eax
shrd ecx, ebx, 1
cmc
mov ecx, 0x104
cmp di, di
sub al, al
cmc
cmp ebp, esp
repne scasb al, byte es:[edi]
jmp 0x1036eb31
pushfd
test cl, 0xb8
cmp eax, edx
push 0xc1b7b055
mov word [esp], 0x770d
lea esp, [esp + 0x4c]
jb 0x10382ea9
clc
bt bp, 9
cmp esp, edx
cmp eax, dword [ebp - 0x10]
jmp 0x1036fdf6
stc
sub ecx, dword [edx + 0x10]
stc
jmp 0x10592cea
jmp 0x104bfb0a
pushal
push 0xcc226eb8
pushfd
lea esp, [esp + 0x3c]
jbe 0x1038273d
stc
sbb ch, 0x63
mov edi, dword [edx + 0x24]
xadd bh, cl
jmp 0x1058f091
sbb al, 0x88
dec esp
and al, 8
add byte [edx + 0x66], bl
bswap esi
pop edx
bswap si
pop ebx
push ebp
lea esp, [esp + 4]
jo 0x10592b17
pop edi
call 0x105920c7
sbb eax, 0xce95a1be
sbb eax, 0xd6c4123e
outsb dx, byte [esi]
sub eax, 0xf0aa3704
push esp
push es
xchg ebp, eax
nop
sub al, 0x72
dec ecx
add al, 0x10
jle 0x104bfad9
sub byte [esi + ebx*8], dl
pop ebp
pushfd
fsubp st(3)
bound ebx, qword [0x9ca01ba1]
inc ebp
mul dword [ebx]
popfd
pop ecx
jge 0x104bfb09
in eax, 0x82
ljmp 0x68cc
lea esi, [ebp - 0x6190e994]
pop esi
jmp 0x10592ce5
push ebx
lea esp, [esp + 4]
jne fcn.10382e96
shrd si, bx, cl
adc esi, eax
bts cx, si
mov ecx, edi
shrd si, si, 3
cmc
test edx, esi
bt bp, ax
sub ecx, ebx
shr si, 0xa
lea esi, [eax*8 + 0x21ed710]
mov esi, esp
jmp 0x10590e41
test ebp, ebx
fsubr qword [ebx + 0x339a87c1]
js 0x1058f0ce
xor edi, dword [eax + 0x6a]
or eax, 0x23b2211b
jl 0x1058f0b2
sal byte [ebx], 0xeb
pushal
pop ss
sti
popfd
xor dword [esi], 0x69
in al, dx
and eax, 0x610ad193
pushfd
and byte [edi], 0xea
jae 0x1058f061
push edx
xor esi, dword [edx - 0x17]
invalid
add edi, eax
lea ebx, [ebp*2 + 0x22e5aa7c]
pushal
mov ebx, dword [edx + 0x20]
bts cx, sp
btc cx, bx
add ebx, eax
bsr ecx, ebx
clc
mov dword [ebp - 8], 0
sbb cx, sp
cmc
add byte [esi + 0x19], ah
loope 0x1058f0ac
btc cx, di
cmp dh, ch
mov ecx, dword [edx + 0x18]
lea esp, [esp + 0x20]
stc
cmp ecx, dword [ebp - 8]
call fcn.104c109b
jo 0x1058f05a
mov ebx, dword [edx + ebx]
sbb al, 0x1a
ret
sub edi, 4
bt sp, dx
cmp bh, 0x18
push dword [edi]
jmp 0x105920c0
push ebp
cmc
call fcn.104b7142
mov esi, dword [esp + 4]
pushfd
mov esp, ebp
mov bp, 0xd3f0
mov bp, 0xdea7
pop ebp
push 0x2c8a43d4
pushfd
pushal
push dword [esp + 0x28]
ret 0x34
pushal
xchg di, si
lea esp, [esp + 0x20]
ja 0x1036f7f8
pop edi
not si
jmp 0x105819f5
call fcn.1038350c
bt esi, 9
cmp ecx, dword [edx + 0x14]
pushal
lea esp, [esp + 0x20]
je 0x1036e5fd
pushfd
mov byte [esp], 0x75
lea esp, [esp + 4]
jae fcn.10382e96
pushal
pushal
push esi
pushfd
lea esp, [esp + 0x48]
jmp 0x1036d134