Function at 0x1400385c0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
mov rbp, rsp
mov eax, dword [0x141dc3d50]
or eax, dword [0x141dc3d54]
add eax, 0x2eea280
or eax, 0x37529b5d
and eax, 0x3772fbff
cmp eax, 0xe922d7f6
jbe 0x1400385f8
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov ecx, 0xa9c6bf61
nop dword [rax]
mov edx, dword [0x141dc3d58]
or edx, dword [0x141dc3d5c]
imul rdx, rcx
shr rdx, 0x3f
add edx, 0x315a7d87
or edx, 0xe5cc3d21
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov rsi, rsp
cmp edx, 0x439e841f
jb 0x140038600
mov eax, dword [0x141dc3d60]
or eax, dword [0x141dc3d64]
add eax, 0x52c6166a
and eax, 0xf3995ea4
mov ecx, 0xd644cb01
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xc53d77a3
ja 0x1400386dc
mov eax, dword [0x141dc3d68]
xor edx, edx
div dword [0x141dc3d6c]
imul eax, eax, 0x914e8de5
mov r14d, 0xae61324d
imul r14, rax
shr r14, 0x3e
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov rdi, rsp
sub rsp, 0x20
lea rdx, [0x140084250]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
add rsp, 0x20
mov dword [rdi], 0x5000
sub rsp, 0x20
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetThreadStackGuarantee]
add rsp, 0x20
cmp r14d, 0xa1a63906
jne 0x14003872c
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov eax, 0x10
call fcn.1400eeec0
sub rsp, rax
mov rdi, rsp
sub rsp, 0x20
lea rdx, [0x140084250]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
add rsp, 0x20
mov dword [rdi], 0x5000
sub rsp, 0x20
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetThreadStackGuarantee]
add rsp, 0x20
jmp 0x140038663
mov eax, dword [0x141dc3d70]
add eax, dword [0x141dc3d74]
imul rax, rax, 0x26abd42b
shr rax, 0x3d
xor eax, 0x288191a1
cmp eax, 0x34d2a264
ja 0x1400387bb
mov edi, dword [0x141dc3d78]
imul edi, dword [0x141dc3d7c]
add edi, 0x4e0c32cc
or edi, 0x124fd00
and edi, 0x8d66ff4e
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
add rsp, 0x20
mov r8, qword [0x141dbe008]
sub rsp, 0x20
lea rdx, [0x141db8980]
mov rcx, rax
call r8
add rsp, 0x20
movzx eax, byte [0x141dda6b8]
sub rsp, 0x20
mov edx, 0x38
xor ecx, ecx
call fcn.1400bf230
add rsp, 0x20
cmp edi, 0x100de75a
jne 0x140038805
sub rsp, 0x20
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
add rsp, 0x20
mov r8, qword [0x141dbe008]
sub rsp, 0x20
lea rdx, [0x141db8980]
mov rcx, rax
call r8
add rsp, 0x20
movzx eax, byte [0x141dda6b8]
sub rsp, 0x20
mov edx, 0x38
xor ecx, ecx
call fcn.1400bf230
add rsp, 0x20
jmp 0x14003874f
mov rcx, rax
test rax, rax
je 0x1400389e3
mov qword [rcx], 1
mov qword [rcx + 8], 1
mov eax, dword [0x141dc3d90]
add eax, dword [str.w__St]
xor eax, 0xd4286334
or eax, 0x2bc398cb
imul eax, eax, 0x9e917d47
cmp eax, 0x91653673
je 0x140038820
mov qword [rcx + 0x10], 0
mov r8, qword [0x141dda680]
xor r9d, r9d
mov r10d, 0x93a69c0b
nop dword [rax + rax]
mov eax, dword [0x141dc3d98]
xor edx, edx
div dword [0x141dc3d9c]
nop
mov eax, dword [0x141dc3da0]
or eax, dword [0x141dc3da4]
and eax, 0x1b7d8052
imul eax, eax, 0x3146e026
and eax, 0xd1807e40
cmp eax, 0xe4d1a39d
je 0x140038870
cmp r8, 0xffffffffffffffff
je 0x140038984
mov eax, dword [0x141dc3da8]
imul eax, dword [0x141dc3dac]
or eax, 0x5021655f
xor eax, 0x3a23d32c
cmp eax, 0x7241072a
jae 0x1400388d0
lea rdx, [r8 + 1]
mov rax, r8
lock cmpxchg qword [0x141dda680], rdx
nop dword [rax + rax]
mov edi, dword [0x141dc3db0]
and edi, dword [0x141dc3db4]
imul rdi, r10
shr rdi, 0x3f
lea rdx, [r8 + 1]
mov rax, r8
lock cmpxchg qword [0x141dda680], rdx
sete r11b
cmp edi, 0xfaae322b
je 0x1400388d0
mov r8, rax
nop word cs:[rax + rax]
test r9b, r9b
jne 0x140038910
test r11b, r11b
je 0x140038860
mov qword [rcx + 0x28], rdx
mov byte [rcx + 0x30], 0
sub rsp, 0x20
call fcn.140085030
call fcn.140025780
add rsp, 0x20
mov eax, dword [0x141dda608]
cmp eax, 3
jne 0x1400389b7
mov eax, 0xd3c4a645
nop dword [rax + rax]
mov ecx, dword [0x141dc3dd0]
xor ecx, dword [0x141dc3dd4]
imul rcx, rax
shr rcx, 0x3b
or ecx, 0x76e44117
add ecx, 0x19052c2f
cmp ecx, 0xdff459c4
ja 0x140038950
xor eax, eax
mov rsp, rbp
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
ud2
mov eax, dword [0x141dc3dc0]
imul eax, dword [0x141dc3dc4]
imul eax, eax, 0xcfbf15b2
add eax, 0xa0a3a836
imul rax, rax, 0x3e02c12b
shr rax, 0x3d
cmp eax, 0xc8040483
jbe 0x140038a38
jmp 0x140038a5d
mov eax, dword [0x141dc3d80]
xor edx, edx
div dword [0x141dc3d84]
xor eax, 0x6c0fc47c
add eax, 0x67b7650e
cmp eax, 0xc637ca8a
jae 0x140038a10
ud2
mov eax, dword [0x141dc3d88]
xor edx, edx
div dword [0x141dc3d8c]
add eax, 0xa68c0548
or eax, 0x61810009
and eax, 0x71d9cdbd
ud2
mov eax, dword [0x141dc3dc8]
sub eax, dword [0x141dc3dcc]
or eax, 0x8df716a0
add eax, 0xb3792152
xor eax, 0xf51c507e
mov byte [rbx], 1
cmp eax, 0x62ba070f
jae 0x140038a62
mov byte [rbx], 1
jmp 0x140038a38
mov qword [rsi], rbx
sub rsp, 0x20
lea rcx, [0x141dda608]
lea r9, [0x141db8368]
xor edi, edi
xor edx, edx
mov r8, rsi
call fcn.1400fa280
add rsp, 0x20
nop word [rax + rax]
test dil, dil
jne 0x140038a90
jmp 0x140038943