Function at 0x43ede0
Capabilities:
Read file via mapping

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], 0
nop
lea rcx, [0x004406f0]
call fcn.00500000
nop
lea rcx, [0x0045cb00]
mov edx, 1
call fcn.00406420
or rcx, 0xffffffffffffffff
xor edx, edx
mov r8d, 4
xor r9, r9
mov dword [rsp + 0x20], 0x240
lea rax, [0x0043f4f0]
mov qword [rsp + 0x28], rax
call sub.kernel32.dll_CreateFileMappingW
mov qword [0x0044ec60], rax
cmp qword [0x0044ec60], 0
jne 0x43eea3
mov qword [0x0044ec68], 0
jmp 0x43eeca
mov rcx, qword [0x0044ec60]
mov edx, 6
xor r8, r8
xor r9, r9
mov qword [rsp + 0x20], 0x240
call sub.kernel32.dll_MapViewOfFile
mov qword [0x0044ec68], rax
cmp qword [0x0044ec68], 0
je 0x43ef28
mov rax, qword [0x0044ec68]
mov dword [rax], 0
mov rax, qword [0x0044ec68]
lea rdi, [rax + 4]
xor eax, eax
mov ecx, 0x41
rep stosq qword [rdi], rax
stosw word [rdi], ax
mov rax, qword [0x0044ec68]
mov dword [rax + 0x210], 0
mov rax, qword [0x0044ec68]
lea rdi, [rax + 0x214]
lea rsi, [0x0043f52e]
mov ecx, 5
rep movsq qword [rdi], qword [rsi]
movsw word [rdi], word [rsi]
lea rcx, [rbp + 0x78]
mov edx, 1
call fcn.00406420
mov rcx, qword [rbp + 0x78]
lea rdx, [0x0043f564]
call fcn.0040ab60
test eax, eax
jne 0x43efd6
lea rcx, [0x0045cb08]
call fcn.0043d670
cmp qword [0x0045cb08], 0
jne 0x43ef93
cmp qword [0x0044ec68], 0
je 0x43f435
mov rax, qword [0x0044ec68]
lea rdi, [rax + 4]
lea rsi, [0x0043f578]
mov ecx, 0x41
rep movsq qword [rdi], qword [rsi]
movsw word [rdi], word [rsi]
jmp 0x43f435
mov rcx, qword [0x0045cb08]
call fcn.0043e5d0
test al, al
je 0x43f435
cmp qword [0x0044ec68], 0
je 0x43f435
mov rax, qword [0x0044ec68]
lea rdi, [rax + 4]
lea rsi, [0x0043f782]
mov ecx, 0x41
rep movsq qword [rdi], qword [rsi]
movsw word [rdi], word [rsi]
jmp 0x43f435
lea rcx, [rbp + 0x70]
mov edx, 1
call fcn.00406420
mov rcx, qword [rbp + 0x70]
lea rdx, [0x0043f998]
call fcn.0040ab60
test eax, eax
jne 0x43f084
lea rcx, [0x0045cb08]
call fcn.0043d670
cmp qword [0x0045cb08], 0
jne 0x43f041
cmp qword [0x0044ec68], 0
je 0x43f435
mov rax, qword [0x0044ec68]
lea rdi, [rax + 4]
lea rsi, [0x0043f578]
mov ecx, 0x41
rep movsq qword [rdi], qword [rsi]
movsw word [rdi], word [rsi]
jmp 0x43f435
mov rcx, qword [0x0045cb08]
call fcn.0043de00
test al, al
je 0x43f435
cmp qword [0x0044ec68], 0
je 0x43f435
mov rax, qword [0x0044ec68]
lea rdi, [rax + 4]
lea rsi, [0x0043f9aa]
mov ecx, 0x41
rep movsq qword [rdi], qword [rsi]
movsw word [rdi], word [rsi]
jmp 0x43f435
lea rcx, [rbp + 0x68]
mov edx, 1
call fcn.00406420
mov rcx, qword [rbp + 0x68]
lea rdx, [0x0043fbc0]
call fcn.0040ab60
test eax, eax
jne 0x43f22d
lea rcx, [0x0045caf8]
lea rdx, [0x0045cb00]
call fcn.0043d440
cmp qword [0x0045caf8], 0
je 0x43f1a8
mov rcx, qword [0x0045cb00]
mov dl, 1
call fcn.0043d0d0
test al, al
je 0x43f1a8
mov dword [0x0045cb20], 0
mov rcx, qword [0x0045caf8]
call fcn.0040a5e0
mov rbx, rax
mov rcx, qword [0x0045cb00]
call fcn.0040a5e0
xor ecx, ecx
mov rdx, rbx
mov r8, rax
mov r9d, 1
lea rax, [0x0045cb20]
mov qword [rsp + 0x20], rax
call sub.newdev.dll_UpdateDriverForPlugAndPlayDevicesW
test eax, eax
jne 0x43f166
cmp qword [0x0044ec68], 0
je 0x43f435
call sub.kernel32.dll_GetLastError
mov rcx, qword [0x0044ec68]
mov dword [rcx], eax
mov rax, qword [0x0044ec68]
lea rdi, [rax + 4]
lea rsi, [0x0043fbd0]
mov ecx, 0x41
rep movsq qword [rdi], qword [rsi]
movsw word [rdi], word [rsi]
jmp 0x43f435
cmp qword [0x0044ec68], 0
je 0x43f435
mov rax, qword [0x0044ec68]
lea rdi, [rax + 4]
lea rsi, [0x0043fdda]
mov ecx, 0x41
rep movsq qword [rdi], qword [rsi]
movsw word [rdi], word [rsi]
mov rax, qword [0x0044ec68]
mov ecx, dword [0x0045cb20]
mov dword [rax + 0x210], ecx
jmp 0x43f435
cmp qword [0x0044ec68], 0
je 0x43f435
cmp qword [0x0045caf8], 0
jne 0x43f1e1
mov rax, qword [0x0044ec68]
lea rdi, [rax + 4]
lea rsi, [0x0043ffe4]
mov ecx, 0x41
rep movsq qword [rdi], qword [rsi]
movsw word [rdi], word [rsi]
jmp 0x43f435
mov rcx, qword [0x0045cb00]
mov dl, 1
call fcn.0043d0d0
test al, al
jne 0x43f435
lea rcx, [rbp + 0x60]
lea rdx, [0x004401fc]
mov r8, qword [0x0045cb00]
call fcn.0040a950
mov rcx, qword [rbp + 0x60]
mov rax, qword [0x0044ec68]
lea rdx, [rax + 4]
mov r8d, 0x104
call fcn.0043db30
jmp 0x43f435
lea rcx, [rbp + 0x58]
mov edx, 1
call fcn.00406420
mov rcx, qword [rbp + 0x58]
lea rdx, [0x0044022c]
call fcn.0040ab60
test eax, eax
jne 0x43f369
lea rcx, [0x0045cb00]
call fcn.0043d670
mov rcx, qword [0x0045cb00]
mov dl, 1
call fcn.0043d0d0
test al, al
je 0x43f325
mov dword [0x0045cb20], 0
mov rcx, qword [0x0045cb00]
call fcn.0040a5e0
xor ecx, ecx
mov rdx, rax
mov r8d, 2
lea r9, [0x0045cb20]
call sub.newdev.dll_DiInstallDriverW
test eax, eax
jne 0x43f2e3
cmp qword [0x0044ec68], 0
je 0x43f435
call sub.kernel32.dll_GetLastError
mov rcx, qword [0x0044ec68]
mov dword [rcx], eax
mov rax, qword [0x0044ec68]
lea rdi, [rax + 4]
lea rsi, [0x00440240]
mov ecx, 0x41
rep movsq qword [rdi], qword [rsi]
movsw word [rdi], word [rsi]
jmp 0x43f435
cmp qword [0x0044ec68], 0
je 0x43f435
mov rax, qword [0x0044ec68]
lea rdi, [rax + 4]
lea rsi, [0x0044044a]
mov ecx, 0x41
rep movsq qword [rdi], qword [rsi]
movsw word [rdi], word [rsi]
mov rax, qword [0x0044ec68]
mov ecx, dword [0x0045cb20]
mov dword [rax + 0x210], ecx
jmp 0x43f435
cmp qword [0x0044ec68], 0
je 0x43f435
lea rcx, [rbp + 0x50]
lea rdx, [0x004401fc]
mov r8, qword [0x0045cb00]
call fcn.0040a950
mov rcx, qword [rbp + 0x50]
mov rax, qword [0x0044ec68]
lea rdx, [rax + 4]
mov r8d, 0x104
call fcn.0043db30
jmp 0x43f435
lea rcx, [rbp + 0x48]
mov edx, 1
call fcn.00406420
mov rcx, qword [rbp + 0x48]
lea rdx, [0x00440660]
call fcn.0040ab60
test eax, eax
jne 0x43f3c1
lea rcx, [0x0045cb08]
lea rdx, [0x0045cb10]
lea r8, [0x0045cb18]
call fcn.0043d7a0
mov rcx, qword [0x0045cb18]
mov rdx, qword [0x0045cb08]
mov r8, qword [0x0045cb10]
call fcn.0043c780
jmp 0x43f435
lea rcx, [rbp + 0x40]
mov edx, 1
call fcn.00406420
mov rcx, qword [rbp + 0x40]
lea rdx, [0x00440680]
call fcn.0040ab60
test eax, eax
jne 0x43f3ef
mov ecx, 0xbb8
call sub.kernel32.dll_Sleep
jmp 0x43f435
cmp qword [0x0044ec68], 0
je 0x43f435
lea rcx, [rbp + 0x30]
mov edx, 1
call fcn.00406420
lea rcx, [rbp + 0x38]
lea rdx, [0x00440698]
mov r8, qword [rbp + 0x30]
call fcn.0040a950
mov rcx, qword [rbp + 0x38]
mov rax, qword [0x0044ec68]
lea rdx, [rax + 4]
mov r8d, 0x104
call fcn.0043db30
cmp qword [0x0044ec68], 0
je 0x43f45e
mov rax, qword [0x0044ec68]
lea rdi, [rax + 0x214]
lea rsi, [0x004406c0]
mov ecx, 5
rep movsq qword [rdi], qword [rsi]
movsw word [rdi], word [rsi]
cmp qword [0x0044ec68], 0
je 0x43f474
mov rcx, qword [0x0044ec68]
call sub.kernel32.dll_UnmapViewOfFile
cmp qword [0x0044ec60], 0
je 0x43f48a
mov rcx, qword [0x0044ec60]
call sub.kernel32.dll_CloseHandle
nop
lea rcx, [rbp + 0x30]
mov edx, 0xa
call fcn.004098f0
call fcn.004094b0
jmp 0x43f4a8
lea rsp, [rbp + 0x88]
pop rbx
pop rsi
pop rdi
pop rbp
ret