Function at 0x140005744
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x3a8]
sub rsp, 0x490
mov rax, qword [0x14005b178]
xor rax, rsp
mov qword [rbp + 0x380], rax
mov edi, 0x104
lea rcx, [rsp + 0x41]
xor ebx, ebx
mov r8d, edi
xor edx, edx
mov byte [rsp + 0x40], bl
call fcn.140018a40
lea rcx, [rbp + 0x51]
mov r8d, edi
xor edx, edx
mov byte [rbp + 0x50], bl
call fcn.140018a40
lea rcx, [rbp + 0x271]
mov r8d, edi
xor edx, edx
mov byte [rbp + 0x270], bl
call fcn.140018a40
lea rcx, [rbp + 0x161]
mov r8d, edi
xor edx, edx
mov byte [rbp + 0x160], bl
call fcn.140018a40
lea r15d, [rdi + 1]
lea rdx, [rsp + 0x40]
mov r8d, r15d
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x140005aa7
or rsi, 0xffffffffffffffff
lea rax, [rsp + 0x40]
mov ecx, ebx
lea r14d, [rsi + 2]
test rax, rax
je 0x140005834
lea rdx, [rsp + 0x40]
mov rax, rsi
inc rax
cmp byte [rdx + rax], bl
jne 0x14000580d
test eax, eax
je 0x140005834
lea rdx, [rsp + 0x40]
mov r8d, eax
movsx eax, byte [rdx]
imul ecx, ecx, 0x811c9dc5
add rdx, r14
xor ecx, eax
sub r8, r14
jne 0x140005821
shr ecx, 1
mov rdi, rbx
mov rax, rsi
add dword [0x1400a0710], ecx
lea rcx, [rsp + 0x40]
inc rax
cmp byte [rcx + rax], bl
jne 0x140005847
test rax, rax
je 0x14000587a
movsx ecx, byte [rsp + rdi + 0x40]
call fcn.140012d58
lea rcx, [rsp + 0x40]
mov byte [rsp + rdi + 0x40], al
add rdi, r14
mov rax, rsi
inc rax
cmp byte [rcx + rax], bl
jne 0x14000586d
cmp rdi, rax
jb 0x140005854
lea rcx, [rsp + 0x40]
mov edx, 0x5c
call fcn.140012f94
test rax, rax
je 0x140005a5f
lea r8, [rax + 1]
lea rcx, [rbp + 0x50]
mov rdx, r15
call fcn.1400130d8
lea rax, [rbp + 0x50]
mov rdi, rsi
inc rdi
cmp byte [rax + rdi], bl
jne 0x1400058a9
cmp rdi, 0x20
jae 0x140005a5c
lea rax, [rsp + 0x40]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], bl
jne 0x1400058c3
lea rax, [rdi + 3]
cmp rax, rcx
jne 0x1400058df
cmp byte [rsp + 0x40], 0x43
je 0x140005a5c
cmp rdi, 8
jbe 0x140005914
lea rdx, [rbp + 0x160]
lea rcx, str.N___:C_
mov r8d, r15d
call fcn.14000fe00
lea rdx, [rbp + rdi + 0x48]
lea rcx, [rbp + 0x160]
call fcn.140012db4
test eax, eax
je 0x140005a5c
mov rdi, rbx
lea rcx, [0x140034280]
lea rdx, [rbp + 0x160]
mov r8d, r15d
mov rcx, qword [rdi + rcx]
call fcn.14000fe00
lea rdx, [rbp + 0x160]
lea rcx, [rsp + 0x40]
call fcn.14001313c
test rax, rax
jne 0x140005a5c
add rdi, 8
cmp rdi, 0x30
jb 0x140005917
xor r8d, r8d
mov qword [rsp + 0x20], 0x14
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], r8
mov r9d, r8d
mov qword [rsp + 0x30], r8
mov r10d, r8d
mov dword [rsp + 0x38], r8d
mov rdx, rsi
inc rdx
cmp byte [rax + rdx], bl
jne 0x14000597d
lea rax, [rbp + 0x50]
test rax, rax
je 0x1400059b2
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
lea rcx, [rbp + 0x50]
call fcn.140011790
mov r10d, dword [rsp + 0x38]
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
jmp 0x1400059b4
mov eax, ebx
test eax, eax
je 0x1400059e8
lea rax, [0x140064760]
mov rcx, rbx
cmp qword [rax], r8
jne 0x1400059d7
cmp qword [rax + 8], r9
jne 0x1400059d7
cmp dword [rax + 0x10], r10d
je 0x140005a5c
add rcx, 0x14
add rax, 0x14
cmp rcx, 0x154
jb 0x1400059c2
lea rcx, [rbp + 0x50]
mov edx, 0x2e
call fcn.140012f94
test rax, rax
je 0x1400059fd
mov byte [rax], bl
lea rax, [rbp + 0x50]
inc rsi
cmp byte [rax + rsi], bl
jne 0x140005a01
cmp rsi, 8
jb 0x140005a5f
mov r9, rbx
mov r8d, ebx
mov rdx, rbx
test rsi, rsi
je 0x140005a5f
mov cl, byte [rbp + rdx + 0x50]
lea eax, [rcx - 0x30]
cmp al, 9
jbe 0x140005a3c
lea eax, [rcx - 0x41]
cmp al, 5
jbe 0x140005a3c
sub cl, 0x61
cmp cl, 5
jbe 0x140005a3c
mov r8d, ebx
jmp 0x140005a4a
add r8d, r14d
mov eax, r8d
cmp r9, rax
jae 0x140005a4a
mov r9d, eax
add rdx, r14
cmp rdx, rsi
jb 0x140005a1d
cmp r9, 8
cmovae ebx, r14d
jmp 0x140005a5f
mov ebx, r14d
lea rcx, [rsp + 0x40]
mov rdx, r15
call fcn.140010a84
lea rcx, [rbp + 0x50]
mov rdx, r15
call fcn.140010a84
lea rcx, [rbp + 0x270]
mov rdx, r15
call fcn.140010a84
lea rcx, [rbp + 0x160]
mov rdx, r15
call fcn.140010a84
lea rcx, [rsp + 0x28]
mov edx, 0x14
call fcn.140010a84
mov eax, ebx
mov rcx, qword [rbp + 0x380]
xor rcx, rsp
call fcn.140012b40
lea r11, [rsp + 0x490]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret