Function at 0x1400f3140
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov r12, rdx
mov rsi, rcx
mov eax, dword [0x141dc90b0]
xor eax, dword [0x141dc90b4]
imul eax, eax, 0xe283420c
imul rax, rax, 0x1f0ab6e1
shr rax, 0x38
cmp eax, 0x51a5d655
ja 0x1400f31e4
mov eax, dword [0x141dc90b8]
add eax, dword [0x141dc90bc]
and eax, 0xb81153d
imul ecx, eax, 0x6a060484
add ecx, 0x8dc0f4a2
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov r14, rsp
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rdi, rsp
mov eax, 0x810
call fcn.1400eeec0
sub rsp, rax
mov r15, rsp
mov eax, 0x810
call fcn.1400eeec0
sub rsp, rax
mov rbx, rsp
cmp ecx, 0xd446ae30
jbe 0x1400f321d
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x810
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x810
call fcn.1400eeec0
sub rsp, rax
jmp 0x1400f317f
sub rsp, 0x20
mov rcx, rsi
mov rdx, r12
call fcn.1400f37e0
add rsp, 0x20
mov r9, rax
mov r10, r15
add r10, 8
mov rcx, r14
add rcx, 8
nop word cs:[rax + rax]
mov eax, dword [0x141dc90c0]
sub eax, dword [0x141dc90c4]
or eax, 0xa8411b01
xor eax, 0xc4c43800
or eax, 0x123a44f6
cmp eax, 0x48307015
jb 0x1400f3250
mov rax, qword [r12]
mov qword [rbp - 0x28], rax
xor eax, eax
mov qword [rbp - 0x10], rax
mov r11, qword [rsi]
mov rax, r11
and rax, 0xfffffffffffffff8
mov rdx, qword [rax + 0x810]
mov r13, rdx
and r13, 0xfffffffffffffff8
je 0x1400f37c0
mov r12, rax
inc qword [rbp - 0x10]
jmp 0x1400f32c0
mov r13, rdx
and r13, 0xfffffffffffffff8
je 0x1400f37c0
nop word cs:[rax + rax]
mov eax, dword [0x141dc90c8]
xor eax, dword [0x141dc90cc]
add eax, 0xa66213a
and eax, 0x8b1994ff
cmp eax, 0x5ea4404
je 0x1400f32c0
mov rax, qword [r13 + 0x808]
and rax, 0xfffffffffffffffe
mov r8, r9
sub r8, rax
cmp r8, 4
jl 0x1400f37c0
xor eax, eax
test al, al
je 0x1400f3310
mov rax, r11
lock cmpxchg qword [rsi], rdx
nop word cs:[rax + rax]
mov eax, dword [0x141dc90d0]
imul eax, dword [0x141dc90d4]
xor eax, 0x1c0b1907
imul r8d, eax, 0xef120e98
and r8d, 0x391bb3e8
mov rax, r11
lock cmpxchg qword [rsi], rdx
sete al
cmp r8d, 0x5fd2c2d6
je 0x1400f3310
nop word cs:[rax + rax]
mov r8d, dword [0x141dc90d8]
sub r8d, dword [0x141dc90dc]
imul r8d, r8d, 0xd62c1867
or r8d, 0x920a870c
and r8d, 0xff8bcfee
cmp r8d, 0xc5379b02
je 0x1400f3350
test al, al
jne 0x1400f3450
mov eax, dword [0x141dc9108]
sub eax, dword [0x141dc910c]
imul eax, eax, 0xa94ff888
imul rax, rax, 0x149eb0a1
shr rax, 0x3c
or eax, 0xf8f15880
cmp eax, 0xab00532e
jb 0x1400f340e
mov eax, dword [0x141dc9110]
mov edx, dword [0x141dc9114]
add eax, edx
add eax, 0x4a1b0c16
or eax, 0x8b5865b
imul rax, rax, 0x1c4df6c1
shr rax, 0x3b
mov r11, qword [rsi]
cmp eax, 0xd8dee144
ja 0x1400f340e
mov r12, r11
and r12, 0xfffffffffffffff8
mov eax, dword [0x141dc9118]
imul eax, dword [0x141dc911c]
and eax, 0x8ebe12bf
add eax, 0x316708fc
mov edx, 0xcecaf47f
imul rax, rdx
shr rax, 0x3e
cmp eax, 0xc5e2e4d0
jne 0x1400f3413
jmp 0x1400f343c
mov rax, qword [rsi]
jmp 0x1400f33ad
mov eax, dword [0x141dc9120]
add eax, dword [0x141dc9124]
and eax, 0x1cc55dc9
add eax, 0xb072d5a8
mov rdx, qword [r12 + 0x810]
cmp eax, 0x2f83193
jae 0x1400f32a7
mov rax, qword [r12 + 0x810]
jmp 0x1400f3413
mov eax, dword [0x141dc90e0]
imul eax, dword [0x141dc90e4]
add eax, 0xaba264ed
xor eax, 0xf6f74477
cmp eax, 0x18ef5d49
jbe 0x1400f3480
mov rax, qword [rsi + 0x80]
nop word cs:[rax + rax]
mov eax, dword [0x141dc90e8]
and eax, dword [0x141dc90ec]
imul r8, rax, 0x1632bb5
shr r8, 0x20
sub eax, r8d
shr eax, 1
add eax, r8d
shr eax, 0x1f
lea r8d, [rax*2 - 0x77eca1f8]
mov rax, qword [rsi + 0x80]
cmp r8d, 0xc5cbb74e
je 0x1400f3480
cmp r11, rax
jne 0x1400f34d0
mov rax, r11
lock cmpxchg qword [rsi + 0x80], rdx
nop dword [rax + rax]
mov eax, dword [0x141dc90f0]
mov edx, dword [0x141dc90f4]
add eax, edx
add eax, 0x344b1706
imul rax, rax, 0xddf66c1
shr rax, 0x3a
or eax, 0x8a87a22a
cmp eax, 0x871b7918
je 0x1400f34d0
mov rdx, qword [rbp - 0x28]
test rdx, rdx
mov qword [rbp - 0x20], r9
mov qword [rbp], r10
mov qword [rbp - 0x18], rcx
je 0x1400f353b
lea rax, [0x140065ba0]
mov qword [rdi], rax
mov qword [rdi + 8], r11
sub rsp, 0x20
mov rcx, rdx
mov rdx, rdi
call fcn.140065c80
add rsp, 0x20
xor eax, eax
test al, al
jne 0x1400f3530
jmp 0x1400f35c0
mov eax, dword [0x141dc90f8]
xor eax, dword [0x141dc90fc]
xor eax, 0x5c383057
imul eax, eax, 0x367cf364
add eax, 0x49021044
cmp eax, 0x95ac5165
jbe 0x1400f3578
mov rcx, qword [0x141dda6a0]
sub rsp, 0x20
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov qword [rbp - 8], r12
nop dword [rax]
mov r12d, dword [0x141dc9100]
add r12d, dword [0x141dc9104]
or r12d, 0x28064418
and r12d, 0x3907f4dd
mov rcx, qword [0x141dda6a0]
sub rsp, 0x20
xor edx, edx
mov r8, qword [rbp - 8]
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
cmp r12d, 0x138b3fc1
je 0x1400f3580
mov r12, qword [r13]
nop word cs:[rax + rax]
mov eax, dword [0x141dc9128]
xor edx, edx
div dword [0x141dc912c]
imul eax, eax, 0x57f6e93f
or eax, 0x7d833937
imul eax, eax, 0xb2dadd38
cmp eax, 0x60ccebbb
jb 0x1400f35d0
test r12, r12
je 0x1400f37c0
add r13, 8
sub rsp, 0x20
mov r8d, 0x808
mov rcx, rbx
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov eax, dword [0x141dc9130]
imul eax, dword [0x141dc9134]
or eax, 0x526ccf96
cmp eax, 0x4674920d
jne 0x1400f3652
mov qword [r15], r12
sub rsp, 0x20
mov r8d, 0x808
mov rcx, qword [rbp]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [rbp - 8], r12
mov r12, qword [rbp]
nop word [rax + rax]
mov r13d, dword [0x141dc9138]
or r13d, dword [0x141dc913c]
xor r13d, 0x39d4982b
mov eax, 0xa08511cb
imul r13, rax
shr r13, 0x3e
mov rax, qword [rbp - 8]
mov qword [r15], rax
sub rsp, 0x20
mov r8d, 0x808
mov rcx, r12
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
cmp r13d, 0x6f278942
je 0x1400f3660
mov r12, qword [r15 + 0x800]
cmp r12, 0x40
ja 0x1400f37d1
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x141dc9140]
mov edx, dword [0x141dc9144]
add eax, edx
add eax, 0x23037ea6
or eax, 0x7528fa0b
cmp eax, 0x59af0bcb
jb 0x1400f36c0
nop
mov eax, dword [0x141dc9148]
imul eax, dword [0x141dc914c]
xor eax, 0x7fe679db
imul eax, eax, 0x63845f5d
cmp eax, 0xeb05fd06
ja 0x1400f36e0
test r12, r12
je 0x1400f3760
shl r12, 5
xor r13d, r13d
nop dword [rax + rax]
movups xmm0, xmmword [r15 + r13]
movups xmm1, xmmword [r15 + r13 + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmmword [r14], xmm0
movups xmm0, xmmword [0x141db8230]
movups xmmword [r15 + r13], xmm0
movups xmm0, xmmword [0x141db8240]
movups xmmword [r15 + r13 + 0x10], xmm0
sub rsp, 0x20
call qword [r14]
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
add r13, 0x20
cmp r12, r13
jne 0x1400f3710
nop word cs:[rax + rax]
mov eax, dword [0x141dc9150]
mov edx, dword [0x141dc9154]
add eax, edx
add eax, 0xce700aae
or eax, 0x4fc616e3
imul rax, rax, 0x13d83905
shr rax, 0x3b
cmp eax, 0xa143c20b
ja 0x1400f3760
mov r9, qword [rbp - 0x20]
mov r10, qword [rbp]
mov eax, dword [0x141dc9158]
xor eax, dword [0x141dc915c]
xor eax, 0x1579587f
imul eax, eax, 0x40055a38
or eax, 0x8bbe6ec8
cmp eax, 0x9557e453
ja 0x1400f3792
cmp qword [rbp - 0x10], 8
jne 0x1400f3280
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2