Function at 0x140044c30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rbp, rdx
mov rdi, rcx
mov ebx, dword [rdx + 0x10]
mov r14, qword [rdx + 0x18]
call fcn.140074970
cdqe
lea rcx, [0x140099b30]
mov r8, rbp
cmp r14, qword [rcx + rax*8]
jbe 0x140044c68
mov r8, qword [rbp]
mov eax, dword [0x1400c6df0]
mov ecx, dword [0x1400c6df4]
shrd ecx, eax, 7
xor ecx, 0x31c7b816
imul eax, dword [0x1400c6df8], 0xa8d4fbbd
imul edx, dword [0x1400c6dfc], 0xd9b4954d
add edx, eax
add edx, 0xe6b168f1
mov eax, dword [0x1400c6e00]
mov r9d, dword [0x1400c6e04]
shrd r9d, eax, 0x11
xor r9d, 0x20c023fa
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x20], 0
mov r9d, ebx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
movups xmmword [rdi + 0x10], xmm0
call fcn.1400749e0
mov eax, dword [0x1400c6e08]
mov ecx, dword [0x1400c6e0c]
shrd ecx, eax, 0x1e
xor ecx, 0xf4db9532
cmp ebx, ecx
jl 0x14004502a
mov esi, ebx
movsxd r14, ebx
call fcn.140074a60
cdqe
lea rcx, [0x140099b48]
cmp ebx, dword [rcx + rax*4]
mov dword [rsp + 0x34], ebx
jae 0x140044de2
mov qword [rdi + 0x10], r14
call fcn.140074ad0
cdqe
lea rcx, [0x140099b60]
mov rax, qword [rcx + rax*8]
mov qword [rdi + 0x18], rax
call fcn.140074b40
mov eax, dword [0x1400c6e10]
mov ecx, dword [0x1400c6e14]
shrd ecx, eax, 0x12
xor ecx, 0x7cde8277
cmp ebx, ecx
je 0x140044dd9
lea rbx, [0x140099b80]
movabs r15, 0x86ee1737b2289de
mov rax, rdi
mov rcx, r14
nop dword [rax]
mov r12, rcx
mov r13, rax
call fcn.140074bd0
movzx eax, word [0x1400c6e18]
movzx ecx, word [0x1400c6e1a]
imul eax, eax, 0xffff8792
imul ecx, ecx, 0xffffbe75
add eax, ecx
add eax, 0x695e
mov word [r13], ax
add r13, 2
call fcn.140074c40
cdqe
add r12, qword [rbx + rax*8]
call fcn.140074cb0
mov rax, qword [0x1400c6e20]
mov rcx, qword [0x1400c6e28]
shrd rcx, rax, 0x2c
mov rdx, rcx
xor rdx, r15
mov rax, r13
mov rcx, r12
cmp r12, rdx
jne 0x140044d70
lea rax, [rdi + r14*2]
jmp 0x140044f65
call fcn.140074d30
cdqe
lea rcx, [0x140099ba0]
mov r12, qword [rcx + rax*8]
or r12, r14
cmp r12, 0xb
mov ebx, 0xa
cmovae rbx, r12
call fcn.140074db0
cdqe
lea rcx, [0x140099bc0]
movzx ecx, byte [rcx + rax*8]
mov r15, rbx
shl r15, cl
call fcn.140074e30
cdqe
lea rcx, [0x140099be0]
cmp r12, qword [rcx + rax*8]
mov qword [rsp + 0x40], rbp
jbe 0x140044e8c
call fcn.140074ea0
cdqe
lea rdx, [0x140099c00]
mov rcx, r15
add rcx, qword [rdx + rax*8]
call fcn.140095bc8
test rax, rax
je 0x14004502f
mov r15, rax
call fcn.140074f10
cdqe
lea rcx, [0x140099c20]
mov r12, qword [rcx + rax*8]
add r12, r15
call fcn.140074f90
cdqe
lea rcx, [0x140099c40]
and r12, qword [rcx + rax*8]
mov qword [r12 - 8], r15
mov r15, r12
jmp 0x140044ea9
call fcn.140075000
cdqe
lea rdx, [0x140099c60]
mov rcx, r15
add rcx, qword [rdx + rax*8]
call fcn.140095bc8
mov r15, rax
mov qword [rdi], r15
mov qword [rdi + 0x10], r14
mov qword [rdi + 0x18], rbx
lea rbx, [0x140099c80]
movabs r12, 0x142d55ffbb07e456
movabs r13, 0xfff5aff1cfe550c0
movabs rbp, 0x333cf52d7874c40a
mov rsi, r15
mov qword [rsp + 0x38], r14
mov rcx, r14
nop word cs:[rax + rax]
mov r14, rcx
call fcn.140075090
movzx eax, word [0x1400c6e30]
movzx ecx, word [0x1400c6e32]
imul eax, eax, 0xfffff154
imul ecx, ecx, 0x1e2e
add eax, ecx
add eax, 0x1c00
mov word [rsi], ax
add rsi, 2
call fcn.140075120
cdqe
add r14, qword [rbx + rax*8]
call fcn.140075190
mov rax, qword [0x1400c6e38]
imul rax, r12
mov rcx, qword [0x1400c6e40]
imul rcx, r13
add rcx, rax
mov rdx, rcx
add rdx, rbp
mov rcx, r14
cmp r14, rdx
jne 0x140044ef0
mov rax, qword [rsp + 0x38]
lea rax, [r15 + rax*2]
mov rbp, qword [rsp + 0x40]
mov rsi, rax
call fcn.140075200
movzx eax, word [0x1400c6e48]
movzx ecx, word [0x1400c6e4a]
shrd cx, ax, 4
mov eax, ecx
xor eax, 0x9410
mov word [rsi], ax
mov rsi, qword [rdi + 0x18]
call fcn.140075280
cdqe
lea rcx, [0x140099ca0]
mov r14, rdi
cmp rsi, qword [rcx + rax*8]
jbe 0x140044fa8
mov r14, qword [rdi]
mov ebx, dword [rbp + 0x10]
mov rsi, qword [rbp + 0x18]
call fcn.140075300
cdqe
lea rcx, [0x140099cc0]
cmp rsi, qword [rcx + rax*8]
jbe 0x140044fc9
mov r8, qword [rbp]
jmp 0x140044fcc
mov r8, rbp
mov r9d, dword [rsp + 0x34]
imul eax, dword [0x1400c6e4c], 0xaef7e274
imul ecx, dword [0x1400c6e50], 0x6fb1fc68
add ecx, eax
add ecx, 0xb7cb2cb9
mov eax, dword [0x1400c6e54]
mov edx, dword [0x1400c6e58]
shrd edx, eax, 0x14
xor edx, 0x646b4533
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x20], r14
mov r9d, ebx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rax, rdi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.1400551f0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3