Function at 0x40c7d0
Capabilities:
Read file via mapping

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
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
nop
lea rcx, [0x00409d50]
call fcn.00408440
nop
lea rcx, [0x00414cf0]
mov edx, 1
call fcn.00404d50
or rcx, 0xffffffffffffffff
xor rdx, rdx
mov r8d, 4
xor r9, r9
mov dword [rsp + 0x20], 0x10c
lea rax, [0x0040cc60]
mov qword [rsp + 0x28], rax
call sub.kernel32.dll_CreateFileMappingW
mov qword [0x0040f6d0], rax
cmp qword [0x0040f6d0], 0
jne 0x40c873
mov qword [0x0040f6d8], 0
jmp 0x40c89b
mov rcx, qword [0x0040f6d0]
mov edx, 6
xor r8, r8
xor r9, r9
mov qword [rsp + 0x20], 0x10c
call sub.kernel32.dll_MapViewOfFile
mov qword [0x0040f6d8], rax
cmp qword [0x0040f6d8], 0
je 0x40c8cf
mov rax, qword [0x0040f6d8]
mov dword [rax], 0
mov rax, qword [0x0040f6d8]
lea rdi, [rax + 4]
lea rsi, [0x0040cc9e]
mov ecx, 0x20
rep movsq qword [rdi], qword [rsi]
movsd dword [rdi], dword [rsi]
movsb byte [rdi], byte [rsi]
lea rcx, [rbp + 0x58]
mov edx, 1
call fcn.00404d50
mov rcx, qword [rbp + 0x58]
lea rdx, [0x0040cdb0]
call fcn.00407440
test eax, eax
jne 0x40ca63
lea rcx, [0x00414ce8]
lea rdx, [0x00414cf0]
call fcn.004099e0
cmp qword [0x00414ce8], 0
je 0x40c9dc
mov rcx, qword [0x00414cf0]
mov dl, 1
call fcn.00409680
test al, al
je 0x40c9dc
mov rcx, qword [0x00414ce8]
call fcn.00407050
mov rbx, rax
mov rcx, qword [0x00414cf0]
call fcn.00407050
xor rcx, rcx
mov rdx, rbx
mov r8, rax
mov r9d, 1
lea rax, [0x00414cf8]
mov qword [rsp + 0x20], rax
call sub.newdev.dll_UpdateDriverForPlugAndPlayDevicesW
test eax, eax
jne 0x40c9ac
cmp qword [0x0040f6d8], 0
je 0x40cbca
call sub.kernel32.dll_GetLastError_1
mov rcx, qword [0x0040f6d8]
mov dword [rcx], eax
lea rcx, [0x0040cdcc]
mov rax, qword [0x0040f6d8]
lea rdx, [rax + 4]
mov r8d, 0x104
call fcn.00409cc0
jmp 0x40cbca
cmp qword [0x0040f6d8], 0
je 0x40cbca
mov rax, qword [0x0040f6d8]
lea rdi, [rax + 4]
lea rsi, [0x0040ce1a]
mov ecx, 0x20
rep movsq qword [rdi], qword [rsi]
movsd dword [rdi], dword [rsi]
movsb byte [rdi], byte [rsi]
jmp 0x40cbca
cmp qword [0x0040f6d8], 0
je 0x40cbca
cmp qword [0x00414ce8], 0
jne 0x40ca16
mov rax, qword [0x0040f6d8]
lea rdi, [rax + 4]
lea rsi, [0x0040cf1f]
mov ecx, 0x20
rep movsq qword [rdi], qword [rsi]
movsd dword [rdi], dword [rsi]
movsb byte [rdi], byte [rsi]
jmp 0x40cbca
mov rcx, qword [0x00414cf0]
mov dl, 1
call fcn.00409680
test al, al
jne 0x40cbca
lea rcx, [rbp + 0x50]
lea rdx, [0x0040d030]
mov r8, qword [0x00414cf0]
call fcn.00407280
mov rcx, qword [rbp + 0x50]
mov rax, qword [0x0040f6d8]
lea rdx, [rax + 4]
mov r8d, 0x104
call fcn.00409cc0
jmp 0x40cbca
lea rcx, [rbp + 0x48]
mov edx, 1
call fcn.00404d50
mov rcx, qword [rbp + 0x48]
lea rdx, [0x0040d060]
call fcn.00407440
test eax, eax
jne 0x40cb82
lea rcx, [0x00414cf0]
call fcn.00409b80
mov rcx, qword [0x00414cf0]
mov dl, 1
call fcn.00409680
test al, al
je 0x40cb44
mov rcx, qword [0x00414cf0]
call fcn.00407050
xor rcx, rcx
mov rdx, rax
mov r8d, 2
lea r9, [0x00414cf8]
call sub.newdev.dll_DiInstallDriverW
test eax, eax
jne 0x40cb14
cmp qword [0x0040f6d8], 0
je 0x40cbca
call sub.kernel32.dll_GetLastError_1
mov rcx, qword [0x0040f6d8]
mov dword [rcx], eax
lea rcx, [0x0040d080]
mov rax, qword [0x0040f6d8]
lea rdx, [rax + 4]
mov r8d, 0x104
call fcn.00409cc0
jmp 0x40cbca
cmp qword [0x0040f6d8], 0
je 0x40cbca
mov rax, qword [0x0040f6d8]
lea rdi, [rax + 4]
lea rsi, [0x0040d0aa]
mov ecx, 0x20
rep movsq qword [rdi], qword [rsi]
movsd dword [rdi], dword [rsi]
movsb byte [rdi], byte [rsi]
jmp 0x40cbca
cmp qword [0x0040f6d8], 0
je 0x40cbca
lea rcx, [rbp + 0x40]
lea rdx, [0x0040d030]
mov r8, qword [0x00414cf0]
call fcn.00407280
mov rcx, qword [rbp + 0x40]
mov rax, qword [0x0040f6d8]
lea rdx, [rax + 4]
mov r8d, 0x104
call fcn.00409cc0
jmp 0x40cbca
cmp qword [0x0040f6d8], 0
je 0x40cbca
lea rcx, [rbp + 0x30]
mov edx, 1
call fcn.00404d50
lea rcx, [rbp + 0x38]
lea rdx, [0x0040d1bc]
mov r8, qword [rbp + 0x30]
call fcn.00407280
mov rcx, qword [rbp + 0x38]
mov rax, qword [0x0040f6d8]
lea rdx, [rax + 4]
mov r8d, 0x104
call fcn.00409cc0
cmp qword [0x0040f6d8], 0
je 0x40cbe0
mov rcx, qword [0x0040f6d8]
call sub.kernel32.dll_UnmapViewOfFile
cmp qword [0x0040f6d0], 0
je 0x40cbf6
mov rcx, qword [0x0040f6d0]
call sub.kernel32.dll_CloseHandle_1
nop
lea rcx, [rbp + 0x30]
mov edx, 6
call fcn.00406d00
call fcn.004069c0
jmp 0x40cc15
lea rsp, [rbp + 0x68]
pop rbx
pop rsi
pop rdi
pop rbp
ret