Function at 0x140001330
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
xor edx, edx
mov r15, rcx
lea rcx, [rbp - 0x32]
lea r8d, [rdx + 0x24]
call fcn.1400049b0
xor r13d, r13d
lea r11, [0x140000000]
mov r9d, r13d
mov r10d, 0x80808081
mov cl, r9b
or cl, 0x6f
mov r8b, cl
movsx eax, cl
not r8b
not cl
xor r8d, eax
movsx eax, cl
and r8d, 0x37
xor r8d, eax
mov eax, r10d
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xff
sub r8d, eax
mov al, byte [r11 + r9*2 + 0x6040]
xor al, r8b
mov word [rbp + r9*2 - 0x20], r8w
movsx eax, al
mov word [rbp + r9*2 - 0x32], ax
inc r9
cmp r9, 9
jb 0x140001374
lea rcx, [rbp - 0x32]
call fcn.140002854
xor ecx, ecx
mov r9, r13
mov dword [rbp + 0x38], ecx
mov cl, r9b
or cl, 0xf2
mov r8b, cl
movsx eax, cl
not r8b
xor r8d, eax
movsx eax, cl
and r8d, 0x13
xor r8d, eax
mov eax, r10d
imul r8d
add edx, r8d
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xff
sub r8d, eax
mov al, byte [r9 + r11 + 0x6030]
xor al, r8b
mov byte [rbp + r9 + 0x3a], r8b
mov byte [rbp + r9 + 0x38], al
inc r9
cmp r9, 2
jb 0x1400013e2
lea rcx, [rbp + 0x38]
call fcn.140002878
movsx ecx, byte [rbp + 0x38]
mov rax, qword gs:[rcx]
mov rsi, qword [rax + 0x18]
add rsi, 0x20
mov rdi, qword [rsi]
cmp rdi, rsi
je 0x140001545
mov edx, 0x410
mov r12, qword [rdi + 0x40]
mov r11, r13
mov r10, r13
mov rbx, r13
mov r14, r13
mov rax, r13
cmp word [r12], r13w
je 0x140001539
inc rax
cmp word [r12 + rax*2], r13w
jne 0x140001480
cmp r11, rax
jae 0x140001539
movzx ecx, word [rbp + r10*2 - 0x32]
movzx eax, word [r14 + r12]
movzx r9d, word [r14 + r12]
sub ax, 0x41
add r9w, 0x20
cmp ax, 0x19
lea r8d, [rcx + 0x20]
lea eax, [rcx - 0x41]
cmova r9w, word [r14 + r12]
cmp ax, 0x19
movzx eax, r9w
cmova r8w, cx
sub ax, dx
cmp ax, 0x1f
mov ecx, 0x410
lea edx, [r9 + 0x20]
movzx eax, r8w
cmova dx, r9w
sub ax, cx
cmp ax, 0x1f
lea ecx, [r8 + 0x20]
cmova cx, r8w
cmp dx, cx
jne 0x14000151b
inc r10
mov rax, r13
cmp word [rbp - 0x32], r13w
je 0x140001510
inc rax
cmp word [rbp + rax*2 - 0x32], r13w
jne 0x140001505
cmp r10, rax
jne 0x140001528
mov rdi, qword [rdi + 0x20]
jmp 0x140001548
inc rbx
mov r10, r13
mov r11, rbx
lea r14, [rbx + rbx]
inc r11
mov edx, 0x410
add r14, 2
jmp 0x140001472
mov rdi, qword [rdi]
cmp rdi, rsi
jne 0x140001462
mov rdi, r13
test rdi, rdi
je 0x140001610
test r15, r15
je 0x140001559
mov qword [r15], rdi
movsxd rax, dword [rdi + 0x3c]
lea rdx, str.GetProcAddress
mov r8d, 0xceb196a
lea rcx, [rbp - 0x50]
mov ebx, dword [rax + rdi + 0x88]
add rbx, rdi
mov r14d, dword [rbx + 0x1c]
mov esi, dword [rbx + 0x20]
add r14, rdi
mov r15d, dword [rbx + 0x24]
add rsi, rdi
add r15, rdi
call fcn.1400011c8
mov rcx, rax
mov r9, rax
call fcn.1400012f8
mov ebx, dword [rbx + 0x18]
mov r10d, r13d
test ebx, ebx
je 0x140001610
mov ecx, dword [rsi]
mov rdx, r13
add rcx, rdi
cmp byte [rcx], r13b
je 0x1400015bc
inc rdx
cmp byte [rdx + rcx], r13b
jne 0x1400015b3
mov rax, r13
cmp byte [r9], r13b
je 0x1400015cd
inc rax
cmp byte [rax + r9], r13b
jne 0x1400015c4
cmp rdx, rax
jne 0x140001604
mov r11, rcx
mov rdx, r9
sub r11, r9
mov r8, r13
cmp byte [rcx], r13b
je 0x140001630
inc r8
cmp byte [r8 + rcx], r13b
jne 0x1400015e3
mov rax, rdx
sub rax, r9
cmp rax, r8
jae 0x140001630
mov al, byte [rdx]
cmp byte [r11 + rdx], al
jne 0x140001604
inc rdx
jmp 0x1400015db
inc r10d
add rsi, 4
cmp r10d, ebx
jb 0x1400015a6
xor eax, eax
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov eax, r10d
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
add rax, rdi
jmp 0x140001612