Function at 0x10001044
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, 0x10014efc
sub byte [esi - 0x1a3], 0xd8
pop esi
jmp 0x1000107d
jmp 0x100010a4
xor eax, eax
jmp 0x10001414
call fcn.100010ab
test eax, eax
jne 0x10001422
ret
push ebp
push eax
mov eax, 0x10015143
add dword [eax - 0x3c], 0x25b5642c
xor byte [eax - 0x365], 0xf5
pop eax
push ebx
mov ebx, eax
call fcn.1000121c
sub esp, 4
push esi
pop dword [0x10014db5]
mov dword [esp], 0x35485406
add dword [esp], 0x343216f8
push eax
call fcn.1000125f
push 0x40
push 0x71bbe571
push ecx
inc ecx
not ecx
mov ecx, 0x71bbd571
xor dword [esp + 4], ecx
pop ecx
mov ecx, 0xe640
pushal
sbb dword [0x10014dec], 0xc7771e73
call fcn.1000121c
mov edx, eax
or dword [0x10014dbf], ecx
sub esp, 4
mov dword [esp], 0xf8db8669
push edi
mov edi, 0x10014ff3
add word [edi + 0xc1], 0xf648
sub word [edi - 0xfa], 0xfce1
pop edi
add dword [esp], 0x343216f8
push edx
xor word [0x10014fff], 0x6a06
call fcn.1000125f
cmp dword [eax], 0x4c2c033
jne 0x10001502
xor word [0x10014e24], 0x861d
jo 0x100014f8
push ebx
mov ebx, 0x1001519c
or dword [ebx - 2], 0x8e8b69bf
pop ebx
jmp 0x10001628
popal
pushal
call fcn.1000121c
mov edx, eax
mov word [0x10015028], 0x688c
sub esp, 4
mov dword [esp], 0x8e4eba58
push edi
mov edi, 0x10014e60
xor word [edi - 0xb], 0x60b6
sbb byte [edi + 0x32e], 0xb7
pop edi
add dword [esp], 0x343216f8
push edx
call fcn.1000125f
mov ebx, eax
mov ecx, 5
xor eax, eax
push esi
mov esi, 0x10014dd3
and word [esi + 0x1e4], 0xd253
pop esi
xor al, byte [ebx]
rol eax, 7
inc ebx
dec ecx
jne 0x1000155b
cmp eax, 0x18460194
je 0x100015bb
cmp eax, 0xd6c06aa3
jne 0x100015d6
jmp 0x100015bb
popal
shl ecx, 4
push ecx
push 0x50eef643
pop dword [0x10014da3]
xor ecx, ecx
push ecx
call eax
int3
popal
jmp 0x100015f8
shl ecx, 4
push ecx
xor ecx, ecx
push ecx
call eax
push edi
mov edi, eax
push esi
mov esi, 0x10015096
sub byte [esi + 0xa1], 0x6d
sub word [esi - 0xea], 0x99a2
pop esi
push esi
jmp 0x10001700
pop esi
mov edx, 0x4390
push edx
mov edx, 0x10014e5d
mov word [edx + 0x1cc], 0xbafa
xor word [edx - 0x23], 0xf8ab
pop edx
push edx
push edi
push esi
mov ecx, edx
push esi
mov esi, 0x10014e7f
add dword [esi + 0x1a3], 0x92077487
xor byte [esi + 0xe3], 0xb4
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
pop edi
push ebx
sub ebx, ebp
ror ebx, 0x9e
rol ebx, 0x4c
ror ebx, 0xaa
mov ebx, 0x120e2cef
sub ebx, 0x407217dd
xchg dword [esp], ebx
push 0x3058ebab
xor ecx, ecx
push eax
mov eax, 0x10014eda
xor byte [eax - 0x156], 0x76
and dword [eax + 0xd7], 0x28508d77
pop eax
jmp 0x100016bb
sub edx, 4
mov eax, dword [esp]
add dword [edx + edi], eax
sub edx, 4
mov eax, dword [esp + 4]
add dword [edx + edi], eax
or edx, edx
jne 0x100016a8
push ecx
mov ecx, 0x10014f8f
and word [ecx - 0x11d], 0x8a13
pop ecx
add esp, 8
jmp edi
push eax
les edi, [ebp + eax*4 + 0x49]
sar bh, 1
dec esi
mov ebx, 0xb46f7cc0
jne 0x10001670
jl 0x100016c4
int1
xchg edx, eax
add eax, 0x5ad9ebde
int1
mov dword [0x6253288b], eax
push 0x23e844cd
invalid
call 0x10001628
fld dword [esi + eax*8]
xor dword [esi + esi*8 - 0x66], edx
dec esp
push esi
push edi
adc al, 0x9c
salc
imul edx, eax, 0x12489553
and ah, byte [edx - 0xe3b0961]
mov eax, dword [0xfd156240]
enter 0xffffffffffffee0e, 0xffffffffffffffea
dec esi
push esp
cmp cl, byte [esi - 0x4e]
das
test al, 0x87
in eax, dx
push 0xffffffffffffffc0
stosd dword es:[edi], eax
fcomi st(5)
mov dh, 0x2d
lodsd eax, dword [esi]
sal byte [esi + 0x74d9e1a3], 0xb5
or bh, ah
pushfd
push ebx
sub cl, byte [ebp + 0x62]
scasb al, byte es:[edi]
ja 0x100016dd
dec ebp
bound ebp, qword [esi - 0x2b0d6b89]
push esi
aam 0x56
jmp 0x1000174e
cmp ecx, dword [ebp + 0x4a]
push ebp
adc al, 0xa7
mov dl, 0x76
adc eax, 0x77f70f2a
jg 0x100017c6
mov bh, 0x37
mov ebx, 0xfd88f98c
push cs
mov esi, 0x623abc5d
and al, 0x5b
and eax, 0x1ae70254
pop ecx
std
loopne 0x10001744
out dx, al
ljmp 0x102
lea ebp, [esi]
push ebp
adc al, 0x6c
pop esi
insd dword es:[edi], dx
push ebx
jle 0x100017f7
and ecx, 0xfffffff2
imul byte [eax - 0x6d0c7407]
sub al, 0x21
cmp eax, 0x71324a78
mov esi, ecx
mov esp, 0x3a38baef
xchg ebx, eax
mov fs, word [ecx]
jmp 0x100017bf
arpl word [esi - 0x2faf659c], bp
out dx, al
ljmp 0xeb01