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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1f0
mov rax, qword [0x14003d010]
xor rax, rsp
mov qword [rsp + 0x1e0], rax
mov r15, rdx
mov r12, rcx
mov qword [rsp + 0x90], rcx
xor ebp, ebp
call fcn.14002e300
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14002db46
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14002db46
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0x46c82bd0
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14002db41
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14002db20
cmp r8d, 0x701820eb
je 0x14002db4b
test r9d, r9d
jne 0x14002db00
mov rax, qword [rax]
jmp 0x14002dad0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
mov edx, 0x104
lea rcx, [rsp + 0xd0]
call r8
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x50]
call fcn.140009130
nop
lea r8, str.driversWinIo.sys
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.14000b8a0
mov rbx, rax
lea r13, [0x14003d068]
cmp r13, rax
je 0x14002dbcc
mov rcx, r13
call fcn.140009890
mov rcx, rbx
call fcn.140009890
mov rcx, r13
call fcn.14000a2f0
mov rdx, rbx
mov rcx, r13
call fcn.14000a8b0
lea rcx, [rsp + 0x70]
call fcn.140009050
nop
lea rcx, [rsp + 0x50]
call fcn.140009050
mov rcx, r13
call fcn.140008e50
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
mov r11, qword [rcx + 0x30]
movsxd rdx, dword [r11 + 0x3c]
mov edi, dword [rdx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x14002dc76
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14002dc76
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r11 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r11
mov r8d, 0x7991928c
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x14002dc71
nop dword [rax]
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x14002dc50
cmp r8d, 0xb8187c1d
je 0x14002dc7b
test r9d, r9d
jne 0x14002dc30
mov rcx, qword [rcx]
jmp 0x14002dc00
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 2
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, rsi
call r10
mov r14, rax
mov rcx, r12
call fcn.1400068e0
mov rsi, rax
mov rcx, r12
call fcn.140006910
mov rbp, rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r11, qword [rcx + 0x30]
movsxd rdx, dword [r11 + 0x3c]
mov edi, dword [rdx + r11 + 0x88]
add rdi, r11
cmp rdi, r11
je 0x14002dd66
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14002dd66
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r11]
add rdx, r11
mov r8d, 0x9dffaa28
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x14002dd61
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x14002dd40
cmp r8d, 0x8320b5a9
je 0x14002dd6b
test r9d, r9d
jne 0x14002dd20
mov rcx, qword [rcx]
jmp 0x14002dcf0
mov ecx, dword [rdi + 0x1c]
add rcx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
movzx eax, word [rax + r9*2]
mov r10d, dword [rcx + rax*4]
add r10, r11
mov qword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, esi
mov rdx, rbp
mov rcx, r14
call r10
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14002de26
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14002de26
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [rbx + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
mov r8d, 0xddfe33f4
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14002de21
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x14002de00
cmp r8d, 0x8572d97e
je 0x14002de2b
test r9d, r9d
jne 0x14002dde0
mov rax, qword [rax]
jmp 0x14002ddb0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
mov rcx, r14
call r8
mov rdx, r13
lea rcx, [rsp + 0x50]
call fcn.140009270
mov rdx, r15
mov rcx, rax
call fcn.14002ced0
lea rcx, [rsp + 0x40]
call fcn.140004340
mov rcx, r15
call fcn.140004340
mov rdi, qword [r15 + 0x10]
mov rcx, r15
call fcn.140008770
add rdi, rax
mov rcx, r15
call fcn.140004340
mov rcx, r15
call fcn.140008770
mov rdx, rax
mov r8, rdi
lea rcx, [rsp + 0xa8]
call fcn.140021c30
nop
lea rcx, [rsp + 0xa8]
call fcn.140008920
mov rsi, rax
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov r10, qword [rcx + 0x30]
movsxd rdx, dword [r10 + 0x3c]
mov edi, dword [rdx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x14002df46
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x14002df46
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov eax, dword [rax + r10]
add rax, r10
mov r8d, 0xa612126
movzx edx, byte [rax]
inc rax
test dl, dl
je 0x14002df41
nop
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rax]
lea rax, [rax + 1]
test dl, dl
jne 0x14002df20
cmp r8d, 0xd9a003f4
je 0x14002df4b
test r9d, r9d
jne 0x14002df00
mov rcx, qword [rcx]
jmp 0x14002ded0
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov r8d, dword [rcx + rax*4]
add r8, r10
mov rdx, rsi
lea rcx, [rsp + 0x98]
call r8
mov rax, qword [0x14003dc70]
lea rcx, [rsp + 0x98]
call rax
cmp eax, 0xc000010e
je 0x14002df91
test eax, eax
jns 0x14002df91
xor bl, bl
jmp 0x14002df93
mov bl, 1
lea rcx, [rsp + 0xa8]
call fcn.140008b00
nop
mov rcx, r12
call fcn.140006940
movzx eax, bl
mov rcx, qword [rsp + 0x1e0]
xor rcx, rsp
call fcn.1400318f0
mov rbx, qword [rsp + 0x240]
add rsp, 0x1f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret