Function at 0x140030400
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x180]
sub rsp, 0x280
mov rax, qword [0x1400f1010]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov r15, rdx
mov r13, rcx
mov qword [rbp - 0x48], rdx
mov rdx, qword [rdx]
mov r12d, dword [rdx + 0x228]
shr r12d, 0xd
and r12b, 1
mov rcx, qword [rcx]
add rcx, 0x320
add rdx, 0x190
call fcn.140036310
mov byte [rsp + 0x30], al
mov rdi, qword [r15]
mov ebx, 0xffffffff
test al, al
jne 0x140030961
cmp dword [rdi + 0x1dc], 1
jne 0x140030a2b
movzx r14d, byte [rdi + 0x19]
test r14b, r14b
je 0x140030499
mov rax, qword [rdi + 0x28]
add rax, 0xa0
jmp 0x1400304a3
mov rax, qword [rdi + 0x20]
add rax, 0x90
mov ecx, dword [rax]
test ecx, ecx
jne 0x1400304ad
xor esi, esi
jmp 0x1400304be
mov rdx, rcx
xor r8d, r8d
mov rcx, rdi
call fcn.140043be0
mov rsi, rax
test r14b, r14b
je 0x1400304d7
mov rcx, qword [rdi + 0x28]
lea rdx, [rcx + 0xa4]
add rcx, 0xa0
jmp 0x1400304e9
mov rax, qword [rdi + 0x20]
lea rdx, [rax + 0x94]
lea rcx, [rax + 0x90]
cmp dword [rcx], 0
je 0x1400304f3
mov r14d, dword [rdx]
jmp 0x1400304f6
xor r14d, r14d
test rsi, rsi
je 0x1400309ef
mov edx, 1
lea rcx, [rsp + 0x38]
call fcn.14002b540
nop
mov qword [rsp + 0x40], 0
mov rdx, qword [r15]
mov rax, qword [rdx + 0x180]
test rax, rax
je 0x14003052c
mov rcx, qword [rax]
jmp 0x14003052e
xor ecx, ecx
lea rax, [rcx + rsi]
mov qword [rdx + 0x220], rax
mov rcx, qword [r13]
add rcx, 0x20
mov rax, qword [r15]
mov r9d, dword [rax + 0x1dc]
movdqa xmm0, xmmword [0x1400ddd90]
movdqu xmmword [rbp + 0x40], xmm0
mov dword [rbp + 0x50], 0x636966
mov byte [rbp + 0x54], 1
xor edx, edx
nop word [rax + rax]
lea eax, [rdx - 0xc]
xor byte [rbp + rdx + 0x40], al
inc rdx
cmp rdx, 0x13
jb 0x140030570
mov byte [rbp + 0x54], 0
mov dword [rsp + 0x20], 0
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x20]
call fcn.140046f70
nop
lea rdi, [rbp + 0x40]
xor eax, eax
mov ecx, 0x14
rep stosb byte [rdi], al
mov esi, dword [rbp - 0x20]
test esi, esi
jns 0x14003060e
cmp byte [rbp + 0x38], al
je 0x1400305bd
lea rcx, [rbp - 0x18]
call fcn.14002c430
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400305d2
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140030607
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140030607
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx]
lock xadd dword [rdi + 0xc], ebx
cmp ebx, 1
jne 0x140030607
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 8]
mov eax, esi
jmp 0x140030a99
mov rdi, qword [rsp + 0x38]
mov rax, qword [rdi]
xor edx, edx
mov rcx, rdi
call qword [rax + 8]
mov rax, qword [rdi]
mov rsi, qword [rax + 0x18]
mov rcx, qword [r15]
xor r8d, r8d
mov dword [rbp + 0x60], r8d
mov qword [rbp + 0x68], r8
mov qword [rbp + 0x70], 0xffffffffffff0001
mov qword [rbp + 0x78], 0xff
movabs r9, 0xffffffff00000003
mov qword [rbp + 0x80], r9
mov r10d, 0xffffffff
mov qword [rbp + 0x88], r10
mov qword [rbp + 0x90], r8
mov qword [rbp + 0x98], r8
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xa0], xmm0
mov qword [rbp + 0xb0], r8
mov rax, qword [rcx + 0x220]
mov dword [rbp + 0x60], 2
mov qword [rbp + 0x68], 8
mov qword [rbp + 0x90], rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul r14
shr rdx, 3
mov qword [rbp + 0xc8], 0xffffffffffff0001
mov qword [rbp + 0xd0], 0xff
mov qword [rbp + 0xd8], r9
mov qword [rbp + 0xe0], r10
mov qword [rbp + 0xf0], r8
mov qword [rbp + 0xf8], r8
movdqa xmmword [rbp + 0x100], xmm0
mov dword [rbp + 0xb8], 2
mov qword [rbp + 0xc0], 8
mov qword [rbp + 0xe8], rdx
mov rax, qword [rcx + 0x180]
test rax, rax
je 0x140030716
mov rax, qword [rax]
jmp 0x140030719
mov rax, r8
mov qword [rbp + 0x120], 0xffffffffffff0001
mov qword [rbp + 0x128], 0xff
mov qword [rbp + 0x130], r9
mov qword [rbp + 0x138], r10
mov qword [rbp + 0x148], r8
movdqa xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], r8
mov dword [rbp + 0x110], 2
mov qword [rbp + 0x118], 8
mov qword [rbp + 0x140], rax
lea rax, [rbp + 0x60]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x168]
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x40]
call fcn.14002c090
nop
cmp byte [rbp + 0x38], 0
je 0x140030ac9
mov qword [rsp + 0x70], 0xffffffffffff0001
mov qword [rsp + 0x78], 0xff
movabs rax, 0xffffffff00000003
mov qword [rbp - 0x80], rax
mov eax, 0xffffffff
mov qword [rbp - 0x78], rax
xor r14d, r14d
mov qword [rbp - 0x68], r14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r14
mov dword [rsp + 0x60], 2
mov qword [rsp + 0x68], 8
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x70], rax
lea r9d, [r14 + 1]
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x60]
mov rcx, rdi
call rsi
nop
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x14003084b
mov rdx, qword [rbp - 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003083a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030ac3
call fcn.14005fb2c
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r14
lea rcx, [rbp - 0x40]
call fcn.14002c2d0
nop
lea r9, [0x14002b3f0]
mov edx, 0x58
lea r8d, [rdx - 0x55]
lea rcx, [rbp + 0x60]
call fcn.14005fa5c
mov rcx, qword [r13]
add rcx, 0x220
mov rax, qword [r15]
mov dword [rsp + 0x20], 8
mov r8d, dword [rax + 0x1dc]
mov rdx, rdi
call fcn.14004c680
mov rax, qword [rdi]
mov r8d, ebx
xor edx, edx
mov rcx, rdi
call qword [rax + 0x10]
mov r14, qword [r13]
lea rcx, [rdi + 0xa8]
mov esi, dword [rcx + 0x60]
sub rsi, qword [rcx + 0x48]
add rsi, qword [rcx + 0x58]
mov rax, qword [rcx]
call qword [rax + 8]
lea r9, [rsp + 0x40]
mov r8, rsi
mov rdx, rax
lea rcx, [r14 + 0x220]
call fcn.14004a8e0
mov esi, eax
test eax, eax
jns 0x14003093f
cmp byte [rbp + 0x38], 0
je 0x1400308ea
lea rcx, [rbp - 0x18]
call fcn.14002c430
nop
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov edx, 1
mov rcx, rdi
call r8
nop
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140030607
mov eax, ebx
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140030607
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], ebx
cmp ebx, 1
jne 0x140030607
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov eax, esi
jmp 0x140030a99
cmp byte [rbp + 0x38], 0
je 0x14003094f
lea rcx, [rbp - 0x18]
call fcn.14002c430
nop
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax]
movzx eax, byte [rsp + 0x30]
mov r8, qword [r15]
cmp byte [r8 + 0x204], 0
jne 0x140030a67
cmp dword [r8 + 0x1dc], 1
jne 0x140030992
test byte [r8 + 0x228], 2
jne 0x140030a67
test al, al
jne 0x140030a67
lea rcx, [r13 + 8]
add r8, 0x190
movzx r9d, r12b
mov rdx, qword [r13]
call fcn.14002b640
mov esi, eax
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140030607
mov edx, ebx
lock xadd dword [rdi + 8], edx
cmp edx, 1
jne 0x140030607
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx]
lock xadd dword [rdi + 0xc], ebx
cmp ebx, 1
jne 0x140030607
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov eax, esi
jmp 0x140030a99
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140030a24
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140030a24
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], ebx
cmp ebx, 1
jne 0x140030a24
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov eax, 0xc0000225
jmp 0x140030a99
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140030a60
mov ebx, 0xffffffff
mov eax, ebx
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140030a60
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], ebx
cmp ebx, 1
jne 0x140030a60
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov eax, 0xc00001a5
jmp 0x140030a99
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140030a97
mov eax, ebx
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140030a97
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
lock xadd dword [rdi + 0xc], ebx
cmp ebx, 1
jne 0x140030a97
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
xor eax, eax
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.14005fa30
mov rbx, qword [rsp + 0x2d0]
add rsp, 0x280
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14009598c
nop
call fcn.14002b350
int3