Function at 0x1400854d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rcx, qword [rcx]
movzx eax, byte [rcx]
mov byte [rcx], 0
nop dword [rax]
mov ecx, dword [0x141dcd088]
or ecx, dword [0x141dcd08c]
cmp ecx, 0xb7cad55
je 0x1400854f0
nop word cs:[rax + rax]
mov ecx, dword [0x141dcd090]
sub ecx, dword [0x141dcd094]
or ecx, 0x84de56a8
add ecx, 0x22f72818
imul rcx, rcx, 0x59418c4f
shr rcx, 0x3c
cmp ecx, 0x55836dcc
ja 0x140085510
test al, al
je 0x1400858ef
mov eax, dword [0x141dcd098]
xor edx, edx
div dword [0x141dcd09c]
imul eax, eax, 0xbd2e520c
or eax, 0x9615042f
add eax, 0xdd091158
cmp eax, 0x600e90bf
jb 0x14008558b
mov eax, dword [0x141dcd0a0]
xor eax, dword [0x141dcd0a4]
xor eax, 0x1deeb446
imul eax, eax, 0x6878c966
mov byte [rsp + 0x27], 0
cmp eax, 0x2f8691e8
jne 0x140085592
mov byte [rsp + 0x27], 0
jmp 0x140085568
mov eax, dword [0x141dcd0a8]
and eax, dword [0x141dcd0ac]
add eax, 0x504bd111
mov ecx, 0xd54326d1
imul rcx, rax
shr rcx, 0x3e
add ecx, 0xa7ee575d
cmp ecx, 0x2bc4ac6b
jae 0x1400855d0
mov eax, dword [0x141dda658]
nop word cs:[rax + rax]
mov eax, dword [0x141dcd0b0]
xor edx, edx
div dword [0x141dcd0b4]
imul rax, rax, 0x4a2074b
shr rax, 0x39
imul ecx, eax, 0x8195d51a
mov eax, dword [0x141dda658]
cmp ecx, 0x6be02a5d
ja 0x1400855d0
cmp eax, 3
je 0x140085680
mov eax, dword [0x141dcd0b8]
xor edx, edx
div dword [0x141dcd0bc]
imul rax, rax, 0x5fdbbe8d
shr rax, 0x3e
imul eax, eax, 0x11a98f9f
xor eax, 0x1b12ec69
cmp eax, 0xd08b771c
ja 0x140085665
mov eax, dword [0x141dcd0c0]
imul eax, dword [0x141dcd0c4]
mov esi, 0xc6f5bac7
imul rsi, rax
shr rsi, 0x3e
add esi, 0x523007b2
or esi, 0x1310abc9
lea rcx, [rsp + 0x27]
call fcn.1400faa09
cmp esi, 0x24ee623a
jne 0x140085680
lea rcx, [rsp + 0x27]
call fcn.1400faa09
jmp 0x14008562d
mov eax, dword [0x141dcd0c8]
xor eax, dword [0x141dcd0cc]
add eax, 0xaa9c1563
or eax, 0xeae304f2
and eax, 0xfae327fb
cmp eax, 0x37738b2f
jb 0x140085680
movzx eax, byte [rsp + 0x27]
mov ecx, 0xe31e7309
nop dword [rax]
mov edx, dword [0x141dcd0d0]
or edx, dword [0x141dcd0d4]
imul edx, edx, 0xd69d06eb
add edx, 0xcfeef18
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0xfe7f96f8
ja 0x1400856b0
test al, al
je 0x140085713
nop dword [rax]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140085720
mov eax, dword [0x141dda6bc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x88]
nop
mov eax, dword [0x141dcd0d8]
mov ecx, dword [0x141dcd0dc]
add eax, ecx
add eax, 0xdc0a1d43
shr eax, 1
imul rax, rax, 0x4e5f2967
shr rax, 0x3d
or eax, 0x2191a366
cmp eax, 0x2ebda307
ja 0x140085740
test rsi, rsi
jne 0x14008596b
mov eax, dword [0x141dda6bc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x98]
nop
mov ecx, dword [0x141dcd0e0]
or ecx, dword [0x141dcd0e4]
add ecx, 0xcbf607d7
and ecx, 0x867795fe
imul ecx, ecx, 0x1be5d47e
cmp ecx, 0x8b2b550
je 0x140085790
test rax, rax
je 0x1400857f0
cmp eax, 1
je 0x14008581f
cmp eax, 2
je 0x140085bed
mov eax, dword [0x141dcd0e8]
and eax, dword [0x141dcd0ec]
or eax, 0x8802210
xor eax, 0x30042090
or eax, 0x4373dd6f
cmp eax, 0x5562658c
je 0x1400857c9
jmp 0x1400858ef
xor eax, eax
test al, al
jne 0x1400858e5
mov esi, dword [0x141dcd0f0]
xor esi, dword [0x141dcd0f4]
add esi, 0x5edf00a2
and esi, 0x67405030
call fcn.1400fab70
cmp esi, 0x4a406c13
ja 0x1400857fa
mov eax, dword [0x141dda6bc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x90]
mov eax, dword [0x141dcd0f8]
xor edx, edx
div dword [str._fK]
nop word [rax + rax]
mov eax, dword [0x141dcd100]
imul eax, dword [0x141dcd104]
add eax, 0xd3c53bb8
cmp eax, 0x5c34e17d
jb 0x140085850
test rcx, rcx
je 0x14008589a
mov eax, dword [0x141dcd110]
xor edx, edx
div dword [0x141dcd114]
add eax, 0x902a998d
xor eax, 0x569d8726
imul rax, rax, 0x3e384171
shr rax, 0x3d
cmp eax, 0x5434fb31
jbe 0x1400858f1
jmp 0x140085901
call fcn.1400faf10
mov eax, dword [0x141dda6bc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x90]
nop dword [rax]
mov eax, dword [0x141dcd108]
add eax, dword [0x141dcd10c]
or eax, 0x2389a913
imul eax, eax, 0x923bd8a3
add eax, 0xe4388847
cmp eax, 0x3361c30e
jb 0x1400858c0
jmp 0x14008586e
call fcn.1400fab70
jmp 0x1400857fa
mov eax, 1
lock xadd qword [rcx], rax
xor edx, edx
test dl, dl
je 0x140085907
lock inc qword [rcx]
jmp 0x1400858f1
test rax, rax
js 0x140085c17
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140085920
nop word cs:[rax + rax]
mov eax, dword [0x141dcd130]
xor eax, dword [0x141dcd134]
add eax, 0x907babb4
imul rax, rax, 0x193f4061
shr rax, 0x3a
cmp eax, 0x86f31842
je 0x140085930
test rcx, rcx
je 0x140085bed
mov rsi, qword [rcx + 0x28]
lock dec qword [rcx]
jne 0x14008596b
call fcn.140076300
mov rax, qword [0x141dda620]
cmp rsi, rax
jne 0x140085a61
nop dword [rax + rax]
mov eax, dword [0x141dcd160]
and eax, dword [0x141dcd164]
and eax, 0x203009
xor eax, 0xd7aed9a0
cmp eax, 0x17945ef2
jb 0x140085980
mov ecx, dword [0x141dda628]
nop word cs:[rax + rax]
mov eax, dword [0x141dcd168]
add eax, dword [str.I:ugSvG]
and eax, 0x26e425d7
imul rax, rax, 0x3f56a3b3
shr rax, 0x3a
cmp eax, 0xf33071f7
je 0x1400859b0
cmp ecx, 0xffffffff
je 0x1400856e0
inc ecx
nop
mov eax, dword [0x141dcd170]
xor edx, edx
div dword [0x141dcd174]
cmp eax, 0xddf3c7c7
je 0x1400859e0
nop word cs:[rax + rax]
mov eax, dword [0x141dcd178]
sub eax, dword [0x141dcd17c]
add eax, 0x674369f4
xor eax, 0x5e64f839
add eax, 0x6fce6e4f
cmp eax, 0x8e067f3d
jbe 0x140085a00
mov dword [0x141dda628], ecx
cmp qword [0x141dda630], 0
jne 0x140085b7e
mov eax, dword [0x141dcd140]
or eax, dword [0x141dcd144]
imul eax, eax, 0x661052ed
add eax, 0xe2392db5
cmp eax, 0x96833abe
jbe 0x140085a8b
mov cl, 1
xor eax, eax
lock cmpxchg byte [0x141dda62c], cl
mov cl, 1
nop dword [rax]
mov edx, dword [0x141dcd148]
or edx, dword [0x141dcd14c]
or edx, 0x1e4d8679
add edx, 0xbb430dae
xor eax, eax
lock cmpxchg byte [0x141dda62c], cl
sete al
cmp edx, 0x5de1058e
jb 0x140085a90
mov ecx, 0x86fe6f2d
nop word cs:[rax + rax]
mov edx, dword [0x141dcd150]
add edx, dword [0x141dcd154]
imul edx, edx, 0x9fead651
or edx, 0xbfc518d
imul rdx, rcx
shr rdx, 0x3f
cmp edx, 0xa2a1c5b
je 0x140085ad0
nop dword [rax + rax]
mov ecx, dword [0x141dcd158]
xor ecx, dword [0x141dcd15c]
or ecx, 0x13b23df7
imul ecx, ecx, 0x2812d318
add ecx, 0xab87868
cmp ecx, 0x757d083b
ja 0x140085b00
test al, al
je 0x1400856e0
mov qword [0x141dda620], rsi
nop word cs:[rax + rax]
ud2
mov eax, dword [0x141dcd118]
imul eax, dword [0x141dcd11c]
or eax, 0x5fddcfff
cmp eax, 0x9eeeee58
jb 0x140085c4f
mov eax, dword [0x141dcd120]
or eax, dword [0x141dcd124]
and eax, 0x8c67424e
add eax, 0xf9f7c241
ud2