Function at 0x1400378f0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rbx, rdx
mov rsi, rcx
mov eax, dword [0x141dc1fa0]
and eax, dword [0x141dc1fa4]
xor eax, 0x648c7a67
add eax, 0x3a2c9bc2
and eax, 0xe2950b84
cmp eax, 0xf06d358e
jbe 0x140037940
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc1fa8]
or eax, dword [0x141dc1fac]
and eax, 0x886602d
imul ecx, eax, 0x90748f73
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xa6d54b0
je 0x140037940
mov r12, qword [rbx]
nop word cs:[rax + rax]
mov eax, dword [0x141dc1fb0]
imul eax, dword [0x141dc1fb4]
imul eax, eax, 0xb46cf059
xor eax, 0xf248b5d3
cmp eax, 0x270edd82
jb 0x140037980
mov r15, qword [rbx + 8]
test r15, r15
je 0x1400379c0
mov eax, r15d
and eax, 3
cmp r15, 4
jae 0x140037a07
xor r14d, r14d
xor ecx, ecx
jmp 0x140037a40
mov eax, dword [0x141dc1fb8]
xor edx, edx
div dword [0x141dc1fbc]
add eax, 0xe6c2ba47
xor eax, 0xf82d4c74
cmp eax, 0x9e69b5b7
ja 0x1400379c0
nop
mov eax, dword [0x141dc1fc0]
xor eax, dword [0x141dc1fc4]
imul eax, eax, 0xf1dd617c
add eax, 0x30e04268
cmp eax, 0xa47215d
jbe 0x1400379e0
mov r13, qword [rbx + 0x18]
jmp 0x140037b43
mov rdx, r15
and rdx, 0xfffffffffffffffc
lea r8, [r12 + 0x38]
xor r14d, r14d
xor ecx, ecx
nop dword [rax + rax]
add r14, qword [r8 - 0x30]
add r14, qword [r8 - 0x20]
add r14, qword [r8 - 0x10]
add r14, qword [r8]
add rcx, 4
add r8, 0x40
cmp rdx, rcx
jne 0x140037a20
nop dword [rax]
mov edx, dword [0x141dc1fc8]
imul edx, dword [0x141dc1fcc]
add edx, 0xdf6877c5
xor edx, 0x988c81f1
cmp edx, 0xe4536f42
ja 0x140037a40
test rax, rax
je 0x140037a8d
shl rcx, 4
add rcx, r12
add rcx, 8
shl rax, 4
xor edx, edx
nop word [rax + rax]
add r14, qword [rcx + rdx]
add rdx, 0x10
cmp rax, rdx
jne 0x140037a80
mov r13, qword [rbx + 0x18]
test r13, r13
je 0x140037aba
cmp qword [r12 + 8], 0
sete al
cmp r14, 0x10
setb cl
test r14, r14
js 0x140037b43
and cl, al
jne 0x140037b43
add r14, r14
test r14, r14
js 0x140037d95
nop word cs:[rax + rax]
mov eax, dword [0x141dc1fd8]
xor edx, edx
div dword [0x141dc1fdc]
or eax, 0x7c5edf3b
and eax, 0x7ddeffbb
cmp eax, 0x264686e4
je 0x140037ad0
nop
mov eax, dword [0x141dc1fe0]
sub eax, dword [0x141dc1fe4]
imul eax, eax, 0x11ecb7b5
or eax, 0x9a889ab7
imul eax, eax, 0x7715ac28
cmp eax, 0x9f351d2
je 0x140037af0
test r14, r14
je 0x140037b77
mov eax, dword [0x141dc1fe8]
sub eax, dword [0x141dc1fec]
add eax, 0xb0c2fe03
imul rax, rax, 0x12db2a9d
shr rax, 0x3c
or eax, 0xe5625ec8
cmp eax, 0x65ed2817
jb 0x140037bb3
jmp 0x140037b84
xor r14d, r14d
nop word cs:[rax + rax]
mov eax, dword [0x141dc1fd0]
add eax, dword [0x141dc1fd4]
and eax, 0x64150e41
xor eax, 0xeb91cb39
cmp eax, 0x924b0a07
jb 0x140037b50
mov ecx, 1
jmp 0x140037c08
mov ecx, 1
xor r14d, r14d
jmp 0x140037c08
mov eax, dword [0x141dc1ff0]
and eax, dword [0x141dc1ff4]
imul rax, rax, 0x4999caff
shr rax, 0x3c
or eax, 0x9280480
and eax, 0x9280481
movzx ecx, byte [0x141dd7ff8]
cmp eax, 0x65cc069d
jne 0x140037bbc
movzx eax, byte [0x141dd7ff8]
jmp 0x140037b84
sub rsp, 0x20
xor ecx, ecx
mov rdx, r14
call fcn.1400beea0
add rsp, 0x20
test rax, rax
je 0x140037d95
mov rcx, rax
mov eax, 0xafda057d
nop
mov edx, dword [0x141dc1ff8]
sub edx, dword [0x141dc1ffc]
xor edx, 0xa3a5ac3a
imul rdx, rax
shr rdx, 0x3f
imul edx, edx, 0x7a6c2292
cmp edx, 0x9a5bbdf1
ja 0x140037be0
mov qword [rdi], r14
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], 0
cmp r15, 1
je 0x140037c50
test r15, r15
jne 0x140037c6d
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140037c30
test r13, r13
jne 0x140037c6d
xor ebx, ebx
mov r15d, 1
jmp 0x140037d47
mov eax, dword [0x141dc2008]
or eax, dword [0x141dc200c]
and eax, 0x4a7013fe
cmp eax, 0xdac759e
je 0x140037c50
test r13, r13
je 0x140037ce2
sub rsp, 0x20
lea rdx, [0x141db2198]
mov rcx, rdi
mov r8, rbx
call fcn.1400520b0
add rsp, 0x20
nop word [rax + rax]
mov ecx, dword [0x141dc2030]
and ecx, dword [0x141dc2034]
and ecx, 0x7bf0eecc
xor ecx, 0xd7b15c96
cmp ecx, 0xa1a0186d
ja 0x140037c90
test al, al
je 0x140037d67
ud2
mov r15, qword [r12]
mov rbx, qword [r12 + 8]
mov eax, dword [0x141dc2010]
xor edx, edx
div dword [0x141dc2014]
nop dword [rax]
mov eax, dword [0x141dc2018]
and eax, dword [0x141dc201c]
imul eax, eax, 0x70cf8f23
add eax, 0x70efbfab
cmp eax, 0xc874ef5e
ja 0x140037d00
nop
mov eax, dword [0x141dc2020]
and eax, dword [0x141dc2024]
xor eax, 0xd10190e2
add eax, 0x8f2ca2ef
or eax, 0x45dc5e21
cmp eax, 0x52b7570e
je 0x140037d20
cmp r14, rbx
jb 0x140037dbf
xor r14d, r14d
add rcx, r14
sub rsp, 0x20
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
add r14, rbx
mov qword [rdi + 0x10], r14
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140037d80
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, rbx
call fcn.1400f0de0
add rsp, 0x20
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140037de0
mov r14, qword [rdi + 0x10]
nop dword [rax + rax]
mov eax, dword [0x141dc2028]
xor edx, edx
div dword [0x141dc202c]
imul eax, eax, 0xd2776bdf
mov rcx, qword [rdi + 8]
cmp eax, 0x47078c5f
je 0x140037df0
jmp 0x140037d4a