Function at 0x1400c4ac0
Capabilities:
Create directory
Get common file path

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x240
mov rax, qword [0x14017c820]
xor rax, rsp
mov qword [rsp + 0x230], rax
mov r12, r8
mov rbp, rdx
mov r8, rdx
lea rdx, str._bInitDriver__path___s_n
mov esi, r9d
mov rdi, rcx
call fcn.1400c3fb0
lea rdx, [rdi + 8]
mov ecx, 0x200
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea r8, [rdi + 8]
lea rdx, str._bInitDriver__GetCurrentDirectory___s_n
mov rcx, rdi
call fcn.1400c3fb0
lea rdx, [rsp + 0x30]
mov r8d, 0x200
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea r8, [rsp + 0x30]
lea rdx, str._bInitDriver__GetModuleFileName___s_n
mov rcx, rdi
call fcn.1400c3fb0
mov rcx, rdi
call fcn.1400c4070
mov rcx, qword [rdi + 0xb78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r8, [0x140126e7c]
xor edx, edx
mov rcx, rdi
mov qword [rdi + 0xb78], 0
call fcn.1400c4970
lea rdx, str._bInitDriver__m_hDriverMutex___X
mov rcx, rdi
mov r8, rax
mov qword [rdi + 0xb78], rax
call fcn.1400c3fb0
cmp qword [rdi + 0xb78], 0
jne 0x1400c4bb0
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.__err_d
mov rcx, rdi
mov r8d, eax
call fcn.1400c3fb0
lea rdx, [0x140112fe0]
mov rcx, rdi
call fcn.1400c3fb0
test rbp, rbp
mov dword [rdi + 0x218], esi
lea rsi, [rdi + 0x41c]
je 0x1400c4be3
mov r8, rbp
mov edx, 0x200
mov rcx, rsi
call fcn.1400f27f0
jmp 0x1400c4bf1
mov rdx, rsi
mov ecx, 0x200
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
cmp dword [rdi + 0xb5c], 2
jne 0x1400c4c41
cmp dword [rdi + 0x218], 0
je 0x1400c4c41
lea r8, str._scpuz134_
lea rcx, [rsp + 0x30]
mov r9, rsi
mov edx, 0x200
call fcn.14002c260
lea rcx, [rsp + 0x30]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x1400c4c3a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400c4c41
lea r8, [rsp + 0x30]
jmp 0x1400c4c44
mov r8, rsi
lea rbx, [rdi + 0x61c]
mov edx, 0x200
mov rcx, rbx
call fcn.1400f27f0
lea rdx, str._bInitDriver__m_szPath_2___s_n
mov r8, rbx
mov rcx, rdi
call fcn.1400c3fb0
lea r8, str.cpuz134
lea rcx, [rdi + 0xa1c]
mov edx, 0x100
call fcn.1400f27f0
mov eax, dword [rdi + 0xb5c]
sub eax, 1
je 0x1400c4d06
cmp eax, 1
je 0x1400c4ca1
mov dword [rsp + 0x20], 0x5002
xor ebx, ebx
jmp 0x1400c4d5b
lea rcx, [rdi + 0xb1c]
lea r8, str.cpuz134
mov edx, 0x40
call fcn.1400f27f0
lea r8, str._x64.sys
lea rcx, [rdi + 0xa1c]
mov edx, 0x100
call fcn.14002c340
lea r8, [rdi + 0xa1c]
lea rdx, str._bInitDriver__m_szFilename___s_n
mov rcx, rdi
call fcn.1400c3fb0
lea rdx, [rsp + 0x20]
mov r8d, 0x7d0
mov rcx, rdi
call fcn.1400c4320
mov rcx, rdi
mov ebx, eax
call fcn.1400c4440
jmp 0x1400c4d5b
lea r8, str.cpuz.vxd
lea rcx, [rdi + 0xa1c]
mov edx, 0x100
call fcn.1400f27f0
lea rcx, [rdi + 0xb1c]
lea r8, [0x140126e7c]
mov edx, 0x40
call fcn.1400f27f0
lea r8, [rdi + 0xa1c]
lea rdx, str._bInitDriver__m_szFilename___s_n
mov rcx, rdi
call fcn.1400c3fb0
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400c6d30
mov ebx, eax
mov r8d, dword [rsp + 0x20]
lea rdx, str._bInitDriver__bInitDriver_returned__d_n
mov rcx, rdi
call fcn.1400c3fb0
test ebx, ebx
mov r11d, dword [rsp + 0x20]
mov dword [r12], r11d
jne 0x1400c4d8f
mov edx, 1
xor r9d, r9d
mov rcx, rdi
mov r8d, edx
call fcn.1400c4210
mov eax, ebx
mov dword [rdi + 0xd94], 0
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.1400efff0
add rsp, 0x240
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret