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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x47]
sub rsp, 0xc8
mov rax, r8
xor r8d, r8d
test rdx, rdx
je 0x14002b602
test rax, rax
je 0x14002b602
mov edi, r8d
mov esi, 0x1767c72
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x14002aef8
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xf2df01b2
jmp 0x14002aee7
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x14002aec7
cmp r9d, edi
jne 0x14002b013
xor r8d, r8d
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov r11d, ecx
add r11, r9
shr rcx, 0x20
cmp r11, r9
je 0x14002b013
mov r14d, dword [r11 + 0x18]
test r14d, r14d
je 0x14002b013
mov r13d, dword [r11 + 0x20]
dec r14d
lea rdx, [r14*4]
add rdx, r13
mov r10d, dword [rdx + r9]
add r10, r9
mov r15d, 0xf2df01b2
mov dl, byte [r10]
inc r10
test dl, dl
je 0x14002af7c
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, 0x4764996c
xor r8d, r15d
mov r15d, edx
imul r15d, r8d
mov dl, byte [r10]
inc r10
test dl, dl
jne 0x14002af51
xor r8d, r8d
cmp r15d, esi
je 0x14002af8b
test r14d, r14d
jne 0x14002af2c
jmp 0x14002b013
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + r14*2]
mov r12d, dword [rdx + rax*4]
add r12, r9
cmp r12, r11
jbe 0x14002b01e
lea rax, [rcx + r11]
cmp r12, rax
jae 0x14002b01e
mov edi, 0xf2df01b2
mov esi, edi
jmp 0x14002afd6
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, edi
mov edi, eax
imul edi, ecx
inc r12
mov al, byte [r12]
cmp al, 0x2e
jne 0x14002afbc
jmp 0x14002aff7
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, esi
mov esi, eax
imul esi, ecx
inc r12
mov al, byte [r12]
test al, al
jne 0x14002afe0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
xor r8d, r8d
jmp 0x14002ae9b
mov dword [rsp + 0x2a], 0x1a74b567
mov dword [rsp + 0x2e], 0x6614b137
mov word [rsp + 0x32], 0xb591
mov r13, r8
movabs rbx, 0x13cce94adbcd969a
xor edx, edx
mov rax, r13
div rbx
add dl, 0x35
mov r15b, dl
sar r15b, 7
or r15b, dl
mov al, r15b
sar al, 2
mov r14b, r15b
shl r14b, 6
mov r10b, r14b
or r10b, al
movsx rcx, r15b
or r14b, al
mov r11b, r15b
sar r11b, 3
mov al, r15b
shl al, 5
or r11b, al
mov r8b, r15b
sar r8b, 5
mov al, r15b
shl al, 3
or r8b, al
mov r9b, r15b
sar r9b, 4
mov al, r15b
shl al, 4
or r9b, al
mov dil, r15b
not dil
mov sil, r15b
ror sil, 7
lea eax, [r11 - 0x50]
add sil, al
mov dl, byte [rsp + r13 + 0x2a]
sub dl, r10b
sub dl, 2
mov eax, 4
sub al, r14b
xor dl, al
sar rcx, 1
mov al, r15b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140301050]
sub dl, byte [0x140301058]
sub dl, 0x3f
add dl, r14b
add dl, r15b
lea eax, [r10 + 7]
add al, r15b
xor dl, al
sub dl, r8b
sub dl, byte [0x140301048]
sub dl, r15b
sub dl, 0x50
mov rcx, qword [0x140301040]
add dl, r14b
add dl, cl
mov al, r9b
sub al, r8b
add al, r10b
add al, r15b
xor dl, al
mov al, r15b
sub al, r9b
xor al, r15b
sub dl, al
sub dl, r11b
add dl, 0x30
add dl, r15b
xor sil, dl
mov al, r15b
add al, al
sub sil, al
add r14b, r14b
add sil, r14b
add cl, 0x51
add sil, cl
not sil
mov al, r15b
sar al, 7
or al, r15b
sub sil, al
mov al, dil
xor al, byte [0x140301038]
sub sil, al
mov al, byte [0x140301030]
xor al, r15b
add sil, al
mov al, r15b
xor al, 0x40
sub sil, al
movsx eax, r15b
movsx ecx, dil
imul ecx, eax
xor sil, cl
mov byte [rsp + r13 + 0x2a], sil
inc r13
cmp r13, 0xa
jb 0x14002b042
lea rax, [rsp + 0x2a]
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x31], 0xa
lea rcx, [rsp + 0x2a]
call r12
mov qword [rbp - 0x71], rax
xor r8d, r8d
mov qword [rsp + 0x2a], r8
mov word [rsp + 0x32], r8w
test rax, rax
je 0x14002b602
mov edi, r8d
mov esi, 0xd21acebe
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x14002b242
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x60be2662
jmp 0x14002b231
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x14002b211
cmp r9d, edi
jne 0x14002b35d
xor r8d, r8d
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov r11d, ecx
add r11, r9
shr rcx, 0x20
cmp r11, r9
je 0x14002b35d
mov r14d, dword [r11 + 0x18]
test r14d, r14d
je 0x14002b35d
mov r13d, dword [r11 + 0x20]
dec r14d
lea rdx, [r14*4]
add rdx, r13
mov r10d, dword [rdx + r9]
add r10, r9
mov r15d, 0x60be2662
mov dl, byte [r10]
inc r10
test dl, dl
je 0x14002b2c6
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, 0x4764996c
xor r8d, r15d
mov r15d, edx
imul r15d, r8d
mov dl, byte [r10]
inc r10
test dl, dl
jne 0x14002b29b
xor r8d, r8d
cmp r15d, esi
je 0x14002b2d5
test r14d, r14d
jne 0x14002b276
jmp 0x14002b35d
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + r14*2]
mov r12d, dword [rdx + rax*4]
add r12, r9
cmp r12, r11
jbe 0x14002b368
lea rax, [rcx + r11]
cmp r12, rax
jae 0x14002b368
mov edi, 0x60be2662
mov esi, edi
jmp 0x14002b320
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, edi
mov edi, eax
imul edi, ecx
inc r12
mov al, byte [r12]
cmp al, 0x2e
jne 0x14002b306
jmp 0x14002b341
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, esi
mov esi, eax
imul esi, ecx
inc r12
mov al, byte [r12]
test al, al
jne 0x14002b32a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
xor r8d, r8d
jmp 0x14002b1e5
mov dword [rsp + 0x34], 0x32bfb507
mov dword [rsp + 0x38], 0x5d84a29f
mov word [rsp + 0x3c], 0xb59e
mov r13, r8
movabs rbx, 0x13cce94adbcd969a
xor edx, edx
mov rax, r13
div rbx
add dl, 0x35
mov r15b, dl
sar r15b, 7
or r15b, dl
mov al, r15b
sar al, 2
mov r14b, r15b
shl r14b, 6
mov r11b, r14b
or r11b, al
movsx rcx, r15b
or r14b, al
mov r9b, r15b
sar r9b, 5
mov al, r15b
shl al, 3
or r9b, al
mov r10b, r15b
sar r10b, 3
mov al, r15b
shl al, 5
or r10b, al
mov r8b, r15b
sar r8b, 4
mov al, r15b
shl al, 4
or r8b, al
mov dil, r15b
not dil
mov sil, r15b
ror sil, 7
lea eax, [r10 - 0x50]
add sil, al
mov dl, byte [rsp + r13 + 0x34]
sub dl, r11b
sub dl, 2
mov eax, 4
sub al, r14b
xor dl, al
sar rcx, 1
mov al, r15b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140301050]
sub dl, byte [0x140301058]
sub dl, 0x3f
add dl, r14b
add dl, r15b
lea eax, [r11 + 7]
add al, r15b
xor dl, al
sub dl, r9b
sub dl, r15b
sub dl, byte [0x140301048]
sub dl, 0x50
mov rcx, qword [0x140301040]
add dl, r14b
add dl, cl
mov al, r8b
sub al, r9b
add al, r11b
add al, r15b
xor dl, al
mov al, r15b
sub al, r8b
xor al, r15b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r15b
xor sil, dl
mov al, r15b
add al, al
sub sil, al
add r14b, r14b
add sil, r14b
add cl, 0x51
add sil, cl
not sil
mov al, r15b
sar al, 7
or al, r15b
sub sil, al
mov al, dil
xor al, byte [0x140301038]
sub sil, al
mov al, r15b
xor al, byte [0x140301030]
add sil, al
mov al, r15b
xor al, 0x40
sub sil, al
movsx eax, r15b
movsx ecx, dil
imul ecx, eax
xor sil, cl
mov byte [rsp + r13 + 0x34], sil
inc r13
cmp r13, 0xa
jb 0x14002b38c
lea rax, [rsp + 0x34]
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], 0xa
lea rdx, [rsp + 0x34]
mov rcx, qword [rbp - 0x71]
call r12
mov r13, rax
mov qword [rbp - 0x71], rax
xor esi, esi
mov qword [rsp + 0x34], rsi
mov word [rsp + 0x3c], si
test rax, rax
mov rbx, qword [rbp + 0x67]
je 0x14002b602
mov word [rsp + 0x40], 0xb848
mov word [rbp - 0x77], 0xe0ff
mov rax, qword [rbp + 0x5f]
mov qword [rbp - 0x7f], rax
mov ecx, dword [0x14030b620]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x14030b118], eax
jg 0x14002b6aa
mov rdi, qword [rbp + 0x4f]
mov rdx, qword [0x14030b110]
test rdx, rdx
je 0x14002b602
mov r14d, 0xc
mov r9d, r14d
lea r8, [rbp - 0x69]
mov rcx, rdi
call fcn.1400629b4
test al, al
je 0x14002b602
mov al, byte [rsp + 0x40]
cmp byte [rbp - 0x69], al
jne 0x14002b5a9
mov al, byte [rbp - 0x80]
cmp byte [rbp - 0x68], al
jne 0x14002b5a9
mov al, byte [rbp - 0x77]
cmp byte [rbp - 0x5f], al
jne 0x14002b5a9
mov al, byte [rbp - 0x76]
cmp byte [rbp - 0x5e], al
je 0x14002b602
mov r9d, r14d
lea r8, [rsp + 0x40]
mov rdx, qword [0x14030b110]
mov rcx, rdi
call fcn.14006bb78
test al, al
je 0x14002b602
mov r9, qword [rbp + 0x7f]
mov r8, qword [rbp + 0x77]
mov rdx, qword [rbp + 0x6f]
mov rcx, rbx
call r13
mov rcx, qword [rbp + 0x57]
mov qword [rcx], rax
mov r9d, r14d
lea r8, [rbp - 0x69]
mov rdx, qword [0x14030b110]
mov rcx, rdi
call fcn.14006bb78
mov al, 1
jmp 0x14002b604
inc r12
cmp byte [rax + r12], sil
je 0x14002b63a
jmp 0x14002b5f7
xor al, al
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movdqa xmm0, xmmword [0x1402dbbf0]
movdqu xmmword [rbp - 0x49], xmm0
mov byte [rbp - 0x59], sil
lea rcx, [0x14030b118]
call fcn.14025ddac
jmp 0x14002b55f
mov r8, r12
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x59]
call fcn.14002ccf4
nop
lea r8, [rbp - 0x59]
mov rdx, qword [0x14030b038]
mov rdi, qword [rbp + 0x4f]
mov rcx, rdi
call fcn.14004b38c
mov qword [0x14030b110], rax
mov rdx, qword [rbp - 0x41]
cmp rdx, 0xf
jbe 0x14002b618
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002b874
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002b874
call fcn.140265038
nop
lea rcx, [0x14030b118]
call fcn.14025de18
or r12, 0xffffffffffffffff
cmp dword [0x14030b118], r12d
jne 0x14002b55b
mov dword [rsp + 0x20], 0x32bfb507
mov dword [rsp + 0x24], 0x5d84a29f
mov word [rsp + 0x28], 0xb59e
mov rbx, rsi
movabs r13, 0x13cce94adbcd969a
xor edx, edx
mov rax, rbx
div r13
add dl, 0x35
mov r15b, dl
sar r15b, 7
or r15b, dl
mov al, r15b
sar al, 2
mov r14b, r15b
shl r14b, 6
mov r11b, r14b
or r11b, al
movsx rcx, r15b
or r14b, al
mov r9b, r15b
sar r9b, 5
mov al, r15b
shl al, 3
or r9b, al
mov r10b, r15b
sar r10b, 3
mov al, r15b
shl al, 5
or r10b, al
mov r8b, r15b
sar r8b, 4
mov al, r15b
shl al, 4
or r8b, al
mov dil, r15b
not dil
mov sil, r15b
ror sil, 7
lea eax, [r10 - 0x50]
add sil, al
mov dl, byte [rsp + rbx + 0x20]
sub dl, r11b
sub dl, 2
mov eax, 4
sub al, r14b
xor dl, al
sar rcx, 1
mov al, r15b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x140301050]
sub dl, byte [0x140301058]
sub dl, 0x3f
add dl, r14b
add dl, r15b
lea eax, [r11 + 7]
add al, r15b
xor dl, al
sub dl, byte [0x140301048]
sub dl, r9b
sub dl, r15b
sub dl, 0x50
mov rcx, qword [0x140301040]
add dl, r14b
add dl, cl
mov al, r8b
sub al, r9b
add al, r11b
add al, r15b
xor dl, al
mov al, r15b
sub al, r8b
xor al, r15b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r15b
xor sil, dl
mov al, r15b
add al, al
sub sil, al
add r14b, r14b
add sil, r14b
add cl, 0x51
add sil, cl
not sil
mov al, r15b
sar al, 7
or al, r15b
sub sil, al
mov al, byte [0x140301038]
xor al, dil
sub sil, al
mov al, byte [0x140301030]
xor al, r15b
add sil, al
mov al, r15b
xor al, 0x40
sub sil, al
movsx eax, r15b
movsx ecx, dil
imul ecx, eax
xor sil, cl
mov byte [rsp + rbx + 0x20], sil
inc rbx
cmp rbx, 0xa
jb 0x14002b6eb
lea rax, [rsp + 0x20]
mov qword [rbp - 0x19], rax
mov qword [rbp - 0x11], 0xa
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x49], xmm1
lea rax, [rsp + 0x20]
mov rbx, qword [rbp + 0x67]
mov r13, qword [rbp - 0x71]
xor esi, esi
jmp 0x14002b5f7
call fcn.14025dcf8
nop
jmp 0x14002b618