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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x270]
sub rsp, 0x370
mov rax, qword [0x140038010]
xor rax, rsp
mov qword [rbp + 0x260], rax
mov r14d, ecx
xor r15d, r15d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140028e56
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140028e56
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, 0xc5f26104
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140028e51
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140028e30
cmp r8d, 0x9547e8c7
je 0x140028e5b
test r9d, r9d
jne 0x140028e10
mov rax, qword [rax]
jmp 0x140028de0
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, [rbp + 0x150]
call r8
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x68]
call fcn.1400065d0
nop
lea r8, [0x1400310a0]
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140008130
nop
mov rcx, rax
call fcn.140006400
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 0x140028f46
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140028f46
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [rbx + r9*4]
mov edx, dword [rax + r10]
add rdx, r10
mov r8d, 0x1b03d2e
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x140028f41
nop
movsx eax, al
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rdx]
lea rdx, [rdx + 1]
test al, al
jne 0x140028f20
cmp r8d, 0x54b5f94e
je 0x140028f4b
test r9d, r9d
jne 0x140028f00
mov rcx, qword [rcx]
jmp 0x140028ed0
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
lea rdx, [rbp + 0x10]
mov rcx, rsi
call r8
mov rsi, rax
lea rcx, [rsp + 0x48]
call fcn.1400064f0
nop
lea rcx, [rsp + 0x68]
call fcn.1400064f0
lea rdx, [0x140030a39]
lea rcx, [rbp - 0x18]
call fcn.1400065d0
nop
nop word [rax + rax]
mov eax, 0x1505
movsx ecx, byte [rbp + 0x3c]
lea rdx, [rbp + 0x3d]
test ecx, ecx
je 0x140028fc1
imul eax, eax, 0x21
add eax, ecx
movsx ecx, byte [rdx]
lea rdx, [rdx + 1]
test ecx, ecx
jne 0x140028fb1
cmp eax, r14d
jne 0x140029061
lea rdx, [rbp + 0x3c]
lea rcx, [rbp - 0x38]
call fcn.1400065d0
mov rbx, rax
lea rdx, [rbp + 0x150]
lea rcx, [rbp - 0x58]
call fcn.1400065d0
nop
lea r8, [0x140030fa0]
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.140008130
nop
mov r9, rbx
mov r8, rax
lea rcx, [rsp + 0x28]
call fcn.14001daf0
lea rcx, [rbp - 0x18]
call fcn.140006920
lea rcx, [rsp + 0x28]
call fcn.140006920
lea rcx, [rbp - 0x18]
call fcn.140007170
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x18]
call fcn.1400074f0
lea rcx, [rsp + 0x28]
call fcn.1400064f0
nop
lea rcx, [rbp - 0x78]
call fcn.1400064f0
nop
lea rcx, [rbp - 0x58]
call fcn.1400064f0
nop
lea rcx, [rbp - 0x38]
call fcn.1400064f0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400290f6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400290f6
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, 0x2110b9b5
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400290f1
nop
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400290d0
cmp r8d, 0x6ef685e8
je 0x1400290fb
test r9d, r9d
jne 0x1400290b0
mov rax, qword [rax]
jmp 0x140029080
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
lea rdx, [rbp + 0x10]
mov rcx, rsi
call r8
test eax, eax
jne 0x140028fa0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x1400291b6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400291b6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0x2fc13b21
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400291b1
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x140029190
cmp r8d, 0xadd3523a
je 0x1400291bb
test r9d, r9d
jne 0x140029170
mov rax, qword [rax]
jmp 0x140029140
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov rcx, rsi
call rdx
lea rcx, [rbp - 0x18]
call fcn.1400063f0
test rax, rax
jne 0x140029527
lea rdx, [rbp + 0x150]
lea rcx, [rbp - 0x58]
call fcn.1400065d0
nop
lea r8, str.drivers
mov rdx, rax
lea rcx, [rbp - 0x38]
call fcn.140008130
nop
mov rcx, rax
call fcn.140006400
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 0x1400292a6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400292a6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x9b52056a
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1400292a1
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 0x140029280
cmp r8d, 0xcc5a8b4a
je 0x1400292ab
test r9d, r9d
jne 0x140029260
mov rcx, qword [rcx]
jmp 0x140029230
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
lea rdx, [rbp + 0x10]
mov rcx, rsi
call r8
mov rsi, rax
lea rcx, [rbp - 0x38]
call fcn.1400064f0
nop
lea rcx, [rbp - 0x58]
call fcn.1400064f0
nop dword [rax]
nop word [rax + rax]
mov ecx, 0x1505
movsx edx, byte [rbp + 0x3c]
lea rax, [rbp + 0x3d]
test edx, edx
je 0x140029311
imul ecx, ecx, 0x21
add ecx, edx
movsx edx, byte [rax]
lea rax, [rax + 1]
test edx, edx
jne 0x140029301
cmp ecx, r14d
jne 0x1400293b5
lea rdx, [rbp + 0x3c]
lea rcx, [rsp + 0x48]
call fcn.1400065d0
mov rbx, rax
lea rdx, [rbp + 0x150]
lea rcx, [rsp + 0x68]
call fcn.1400065d0
nop
lea r8, str.drivers_
mov rdx, rax
lea rcx, [rbp - 0x78]
call fcn.140008130
nop
mov r9, rbx
mov r8, rax
lea rcx, [rsp + 0x28]
call fcn.14001daf0
lea rcx, [rbp - 0x18]
call fcn.140006920
lea rcx, [rsp + 0x28]
call fcn.140006920
lea rcx, [rbp - 0x18]
call fcn.140007170
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x18]
call fcn.1400074f0
lea rcx, [rsp + 0x28]
call fcn.1400064f0
nop
lea rcx, [rbp - 0x78]
call fcn.1400064f0
nop
lea rcx, [rsp + 0x68]
call fcn.1400064f0
nop
lea rcx, [rsp + 0x48]
call fcn.1400064f0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140029446
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140029446
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov ecx, dword [rcx + rbx]
add rcx, r10
mov r8d, 0x22147875
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140029441
nop dword [rax]
movsx edx, dl
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx]
lea rcx, [rcx + 1]
test dl, dl
jne 0x140029420
cmp r8d, 0x8dcfdda8
je 0x14002944b
test r9d, r9d
jne 0x140029400
mov rax, qword [rax]
jmp 0x1400293d0
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
lea rdx, [rbp + 0x10]
mov rcx, rsi
call r8
test eax, eax
jne 0x1400292f0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov edi, dword [rcx + r10 + 0x88]
add rdi, r10
cmp rdi, r10
je 0x140029506
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x140029506
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rbx]
add rdx, r10
mov r8d, 0xf00753a4
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140029501
nop dword [rax]
movsx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
test cl, cl
jne 0x1400294e0
cmp r8d, 0xbc52888d
je 0x14002950b
test r9d, r9d
jne 0x1400294c0
mov rax, qword [rax]
jmp 0x140029490
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov rcx, rsi
call rdx
lea rcx, [rbp - 0x18]
call fcn.1400063f0
test rax, rax
je 0x1400295fa
lea rcx, [rbp - 0x18]
call fcn.140006400
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 0x1400295d6
mov r9d, dword [rdi + 0x18]
test r9d, r9d
je 0x1400295d6
mov ebx, dword [rdi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
lea rax, [r10 + r9*4]
mov edx, dword [rax + rbx]
add rdx, r10
mov r8d, 0x87cae776
movzx eax, byte [rdx]
inc rdx
test al, al
je 0x1400295d1
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 0x1400295b0
cmp r8d, 0x1f7940b8
je 0x1400295db
test r9d, r9d
jne 0x140029590
mov rcx, qword [rcx]
jmp 0x140029560
mov ecx, dword [rdi + 0x1c]
add rcx, r10
mov eax, dword [rdi + 0x24]
add rax, r10
movzx eax, word [rax + r9*2]
mov edx, dword [rcx + rax*4]
add rdx, r10
mov rcx, rsi
call rdx
mov r15, rax
lea rcx, [rbp - 0x18]
call fcn.1400064f0
mov rax, r15
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.14002d4b0
lea r11, [rsp + 0x370]
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