Function at 0x1400110c0
Capabilities:
Encode data using xor
Generate random numbers via rtlgenrandom
Generate random numbers via winapi

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov qword [rbp - 8], rdx
mov rdi, rcx
mov eax, dword [0x141dc3e90]
mov ecx, dword [0x141dc3e94]
add eax, ecx
add eax, 0xbd586406
or eax, 0x410c4045
add eax, 0x67ee2e16
cmp eax, 0xd51a9d06
jae 0x140011134
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov rcx, rsp
mov eax, 0x40
call fcn.1400f1350
sub rsp, rax
xorps xmm0, xmm0
movups xmmword [rcx + 0x10], xmm0
movups xmmword [rcx], xmm0
xorps xmm0, xmm0
xor ecx, ecx
nop dword [rax]
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov rbx, rsp
mov eax, 0x20
call fcn.1400f1350
sub rsp, rax
mov r12, rsp
mov eax, 0x40
call fcn.1400f1350
sub rsp, rax
mov r14, rsp
movups xmmword [r12 + 0x10], xmm0
movups xmmword [r12], xmm0
test cl, cl
jne 0x140011140
xor eax, eax
test al, al
je 0x1400111a4
sub rsp, 0x20
xor ecx, ecx
mov rdx, r12
mov r8d, 0x20
mov r9d, 2
call qword [sym.imp.bcrypt.dll_BCryptGenRandom]
add rsp, 0x20
mov qword [rbp], r14
mov rsi, qword [sym.imp.bcrypt.dll_BCryptGenRandom]
nop
mov eax, dword [0x141dc3e98]
xor eax, dword [0x141dc3e9c]
xor eax, 0xb9c9fa00
imul eax, eax, 0x51b9643d
imul r13, rax, 0x42479f3d
shr r13, 0x3e
sub rsp, 0x20
xor ecx, ecx
mov rdx, r12
mov r8d, 0x20
mov r9d, 2
call rsi
add rsp, 0x20
cmp r13d, 0x646b8195
je 0x1400111b0
mov r15d, eax
nop dword [rax]
mov eax, dword [0x141dc3ea0]
add eax, dword [0x141dc3ea4]
or eax, 0x6e55065b
xor eax, 0x58d736a6
imul eax, eax, 0x5a64d53c
cmp eax, 0x858510ab
je 0x140011200
cmp r15d, 0xc0000000
jb 0x14001129f
sub rsp, 0x20
mov rcx, r12
mov edx, 0x20
call qword [sym.imp.ADVAPI32.dll_SystemFunction036]
add rsp, 0x20
nop word cs:[rax + rax]
mov ecx, dword [0x141dc3ea8]
sub ecx, dword [0x141dc3eac]
add ecx, 0x61663ce3
cmp ecx, 0x9791603d
ja 0x140011250
nop word [rax + rax]
mov ecx, dword [0x141dc3eb0]
and ecx, dword [0x141dc3eb4]
imul rcx, rcx, 0x72729ed3
shr rcx, 0x3b
or ecx, 0xfc299470
xor ecx, 0x156c0d7e
cmp ecx, 0x96d8c7ec
jb 0x140011270
test al, al
je 0x1400112dd
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
add r14, 0x10
mov eax, dword [0x141dc3ef8]
xor edx, edx
div dword [0x141dc3efc]
add eax, 0xc3ea6521
or eax, 0xb73afe4a
cmp eax, 0x2e7b9028
jne 0x1400114b0
jmp 0x1400114dd
add r15d, 0x80000000
nop word cs:[rax + rax]
mov eax, dword [0x141dc3eb8]
xor eax, dword [0x141dc3ebc]
and eax, 0x3c653205
imul eax, eax, 0xc420c115
cmp eax, 0x981a8642
je 0x1400112f0
nop
mov eax, dword [0x141dc3ec0]
mov ecx, dword [0x141dc3ec4]
add eax, ecx
add eax, 0x8403e1eb
or eax, 0x38ebc48a
imul eax, eax, 0x90adea47
cmp eax, 0x55eb154f
je 0x140011310
nop word cs:[rax + rax]
mov eax, dword [0x141dc3ec8]
add eax, dword [0x141dc3ecc]
imul rax, rax, 0xbd4b455
shr rax, 0x3a
imul eax, eax, 0xe53cef91
or eax, 0xefaa084b
cmp eax, 0xcbc7c2e2
jb 0x140011340
test r15d, r15d
je 0x14001129f
mov eax, dword [0x141dc3ed0]
add eax, dword [str.0G.]
and eax, 0x20110ca8
cmp eax, 0xfc2315c7
jne 0x140011391
movzx eax, byte [0x141dde6f8]
mov eax, 0xed1ced1b
nop word cs:[rax + rax]
mov ecx, dword [0x141dc3ed8]
or ecx, dword [0x141dc3edc]
xor ecx, 0xa50c2e81
imul rcx, rax
shr rcx, 0x3e
add ecx, 0x7f3477bf
movzx edx, byte [0x141dde6f8]
cmp ecx, 0xdf385fa7
ja 0x1400113a0
xor eax, eax
test al, al
jne 0x1400113f0
sub rsp, 0x20
xor esi, esi
mov edx, 4
xor ecx, ecx
call fcn.1400c29b0
add rsp, 0x20
test sil, sil
je 0x140011406
sub rsp, 0x20
mov edx, 4
xor ecx, ecx
call fcn.1400c29b0
add rsp, 0x20
jmp 0x1400113d5
mov rbx, rax
test rax, rax
je 0x140011436
mov eax, dword [0x141dc3f28]
imul eax, dword [0x141dc3f2c]
xor eax, 0x25c0e294
imul eax, eax, 0x7a25940d
cmp eax, 0x305b907d
jne 0x1400116ab
jmp 0x1400116cd
mov eax, dword [0x141dc3ee0]
and eax, dword [0x141dc3ee4]
xor eax, 0xd94bb990
imul rax, rax, 0x785a3bb9
shr rax, 0x3e
cmp eax, 0x875a802f
je 0x14001147d
mov eax, dword [0x141dc3ee8]
sub eax, dword [0x141dc3eec]
xor eax, 0x6010021
or eax, 0xa9f66392
and eax, 0xefff6bb3
ud2
ud2
mov ecx, dword [0x141dc3f00]
sub ecx, dword [0x141dc3f04]
xor ecx, 0x45a54947
and ecx, 0xc7a56f67
add ecx, 0xc54cf92b
mov rax, qword [0x141dde6e8]
cmp ecx, 0x5d3a2d2a
jae 0x1400114e6
mov rax, qword [0x141dde6e8]
jmp 0x1400114b0
test rax, rax
mov r15, qword [rbp]
je 0x1400114f8
and eax, 0x4000
xor ecx, ecx
jmp 0x14001156d
mov eax, dword [0x141dc3f08]
and eax, dword [0x141dc3f0c]
and eax, 0x65204774
imul eax, eax, 0xcdfb6dc0
add eax, 0xfa84ac6c
cmp eax, 0x956474e8
jb 0x140011699
xor esi, esi
sub rsp, 0x20
call fcn.1400fe270
add rsp, 0x20
test sil, sil
jne 0x140011521
mov edx, 0x96ae8db7
and eax, 0x4000
xor ecx, ecx
nop
mov r8d, dword [0x141dc3f10]
and r8d, dword [0x141dc3f14]
add r8d, 0xe527022d
imul r8, rdx
shr r8, 0x3f
imul r8d, r8d, 0xad39c4ad
cmp r8d, 0xb4a10aad
jae 0x140011540
or rax, rcx
je 0x14001158e
sub rsp, 0x20
lea r8, [0x141dbb480]
mov rcx, r14
mov rdx, rbx
call fcn.1400730e0
add rsp, 0x20
jmp 0x1400115ea
xor eax, eax
test al, al
je 0x1400115ad
movaps xmm0, xmmword [rbx]
movaps xmm1, xmmword [rbx + 0x10]
movaps xmmword [r15 + 0x10], xmm0
movaps xmmword [r15 + 0x20], xmm1
xorps xmm0, xmm0
movaps xmmword [r15 + 0x30], xmm0
xorps xmm0, xmm0
mov eax, dword [0x141dc3f18]
mov ecx, dword [0x141dc3f1c]
add eax, ecx
add eax, 0xa3fe493d
and eax, 0xd0de4cbd
add eax, 0xfd02dc99
movaps xmm1, xmmword [rbx]
movaps xmm2, xmmword [rbx + 0x10]
movaps xmmword [r15 + 0x10], xmm1
movaps xmmword [r15 + 0x20], xmm2
movaps xmmword [r15 + 0x30], xmm0
cmp eax, 0x528a196
jb 0x1400115b0
movaps xmm0, xmmword [r14]
movaps xmm1, xmmword [r14 + 0x10]
movaps xmm2, xmmword [r14 + 0x20]
movaps xmmword [rdi + 0x20], xmm2
movaps xmmword [rdi + 0x10], xmm1
movaps xmmword [rdi], xmm0
nop word cs:[rax + rax]
mov eax, dword [0x141dc3f20]
or eax, dword [0x141dc3f24]
xor eax, 0x6dfad978
imul eax, eax, 0x8165849a
add eax, 0xa3a6a765
cmp eax, 0x73909cb2
ja 0x140011610
mov qword [rdi + 0x40], 0
mov rbx, qword [rdi + 0x30]
mov r14, qword [rbp - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc3f48]
add eax, dword [0x141dc3f4c]
xor eax, 0x40a8881
and eax, 0x68a8be3
add eax, 0x6cc107ec
cmp eax, 0x2032214
jb 0x140011650
mov eax, dword [0x141dc3f50]
and eax, dword [0x141dc3f54]
and eax, 0x2724d353
imul eax, eax, 0x5f7d385
cmp eax, 0x1050b25b
jne 0x140011765
jmp 0x1400117ae
sub rsp, 0x20
call fcn.1400fe270
add rsp, 0x20
jmp 0x14001151f
mov eax, dword [0x141dc3f30]
sub eax, dword [0x141dc3f34]
and eax, 0x11004104
mov dword [rbx], r15d
mov r14, qword [0x141dde6e0]
cmp eax, 0x4c7a6ad
jae 0x1400116d9
mov dword [rbx], r15d
mov rax, qword [0x141dde6e0]
jmp 0x1400116ab
mov eax, dword [0x141dc3f38]
sub eax, dword [0x141dc3f3c]
imul eax, eax, 0xe1025948
add eax, 0xcee9dac3
imul rcx, rax, 0x663da1d
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0x27509a61
jbe 0x140011721
sub rsp, 0x20
mov rcx, r14
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rsi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r15d, dword [0x141dc3f40]
or r15d, dword [0x141dc3f44]
add r15d, 0xa67e8226
sub rsp, 0x20
mov rcx, r14
xor edx, edx
mov r8, rbx
call rsi
add rsp, 0x20
cmp r15d, 0x9a3d76b5
ja 0x140011730
jmp 0x140011633
mov eax, dword [0x141dc3f58]
add eax, dword [0x141dc3f5c]
imul rax, rax, 0x2967a9b1
shr rax, 0x3c
imul esi, eax, 0x59d544f7
and esi, 0x4b96d339
lea rax, [rbx - 0x100]
mov qword [rdi + 0x38], rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
call fcn.1400731c0
add rsp, 0x20
cmp esi, 0xef1bee98
jbe 0x1400117ce
lea rax, [rbx - 0x100]
mov qword [rdi + 0x38], rax
sub rsp, 0x20
mov rcx, rdi
mov rdx, r14
call fcn.1400731c0
add rsp, 0x20
jmp 0x140011765
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret