Function at 0x140013ce0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov r8, qword [rsi]
movabs rax, 0x8000000000000001
mov rcx, r8
add rcx, rax
xor eax, eax
movabs rdx, 0x8000000000000002
mov r9, r8
sub r9, rdx
cmovl rax, rcx
test rax, rax
je 0x140013d3c
jmp 0x140013d21
sub rax, 1
je 0x1400140b8
jmp case.0x140013dac.1
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov eax, dword [0x1400d4490]
xor eax, dword [0x1400d4494]
add eax, 0xb9d8db61
imul eax, eax, 0x55cf7618
or eax, 0xa849bfee
cmp eax, 0x9ca46844
jbe 0x140014210
mov eax, dword [0x1400d4498]
imul eax, dword [0x1400d449c]
mov ecx, 0x521211f0
xor edx, edx
div ecx
xor eax, 0x1d9f16e3
imul ecx, eax, 0x49f9a2f9
movzx eax, byte [rsi + 0xa8]
cmp ecx, 0xe0165d92
je 0x140014210
mov ecx, eax
sub eax, 8
ja case.0x140013dac.1
lea rax, [0x1400b40e0]
movsxd rcx, dword [rax + rcx*4]
add rcx, rax
jmp rcx
cmp r8, 0
je 0x140013dc6
mov rcx, qword [rsi + 8]
mov rdx, r8
mov r8d, 1
call fcn.1400541d0
mov eax, dword [0x1400d44a0]
sub eax, dword [0x1400d44a4]
xor eax, 0xb8b9fee4
sub eax, 0xb5173b3e
mov ecx, 0x9d9a503f
xor edx, edx
div ecx
cmp eax, 0xf366c437
jae 0x14001421d
jmp 0x140013df2
mov edx, dword [0x1400d44a8]
sub edx, dword [0x1400d44ac]
sub edx, 0xfb82e245
sub edx, 0x7de6d154
sub edx, 0xfdcce6ad
mov rcx, rsi
add rcx, 0x18
mov rax, qword [rsi + 0x18]
lock dec qword [rax]
sete al
cmp edx, 0x4c9c3a7a
jbe 0x140013df2
test al, 1
jne 0x140013e30
jmp 0x140013e35
call fcn.140041ee0
mov rcx, rsi
add rcx, 0x20
mov rax, qword [rsi + 0x20]
lock dec qword [rax]
sete al
test al, 1
je case.0x140013dac.1
call fcn.140041500
jmp case.0x140013dac.1
mov rcx, rsi
add rcx, 0xb0
call fcn.1400151a0
jmp 0x140013f52
mov rcx, rsi
add rcx, 0xb0
call fcn.140015ea0
jmp 0x140013f52
mov rcx, rsi
add rcx, 0xb0
call fcn.140014db0
jmp 0x14001404c
mov rcx, rsi
add rcx, 0xb0
call fcn.140016c10
jmp 0x14001404c
mov eax, dword [0x1400d44b0]
and eax, dword [0x1400d44b4]
mov ecx, 0x86e8d296
xor edx, edx
div ecx
mov ecx, 0x5a20f33b
xor edx, edx
div ecx
mov ecx, 0x21b4eb9
xor edx, edx
div ecx
cmp eax, 0xbd165247
je 0x140014235
jmp 0x140013edd
mov ecx, dword [0x1400d44b8]
xor ecx, dword [0x1400d44bc]
add ecx, 0x1f09647
or ecx, 0x8dd65468
and ecx, 0xdbc78b10
cmp byte [rsi + 0xc8], 0
sete al
cmp ecx, 0x8ae72a01
je 0x140013edd
test al, 1
jne 0x140013f16
jmp 0x14001404c
mov rdx, qword [rsi + 0xb0]
cmp rdx, 0
je 0x14001404c
mov rcx, qword [rsi + 0xb8]
mov r8d, 1
call fcn.1400541d0
jmp 0x14001404c
mov rcx, rsi
add rcx, 0xb0
call fcn.1400159d0
jmp 0x14001404c
mov rdx, qword [rsi + 0x50]
cmp rdx, 0
je 0x140013f6b
mov rcx, qword [rsi + 0x58]
mov r8d, 1
call fcn.1400541d0
mov rdx, qword [rsi + 0x68]
cmp rdx, 0
je 0x140013f84
mov rcx, qword [rsi + 0x70]
mov r8d, 1
call fcn.1400541d0
mov rbx, rsi
add rbx, 0x80
mov rdi, rsi
add rdi, 0x88
mov r14, qword [rsi + 0x88]
mov r15, qword [rsi + 0x90]
cmp r15, 0
je 0x140013fde
xor r12d, r12d
jmp 0x140013fb1
imul rcx, r12, 0x18
mov rax, r14
add rax, rcx
add r12, 1
mov rdx, qword [rax]
cmp rdx, 0
je 0x140013fd7
mov rcx, qword [rax + 8]
mov r8d, 1
call fcn.1400541d0
cmp r12, r15
jne 0x140013fb1
jmp 0x140013fde
mov rbx, qword [rbx]
cmp rbx, 0
je 0x14001404c
mov eax, dword [0x1400d44c0]
sub eax, dword [0x1400d44c4]
xor eax, 0xcc8cba35
xor eax, 0xfd8f29fb
imul eax, eax, 0xb2563833
cmp eax, 0x828b64b7
jbe 0x140014242
mov ebp, dword [0x1400d44c8]
add ebp, dword [0x1400d44cc]
add ebp, 0xfbe40d69
xor ebp, 0x5579244c
and ebp, 0x1edddc13
mov rcx, qword [rdi]
imul rdx, rbx, 0x18
mov r8d, 8
call fcn.1400541d0
cmp ebp, 0xdede401
jb 0x140014242
jmp 0x14001404c
mov rcx, rsi
add rcx, 0x48
mov rax, qword [rsi + 0x48]
lock dec qword [rax]
sete al
test al, 1
je 0x140014067
call fcn.140041500
mov rcx, rsi
add rcx, 0x40
mov rax, qword [rsi + 0x40]
lock dec qword [rax]
sete al
test al, 1
je 0x140014082
call fcn.140041ee0
mov rdi, rsi
add rdi, 0xaa
cmp byte [rsi + 0xaa], 0
jne 0x14001409d
mov byte [rdi], 0
jmp case.0x140013dac.1
mov rdx, qword [rsi + 0x28]
cmp rdx, 0
je 0x140014095
mov rcx, qword [rsi + 0x30]
mov r8d, 1
call fcn.1400541d0
jmp 0x140014095
cmp qword [rsi + 8], 0
je case.0x140013dac.1
mov eax, dword [0x1400d44d0]
and eax, dword [0x1400d44d4]
xor eax, 0x77931ce4
imul eax, eax, 0xf9c26f79
imul eax, eax, 0x639cdb56
cmp eax, 0x4e501c35
jbe 0x140014261
jmp 0x1400140ed
mov ecx, dword [0x1400d44d8]
sub ecx, dword [0x1400d44dc]
sub ecx, 0xf16e8042
add ecx, 0xe38f58c
add ecx, 0xf64a22d6
mov rdi, qword [rsi + 0x10]
mov rbx, qword [rsi + 0x18]
cmp rdi, 0
sete al
cmp ecx, 0xaf4f4770
jae 0x1400140ed
test al, 1
jne case.0x140013dac.1
jmp 0x14001412c
mov eax, dword [0x1400d44e0]
imul eax, dword [0x1400d44e4]
mov ecx, 0x6e86d3c1
xor edx, edx
div ecx
mov ecx, 0x91df30cc
xor edx, edx
div ecx
or eax, 0x4b7b952e
cmp eax, 0x1c020108
jb 0x140014272
mov edx, dword [0x1400d44e8]
sub edx, dword [0x1400d44ec]
or edx, 0x5f78e1ad
and edx, 0x99ecd675
or edx, 0x4c5054f6
mov rax, qword [rbx]
cmp rax, 0
sete cl
cmp edx, 0xb03f7490
je 0x140014272
test cl, 1
jne 0x14001419b
jmp 0x140014196
mov rcx, rdi
call rax
mov eax, dword [0x1400d44f0]
or eax, dword [0x1400d44f4]
imul eax, eax, 0x6cc60f73
or eax, 0xba39de03
xor eax, 0xf26cc777
cmp eax, 0xf92c9926
jae 0x14001427f
jmp 0x1400141c4
mov ecx, dword [0x1400d44f8]
or al, 0
or ecx, dword [0x1400d44fc]
sub ecx, 0x746eb7f6
sub ecx, 0xae14aec1
xor ecx, 0xbf0345e1
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
cmp rdx, 0
sete al
cmp ecx, 0xccc10d8e
je 0x1400141c4
test al, 1
jne case.0x140013dac.1
jmp 0x140014203
mov rcx, rdi
call fcn.1400541d0
jmp case.0x140013dac.1
sbb byte [rax - 0x35], cl
int1
cdq
retf
cmp ebx, dword [rdi - 0x6d]
cmp eax, 0xf1a50bc6
mov rax, qword [rsi + 0x18]
lock dec qword [rax]
sete al
jmp 0x140013df0
adc eax, edx
push rsp
jrcxz 0x1400141c8
stc
xlatb
or ecx, ebp
cdq
cld
invalid
jl 0x1400141e2
mov dl, 0x83
sub esp, ebp
jae 0x14001429d
mov rcx, qword [rdi]
imul rdx, rbx, 0x18
mov r8d, 8
call fcn.1400541d0
jmp 0x14001400e
and bl, byte [rax + 0x12]
mov esi, 0xb08ff2cd
invalid
xchg byte [rbx + 4], al
push rsi
add eax, 0xe901c187
fdiv st(6), st(0)
invalid
add byte [rdi + 0x5a], cl
xchg qword [r8 + 0x6d], rsp
jmp 0x1400141c2