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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
lea rax, vtable.proc_api.0
mov qword [rbp - 0x20], rax
xor r13d, r13d
mov dword [rbp - 0x18], r13d
lea rax, vtable.driver_api.0
mov qword [rbp - 0x20], rax
mov ebx, r13d
mov edi, 0x6ba619ee
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 0x14002288a
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xae764b30
jmp 0x14002287c
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x140022856
cmp r10d, ebx
jne 0x140022990
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 0x140022990
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x140022990
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0xae764b30
jmp 0x1400228f0
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 0x1400228d2
cmp r14d, edi
je 0x140022908
test esi, esi
jne 0x1400228bd
jmp 0x140022990
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 0x140022998
lea rax, [rcx + r11]
cmp r8, rax
jae 0x140022998
mov ebx, 0xae764b30
mov edi, ebx
jmp 0x140022952
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, ebx
mov ebx, eax
imul ebx, ecx
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x140022938
jmp 0x140022975
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 0x14002295b
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14002282a
call r8
mov edx, eax
lea rcx, [rbp - 0x20]
call fcn.14001e8ec
mov qword [rbp - 0x28], r13
movabs rax, 0x6b09c3a05d1149b5
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x30], r13
movabs rax, 0xd67616748f555301
mov qword [rbp - 0x30], rax
movabs rax, 0xec865ac92b21a8da
sub rax, qword [0x14031d050]
sub rax, qword [0x14031d058]
movabs rcx, 0xf8f8cd98317e09f7
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x87d654b93b1f50d6
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a81703d89f
xor rcx, rax
movabs rax, 0x5f627dc6bdc3a47a
sub rcx, rax
movabs rax, 0x723b3cd23dbb766b
xor rcx, rax
movabs rdx, 0xb483ce4481b4cabf
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad91c008a
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b526e3ff75
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8e9cf335df
add rdx, rax
add rdx, rcx
movabs rax, 0x5ef716f314b3b512
xor rdx, rax
mov qword [rbp - 0x30], rdx
movabs rax, 0x47321bb5c9b7e73f
sub rax, qword [0x14031d050]
sub rax, qword [0x14031d058]
movabs rcx, 0xf8f8cd975cde4b21
xor rax, rcx
sub rax, qword [0x14031d048]
movabs rcx, 0x47d654b81ef131c7
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a72838cf19
xor rcx, rax
movabs rax, 0x5f627dc6843f8dec
sub rcx, rax
movabs rax, 0xc63b3cd1d507c0d9
xor rcx, rax
movabs rax, 0x3483ce43b613ed95
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94adc6169e0
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5239e961f
xor r11, rax
movabs rax, 0xe0b56d91e5a3bcb5
add rcx, rax
add rcx, r11
movabs rax, 0x76708e2abc151220
xor rcx, rax
mov qword [rbp - 0x28], rcx
and rcx, rdx
mov eax, dword [rbp - 0x18]
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x28], r13
cmp rax, rcx
jne 0x140022be9
mov dword [rbp + 0x48], r13d
mov dword [rbp + 0x48], 0xa65ed1c8
mov eax, 0x5e6e855f
sub eax, dword [0x14031d050]
sub eax, dword [0x14031d058]
xor eax, 0xb760dc53
sub eax, dword [0x14031d048]
mov rdx, qword [0x14031d040]
lea ecx, [rdx - 0x2816738f]
add ecx, eax
xor ecx, 0x8ddf2365
add ecx, 0x28f0577d
xor ecx, 0x9d999631
mov r8d, dword [0x14031d030]
xor r8d, 0x25030e83
sub r8d, ecx
mov eax, dword [0x14031d038]
xor eax, 0xdafcf17c
sub r8d, eax
sub r8d, edx
sub r8d, 0xd3b129d
xor r8d, 0xa5185a74
mov dword [rbp + 0x48], r8d
mov dword [rbp + 0x48], r13d
jmp 0x1400235f0
movabs r15, 0xfd514fcebb907835
movabs r11, 0x469e42ab254b8ca7
mov rdi, r13
movabs rax, 0xc65542adc85a84d8
movabs r10, 0x446ad3387f24defa
mov r13, qword [0x14031d070]
mov rsi, r13
imul rsi, rax
not rsi
movabs rcx, 0xbb952cc78231d1a8
mov rax, qword [0x14031d060]
xor rax, rcx
and rsi, rax
ror rsi, 0xa
shr rsi, 8
movabs rax, 0x9a86ba005bf61fd8
mov r9, qword [0x14031d080]
imul r9, rax
add r9, r11
movabs rax, 0x37a826f980000000
xor r9, rax
shr r9, 0x1f
not r9
movabs r8, 0xb961bd54dab47359
lea rcx, [r9 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rdx, [0x14031d060]
movzx eax, r9b
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xcd
mov edx, 0x8000003f
and ecx, edx
jge 0x140022cc4
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0xd6bcf6f53f621214
mov r12, rax
imul r12, rcx
lea rbx, [r12 + r8]
mov r8, r9
imul r8, rsi
sub r8, rbx
xor r8, r15
movzx r14d, bl
mov ecx, r14d
xor ecx, 2
and ecx, 0xf
and ecx, edx
jge 0x140022d07
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0x77d9325a2ab8bb0c
imul rax, rcx
movabs rcx, 0x40f90ff202deeb0f
add rax, rcx
xor r8, rax
mov rax, rbx
sub rax, qword [0x14031d078]
xor r8, rax
xor r8, r10
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x140023027
sub rax, 1
je 0x140022f21
sub rax, 1
movabs r14, 0xaaaaaaaaaaaaaaab
je 0x140022e56
cmp rax, 1
jne 0x1400230ac
mov r15, rbx
imul r15, r9
movabs rax, 0x307c69ccf128dcf5
add rax, r8
xor r15, rax
ror r15, 0x32
shr r15, 0xc
not r15
movabs rcx, 0x8357223aa1da
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xb9e3382cb395f205
xor rdx, rax
movzx eax, r15b
movzx ecx, r8b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97ada4d25
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, r11
mov eax, 0xab019fcf
add rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14031d060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs r11, 0x430248adea5e8e80
sub r11, r15
shr r11, cl
movabs rcx, 0xb969e1dd343a625d
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 r11, rax
jmp 0x1400230ac
movabs rcx, 0xaaaaaa1aab1862f1
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed6915bebd
imul r9, rcx
movabs rcx, 0xffff7e8a8d08502d
imul r12, rcx
movabs rcx, 0x4f8bd062ff35dc5b
add r9, rcx
add r9, r12
movabs rax, 0x277cd7be79c8b591
mov rcx, r9
xor rcx, rax
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rbx, r9
not rbx
lea rax, [0x14031d060]
imul rbx, qword [rax + rcx*8]
xor rbx, 0xfffffffffe4db421
lea ecx, [r8 - 0xd]
and cl, 0x3f
rol rbx, cl
movabs rax, 0x280870c000000000
imul rbx, rax
mov rcx, rbx
ror rcx, 0x19
not rcx
movabs rax, 0x9b2de6b2d890ded8
imul rcx, rax
mov rax, r9
sub rax, rbx
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, r11
mov r11, rdx
imul r11, rax
jmp 0x1400230ac
movabs rax, 0x3e9aba2f581e7935
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, 0x2aeb031446f87ca
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
and r14d, 0x8000003f
jge 0x140022f74
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
rol r10, cl
movabs rcx, 0xb961bd54dab47359
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, 0x2ab254b8ca7
lea rax, [0x14031d060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7f7dc14dc
or r10, rax
mov r11, r13
imul r11, r15
sub r11, rbx
mov rax, rsi
sub rax, r10
xor r11, rax
movabs rax, 0xc7a7c6a6a6d414d1
xor r11, rax
mov rax, r8
imul rax, rbx
imul rax, r11
mov rdi, r9
sub rdi, rax
movabs rax, 0x7895894698658cb
add rdi, rax
xor rdi, rsi
movzx eax, r9b
imul ecx, eax, 0xf4
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x1400230ac
mov rcx, r8
imul rcx, qword [0x14031d080]
and rcx, r13
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 0x3a
imul r10, rbx
mov rdi, rsi
not rdi
imul rdi, r9
movabs rax, 0x7cd8a7de7b254530
imul rdi, rax
imul rsi, qword [0x14031d060], 0xfffffffffd150f52
mov rdx, qword [0x14031d068]
sub rsi, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14002308f
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0xb961bd54dab47359
add rsi, rax
add rsi, r12
movabs r14, 0xaaaaaaaaaaaaaaab
movabs rax, 0xff055d7b8b6e4ffd
xor r15, rax
mov rax, r14
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r10, rdi
lea r14, [0x14031d060]
imul r10, qword [r14 + r15*8]
not rbx
imul rbx, r8
imul rbx, rsi
imul rbx, r11
movabs rcx, 0xf5ed7e878cdd0521
xor rcx, r9
not rcx
xor rcx, rbx
sub rcx, r10
call fcn.14001d7ac
mov qword [0x140321f38], rax
xor r13d, r13d
mov dword [rbp + 0x50], r13d
mov dword [rbp + 0x50], 0x72a95d16
mov eax, 0x108b2000
sub eax, dword [0x14031d050]
sub eax, dword [0x14031d058]
xor eax, 0x44775996
sub eax, dword [0x14031d048]
mov rdx, qword [0x14031d040]
lea ecx, [rdx - 0x41ac15fc]
add ecx, eax
xor ecx, 0xcd102c8
sub ecx, 0x7ad9507f
xor ecx, 0xed039589
mov r8d, dword [0x14031d030]
xor r8d, 0x233e7ac7
sub r8d, ecx
mov eax, dword [0x14031d038]
xor eax, 0xdcc18538
sub r8d, eax
sub r8d, edx
add r8d, 0x27282219
xor r8d, 0xbf7b3e88
mov dword [rbp + 0x50], r8d
mov dword [rbp + 0x60], r8d
mov dword [rbp + 0x50], r13d
movabs rax, 0x947b5a2ab3440000
mov r15, qword [0x14031d070]
imul r15, rax
movabs rax, 0xa9dcdf04c0030000
xor r15, rax
movabs r9, 0x84968b0b7498839c
mov rcx, r15
imul rcx, r9
movabs r10, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rbx, r15
and rbx, r9
imul rbx, qword [r14 + rcx*8]
movabs rax, 0xeba444d13dde8c98
imul rbx, rax
shr rbx, 3
movabs rax, 0x53492b2c0f3712de
xor rbx, rax
movabs rax, 0xffffff57cb68b12f
mov r11, r15
imul r11, rax
sub r11, 0x1a7cb58
mov r12, qword [0x14031d060]
xor r11, r12
xor r11, rbx
mov rax, rbx
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bc2db0e0e
imul rax, rcx
not rax
and r11, rax
ror r11, 0x23
shr r11, 8
movabs r8, 0x7b6974f48b677c64
lea rcx, [r15 + r8]
xor rcx, 0xfffffffffc550503
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xfea3b9b74a126d50
mov rdi, qword [r14 + rcx*8]
imul rdi, rax
sub rdi, r8
movabs rcx, 0xc0a51ed68aacd10
mov rax, rbx
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
mov r9, rdi
xor r9, r15
lea rcx, [rdi + r8]
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x1f
mov edx, 0x8000003f
and ecx, edx
jge 0x1400232f4
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r9, cl
not r9
imul r9, rbx
imul r14, r9, 0xfffffffffe5834a8
lea rsi, [r14 + r8]
mov r8, rdi
imul r8, r11
sub r8, rsi
movabs rax, 0x64268e452af4b587
xor r8, rax
movzx ecx, sil
and ecx, 0xf
and ecx, edx
jge 0x140023332
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
mov rax, rsi
sub rax, qword [0x14031d078]
xor r8, rax
movabs rcx, 0x4c10769984720e60
imul r9, rcx
movabs rax, 0xc0eb6761316f8f0
add r9, rax
xor r8, r9
xor r8, rbx
xor r8, r15
mov rax, r10
mul rbx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, rbx
sub rdx, rax
mov rax, r8
imul rax, qword [0x14031d080]
lea r10, [0x14031d060]
mov r10, qword [r10 + rdx*8]
and r10, rax
xor r10, rbx
and bl, 0x3f
mov cl, bl
ror r10, cl
imul r10, rsi
not r11
imul r11, rdi
movabs rax, 0x7cd8a7de7935e4e2
imul r11, rax
mov rax, r10
imul rax, r15
xor r11, rax
imul r9, r12, 0xfffffffffe5834a8
mov rdx, qword [0x14031d068]
sub r9, rdx
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x1400233f1
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r9, cl
lea rcx, [r14 + r9]
movabs rax, 0x84968b0b7498839c
imul rcx, rax
movabs rax, 0xc0eb6761316f8f0
add rcx, rax
movabs rax, 0x84968b0b7498839b
sub rax, r14
imul rcx, rax
imul rcx, r8
movabs rax, 0xf5ed7e878ecda4f3
xor rdi, rax
not rdi
xor rcx, rdi
xor r10, r11
imul r10, r12
sub rcx, r10
call fcn.14001d668
mov qword [0x140321f30], rax
mov dword [rbp + 0x48], r13d
mov dword [rbp + 0x48], 0xb576ade
mov eax, 0xde6484f7
sub eax, dword [0x14031d050]
sub eax, dword [0x14031d058]
xor eax, 0x3b67fe6e
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x9e86c656
add eax, ecx
xor eax, 0x41a82250
add eax, 0xff46652
xor eax, 0x90acf9e9
lea edx, [rcx - 0x7fa14e18]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd504b5e2
sub edx, eax
mov ebx, dword [0x14031d030]
xor ebx, 0x2afb4a1d
add ebx, 0xa1534379
add ebx, edx
xor ebx, 0xe6b1ee9a
mov dword [rbp + 0x48], ebx
mov dword [rbp - 0x38], r13d
mov rax, qword [rbp - 0x20]
mov r9d, 4
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x60]
lea rcx, [rbp - 0x20]
call qword [rax + 0x20]
mov ecx, dword [rbp + 0x60]
add ecx, ebx
mov dword [rbp + 0x48], r13d
mov dword [rbp + 0x58], r13d
cmp dword [rbp - 0x38], ecx
je 0x140023574
mov dword [rbp + 0x58], 0x44ffc8cf
mov eax, 0x6513636d
sub eax, dword [0x14031d050]
sub eax, dword [0x14031d058]
xor eax, 0x32bf68fb
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x7cccd734
add eax, ecx
xor eax, 0x186cc54d
add eax, 0x4139dea5
xor eax, 0x2a59b6f6
lea edx, [rcx + 0x2e8910e]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd9170ed4
sub edx, eax
mov r8d, dword [0x14031d030]
xor r8d, 0x26e8f12b
add r8d, 0x97fe8e6f
add r8d, edx
xor r8d, 0x13f5119c
mov dword [rbp + 0x58], r8d
jmp 0x1400235ec
mov dword [rbp + 0x58], 0x5f41805e
mov eax, 0xf8a5c308
sub eax, dword [0x14031d050]
sub eax, dword [0x14031d058]
xor eax, 0xeaef9271
sub eax, dword [0x14031d048]
mov rdx, qword [0x14031d040]
lea ecx, [rdx + 0x5cd2224f]
add ecx, eax
xor ecx, 0xc7c64e73
add ecx, 0x150864ff
xor ecx, 0xf2fd000e
mov r8d, dword [0x14031d030]
xor r8d, 0x25ce1d21
sub r8d, ecx
mov eax, dword [0x14031d038]
xor eax, 0xda31e2de
sub r8d, eax
sub r8d, edx
add r8d, 0x7588b2d9
xor r8d, 0x6bc5649e
mov dword [rbp + 0x58], r8d
mov dword [rbp + 0x58], r13d
mov eax, r8d
lea rcx, vtable.proc_api.0
mov qword [rbp - 0x20], rcx
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret