Function at 0x1400384d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rdi, rdx
mov rsi, rcx
mov r15, qword [rdx]
nop dword [rax]
mov eax, dword [0x141dc4c88]
xor eax, dword [0x141dc4c8c]
imul rax, rax, 0x538acf9b
shr rax, 0x38
xor eax, 0x71cd85bf
add eax, 0xb57b96a1
cmp eax, 0x4c49fb65
ja 0x1400384f0
mov r12, qword [rdi + 8]
test r12, r12
je 0x140038538
mov r8d, r12d
and r8d, 3
cmp r12, 4
jae 0x14003856f
xor ecx, ecx
xor r9d, r9d
jmp 0x1400385e0
mov r13, qword [rdi + 0x18]
nop dword [rax]
mov eax, dword [0x141dc4c90]
xor edx, edx
div dword [0x141dc4c94]
xor eax, 0xa000880
and eax, 0x6b11d8f4
imul rax, rax, 0x241b5c43
shr rax, 0x3a
cmp eax, 0x3a7bdcab
ja 0x140038540
jmp 0x1400386cf
mov rax, r12
and rax, 0xfffffffffffffffc
xor ecx, ecx
xor r9d, r9d
nop dword [rax + rax]
mov edx, dword [0x141dc4c98]
sub edx, dword [0x141dc4c9c]
xor edx, 0x6250f88f
add edx, 0x5416c3be
cmp edx, 0xd14a8068
ja 0x140038580
mov rdx, r9
shl rdx, 4
add rcx, qword [r15 + rdx + 8]
mov r10, rdx
or r10, 0x10
add rcx, qword [r15 + r10 + 8]
mov r10, rdx
or r10, 0x20
add rcx, qword [r15 + r10 + 8]
or rdx, 0x30
add rcx, qword [r15 + rdx + 8]
add r9, 4
cmp r9, rax
jne 0x140038580
nop word cs:[rax + rax]
mov eax, dword [0x141dc4ca0]
sub eax, dword [0x141dc4ca4]
or eax, 0x1869581d
add eax, 0xa825ee45
or eax, 0xe15eec9a
cmp eax, 0xa8c673b8
je 0x1400385e0
test r8, r8
je 0x140038656
xor r10d, r10d
nop word [rax + rax]
mov eax, dword [0x141dc4ca8]
xor edx, edx
div dword [0x141dc4cac]
nop
mov eax, dword [0x141dc4cb0]
xor edx, edx
div dword [0x141dc4cb4]
or eax, 0x7bc9c4e1
add eax, 0xb935c09f
cmp eax, 0xcb669863
ja 0x140038620
mov rax, r9
shl rax, 4
add rcx, qword [r15 + rax + 8]
inc r9
inc r10
cmp r10, r8
jne 0x140038610
mov r13, qword [rdi + 0x18]
test r13, r13
je 0x14003870e
nop word cs:[rax + rax]
mov eax, dword [0x141dc4cb8]
or eax, dword [0x141dc4cbc]
add eax, 0x36afda2b
cmp eax, 0x22ac9e36
jb 0x140038670
mov rax, qword [r15 + 8]
lea r14, [rcx + rcx]
mov edx, dword [0x141dc4cc0]
and edx, dword [0x141dc4cc4]
or edx, 0xb2215597
imul r10d, edx, 0xdb5f90c6
test rax, rax
sete dl
cmp rcx, 0x10
setb r8b
test rcx, rcx
sets r9b
cmp r10d, 0xb489d875
je 0x140038690
and r8b, dl
or r9b, r8b
je 0x140038711
xor r14d, r14d
nop word cs:[rax + rax]
mov eax, dword [0x141dc4cc8]
mov ecx, dword [0x141dc4ccc]
add eax, ecx
add eax, 0xa497beae
xor eax, 0xe308818
or eax, 0xb0053584
cmp eax, 0x9b781859
jbe 0x1400386e0
mov ebx, 1
jmp 0x1400387b7
mov r14, rcx
test r14, r14
js 0x14003891e
nop word [rax + rax]
mov eax, dword [0x141dc4cd0]
and eax, dword [str.SNuAx]
or eax, 0x7f751783
cmp eax, 0x947314e
je 0x140038720
nop dword [rax + rax]
mov eax, dword [0x141dc4cd8]
xor edx, edx
div dword [0x141dc4cdc]
xor eax, 0x14cebca7
add eax, 0x1c15ad8
xor eax, 0x148cef3f
cmp eax, 0xcfd3ee37
ja 0x140038740
test r14, r14
je 0x1400387af
movzx eax, byte [0x141ddb278]
xor ecx, ecx
mov rdx, r14
call fcn.1400c0180
test rax, rax
je 0x14003891e
mov rbx, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc4ce0]
and eax, dword [0x141dc4ce4]
add eax, 0x41ca73b0
or eax, 0xeac336ad
cmp eax, 0x3dfd1af
je 0x140038790
jmp 0x1400387b7
mov ebx, 1
xor r14d, r14d
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], 0
cmp r12, 1
je 0x140038820
test r12, r12
jne 0x140038848
nop word cs:[rax + rax]
mov eax, dword [0x141dc4cf8]
add eax, dword [0x141dc4cfc]
imul eax, eax, 0x1efcc544
add eax, 0xa6bb247a
cmp eax, 0x42fd12d2
jb 0x1400387e0
test r13, r13
jne 0x140038848
xor r15d, r15d
mov edi, 1
xor r14d, r14d
jmp 0x1400389fc
mov eax, dword [0x141dc4d00]
sub eax, dword [0x141dc4d04]
xor eax, 0xfec3138a
imul eax, eax, 0xb53d26df
add eax, 0xe0fa71cb
cmp eax, 0x26895b2a
jb 0x140038820
test r13, r13
je 0x1400388c0
lea rdx, [0x141db4f78]
lea rcx, [rsp + 0x20]
mov r8, rdi
call fcn.140052610
nop dword [rax]
mov ecx, dword [0x141dc4d40]
or ecx, dword [0x141dc4d44]
imul ecx, ecx, 0x35be48c4
cmp ecx, 0x796799bf
je 0x140038860
test al, al
je 0x140038a74
mov eax, dword [0x141dc4d58]
xor edx, edx
div dword [0x141dc4d5c]
or eax, 0x1315288d
imul eax, eax, 0xcc7e7357
and eax, 0x5e5a696b
cmp eax, 0x7befe97e
jbe 0x1400388a9
ud2
xor eax, eax
nop dword [rax + rax]
ud2
mov eax, dword [0x141dc4d08]
imul eax, dword [0x141dc4d0c]
xor eax, 0xe930731f
add eax, 0x14bb5db2
or eax, 0x4f8f281c
cmp eax, 0xab0ab50f
je 0x1400388c0
mov rdi, qword [r15]
mov r15, qword [r15 + 8]
cmp r14, r15
jae 0x140038916
mov eax, dword [0x141dc4d10]
xor eax, dword [0x141dc4d14]
or eax, 0x21010040
xor eax, 0x848888
and eax, 0x21859ccb
cmp eax, 0x8a616a8f
jne 0x140038963
jmp 0x14003899d
xor r14d, r14d
jmp 0x1400389fc
mov eax, dword [0x141dc4ce8]
and eax, dword [0x141dc4cec]
imul eax, eax, 0x71180e30
or eax, 0x541a3bd5
cmp eax, 0x15d9b4d8
jae 0x140038940
ud2
mov eax, dword [0x141dc4cf0]
xor edx, edx
div dword [0x141dc4cf4]
or eax, 0xfadfbffb
xor eax, 0x270791a7
ud2
mov eax, dword [0x141dc4d18]
imul eax, dword [0x141dc4d1c]
and eax, 0xbccabb76
imul rax, rax, 0x1882ff8d
shr rax, 0x3c
imul ebx, eax, 0x7a35b418
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8, r15
call fcn.1400f2f80
cmp ebx, 0xacbd54c1
jne 0x1400389ae
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8, r15
call fcn.1400f2f80
jmp 0x140038963
mov eax, dword [0x141dc4d20]
xor edx, edx
div dword [0x141dc4d24]
mov eax, 0xbc122191
nop word cs:[rax + rax]
mov ecx, dword [0x141dc4d28]
and ecx, dword [0x141dc4d2c]
add ecx, 0x1969da45
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x53f36cc4
ja 0x1400389d0
mov r14, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
mov eax, dword [0x141dc4d30]
add eax, dword [0x141dc4d34]
and eax, 0xa8bc3b83
xor eax, 0x4aaff46
add eax, 0x600ddf1b
cmp eax, 0x63fee4b7
jb 0x140038a5a
mov eax, dword [str.6aH]
sub eax, dword [0x141dc4d3c]
xor eax, 0x2804a888
and eax, 0xabacaab8
imul ebp, eax, 0x214b57f2
lea rcx, [rbx + r14]
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea rax, [r14 + r15]
mov qword [rsp + 0x30], rax
cmp ebp, 0x71224d2d
ja 0x140038a74
lea rcx, [rbx + r14]
mov rdx, rdi
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea rax, [r14 + r15]
mov qword [rsp + 0x30], rax
jmp 0x140038a1e
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi], xmm0
nop word cs:[rax + rax]
mov eax, dword [0x141dc4d48]
sub eax, dword [0x141dc4d4c]
imul eax, eax, 0x4aa2aa7d
cmp eax, 0x60d4ac4b
je 0x140038a90
mov eax, 0xbbe77aab
nop
mov ecx, dword [0x141dc4d50]
or ecx, dword [0x141dc4d54]
xor ecx, 0x88d8f78b
add ecx, 0x3fd052bc
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x879b7b9f
ja 0x140038ab0
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret