Function at 0x140010bb0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rdx
mov rdi, rcx
mov r15, rdx
shl r15, 0x3c
dec r15
lea rbx, [rcx + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dc3de8]
xor edx, edx
div dword [0x141dc3dec]
imul eax, eax, 0xf916501d
or eax, 0x653561b0
xor eax, 0xc74d4659
cmp eax, 0x60526954
ja 0x140010be0
nop word cs:[rax + rax]
mov eax, dword [0x141dc3df0]
and eax, dword [str.9_n]
imul eax, eax, 0x5c5ec19e
and eax, 0x1d510952
cmp eax, 0x6f77a511
ja 0x140010c10
lea r14, [rdi + 0x120]
nop word cs:[rax + rax]
mov eax, dword [0x141dc3df8]
or eax, dword [0x141dc3dfc]
xor eax, 0x2a28809
and eax, 0x3bb6ec5b
add eax, 0x53c48e3a
cmp eax, 0x9acab609
ja 0x140010c40
mov rcx, qword [rdi + 0x110]
xor r12d, r12d
mov r13d, 0x91f4f40f
jmp 0x140010ca0
lea rdx, [rcx + 2]
mov qword [rdi + 0x110], rdx
mov rax, qword [rdi + rcx*4 + 0x10]
mov rcx, rdx
mul rsi
cmp r15, rax
jae 0x1400110a0
nop word cs:[rax + rax]
mov eax, dword [0x141dc3e00]
xor eax, dword [0x141dc3e04]
add eax, 0xe004acec
imul rdx, rax, 0x11e39c75
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1e
imul eax, eax, 0xa6a5e4a0
cmp eax, 0xd522ad06
je 0x140010ca0
cmp rcx, 0x3f
jb 0x140010c74
test r12b, r12b
jne 0x140010cd8
nop dword [rax]
mov eax, dword [0x141dc3e08]
xor edx, edx
div dword [0x141dc3e0c]
imul eax, eax, 0xafc79f76
add eax, 0xbc2e71d7
xor eax, 0x9988782c
cmp eax, 0x1692c183
jb 0x140010ce0
cmp rcx, 0x3f
jne 0x140010e30
nop
mov eax, dword [0x141dc3e10]
or eax, dword [0x141dc3e14]
xor eax, 0xe457db9f
imul rax, rax, 0x2b8f919
shr rax, 0x36
cmp eax, 0xed71e488
je 0x140010d10
mov r12d, dword [rdi + 0x10c]
mov rax, qword [rdi + 0x158]
nop word cs:[rax + rax]
mov r8d, dword [0x141dc3e18]
and r8d, dword [0x141dc3e1c]
add r8d, 0xa7e753b2
and r8d, 0x452a77af
test rax, rax
setle cl
cmp qword [rdi + 0x160], 0
sets dl
cmp r8d, 0xf092b18c
je 0x140010d50
or cl, dl
je 0x140010ee0
mov eax, dword [0x141dc3e28]
xor edx, edx
div dword [0x141dc3e2c]
mov ecx, 0x8d1e7c0d
imul rax, rcx
shr rax, 0x3e
or eax, 0x71fa73d6
cmp eax, 0xbc355773
jne 0x140010dc0
mov rcx, r14
mov rdx, rbx
call fcn.1400110c0
mov eax, dword [0x141dc3e30]
imul eax, dword [0x141dc3e34]
or eax, 0x1b18e65c
imul ebp, eax, 0x21a7915a
and ebp, 0x71dcf1c4
mov rcx, r14
mov rdx, rbx
call fcn.1400110c0
cmp ebp, 0xff5ae48a
je 0x140010dc0
nop word cs:[rax + rax]
mov eax, dword [0x141dc3e38]
and eax, dword [0x141dc3e3c]
imul rax, r13
shr rax, 0x3e
imul eax, eax, 0x6b4f1416
cmp eax, 0x648c572f
je 0x140010e00
jmp 0x140010f18
mov eax, dword [str.pI_U]
xor eax, dword [0x141dc3e4c]
and eax, 0x28402802
xor eax, 0xc408890
cmp eax, 0x477a8537
ja 0x140010e30
mov rax, qword [rdi + 0x158]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc3e50]
or ecx, dword [0x141dc3e54]
add ecx, 0x4cb1ff98
and ecx, 0x8224040f
cmp ecx, 0x90ab88d0
ja 0x140010e60
test rax, rax
jle 0x140010f6b
cmp qword [rdi + 0x160], 0
js 0x140010f6b
add rax, 0xffffffffffffff00
mov qword [rdi + 0x158], rax
mov eax, dword [0x141dc3e58]
xor eax, dword [0x141dc3e5c]
imul eax, eax, 0xcd77a4e6
and eax, 0xc21cf5dc
imul eax, eax, 0xcdd20cc
cmp eax, 0x7c0fdb6c
jne 0x140010fc1
jmp 0x140011090
mov ecx, dword [0x141dc3e20]
xor ecx, dword [0x141dc3e24]
imul ecx, ecx, 0xedf8f2ab
add ecx, 0xcdab9103
cmp ecx, 0x9eab3752
ja 0x140010ee0
add rax, 0xffffffffffffff00
mov qword [rdi + 0x158], rax
mov rcx, r14
mov rdx, rbx
call fcn.1400731c0
mov qword [rdi + 0x110], 1
mov eax, dword [rdi + 0x10]
shl rax, 0x20
or rax, r12
nop dword [rax]
mov ecx, dword [0x141dc3e40]
and ecx, dword [0x141dc3e44]
and ecx, 0xd4a45020
shr ecx, 4
imul rcx, rcx, 0x52afac3
shr rcx, 0x36
or ecx, 0x71027452
cmp ecx, 0x50f6983a
je 0x140010f30
mov ecx, 1
xor r12d, r12d
jmp 0x140010c87
mov eax, dword [0x141dc3e68]
or eax, dword [0x141dc3e6c]
mov ecx, 0x9e322f3d
imul rax, rcx
shr rax, 0x3f
imul eax, eax, 0x24cf259b
cmp eax, 0x376f815e
jbe 0x140010fa0
mov rcx, r14
mov rdx, rbx
call fcn.1400110c0
nop dword [rax]
mov ebp, dword [0x141dc3e70]
xor ebp, dword [0x141dc3e74]
mov rcx, r14
mov rdx, rbx
call fcn.1400110c0
cmp ebp, 0x563d3e91
je 0x140010fa0
jmp 0x140010ff0
mov ebp, dword [0x141dc3e60]
sub ebp, dword [0x141dc3e64]
xor ebp, 0x10040000
and ebp, 0x30058404
mov rcx, r14
mov rdx, rbx
call fcn.1400731c0
cmp ebp, 0x1a1b8007
je 0x140011090
mov eax, dword [0x141dc3e78]
imul eax, dword [0x141dc3e7c]
imul eax, eax, 0xc940f536
cmp eax, 0xfbdf4da7
jne 0x140011020
mov qword [rdi + 0x110], 2
nop word cs:[rax + rax]
mov eax, dword [0x141dc3e80]
xor edx, edx
div dword [0x141dc3e84]
xor eax, 0x40220500
or eax, 0x10804e
and eax, 0x4132ed4f
mov qword [rdi + 0x110], 2
cmp eax, 0x54678de1
ja 0x140011020
mov rax, qword [rbx]
nop word cs:[rax + rax]
mov ecx, dword [0x141dc3e88]
or ecx, dword [0x141dc3e8c]
xor ecx, 0xe275ff6
imul ecx, ecx, 0x20c02427
add ecx, 0x9d91a713
cmp ecx, 0x8a4cd363
ja 0x140011060
mov ecx, 2
jmp 0x140010c87
mov rcx, r14
mov rdx, rbx
call fcn.1400731c0
jmp 0x140010fc1
mov rax, rdx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret