Function at 0x14003694c
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
lea rax, vtable.proc_api.0
mov qword [rbp - 0x10], rax
xor r13d, r13d
mov dword [rbp - 8], r13d
lea rax, vtable.driver_api.0
mov qword [rbp - 0x10], rax
mov ebx, r13d
mov edi, 0xc98139ee
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 ebx, ebx
je 0x1400369f3
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xfd014ffc
jmp 0x1400369e5
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 0x1400369c5
cmp r9d, ebx
jne 0x140036afc
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 0x140036afc
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x140036afc
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0xfd014ffc
jmp 0x140036a59
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, 0x4764996c
xor r8d, r14d
mov r14d, edx
imul r14d, r8d
mov dl, byte [r10]
inc r10
test dl, dl
jne 0x140036a3b
cmp r14d, edi
je 0x140036a71
test esi, esi
jne 0x140036a26
jmp 0x140036afc
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + rsi*2]
mov r8d, dword [rdx + rax*4]
add r8, r9
cmp r8, r11
jbe 0x140036b04
lea rax, [r11 + rcx]
cmp r8, rax
jae 0x140036b04
mov ebx, 0xfd014ffc
mov edi, ebx
jmp 0x140036abe
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, 0x4764996c
mov eax, ebx
xor eax, ecx
mov ebx, edx
imul ebx, eax
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x140036aa1
jmp 0x140036ae1
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, 0x4764996c
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
inc r8
mov al, byte [r8]
test al, al
jne 0x140036ac7
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140036999
call r8
mov edx, eax
lea rcx, [rbp - 0x10]
call fcn.14003320c
mov qword [rbp + 0x50], r13
movabs rax, 0x3f4c9872e4f0a4d2
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x40], r13
movabs rax, 0x94698d7b892a2b0b
mov qword [rbp + 0x40], rax
movabs rax, 0xdc97d1d4997ac434
sub rax, qword [0x14033a050]
sub rax, qword [0x14033a058]
movabs rcx, 0xf8f8cd98623bc70f
xor rax, rcx
sub rax, qword [0x14033a048]
movabs rcx, 0x87d654b97c444b1b
add rcx, rax
mov rdi, qword [0x14033a040]
add rcx, rdi
movabs rax, 0x5a9179a84dc14e77
xor rcx, rax
movabs rax, 0x5f627dc6c1821422
sub rcx, rax
movabs rax, 0xa23b3cd255bbd95a
xor rcx, rax
movabs rdx, 0xb483ce44b062a055
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad85c0972
mov r10, qword [0x14033a038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b527a3f68d
mov r11, qword [0x14033a030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8ddc3c2e47
add rdx, rax
add rdx, rcx
movabs rax, 0x9d40abc5fd5abfca
xor rdx, rax
mov qword [rbp + 0x40], rdx
movabs rax, 0x4df4d8cbc285ccbd
sub rax, qword [0x14033a050]
sub rax, qword [0x14033a058]
movabs rcx, 0xf8f8cd980eb75789
xor rax, rcx
sub rax, qword [0x14033a048]
movabs rcx, 0x47d654b90ca484d2
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a7eff56ec1
xor rcx, rax
movabs rax, 0x5f627dc6f5d74ed4
sub rcx, rax
movabs rax, 0x963b3cd22c9b86be
xor rcx, rax
movabs rax, 0x3483ce446066bf5f
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad9a4f778
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5265b0887
xor r11, rax
movabs rax, 0xe0b56d8f26751a4d
add rcx, rax
add rcx, r11
movabs rax, 0xde127f7db5624048
xor rcx, rax
mov qword [rbp + 0x50], rcx
and rcx, rdx
mov eax, dword [rbp - 8]
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x50], r13
cmp rax, rcx
jne 0x140036d57
mov dword [rbp + 0x40], r13d
mov dword [rbp + 0x40], 0xf5169ff1
mov eax, 0x3fa9a0f4
sub eax, dword [0x14033a050]
sub eax, dword [0x14033a058]
xor eax, 0x27e60453
sub eax, dword [0x14033a048]
mov rcx, qword [0x14033a040]
add eax, 0x6e4cbf71
add eax, ecx
xor eax, 0xc3d8b65
add eax, 0x48b2af7d
xor eax, 0xd5020c81
lea edx, [rcx - 0x77b524c]
add edx, eax
not edx
mov eax, dword [0x14033a038]
xor eax, 0xd941c97c
sub edx, eax
mov r8d, dword [0x14033a030]
xor r8d, 0x26be3683
add r8d, 0xc2a1f917
add r8d, edx
xor r8d, 0xff324274
mov dword [rbp + 0x40], r8d
mov dword [rbp + 0x40], r13d
jmp 0x140037674
movabs rdi, 0x1f2dd49ec2b0057d
movabs r15, 0xf16c8fb8258ca416
mov rbx, r13
movabs rax, 0x2b16bba2c5b7e0e0
movabs r9, 0x1560b89b9ee8952c
mov r13, qword [0x14033a070]
mov rsi, r13
imul rsi, rax
not rsi
movabs rcx, 0xea9f476466c61d72
mov rax, qword [0x14033a060]
xor rax, rcx
and rsi, rax
ror rsi, 0x24
shr rsi, 8
movabs rax, 0xcec4eff6586c1830
mov r10, r13
imul r10, rax
add r10, rdi
movabs rax, 0x2dd3734f80000000
xor r10, rax
shr r10, 0x1f
not r10
movabs r8, 0xe0d22b613d4ffa83
lea rcx, [r10 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rdx, [0x14033a060]
movzx eax, r10b
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xb9
mov edx, 0x8000003f
and ecx, edx
jge 0x140036e2e
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r10
ror rax, cl
not rax
movabs rcx, 0x8a95beb1568e2628
mov r12, rax
imul r12, rcx
lea r11, [r12 + r8]
mov r8, r10
imul r8, rsi
sub r8, r11
xor r8, r15
movzx r14d, r11b
mov ecx, r14d
xor ecx, 6
and ecx, 0xf
and ecx, edx
jge 0x140036e71
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0xc5b77a9c95a76988
imul rax, rcx
movabs rcx, 0x5da0f05b0001e0f7
add rax, rcx
xor r8, rax
mov rax, r11
sub rax, qword [0x14033a078]
xor r8, rax
xor r8, r9
mov rax, r8
and eax, 1
xor rax, 2
je 0x140037181
sub rax, 1
je 0x14003708b
sub rax, 1
movabs r14, 0xaaaaaaaaaaaaaaab
je 0x140036fc0
cmp rax, 1
jne 0x140037209
mov r15, r11
imul r15, r10
movabs rax, 0x536c1946b26441b
add rax, r8
xor r15, rax
ror r15, 0x1e
shr r15, 0xc
not r15
movabs rcx, 0x83572d5513ae
mov rdx, qword [0x14033a088]
add rdx, rcx
movabs rax, 0xe050ae195b01c9ab
xor rdx, rax
movzx eax, r8b
movzx ecx, r15b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db975b5ff51
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov eax, 0xa46e2dbb
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14033a060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0x6f2adafecbededc6
sub rdi, r15
shr rdi, cl
movabs rcx, 0xe0da4fe9943a57fb
add rcx, r12
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, rsi
xor rdi, rax
jmp 0x140037209
movabs rcx, 0xaaaaaa1aa477d085
mov r10, r8
xor r10, rcx
movabs rcx, 0x1206ed667a0cc9
imul r10, rcx
movabs rcx, 0xffff7e8a8267e259
imul r12, rcx
movabs rcx, 0xdf37447d1152c0f
add r10, rcx
add r10, r12
movabs rax, 0x277cd7be76a707e5
mov rcx, r10
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r10
not r11
lea rdx, [0x14033a060]
imul r11, qword [rdx + rcx*8]
xor r11, 0xfffffffff1220655
lea ecx, [r8 + 7]
and cl, 0x3f
rol r11, cl
movabs rax, 0x784a694400000000
imul r11, rax
mov rcx, r11
ror rcx, 0xe
not rcx
movabs rax, 0x9b2de6b2e52e1708
imul rcx, rax
mov rax, r10
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140037209
movabs rax, 0x2dcbddf2a683e6c9
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0xe937047da735be9
shl rdx, cl
mov rax, r9
mov r9, rdx
xor r9, rax
and r14d, 0x8000003f
jge 0x1400370de
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
rol r9, cl
movabs rcx, 0xe0d22b613d4ffa83
add rcx, r8
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x149ec2b0057d
lea rax, [0x14033a060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7f8b3a6a8
or r9, rax
mov rdi, r13
imul rdi, r15
sub rdi, r11
mov rax, rsi
sub rax, r9
xor rdi, rax
movabs rax, 0xc7a7c6a6a9bba6a5
xor rdi, rax
mov rax, r8
imul rax, r11
imul rax, rdi
mov rbx, r10
sub rbx, rax
movabs rax, 0x789589466e9eabf
add rbx, rax
xor rbx, rsi
not rbx
jmp 0x140037209
mov rcx, r8
imul rcx, qword [0x14033a080]
and rcx, qword [0x14033a080]
mov rax, r9
mov r9, rcx
xor r9, rax
ror r9, 0x2c
imul r9, r11
mov rbx, rsi
not rbx
imul rbx, r10
movabs rax, 0x7cd8a7de744af744
imul rbx, rax
imul rsi, qword [0x14033a060], 0xfffffffff82e885e
mov rdx, qword [0x14033a068]
sub rsi, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x1400371ec
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0xe0d22b613d4ffa83
add rsi, rax
add rsi, r12
movabs r14, 0xaaaaaaaaaaaaaaab
movabs rax, 0xff055d7b8401fd89
xor r15, rax
mov rax, r14
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r9, rbx
lea rax, [0x14033a060]
imul r9, qword [rax + r15*8]
not r11
imul r11, r8
imul r11, rsi
imul r11, rdi
movabs rcx, 0xf5ed7e8783b2b755
xor rcx, r10
not rcx
xor rcx, r11
sub rcx, r9
call fcn.140031624
mov qword [0x1403489a0], rax
xor r12d, r12d
mov dword [rbp + 0x40], r12d
mov dword [rbp + 0x40], 0xdcc5b40d
mov eax, 0x9e1ac17d
sub eax, dword [0x14033a050]
sub eax, dword [0x14033a058]
xor eax, 0x217b2a1c
sub eax, dword [0x14033a048]
mov rcx, qword [0x14033a040]
add eax, 0x947def7d
add eax, ecx
xor eax, 0xa292574f
sub eax, 0x28f45903
xor eax, 0xd027d4ed
lea edx, [rcx - 0x43c80d9e]
add edx, eax
not edx
mov eax, dword [0x14033a038]
xor eax, 0xc5a9d4b8
sub edx, eax
mov ecx, dword [0x14033a030]
xor ecx, 0x3a562b47
add ecx, 0x571500bf
add ecx, edx
xor ecx, 0x7ea4e708
mov dword [rbp + 0x40], ecx
mov dword [rbp + 0x48], ecx
mov dword [rbp + 0x40], r12d
movabs rax, 0xfeefd2a265c196be
mov rbx, qword [0x14033a070]
imul rbx, rax
not rbx
movabs rcx, 0xba2c8f631f0f1f13
mov r15, qword [0x14033a060]
mov rax, r15
xor rax, rcx
and rbx, rax
ror rbx, 0x37
shr rbx, 8
mov r14, qword [0x14033a068]
movabs rax, 0xdeb04a22bf97e888
mov r11, r14
imul r11, rax
movabs rax, 0x6b6a5c3f4f5168c4
add r11, rax
movabs rcx, 0xc470bd3b7fffffff
xor r11, rcx
shr r11, 0x1f
not r11
movabs r8, 0x9495a3c0b0ae973c
lea rcx, [r11 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
lea rdx, [0x14033a060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x93
and ecx, 0x8000003f
jge 0x1400373b2
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r11
ror rdx, cl
not rdx
movabs rax, 0x7612ea2ec364b5f4
mov rdi, rdx
imul rdi, rax
add r8, rdi
mov r9, r11
imul r9, rbx
sub r9, r8
movabs rax, 0x273f9b7d2a1c3e6b
xor r9, rax
mov cl, r8b
xor cl, 0xfc
and cl, 0xf
rol r9, cl
mov rax, r8
sub rax, qword [0x14033a078]
xor r9, rax
movabs rax, 0x36eaa93e613a6ed0
imul rdx, rax
movabs r13, 0x4041c9046ee7d610
sub rdx, r13
xor r9, rdx
movabs rax, 0x45d3709ce2b5569f
xor r9, rax
mov r10, r9
mov rsi, qword [0x14033a080]
imul r10, rsi
and r10, qword [0x14033a078]
xor r10, rax
ror r10, 0x1f
imul r10, r8
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de78decc6e
imul rbx, rax
imul rdx, r15, 0xfffffffffdba498c
sub rdx, r14
mov al, bl
not al
movzx ecx, al
movzx eax, r14b
xor ecx, eax
and ecx, 0x8000003f
jge 0x140037485
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdx, cl
lea rcx, [rdi + rdx]
movabs rax, 0x6b6a5c3f4f5168c4
imul rcx, rax
sub rcx, r13
movabs rax, 0x6b6a5c3f4f5168c3
sub rax, rdi
imul rcx, rax
imul rcx, r9
movabs rax, 0xf5ed7e878f268c7f
xor r11, rax
not r11
xor rcx, r11
xor r10, rbx
imul r10, rsi
sub rcx, r10
call fcn.140031768
mov qword [0x140348998], rax
mov dword [rbp + 0x40], r12d
mov dword [rbp + 0x40], 0xb60e1abd
mov eax, 0xdccdd5a2
sub eax, dword [0x14033a050]
sub eax, dword [0x14033a058]
xor eax, 0x97a8205
sub eax, dword [0x14033a048]
mov rdx, qword [0x14033a040]
lea ecx, [rdx + 0x5a47149]
add ecx, eax
xor ecx, 0xea1392a7
add ecx, 0xc00276b
xor ecx, 0x2a074323
mov ebx, dword [0x14033a030]
xor ebx, 0x264667b5
sub ebx, ecx
mov eax, dword [0x14033a038]
xor eax, 0xd9b9984a
sub ebx, eax
sub ebx, edx
sub ebx, 0x207a5639
xor ebx, 0x3cba7252
mov dword [rbp + 0x40], ebx
mov dword [rbp + 0x50], r12d
mov rax, qword [rbp - 0x10]
mov r9d, 4
lea r8, [rbp + 0x50]
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x10]
call qword [rax + 0x20]
mov ecx, dword [rbp + 0x48]
add ecx, ebx
mov dword [rbp + 0x40], r12d
mov dword [rbp + 0x40], r12d
cmp dword [rbp + 0x50], ecx
je 0x1400375f8
mov dword [rbp + 0x40], 0x57a6905a
mov eax, 0x75a065b8
sub eax, dword [0x14033a050]
sub eax, dword [0x14033a058]
xor eax, 0x9adc97b
sub eax, dword [0x14033a048]
mov rdx, qword [0x14033a040]
lea ecx, [rdx + 0x45e8faa4]
add ecx, eax
xor ecx, 0xea4d29cd
add ecx, 0xbee1725
xor ecx, 0x16208377
mov r8d, dword [0x14033a030]
xor r8d, 0x264731ab
sub r8d, ecx
mov eax, dword [0x14033a038]
xor eax, 0xd9b8ce54
sub r8d, eax
sub r8d, edx
add r8d, 0x5e8c0dc0
xor r8d, 0x7f3be61c
mov dword [rbp + 0x40], r8d
jmp 0x140037670
mov dword [rbp + 0x40], 0x597eaccb
mov eax, 0xb0b829c
sub eax, dword [0x14033a050]
sub eax, dword [0x14033a058]
xor eax, 0x4a6b2d0
sub eax, dword [0x14033a048]
mov rdx, qword [0x14033a040]
lea ecx, [rdx + 0x290959e2]
add ecx, eax
xor ecx, 0xc525b1d2
sub ecx, 0x6c553161
xor ecx, 0x4196f61f
mov r8d, dword [0x14033a030]
xor r8d, 0x22432581
sub r8d, ecx
mov eax, dword [0x14033a038]
xor eax, 0xddbcda7e
sub r8d, eax
sub r8d, edx
sub r8d, 0x1f67fedb
xor r8d, 0xf2b84f7e
mov dword [rbp + 0x40], r8d
mov dword [rbp + 0x40], r12d
mov eax, r8d
lea rcx, vtable.proc_api.0
mov qword [rbp - 0x10], rcx
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret