Function at 0x1400a21c0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rcx
movzx eax, byte [0x141dde658]
xor ecx, ecx
nop dword [rax]
test cl, cl
jne 0x1400a21e0
test al, al
je 0x1400a2380
nop dword [rax]
mov eax, dword [0x141dd4bc8]
add eax, dword [0x141dd4bcc]
imul eax, eax, 0x78437c7e
cmp eax, 0x307dc773
je 0x1400a21f0
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rax, qword [rax + 0x60]
cmp eax, 1
je 0x1400a2259
cmp eax, 2
je 0x1400a2380
test rax, rax
jne 0x1400a2297
call fcn.1400fddb0
nop dword [rax + rax]
mov eax, dword [0x141dd4bd8]
or eax, dword [0x141dd4bdc]
imul eax, eax, 0x47173670
cmp eax, 0x54132a10
je 0x1400a2240
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r14, qword [rax + 0x68]
mov eax, dword [0x141dd4be0]
and eax, dword [0x141dd4be4]
add eax, 0x7926e72b
and eax, 0xc7b58b17
xor eax, 0xb9dbf4e3
cmp eax, 0xeb75cfc2
jae 0x1400a22bc
jmp 0x1400a2301
mov eax, dword [0x141dd4bd0]
or eax, dword [0x141dd4bd4]
add eax, 0x8a4d0995
or eax, 0x84cf3f57
imul eax, eax, 0x247732bf
cmp eax, 0x5c412767
je 0x1400a2297
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov ecx, dword [0x141dd4be8]
imul ecx, dword [0x141dd4bec]
imul ecx, ecx, 0x719a3e8
or ecx, 0xd32c1a17
xor ecx, 0xfffad51f
mov qword [rax + 0x68], 0
cmp ecx, 0x21bde796
jbe 0x1400a2330
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rax + 0x68], 0
jmp 0x1400a22bc
mov eax, dword [0x141dd4bf0]
add eax, dword [0x141dd4bf4]
or eax, 0xfcf7eeed
add eax, 0x76545dac
cmp eax, 0x25006303
jb 0x1400a2330
test r14, r14
je 0x1400a2380
mov eax, dword [0x141dd4bf8]
imul eax, dword [0x141dd4bfc]
xor eax, 0x1cbcd13e
add eax, 0x8b45c9dc
or eax, 0x974cc735
cmp eax, 0x9c4d8b69
jbe 0x1400a25da
jmp 0x1400a260a
mov eax, dword [0x141dd4da8]
sub eax, dword [0x141dd4dac]
xor eax, 0xafef77b1
add eax, 0x85970897
imul rax, rax, 0x12ee8f2b
shr rax, 0x3a
cmp eax, 0xd547ef92
ja 0x1400a2380
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rbx, qword [rax + 0x88]
test rbx, rbx
jne 0x1400a31bf
xor eax, eax
nop dword [rax]
test al, al
jne 0x1400a23d0
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
movzx eax, byte [rax + 0x98]
nop
mov ecx, dword [0x141dd4db0]
xor ecx, dword [0x141dd4db4]
and ecx, 0xf94ac0fa
add ecx, 0x359c36cf
or ecx, 0x5963742e
cmp ecx, 0xda799006
jb 0x1400a23f0
test rax, rax
je 0x1400a2425
cmp eax, 1
je 0x1400a245d
jmp 0x1400a3399
xor eax, eax
test al, al
jne 0x1400a25c6
mov eax, dword [0x141dd4db8]
imul eax, dword [0x141dd4dbc]
imul rdi, rax, 0x498dca1b
shr rdi, 0x37
and edi, 0xffffff8e
add edi, 0x4f8cbc05
call fcn.1400fd330
cmp edi, 0x9a97e19a
ja 0x1400a242f
mov eax, 0xe9ba4119
nop word cs:[rax + rax]
mov ecx, dword [0x141dd4dc0]
add ecx, dword [0x141dd4dc4]
imul rcx, rax
shr rcx, 0x3c
and ecx, 2
cmp ecx, 0xac405ee3
ja 0x1400a2470
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x90]
nop dword [rax]
mov eax, dword [0x141dd4dc8]
xor eax, dword [0x141dd4dcc]
or eax, 0xe1b45bdf
and eax, 0xe3b65bdf
cmp eax, 0xb77127d7
jb 0x1400a24b0
nop dword [rax]
mov eax, dword [0x141dd4dd0]
xor edx, edx
div dword [0x141dd4dd4]
imul rdx, rax, 0x1c9f8f0b
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x5f7622f1
je 0x1400a24d0
test rcx, rcx
jne 0x1400a2593
xor eax, eax
test al, al
jne 0x1400a25d0
mov eax, dword [0x141dd4dd8]
or eax, dword [0x141dd4ddc]
or eax, 0x5522a071
imul edi, eax, 0xe206aba4
call fcn.1400fd760
cmp edi, 0x2c6a0a45
je 0x1400a250c
mov eax, dword [0x141dd4de0]
add eax, dword [0x141dd4de4]
xor eax, 0x7fdc4e5d
imul eax, eax, 0x92bb32b5
cmp eax, 0xaafd7219
je 0x1400a2530
mov eax, dword [0x141dde6fc]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x90]
nop dword [rax + rax]
mov eax, dword [0x141dd4de8]
sub eax, dword [0x141dd4dec]
and eax, 0xe7169826
imul rax, rax, 0x5a2441df
shr rax, 0x3e
cmp eax, 0xa90398c5
ja 0x1400a2570
mov eax, dword [0x141dd4df0]
xor edx, edx
div dword [0x141dd4df4]
or eax, 0xb4188a0f
and eax, 0xbf5abb2f
imul rax, rax, 0x24289b39
shr rax, 0x3c
cmp eax, 0x19e54411
jne 0x1400a30eb
jmp 0x1400a311b
call fcn.1400fd330
jmp 0x1400a242f
call fcn.1400fd760
jmp 0x1400a250c
mov eax, dword [0x141dd4c00]
mov ecx, dword [0x141dd4c04]
lea edx, [rax + rcx]
add edx, 0x27e0728
and edx, 0x4605801
mov cl, 1
xor eax, eax
lock cmpxchg byte [r14 + 0x10], cl
sete cl
cmp edx, 0x9f95fbd8
jne 0x1400a2616
mov cl, 1
xor eax, eax
lock cmpxchg byte [r14 + 0x10], cl
jmp 0x1400a25da
lea rdi, [r14 + 0x10]
nop word [rax + rax]
mov eax, dword [0x141dd4c08]
xor edx, edx
div dword [0x141dd4c0c]
imul eax, eax, 0x4d71b2e9
add eax, 0x7758c1e3
and eax, 0x3420c623
cmp eax, 0x5f496438
ja 0x1400a2620
nop word cs:[rax + rax]
mov eax, dword [0x141dd4c10]
and eax, dword [0x141dd4c14]
add eax, 0xc4cf869d
and eax, 0x54542801
imul eax, eax, 0xdd8df089
cmp eax, 0xc3a9ad20
ja 0x1400a2650
test cl, cl
jne 0x1400a26e4
mov eax, dword [0x141dd4c18]
or eax, dword [0x141dd4c1c]
cmp eax, 0x1d677956
je 0x1400a2712
mov ebx, dword [0x141dd4c20]
or ebx, dword [0x141dd4c24]
and ebx, 0x7dbfc8
add ebx, 0x341c39ab
and ebx, 0x20616ecb
mov rcx, rdi
call fcn.1400fdaa0
cmp ebx, 0xfff83cbc
ja 0x1400a268e
nop dword [rax]
mov eax, dword [0x141dd4c28]
or eax, dword [0x141dd4c2c]
imul eax, eax, 0x8f6d6435
and eax, 0x9f66e1ec
imul eax, eax, 0x782a20fc
cmp eax, 0xdde796fb
ja 0x1400a26c0
lea rbx, [r14 + 0x18]
mov eax, dword [0x141dd4c30]
imul eax, dword [0x141dd4c34]
mov ecx, 0xc41c988d
imul rcx, rax
shr rcx, 0x3f
add ecx, 0x5121d993
cmp ecx, 0x5d1f61ec
jbe 0x1400a271f
jmp 0x1400a2762
mov rcx, rdi
call fcn.1400fdaa0
jmp 0x1400a268e
mov eax, dword [0x141dd4df8]
sub eax, dword [0x141dd4dfc]
imul edx, eax, 0x4fd83b1a
add edx, 0xfd972844
and edx, 0x62b031f6
mov eax, 1
lock xadd qword [rcx], rax
cmp edx, 0xa84a51d5
jne 0x1400a3121
lock inc qword [rcx]
jmp 0x1400a30eb
test rax, rax
js 0x1400a33f4
nop word [rax + rax]
mov eax, dword [str.K0X]
and eax, dword [0x141dd4e0c]
add eax, 0x901a27ee
invalid
sbb dl, byte [rax - 0x1fe84cf3]
pushfq
cmp eax, 0xfe11decd
ficom word [rcx]
invalid
je 0x1400a3130
test rcx, rcx
je 0x1400a3399
nop word cs:[rax + rax]
ud2
ud2