Function at 0x4437c0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b10b6
mov eax, dword fs:[0]
push eax
sub esp, 0x5b8
push ebx
push esi
push edi
push ecx
lea edi, [ebp - 0x5c4]
mov ecx, 0x16e
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x4cf110]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 1
mov esi, esp
push str.NewFetchDriver__r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp esi, esp
call fcn.0043c45a
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x5a0], esp
push str.NewFetchDriver_is_called
call fcn.0043b4d8
mov dword [ebp - 0x5b4], eax
call fcn.0043c1d5
add esp, 0x20
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x594], esp
lea eax, [ebp + 8]
push eax
call fcn.0043c0ef
mov dword [ebp - 0x5b4], eax
lea ecx, [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.0043cb80
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40]
call fcn.0043bbb8
movzx eax, al
test eax, eax
je 0x4438e1
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x588], esp
push str.infName_is_null
call fcn.0043b4d8
mov dword [ebp - 0x5b4], eax
call fcn.0043c1d5
add esp, 0x20
mov dword [ebp - 0x57c], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.0043bb59
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.0043bb59
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x28]
call fcn.0043bb59
mov eax, dword [ebp - 0x57c]
jmp 0x443fd5
push str.usb.inf
lea ecx, [ebp - 0x40]
call fcn.0043c013
push eax
call fcn.0043b0af
add esp, 8
test eax, eax
jne 0x44396e
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x570], esp
push str.standard_bus_driver_not_fetch
call fcn.0043b4d8
mov dword [ebp - 0x5b4], eax
call fcn.0043c1d5
add esp, 0x20
mov esi, esp
push str.standard_bus_driver_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp esi, esp
call fcn.0043c45a
mov dword [ebp - 0x564], 2
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.0043bb59
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.0043bb59
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x28]
call fcn.0043bb59
mov eax, dword [ebp - 0x564]
jmp 0x443fd5
xor eax, eax
mov word [ebp - 0x250], ax
push 0x206
push 0
lea eax, [ebp - 0x24e]
push eax
call fcn.0043b802
add esp, 0xc
mov dword [ebp - 0x268], 0
mov esi, esp
push str.Setupapi.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp esi, esp
call fcn.0043c45a
mov dword [ebp - 0x25c], eax
mov esi, esp
push str.SetupGetInfDriverStoreLocationW
mov eax, dword [ebp - 0x25c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp esi, esp
call fcn.0043c45a
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0
jne 0x443a3a
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x558], esp
push str.load_SetupGetInfDriverStoreLocation_func_failed
call fcn.0043b4d8
mov dword [ebp - 0x5b4], eax
call fcn.0043c1d5
add esp, 0x20
mov dword [ebp - 0x54c], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.0043bb59
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.0043bb59
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x28]
call fcn.0043bb59
mov eax, dword [ebp - 0x54c]
jmp 0x443fd5
mov esi, esp
push 0
push 0x104
lea eax, [ebp - 0x250]
push eax
push 0
push 0
lea ecx, [ebp - 0x40]
call fcn.0043c013
push eax
call dword [ebp - 0x268]
cmp esi, esp
call fcn.0043c45a
test eax, eax
jne 0x443b51
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, esp
call fcn.0043c45a
push eax
lea eax, [ebp - 0x534]
push eax
call fcn.0043c914
add esp, 8
mov dword [ebp - 0x5b4], eax
mov ecx, dword [ebp - 0x5b4]
mov dword [ebp - 0x5b8], ecx
mov byte [ebp - 4], 3
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0x540], esp
mov edx, dword [ebp - 0x5b8]
push edx
push str.f_SetupGetInfDriverStoreLocation_return_err__lastErr_
lea ecx, [ebp - 0x50c]
call fcn.0043b4d8
mov dword [ebp - 0x5bc], eax
mov eax, dword [ebp - 0x5bc]
mov dword [ebp - 0x5c0], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x5c0]
push ecx
push esi
call fcn.0043bd4d
add esp, 0xc
mov dword [ebp - 0x5c4], eax
call fcn.0043c1d5
add esp, 0x20
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x50c]
call fcn.0043bb59
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x534]
call fcn.0043bb59
mov dword [ebp - 0x4e4], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.0043bb59
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.0043bb59
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x28]
call fcn.0043bb59
mov eax, dword [ebp - 0x4e4]
jmp 0x443fd5
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0x4d8], esp
lea eax, [ebp - 0x250]
push eax
push str._________________________dest_driver_Path_
lea ecx, [ebp - 0x4cc]
call fcn.0043b4d8
mov dword [ebp - 0x5b4], eax
mov ecx, dword [ebp - 0x5b4]
mov dword [ebp - 0x5b8], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x5b8]
push edx
push esi
call fcn.0043b0ff
add esp, 0xc
mov dword [ebp - 0x5bc], eax
call fcn.0043c1d5
add esp, 0x20
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4cc]
call fcn.0043bb59
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x4a4], esp
lea eax, [ebp - 0x250]
push eax
call fcn.0043b4d8
mov dword [ebp - 0x5b4], eax
lea ecx, [ebp - 0x290]
push ecx
call fcn.0043b721
add esp, 0x24
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 4], 6
lea eax, [ebp + 0x28]
push eax
lea ecx, [ebp - 0x2b8]
call fcn.0043c0ef
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x290]
call fcn.0043bbb8
movzx eax, al
test eax, eax
je 0x443c8e
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x498], esp
push str.sourceDir_is_empty
call fcn.0043b4d8
mov dword [ebp - 0x5b4], eax
call fcn.0043c1d5
add esp, 0x20
mov dword [ebp - 0x48c], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2b8]
call fcn.0043bb59
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x290]
call fcn.0043bb59
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.0043bb59
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.0043bb59
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x28]
call fcn.0043bb59
mov eax, dword [ebp - 0x48c]
jmp 0x443fd5
mov dword [ebp - 0x2c4], 0
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x480], esp
lea eax, [ebp + 0x28]
push eax
call fcn.0043c0ef
mov dword [ebp - 0x5b4], eax
call fcn.0043c360
add esp, 0x20
mov dword [ebp - 0x5b8], eax
cmp dword [ebp - 0x5b8], 0
je 0x443ceb
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x474], esp
lea eax, [ebp + 0x28]
push eax
call fcn.0043c0ef
mov dword [ebp - 0x5b4], eax
call fcn.0043bdf7
add esp, 0x20
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x468], esp
lea eax, [ebp - 0x2b8]
push eax
call fcn.0043c0ef
mov dword [ebp - 0x5b4], eax
mov ecx, dword [ebp - 0x5b4]
mov dword [ebp - 0x5b8], ecx
mov byte [ebp - 4], 8
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x45c], esp
lea edx, [ebp - 0x290]
push edx
call fcn.0043c0ef
mov dword [ebp - 0x5bc], eax
mov byte [ebp - 4], 7
call fcn.0043be7e
add esp, 0x40
mov dword [ebp - 0x5c0], eax
cmp dword [ebp - 0x5c0], 0
jne 0x443f58
mov esi, esp
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, esp
call fcn.0043c45a
push eax
lea eax, [ebp - 0x450]
push eax
call fcn.0043c914
add esp, 8
mov dword [ebp - 0x5b4], eax
mov ecx, dword [ebp - 0x5b4]
mov dword [ebp - 0x5b8], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x5b8]
push edx
push str.CopyDir_failed_lastErr_
lea ecx, [ebp - 0x428]
call fcn.0043b4d8
mov dword [ebp - 0x5bc], eax
mov eax, dword [ebp - 0x5bc]
mov dword [ebp - 0x5c0], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x5c0]
push ecx
lea edx, [ebp - 0x2ec]
push edx
call fcn.0043bd4d
add esp, 0xc
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x428]
call fcn.0043bb59
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x450]
call fcn.0043bb59
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x400], esp
lea eax, [ebp - 0x2ec]
push eax
call fcn.0043c0ef
mov dword [ebp - 0x5b4], eax
call fcn.0043c1d5
add esp, 0x20
lea ecx, [ebp - 0x2b8]
call fcn.0043c013
push eax
call fcn.0043bb63
add esp, 4
call fcn.0043b23f
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x3f4], esp
lea eax, [ebp - 0x2b8]
push eax
call fcn.0043c0ef
mov dword [ebp - 0x5b4], eax
mov ecx, dword [ebp - 0x5b4]
mov dword [ebp - 0x5b8], ecx
mov byte [ebp - 4], 0xe
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x3e8], esp
lea edx, [ebp - 0x290]
push edx
call fcn.0043c0ef
mov dword [ebp - 0x5bc], eax
mov byte [ebp - 4], 0xd
call fcn.0043c5c2
add esp, 0x40
mov byte [ebp - 0x5bd], al
movzx eax, byte [ebp - 0x5bd]
test eax, eax
jne 0x443f26
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x3dc], esp
push str.second_copy_dir_err
call fcn.0043b4d8
mov dword [ebp - 0x5b4], eax
call fcn.0043c1d5
add esp, 0x20
call fcn.0043c49b
mov dword [ebp - 0x3d0], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2ec]
call fcn.0043bb59
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2b8]
call fcn.0043bb59
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x290]
call fcn.0043bb59
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.0043bb59
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.0043bb59
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x28]
call fcn.0043bb59
mov eax, dword [ebp - 0x3d0]
jmp 0x443fd5
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x3c4], esp
push str.second_copy_dir_OK
call fcn.0043b4d8
mov dword [ebp - 0x5b4], eax
call fcn.0043c1d5
add esp, 0x20
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2ec]
call fcn.0043bb59
call fcn.0043c49b
sub esp, 0x20
mov ecx, esp
mov dword [ebp - 0x3b8], esp
push str.NewFetchDriver_ok
call fcn.0043b4d8
mov dword [ebp - 0x5b4], eax
call fcn.0043c1d5
add esp, 0x20
mov dword [ebp - 0x5ac], 1
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2b8]
call fcn.0043bb59
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x290]
call fcn.0043bb59
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.0043bb59
mov byte [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.0043bb59
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x28]
call fcn.0043bb59
mov eax, dword [ebp - 0x5ac]
push edx
mov ecx, ebp
push eax
lea edx, [0x444014]
call fcn.0043b8b6
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0043b29e
add esp, 0x5c4
cmp ebp, esp
call fcn.0043c45a
mov esp, ebp
pop ebp
ret 0x40