Function at 0x140037760
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 eax, dword [0x141dc4f30]
add eax, dword [0x141dc4f34]
mov rsi, rcx
imul eax, eax, 0xcd0af79c
add eax, 0xfc2da604
cmp eax, 0xf29e3aa8
jbe 0x1400377b0
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
nop word cs:[rax + rax]
mov ecx, dword [0x141dc4f38]
imul ecx, dword [0x141dc4f3c]
xor ecx, 0x68d95772
add ecx, 0x7b620a89
and ecx, 0x6d48fdaf
mov eax, 0x20
call fcn.1400ef3b0
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xd72b71b1
ja 0x1400377b0
mov eax, dword [0x141dc4f40]
xor edx, edx
div dword [0x141dc4f44]
nop word cs:[rax + rax]
mov eax, dword [0x141dc4f48]
xor edx, edx
div dword [0x141dc4f4c]
or eax, 0x260238
and eax, 0x25af033e
add eax, 0x50dddae2
cmp eax, 0x58ce3eea
ja 0x140037800
mov r12, qword [rbx]
mov r15, qword [rbx + 8]
test r15, r15
je 0x140037880
mov eax, dword [0x141dc4f50]
or eax, dword [0x141dc4f54]
imul eax, eax, 0xcf85e5e0
add eax, 0x1a03efaa
cmp eax, 0xb5269315
ja 0x140037830
nop
mov eax, dword [0x141dc4f58]
or eax, dword [0x141dc4f5c]
or eax, 0xc00b108
and eax, 0xc89f109
cmp eax, 0x18be81f5
je 0x140037850
cmp r15, 4
jae 0x1400378ca
xor r14d, r14d
xor eax, eax
jmp 0x140037942
mov eax, dword [0x141dc4f60]
add eax, dword [0x141dc4f64]
xor eax, 0x88148
or eax, 0xebe76eb5
cmp eax, 0xd2b61333
jb 0x140037880
mov r13, qword [rbx + 0x18]
nop word cs:[rax + rax]
mov eax, dword [0x141dc4f68]
xor edx, edx
div dword [0x141dc4f6c]
cmp eax, 0x48a6f84b
je 0x1400378b0
jmp 0x140037ad4
mov rcx, r15
and rcx, 0xfffffffffffffffc
xor r14d, r14d
xor eax, eax
nop word cs:[rax + rax]
mov edx, dword [0x141dc4f70]
imul edx, dword [0x141dc4f74]
imul edx, edx, 0x540e9e4f
imul rdx, rdx, 0x3f4ebaa1
shr rdx, 0x3b
add edx, 0x5580e98c
cmp edx, 0x14e428cf
jb 0x1400378e0
mov rdx, rax
shl rdx, 4
add r14, qword [r12 + rdx + 8]
mov r8, rdx
or r8, 0x10
add r14, qword [r12 + r8 + 8]
mov r8, rdx
or r8, 0x20
add r14, qword [r12 + r8 + 8]
or rdx, 0x30
add r14, qword [r12 + rdx + 8]
add rax, 4
cmp rax, rcx
jne 0x1400378e0
test r15b, 3
je 0x1400379b0
mov rcx, rax
shl rcx, 4
add rcx, r12
add rcx, 8
mov edx, r15d
and edx, 3
shl rdx, 4
xor r8d, r8d
xor r9d, r9d
nop word cs:[rax + rax]
mov r10d, dword [0x141dc4f78]
and r10d, dword [0x141dc4f7c]
add r10d, 0x74f03d21
xor r10d, 0xad794183
add r10d, 0x5efec047
cmp r10d, 0xc51b724a
ja 0x140037970
add r14, qword [rcx + r8]
add r8, 0x10
inc rax
inc r9
cmp rdx, r8
jne 0x140037970
nop
mov eax, dword [0x141dc4f80]
or eax, dword [0x141dc4f84]
and eax, 0x40402612
xor eax, 0x1ed2d618
cmp eax, 0xd0ddd5e
jb 0x1400379b0
mov r13, qword [rbx + 0x18]
test r13, r13
je 0x1400379fa
cmp qword [r12 + 8], 0
sete al
cmp r14, 0x10
setb cl
test r14, r14
js 0x140037ad4
and cl, al
jne 0x140037ad4
add r14, r14
test r14, r14
js 0x140037cec
mov eax, 0xedc83e5b
nop dword [rax + rax]
mov ecx, dword [0x141dc4f90]
or ecx, dword [0x141dc4f94]
add ecx, 0xbbe3e758
imul rcx, rax
shr rcx, 0x3d
add ecx, 0xeab46d59
cmp ecx, 0xd39d7e07
jb 0x140037a10
test r14, r14
je 0x140037b0a
movzx eax, byte [0x141ddb9b8]
sub rsp, 0x20
xor ecx, ecx
mov rdx, r14
call fcn.1400bf820
add rsp, 0x20
mov rcx, rax
nop dword [rax]
mov eax, dword [0x141dc4f98]
and eax, dword [0x141dc4f9c]
and eax, 0x6ca3ce12
add eax, 0x3b00133d
cmp eax, 0xfddc43c9
ja 0x140037a60
nop dword [rax]
mov eax, dword [0x141dc4fa0]
or eax, dword [0x141dc4fa4]
and eax, 0x419262d
add eax, 0x26fab65a
or eax, 0xe71def68
cmp eax, 0x3d43c6e5
jb 0x140037a80
test rcx, rcx
je 0x140037cec
nop dword [rax + rax]
mov eax, dword [0x141dc4fa8]
sub eax, dword [0x141dc4fac]
add eax, 0x4d1955ba
and eax, 0x1c0aee2d
add eax, 0xf5d44c9f
cmp eax, 0x2cc3f435
ja 0x140037ab0
jmp 0x140037b12
xor r14d, r14d
nop word [rax + rax]
mov eax, dword [0x141dc4f88]
add eax, dword [0x141dc4f8c]
and eax, 0x183119f8
imul eax, eax, 0xb6cbda20
or eax, 0x96f1ab71
cmp eax, 0xa5c5827f
je 0x140037ae0
mov ecx, 1
jmp 0x140037b12
mov ecx, 1
xor r14d, r14d
mov qword [rdi], r14
mov qword [rdi + 8], rcx
mov qword [rdi + 0x10], 0
cmp r15, 1
je 0x140037b92
test r15, r15
jne 0x140037bad
mov eax, dword [0x141dc4fb8]
sub eax, dword [0x141dc4fbc]
and eax, 0x8110201
or eax, 0xf76c9186
xor eax, 0x7a14fc12
cmp eax, 0x2b200270
jb 0x140037b30
nop word cs:[rax + rax]
mov eax, dword [0x141dc4fc0]
xor eax, dword [0x141dc4fc4]
add eax, 0x5e619a34
and eax, 0xbe30b936
cmp eax, 0x7a378fe8
ja 0x140037b60
test r13, r13
jne 0x140037bad
xor ebx, ebx
mov r15d, 1
xor r14d, r14d
jmp 0x140037daa
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140037ba0
test r13, r13
je 0x140037c30
sub rsp, 0x20
lea rdx, [0x141db4f98]
mov rcx, rdi
mov r8, rbx
call fcn.140051d50
add rsp, 0x20
test al, al
je 0x140037dc7
mov eax, dword [0x141dc5020]
xor edx, edx
div dword [0x141dc5024]
xor eax, 0x88c9640b
imul eax, eax, 0xc8d05594
cmp eax, 0xa01ac334
jae 0x140037bf1
ud2
mov eax, 0x9908e4d5
nop word cs:[rax + rax]
mov ecx, dword [0x141dc5028]
or ecx, dword [0x141dc502c]
imul ecx, ecx, 0xfdf8c971
imul rcx, rax
shr rcx, 0x3e
imul ecx, ecx, 0xda72c60e
ud2
mov eax, dword [0x141dc4fc8]
and eax, dword [0x141dc4fcc]
imul eax, eax, 0xb699681
cmp eax, 0xbbc99712
je 0x140037c30
mov r15, qword [r12]
mov rbx, qword [r12 + 8]
mov eax, dword [0x141dc4fd0]
xor edx, edx
div dword [0x141dc4fd4]
mov eax, dword [0x141dc4fd8]
xor edx, edx
div dword [0x141dc4fdc]
add eax, 0xa4fba77
xor eax, 0x57b1ad59
imul eax, eax, 0xccf0a218
cmp eax, 0x23a5d7ca
jb 0x140037c60
nop word cs:[rax + rax]
mov eax, dword [0x141dc4fe0]
mov edx, dword [0x141dc4fe4]
add eax, edx
add eax, 0x2fd4d41c
or eax, 0x41044104
and eax, 0x591449a4
cmp eax, 0xc99309d7
ja 0x140037c90
cmp r14, rbx
jae 0x140037ce4
mov eax, dword [0x141dc4fe8]
sub eax, dword [0x141dc4fec]
imul rax, rax, 0x2049d399
shr rax, 0x3d
imul eax, eax, 0x8636e528
add eax, 0x8cc5e8f7
cmp eax, 0xc168466d
jbe 0x140037d11
jmp 0x140037d55
xor r14d, r14d
jmp 0x140037daa
ud2
mov r14d, dword [0x141dc4ff0]
add r14d, dword [0x141dc4ff4]
imul rax, r14, 0x44ba8e7
shr rax, 0x20
sub r14d, eax
shr r14d, 1
add r14d, eax
shr r14d, 0x1f
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, rbx
call fcn.1400f3150
add rsp, 0x20
cmp r14d, 0x89ce3e21
jne 0x140037d6c
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, rbx
call fcn.1400f3150
add rsp, 0x20
jmp 0x140037d11
mov r14, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc4ff8]
imul eax, dword [0x141dc4ffc]
imul eax, eax, 0xf296185e
or eax, 0x25a8f54e
imul rax, rax, 0x47d3426d
shr rax, 0x3c
cmp eax, 0x6955d3b4
je 0x140037d80
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 eax, dword [0x141dc5000]
mov ecx, dword [0x141dc5004]
add eax, ecx
add eax, 0x6cd28018
or eax, 0xeadc5c97
add eax, 0x5318b64
cmp eax, 0x8ca77564
jb 0x140037e1c
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
mov eax, dword [0x141dc5008]
xor eax, dword [0x141dc500c]
imul eax, eax, 0x924dacc6
add eax, 0xac8373f
or eax, 0x51bb5e95
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
cmp eax, 0xf5b4e2c2
jbe 0x140037e30
mov rax, qword [rdi + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
jmp 0x140037deb
mov eax, dword [0x141dc5010]
xor eax, dword [0x141dc5014]
xor eax, 0xe8c5a867
imul rax, rax, 0x4ae80af7
shr rax, 0x3c
add eax, 0xe9c68c7e
cmp eax, 0xdf4579d9
jb 0x140037e30
nop dword [rax + rax]
mov eax, dword [0x141dc5018]
add eax, dword [0x141dc501c]
imul eax, eax, 0x3c44b0dc
imul rax, rax, 0x542cbb57
shr rax, 0x36
and eax, 0x172
cmp eax, 0xc3f6270b
ja 0x140037e60
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret