Function at 0x140043e60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rdx, qword [rcx]
test rdx, rdx
je 0x140019322
mov rcx, qword [rsi + 8]
movabs rax, 0x8b9fad30c930b29c
lea r8, [rax + 1]
xor r8, rax
call fcn.1400546c0
mov rdi, qword [rsi + 0x28]
mov r14, qword [rsi + 0x30]
test r14, r14
jne 0x14001940c
mov rdx, qword [rsi + 0x20]
test rdx, rdx
je 0x14001936a
movabs rax, 0x65ee44a9ff39cc8e
lea rcx, [rax + 0x18]
xor rcx, rax
imul rdx, rcx
movabs rax, 0x4927fa725ee7e325
lea r8, [rax + 8]
xor r8, rax
mov rcx, rdi
call fcn.1400546c0
lea rcx, [rsi + 0x88]
call fcn.140044350
mov rdx, qword [rsi + 0x38]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x1400193a8
test rdx, rdx
je 0x1400193a8
mov rcx, qword [rsi + 0x40]
movabs rax, 0xb42a3d973f6b434a
lea r8, [rax + 1]
xor r8, rax
call fcn.1400546c0
mov eax, dword [rsi + 0x58]
cmp eax, 4
jb 0x1400193bf
cmp eax, 6
je 0x1400193bf
mov rcx, qword [rsi + 0x60]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov eax, dword [rsi + 0x68]
cmp eax, 4
jb 0x1400193d6
cmp eax, 6
je 0x1400193d6
mov rcx, qword [rsi + 0x70]
call qword [sym.imp.kernel32.dll_CloseHandle]
mov eax, dword [rsi + 0x78]
cmp eax, 4
jb 0x1400193f0
cmp eax, 6
je 0x1400193f0
mov rcx, qword [rsi + 0x80]
call qword [sym.imp.kernel32.dll_CloseHandle]
add rsi, 0xa8
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp 0x140043e60
movabs rax, 0xd8f5324a43f2448e
movabs rcx, 0x271694b12615e678
xor r15d, r15d
lea r12, [rcx + 1]
xor r12, rcx
lea rbx, [rax + 1]
xor rbx, rax
jmp 0x14001944c
add r15, r12
cmp r15, r14
je 0x140019333
lea rax, [r15 + r15*4]
mov rdx, qword [rdi + rax*8 + 8]
test rdx, rdx
je 0x140019440
lea rax, [rdi + rax*8]
add rax, 8
mov rcx, qword [rax + 8]
mov r8, rbx
call fcn.1400546c0
jmp 0x140019440
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rbx, qword [rcx]
test rbx, rbx
je 0x140043ea1
mov rbp, qword [rcx + 8]
mov r9, qword [rcx + 0x10]
test r9, r9
jne 0x140043eb2
test rbp, rbp
je 0x14004421e
mov ecx, ebp
and ecx, 7
jne 0x140044199
mov rax, rbp
jmp 0x1400441c2
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs r14, 0xf4565baaee38acee
movabs r12, 0xb750a4062913fea1
movabs r10, 0x4b57ff224395c888
movabs r15, 0x358ef9b4b1292026
movabs r13, 0x29a2a37fe76039c4
mov rax, rbx
xor ebx, ebx
jmp 0x140043f0d
mov eax, 0
mov r9, qword [rsp + 0x20]
dec r9
movabs r10, 0x4b57ff224395c888
je 0x14004421e
test rbx, rbx
je 0x140043f40
mov qword [rsp + 0x20], r9
movzx ecx, word [rbx + 0x16a]
cmp rbp, rcx
jae 0x140044020
mov rdi, rbp
mov rbp, rax
mov rsi, rbx
jmp 0x140044074
test rbp, rbp
jne 0x140043f4d
mov rbx, rax
jmp 0x140043ffe
movabs rcx, 0x471f115b9cd241f9
lea rdx, [rcx + 5]
xor rdx, rcx
mov rcx, rbp
mov rbx, rax
and rdx, rbp
je 0x140043f99
mov rcx, rbp
mov rbx, rax
xor eax, eax
nop word cs:[rax + rax]
mov rbx, qword [rbx + 0x170]
dec rcx
lea r8, [r10 + 1]
xor r8, r10
add rax, r8
cmp rax, rdx
jne 0x140043f80
mov rax, qword [0x1400d58c0]
movabs rdx, 0x2bf5bfdbb1cc7dd7
xor rax, rdx
cmp rbp, rax
jb 0x140043ffe
nop word cs:[rax + rax]
mov rax, qword [rbx + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rbx, qword [rax + 0x170]
add rcx, 0xfffffffffffffff8
jne 0x140043fc0
xor eax, eax
xor ebp, ebp
mov qword [rsp + 0x20], r9
movzx ecx, word [rbx + 0x16a]
cmp rbp, rcx
jb 0x140043f27
nop word [rax + rax]
mov rsi, qword [rbx]
test rsi, rsi
je 0x140044303
lea rbp, [r13 + 1]
xor rbp, r13
add rbp, rax
movzx edi, word [rbx + 0x168]
lea rcx, [r12 + 0x130]
xor rcx, r12
lea rdx, [r14 + 0x50]
xor rdx, r14
test rax, rax
cmove rdx, rcx
lea r8, [r15 + 8]
xor r8, r15
mov rcx, rbx
call fcn.1400546c0
mov rbx, rsi
mov rax, rbp
cmp di, word [rsi + 0x16a]
jae 0x140044020
movabs rax, 0x35268b123182d940
lea rcx, [rax + 1]
xor rcx, rax
add rcx, rdi
test rbp, rbp
movabs r9, 0xd41528489c0f5325
jne 0x1400440b0
mov rbx, rsi
mov rbp, rcx
jmp 0x140044160
mov rbx, qword [rsi + rcx*8 + 0x170]
mov rax, rbp
dec rax
je 0x14004415e
movabs rdx, 0xdea2361d40661259
lea rcx, [rdx + 5]
xor rcx, rdx
and rcx, rax
je 0x1400440fc
xor edx, edx
nop dword [rax]
mov rbx, qword [rbx + 0x170]
dec rax
mov r8, qword [0x1400d58d0]
xor r8, r9
add rdx, r8
cmp rdx, rcx
jne 0x1400440e0
add rbp, 0xfffffffffffffffe
movabs rdx, 0x6bc0a9aab1dab67a
lea rcx, [rdx + 3]
xor rcx, rdx
cmp rbp, rcx
jb 0x14004415e
nop word cs:[rax + rax]
mov rcx, qword [rbx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rbx, qword [rcx + 0x170]
add rax, 0xfffffffffffffff8
jne 0x140044120
xor ebp, ebp
lea rax, [rdi + rdi*2]
mov rdi, qword [rsi + rax*8 + 0x60]
mov rsi, qword [rsi + rax*8 + 0x68]
mov rax, qword [rsi]
test rax, rax
je 0x14004417b
mov rcx, rdi
call rax
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x140043ef0
mov r8, qword [rsi + 0x10]
mov rcx, rdi
call fcn.1400546c0
jmp 0x140043ef0
movabs rax, 0xabc4a76b9b2ba122
xor edx, edx
lea r8, [rax + 1]
xor r8, rax
mov rax, rbp
nop
add rdx, r8
mov rbx, qword [rbx + 0x170]
dec rax
cmp rdx, rcx
jne 0x1400441b0
movabs rcx, 0xad5f84e1409565f6
lea rdx, [rcx + 8]
xor rdx, rcx
cmp rbp, rdx
jb 0x14004421e
nop dword [rax + rax]
mov rcx, qword [rbx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rcx, qword [rcx + 0x170]
mov rbx, qword [rcx + 0x170]
add rax, 0xfffffffffffffff8
jne 0x1400441e0
mov rax, qword [rbx]
test rax, rax
je 0x1400442d5
movabs rcx, 0xf88c5a4b7efb9607
movabs rdx, 0x760bd6532f6e94c4
movabs r8, 0x62d54b6c07d44cf6
movabs r9, 0x8c5a5159a93eb2
xor esi, esi
lea r14, [r8 + 1]
xor r14, r8
lea r15, [rcx + 0x170]
xor r15, rcx
lea r12, [r9 + 0xb0]
xor r12, r9
lea rdi, [rdx + 8]
xor rdi, rdx
nop word cs:[rax + rax]
mov rcx, rbx
mov rbx, rax
test rsi, rsi
lea rsi, [rsi + r14]
mov rdx, r12
cmove rdx, r15
mov r8, rdi
call fcn.1400546c0
mov rax, qword [rbx]
test rax, rax
jne 0x140044280
movabs rax, 0x7784df6b3dc7eb9
lea rcx, [rax + 0x110]
xor rcx, rax
movabs rax, 0x8e2efc6124189e0c
lea rdx, [rax + 0x1d0]
xor rdx, rax
test rsi, rsi
cmove rdx, rcx
jmp 0x1400442da
mov edx, 0x170
movabs r8, 0x51b7c92f47467bc9
xor r8, qword [0x1400d58c8]
mov rcx, rbx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400546c0
movabs rcx, 0x6955dce739d34664
lea r8, [rcx + 0xb0]
xor r8, rcx
movabs rcx, 0xd2e7c451b4d18c10
lea rdx, [rcx + 0x1b0]
xor rdx, rcx
test rax, rax
cmove rdx, r8
movabs rax, 0x869b22dd130f78b5
lea r8, [rax + 8]
xor r8, rax
mov rcx, rbx
call fcn.1400546c0
ud2