Function at 0x10001d00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x30158b8
mov eax, dword fs:[0]
lea esp, [esp - 4]
push eax
lahf
pushfd
or ah, 0x11
push ebx
bt ebx, 5
push ecx
not cl
push edx
cdq
aad 0xa
xor dx, dx
mov ax, 0x551e
mov cx, 0x3ec4
div cx
xor edx, edx
mov eax, 0xbcf8
mov ecx, 0x8e66
div ecx
inc bh
inc ax
dec bx
neg edx
inc cl
push ecx
and eax, ecx
inc ebx
not ebx
sahf
xchg cx, bx
stc
bts ax, 2
shr bx, 2
mov ebx, dword [esp + 0xc]
cdq
daa
xor edx, edx
mov eax, 0xb45c
mov ecx, 0xcfaf
div ecx
mov eax, dword [esp + 0x10]
push eax
popfd
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
lea esp, [esp + 0x18]
mov dword [esp], eax
push ecx
jmp 0x10001dc5
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [0x3027864]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [edi], 0x301d468
mov esi, dword [edi + 0x14]
mov dword [ebp - 4], 0
test esi, esi
jmp 0x10001e97
push esi
push edi
jns 0x10001d98
lea esp, [esp - 0x14]
pushfd
push ecx
push edx
bsr cx, dx
push eax
cdq
cwd
push ebx
ror ch, 1
cmc
push ebx
dec ebx
not ecx
not bx
lea esp, [esp - 4]
pushfd
push ecx
inc ch
push ebx
xor ebx, ecx
push eax
aam 0xa
push edx
dec edx
das
bsf ax, bx
mov edx, edx
inc edx
cdq
cdq
mov eax, 0x2190
mov ecx, 0x839e
mul ecx
clc
aas
cdq
mov edx, dword [esp]
cmc
neg bx
ror ebx, 0
mov ebx, dword [esp + 8]
neg ah
bt ecx, 1
mov ecx, dword [esp + 0xc]
daa
aad 0xa
clc
aam 0xa
cmc
lahf
aaa
mov eax, dword [esp + 0x10]
push eax
popfd
mov eax, dword [esp + 4]
lea esp, [esp + 0x14]
mov dword [esp], ebx
nop
bswap ecx
sar dx, 6
pop eax
cwd
clc
add al, 0x59
xchg dx, dx
sub al, dl
lahf
bsf eax, ecx
inc bx
sub cl, dl
mov edx, dword [esp + 0xc]
test dh, dh
add cx, 0x26be
bswap ebx
mov eax, dword [esp]
mov dword [esp + 0x28], eax
pop ecx
mov ecx, dword [esp + 0xc]
nop
bswap ebx
not bl
sub ax, bx
mov eax, dword [esp + 4]
neg bh
mov ebx, dword [esp + 0x10]
push ebx
popfd
mov ebx, dword [esp + 0x24]
lea esp, [esp + 0x28]
js 0x10001d98
je 0x10001fa8
lea eax, [esi + 0xc]
mov ecx, esi
mov esi, dword [eax]
mov dword [eax], 0
mov eax, dword [ecx]
mov edx, dword [eax]
lea esp, [esp - 4]
pushfd
push edx
not dh
push eax
push ebx
and bh, ah
push ecx
shl cx, 2
mov eax, 0x1ee9
mov ecx, 0x75e4
mul ecx
bts cx, 4
xor cl, ah
inc eax
xor ax, 0xb4
das
aas
xor ebx, 0x2cd4
daa
sub ecx, 0xffffb7b5
inc ecx
xchg ch, dh
push eax
lea esp, [esp - 4]
pushfd
push eax
shl eax, 0
cbw
cbw
dec ax
push ebx
bswap ebx
lahf
das
push edx
shl edx, 0
xor edx, 0xbd
push ebx
not dx
cdq
neg ah
neg ax
cdq
and al, dh
bsf ebx, eax
rol dl, 3
mov eax, 0x1c14
push ecx
mov ecx, 0xacc7
mul ecx
aaa
lahf
bswap ebx
or dx, dx
bts dx, 1
xchg dx, ax
shl edx, 3
sub cx, 0x1315
mov ecx, dword [esp]
pop edx
bswap edx
mov edx, dword [esp + 4]
inc ebx
bswap ebx
mov ebx, dword [esp + 8]
sar ah, 1
mov eax, dword [esp + 0x10]
push eax
popfd
mov eax, dword [esp + 0xc]
lea esp, [esp + 0x14]
mov dword [esp], ebx
bsf eax, ebx
bswap eax
mov ax, 0xfd
mov cx, 0x5d
mul cx
mov edx, dword [esp + 0x14]
bts cx, 4
mov ecx, dword [esp + 8]
shl ax, 5
or eax, ebx
mov eax, dword [esp + 0x18]
push eax
popfd
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
lea esp, [esp + 0x1c]
mov dword [esp], 1
call edx
test esi, esi
jne 0x10001e9d
mov dword [edi], 0x301d460
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
jmp 0x10001d93