Function at 0x140003fac
Capabilities:
Access peb ldr_data
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov rsi, qword gs:[0x60]
mov rax, qword [rsi + 0x18]
add rax, 0x20
mov rdi, qword [rax]
cmp rdi, rax
je 0x1400042e1
mov rax, qword gs:[0x58]
mov r14, qword [rax]
mov ebx, 0x658
mov r15d, 0x640
add rbx, r14
mov r12d, 0x81
mov dword [rbp - 0x30], 0x8000ca
mov dword [rbp - 0x2c], 0x8100d7
mov dword [rbp - 0x28], 0x1500f0
mov dword [rbp - 0x24], 0x690032
mov dword [rbp - 0x20], 0x8100af
mov dword [rbp - 0x1c], 0x8300c9
mov edx, 0xb5
mov eax, dword [r15 + r14]
test al, 1
jne 0x14000408e
or eax, 1
mov dword [r15 + r14], eax
mov byte [rbx + 0x1a], 1
lea rax, [rbx + 0x18]
lea rcx, [rbp - 0x18]
cmp rbx, rcx
ja 0x14000406c
lea rcx, [rbp - 0x30]
cmp rax, rcx
jb 0x14000406c
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rbp - 0x20]
movsd qword [rbx + 0x10], xmm1
mov word [rbx + 0x18], dx
jmp 0x140004081
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rbx], xmm0
movsd xmm1, qword [rbp - 0x20]
movsd qword [rbx + 0x10], xmm1
mov word [rbx + 0x18], dx
lea rcx, [0x140006154]
call fcn.140004784
nop
cmp byte [rbx + 0x1a], 0
je 0x1400040ce
xor r8d, r8d
movabs r12, 0x5b0159b5cf85c581
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r12
shr rdx, cl
mov eax, 0xff
and dx, ax
xor word [rbx + r8*2], dx
inc r8
cmp r8, 0xd
jb 0x1400040a1
lea r12d, [rax - 0x7e]
mov byte [rbx + 0x1a], 0
mov rdx, rbx
mov rcx, qword [rdi + 0x50]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
test eax, eax
je 0x1400040f8
mov rdi, qword [rdi]
mov rax, qword [rsi + 0x18]
add rax, 0x20
cmp rdi, rax
jne 0x140003ffd
jmp 0x1400042e1
mov rbx, qword [rdi + 0x20]
test rbx, rbx
je 0x1400042e1
movsxd rax, dword [rbx + 0x3c]
mov esi, dword [rax + rbx + 0x88]
add rsi, rbx
mov qword [rbp + 0x48], rsi
mov eax, dword [rsi + 0x20]
add rax, rbx
mov qword [rbp + 0x58], rax
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov qword [rbp + 0x60], rcx
mov edx, dword [rsi + 0x24]
add rdx, rbx
mov qword [rbp - 0x58], rdx
xor r12d, r12d
cmp dword [rsi + 0x14], r12d
jbe 0x1400042e1
mov r15d, 0x648
mov dword [rbp - 0x40], 0x9ff1a0c6
mov dword [rbp - 0x3c], 0x1a6236c7
mov dword [rbp - 0x38], 0xaaf7a1e5
mov word [rbp - 0x34], 0x2ac6
mov r10d, 0x624
add r15, r14
mov r9d, dword [rax + r12*4]
add r9, rbx
mov qword [rbp + 0x50], r9
movzx eax, word [rdx + r12*2]
mov r13d, dword [rcx + rax*4]
add r13, rbx
mov eax, dword [r10 + r14]
test al, 1
jne 0x1400041c4
or eax, 1
mov dword [r10 + r14], eax
mov word [r15 + 0xe], 0x101
movsd xmm0, qword [rbp - 0x40]
movsd qword [r15], xmm0
mov eax, dword [rbp - 0x38]
mov dword [r15 + 8], eax
movzx eax, word [rbp - 0x34]
mov word [r15 + 0xc], ax
lea rcx, [0x140006150]
call fcn.140004784
nop
mov r9, qword [rbp + 0x50]
cmp byte [r15 + 0xf], 0
je 0x1400041fd
xor r8d, r8d
movabs rsi, 0x5b0159b5cf85c581
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, rsi
shr rdx, cl
xor byte [r15 + r8], dl
inc r8
cmp r8, 0xf
jb 0x1400041d8
mov byte [r15 + 0xf], 0
mov rsi, qword [rbp + 0x48]
mov rdx, r15
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
test eax, eax
jne 0x140004219
mov qword [0x14000a1b8], r13
jmp 0x1400042c0
mov dword [rbp - 0x50], 0xabe4aacd
mov dword [rbp - 0x4c], 0x296330f9
mov dword [rbp - 0x48], 0x8efcb7e0
mov edx, 0x628
mov eax, dword [rdx + r14]
mov ecx, 0x630
test al, 1
jne 0x14000426f
or eax, 1
mov dword [rdx + r14], eax
lea rdi, [r14 + rcx]
mov word [rdi + 0xc], 0x1b5
movsd xmm0, qword [rbp - 0x50]
movsd qword [rdi], xmm0
mov eax, dword [rbp - 0x48]
mov dword [rdi + 8], eax
lea rcx, [0x14000614c]
call fcn.140004784
nop
jmp 0x140004273
lea rdi, [r14 + rcx]
cmp byte [rdi + 0xd], 0
je 0x1400042a8
xor edx, edx
movabs rsi, 0x5b0159b5cf85c581
mov cl, dl
and cl, 7
shl cl, 3
mov r8, rsi
shr r8, cl
xor byte [rdi + rdx], r8b
inc rdx
cmp rdx, 0xd
jb 0x140004285
mov byte [rdi + 0xd], 0
mov rsi, qword [rbp + 0x48]
mov rdx, rdi
mov rcx, qword [rbp + 0x50]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
test eax, eax
jne 0x1400042c0
mov qword [0x14000a1b0], r13
inc r12
mov eax, dword [rsi + 0x14]
cmp r12, rax
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp - 0x58]
mov r10d, 0x624
jb 0x14000416c
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret