Function at 0x1400f3440
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov rdi, rdx
mov eax, dword [0x141dc9bf8]
xor eax, dword [0x141dc9bfc]
mov rsi, rcx
xor eax, 0xe8456a08
add eax, 0x90e1b526
cmp eax, 0x9db7dac2
ja 0x1400f34f0
mov eax, dword [0x141dc9c00]
xor eax, dword [0x141dc9c04]
or eax, 0xce8bb791
imul ebx, eax, 0xee00a166
add ebx, 0x25cc4b7c
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r13, rsp
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov r15, rsp
mov eax, 0x810
call fcn.1400ef330
sub rsp, rax
mov r14, rsp
mov eax, 0x810
call fcn.1400ef330
sub rsp, rax
mov r12, rsp
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.1400f3d10
add rsp, 0x20
cmp ebx, 0x4100e7fa
jbe 0x1400f353c
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov eax, 0x20
call fcn.1400ef330
sub rsp, rax
mov eax, 0x810
call fcn.1400ef330
sub rsp, rax
mov eax, 0x810
call fcn.1400ef330
sub rsp, rax
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.1400f3d10
add rsp, 0x20
jmp 0x1400f3478
mov r9, rax
mov rax, qword [rdi]
mov qword [rbp - 0x18], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc9c08]
add eax, dword [0x141dc9c0c]
imul rax, rax, 0x63034a4d
shr rax, 0x3d
add eax, 0x968a355
and eax, 0x848a31c
cmp eax, 0x2e946eb
jb 0x1400f3550
mov qword [rbp - 0x10], r15
mov qword [rbp], r14
lea r10, [r14 + 8]
mov r11, r13
add r11, 8
nop dword [rax + rax]
mov eax, dword [0x141dc9c10]
add eax, dword [0x141dc9c14]
xor eax, 0xe0f237e8
add eax, 0x64355250
cmp eax, 0x85e7c312
jb 0x1400f3590
xor r14d, r14d
lea rbx, [0x140064570]
xor eax, eax
mov qword [rbp - 0x28], rax
mov eax, dword [0x141dc9c18]
add eax, dword [0x141dc9c1c]
imul eax, eax, 0xd3e4e3ab
add eax, 0x5d3d88c9
cmp eax, 0x6dbfabfb
jae 0x1400f35f0
mov rax, qword [rsi]
and rax, 0xfffffffffffffff8
mov rax, qword [rax + 0x810]
nop dword [rax]
mov eax, dword [0x141dc9c20]
xor edx, edx
div dword [0x141dc9c24]
or eax, 0xfff2ebfe
xor eax, 0x99a1f461
mov rcx, qword [rsi]
mov rdi, rcx
and rdi, 0xfffffffffffffff8
mov rdx, qword [rdi + 0x810]
cmp eax, 0xfbfebeb
jb 0x1400f35f0
mov r15, rdx
and r15, 0xfffffffffffffff8
je 0x1400f3c70
inc qword [rbp - 0x28]
nop word cs:[rax + rax]
test r14b, r14b
jne 0x1400f3640
mov rax, qword [r15 + 0x808]
and rax, 0xfffffffffffffffe
mov r8, r9
sub r8, rax
cmp r8, 4
jl 0x1400f3c70
mov eax, dword [0x141dc9c28]
imul eax, dword [0x141dc9c2c]
add eax, 0xdfe961d3
and eax, 0x83963a46
add eax, 0x37408984
cmp eax, 0x49e3235d
jb 0x1400f36b4
mov r8d, dword [0x141dc9c30]
imul r8d, dword [0x141dc9c34]
xor r8d, 0xdbb4a422
add r8d, 0x2186f576
mov rax, rcx
lock cmpxchg qword [rsi], rdx
sete al
cmp r8d, 0x73d80d78
jae 0x1400f36c0
mov rax, rcx
lock cmpxchg qword [rsi], rdx
jmp 0x1400f3683
mov r8d, dword [0x141dc9c38]
or r8d, dword [0x141dc9c3c]
imul r8d, r8d, 0x33748321
add r8d, 0x2672e4f4
xor r8d, 0xf747533b
cmp r8d, 0x23ed531f
jb 0x1400f36c0
nop dword [rax]
mov r8d, dword [0x141dc9c40]
xor r8d, dword [0x141dc9c44]
imul r8d, r8d, 0x4963e3a1
imul r8, r8, 0x58179239
shr r8, 0x3e
add r8d, 0xba476f3
cmp r8d, 0x3efe3ce8
ja 0x1400f36f0
test al, al
jne 0x1400f37a0
mov eax, dword [0x141dc9c80]
imul eax, dword [0x141dc9c84]
imul rax, rax, 0x12fd4f53
shr rax, 0x3b
cmp eax, 0xd57bb264
je 0x1400f3769
mov eax, dword [0x141dc9c88]
imul eax, dword [0x141dc9c8c]
xor eax, 0xb0a00
or eax, 0x480c000
and eax, 0x248bce40
mov rcx, qword [rsi]
cmp eax, 0xc24dc6f4
jbe 0x1400f3770
mov rax, qword [rsi]
jmp 0x1400f3743
test r14b, r14b
jne 0x1400f3770
mov rdi, rcx
and rdi, 0xfffffffffffffff8
mov rdx, qword [rdi + 0x810]
mov r15, rdx
and r15, 0xfffffffffffffff8
jne 0x1400f3640
jmp 0x1400f3c70
mov eax, dword [0x141dc9c48]
imul eax, dword [0x141dc9c4c]
or eax, 0xcea77c83
add eax, 0x97c5c27e
shr eax, 3
imul rax, rax, 0x12c39e79
shr rax, 0x37
cmp eax, 0xc0a4ed5d
je 0x1400f3880
mov r8d, dword [0x141dc9c50]
add r8d, dword [0x141dc9c54]
mov rax, qword [rsi + 0x80]
cmp r8d, 0x4c24185d
je 0x1400f3880
mov qword [rbp - 0x20], r11
mov qword [rbp - 8], r10
mov qword [rbp - 0x48], r9
cmp rcx, rax
jne 0x1400f382f
mov rax, rcx
lock cmpxchg qword [rsi + 0x80], rdx
nop
mov eax, dword [0x141dc9c78]
imul eax, dword [0x141dc9c7c]
imul eax, eax, 0x27109fd
and eax, 0xc8410438
cmp eax, 0x641b17e8
jbe 0x1400f3810
cmp qword [rbp - 0x18], 0
je 0x1400f388c
mov rax, qword [rbp - 0x10]
mov qword [rax], rbx
mov qword [rax + 8], rcx
mov eax, dword [0x141dc9c68]
imul eax, dword [0x141dc9c6c]
xor eax, 0xcd1f224d
add eax, 0xa29dbe80
imul rcx, rax, 0xfa40e89
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0x6aa677b9
jbe 0x1400f3c10
jmp 0x1400f3c4f
mov rax, qword [rsi + 0x80]
jmp 0x1400f37d0
mov eax, dword [0x141dc9c58]
or eax, dword [0x141dc9c5c]
or eax, 0x58c8c2b5
imul eax, eax, 0x98e5309d
add eax, 0xef921644
cmp eax, 0x53eb6767
mov rbx, qword [sym.imp.KERNEL32.dll_HeapFree]
jb 0x1400f3904
nop word cs:[rax + rax]
mov rcx, qword [0x141ddb260]
sub rsp, 0x20
xor edx, edx
mov r8, rdi
call rbx
add rsp, 0x20
test r14b, r14b
jne 0x1400f3904
mov ecx, 0x8b73a23b
mov eax, dword [0x141dc9c60]
or eax, dword [0x141dc9c64]
xor eax, 0x78652338
shr eax, 1
imul rax, rcx
shr rax, 0x3e
cmp eax, 0x4a1934e6
ja 0x1400f38e0
jmp 0x1400f3920
mov rcx, qword [0x141ddb260]
sub rsp, 0x20
xor edx, edx
mov r8, rdi
call rbx
add rsp, 0x20
jmp 0x1400f38c0
mov eax, dword [0x141dc9c90]
add eax, dword [0x141dc9c94]
and eax, 0x6092a0
imul eax, eax, 0x8a2592a1
and eax, 0x107d820
cmp eax, 0xb51c67e0
ja 0x1400f3920
mov rdi, qword [r15]
test rdi, rdi
je 0x1400f3c70
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x38], r13
mov eax, dword [0x141dc9ca0]
and eax, dword [0x141dc9ca4]
add r15, 8
or eax, 0x20050b01
and eax, 0x60052b01
cmp eax, 0xf82548c3
jbe 0x1400f39b2
sub rsp, 0x20
mov r8d, 0x808
mov rcx, r12
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov rax, qword [rbp]
mov qword [rax], rdi
sub rsp, 0x20
mov r8d, 0x808
mov rcx, qword [rbp - 8]
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov r13, qword [rbp]
mov rsi, qword [rbp - 8]
nop word [rax + rax]
mov ebx, dword [0x141dc9ca8]
and ebx, dword [0x141dc9cac]
xor ebx, 0xef093e3e
add ebx, 0x84d1d4df
sub rsp, 0x20
mov r8d, 0x808
mov rcx, r12
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
mov qword [r13], rdi
sub rsp, 0x20
mov r8d, 0x808
mov rcx, rsi
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
add rsp, 0x20
cmp ebx, 0x268063d0
jb 0x1400f39c0
mov qword [rbp - 0x40], r12
mov rax, qword [rbp]
mov r13, qword [rbp - 0x38]
mov rsi, qword [rbp - 0x30]
nop word cs:[rax + rax]
test r14b, r14b
jne 0x1400f3a30
mov rdi, qword [rax + 0x800]
cmp rdi, 0x40
ja 0x1400f3c9a
mov r11, qword [rbp - 0x20]
nop word [rax + rax]
mov eax, dword [0x141dc9cb0]
mov ecx, dword [0x141dc9cb4]
add eax, ecx
add eax, 0x9fe7a070
xor eax, 0x1a80484
or eax, 0x30131a79
cmp eax, 0x7ef55c22
ja 0x1400f3a50
nop word cs:[rax + rax]
mov eax, dword [0x141dc9cb8]
add eax, dword [0x141dc9cbc]
or eax, 0x1034108f
and eax, 0x5e3d7d8f
cmp eax, 0xeaff84a4
je 0x1400f3a80
nop dword [rax]
test r14b, r14b
jne 0x1400f3aa0
test rdi, rdi
je 0x1400f3ba0
shl rdi, 5
xor r15d, r15d
jmp 0x1400f3acd
add r15, 0x20
cmp rdi, r15
je 0x1400f3ba0
mov eax, dword [0x141dc9cd0]
imul eax, dword [0x141dc9cd4]
mov rcx, qword [rbp]
lea rbx, [rcx + r15]
add eax, 0xdfdc4b23
and eax, 0x358f2d6e
cmp eax, 0x35c0415f
je 0x1400f3b62
nop word cs:[rax + rax]
mov r12d, dword [0x141dc9cd8]
sub r12d, dword [0x141dc9cdc]
xor r12d, 0xd95009cc
add r12d, 0x9e030fc9
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movups xmm0, xmmword [0x141db9030]
movups xmmword [rbx], xmm0
movups xmm0, xmmword [0x141db9040]
movups xmmword [rbx + 0x10], xmm0
sub rsp, 0x20
mov rcx, r11
call qword [r13]
mov r11, qword [rbp - 0x20]
add rsp, 0x20
cmp r12d, 0x3187e9ff
jae 0x1400f3ac0
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r13 + 0x10], xmm1
movups xmmword [r13], xmm0
movups xmm0, xmmword [0x141db9030]
movups xmmword [rbx], xmm0
movups xmm0, xmmword [0x141db9040]
movups xmmword [rbx + 0x10], xmm0
sub rsp, 0x20
mov rcx, r11
call qword [r13]
mov r11, qword [rbp - 0x20]
add rsp, 0x20
jmp 0x1400f3b00
mov eax, dword [0x141dc9ce0]
and eax, dword [0x141dc9ce4]
imul eax, eax, 0x31f86b36
add eax, 0xda939d4f
cmp eax, 0x40f39625
jb 0x1400f3ba0
mov r12, qword [rbp - 0x40]
mov r9, qword [rbp - 0x48]
mov r10, qword [rbp - 8]
lea rbx, [0x140064570]
nop word cs:[rax + rax]
mov eax, dword [0x141dc9ce8]
xor edx, edx
div dword [0x141dc9cec]
and eax, 0x132408
add eax, 0x73655e9e
cmp eax, 0x3800d20d
jb 0x1400f3be0
cmp qword [rbp - 0x28], 8
jne 0x1400f35bd
jmp 0x1400f3c70
mov eax, dword [0x141dc9c70]
xor edx, edx
div dword [0x141dc9c74]
add eax, 0x96f572e4
and eax, 0xa0a02254
imul edi, eax, 0xd1910eb
sub rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
call fcn.140064590
add rsp, 0x20
cmp edi, 0x60e2b26a
jae 0x1400f3920
sub rsp, 0x20
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
call fcn.140064590
add rsp, 0x20
jmp 0x1400f3c10
mov eax, dword [0x141dc9c98]
or eax, dword [0x141dc9c9c]
imul eax, eax, 0x9ca79e0b
cmp eax, 0x7338b2da
je 0x1400f3c70
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x141dc9cc0]
add eax, dword [0x141dc9cc4]
imul rax, rax, 0x389078c7
shr rax, 0x3a
add eax, 0x9ecd1346
or eax, 0xc546b228
cmp eax, 0xac9d495
jne 0x1400f3cc4
ud2
xor eax, eax
nop word cs:[rax + rax]
ud2