Function at 0x408764
Capabilities:
Check if file exists
Check os version
Copy file
Get common file path
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5f4
mov dl, byte [0x4129f4]
push ebx
push esi
push edi
push 0x40
xor eax, eax
pop ecx
lea edi, [ebp - 0x48f]
mov byte [ebp - 0x490], dl
push 0x40
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x38b]
mov byte [ebp - 0x38c], dl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov esi, str.UCORESYS
lea edi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, str.UCOREW64
lea edi, [ebp - 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, str.UCOREVXD.vxd
lea edi, [ebp - 0xa0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor ebx, ebx
push 1
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
pop ebx
push ebx
movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessAffinityMask]
mov esi, 0x94
lea eax, [ebp - 0x288]
push esi
push 0
push eax
call fcn.00409590
add esp, 0xc
lea eax, [ebp - 0x288]
mov dword [ebp - 0x288], esi
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x278], 2
jne 0x408833
cmp dword [ebp - 0x284], 5
mov byte [0x424f6a], bl
jbe 0x408841
mov dword [0x424f64], ebx
jmp 0x408841
and dword [0x424f60], 0
and byte [0x424f6a], 0
movzx edi, word [ebp + 8]
cmp word [ebp + 8], bx
lea eax, [edi - 1]
mov dword [ebp - 0x10], eax
jbe 0x40957a
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 4]
lea esi, [ebx + 4]
mov al, byte [eax]
cmp al, 0x2d
je 0x40887b
cmp al, 0x2f
je 0x40887b
cmp word [ebp + 8], 2
jbe 0x408970
push dword [ebx + 8]
jmp 0x408cca
push 0x50
lea eax, [ebp - 0x90]
push 0
push eax
call fcn.00409590
mov eax, dword [esi]
inc eax
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00409900
lea eax, [ebp - 0x90]
push eax
call fcn.0041195c
lea eax, [ebp - 0x90]
push eax
push 0x4194e8
call fcn.0040a310
add esp, 0x20
test eax, eax
je 0x408cdd
lea eax, [ebp - 0x90]
push eax
push 0x4199d8
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x408cdd
lea eax, [ebp - 0x90]
push eax
push str.DUMPALL
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x408cdd
lea eax, [ebp - 0x90]
push eax
push str.DUMP
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
jne 0x408a6d
cmp word [ebp + 8], 3
jae 0x40892a
push str.Unknown_command_present_______n
call fcn.0040968b
jmp 0x408cd5
push 2
pop eax
cmp edi, eax
mov dword [ebp - 8], eax
jle 0x408970
lea esi, [ebx + 8]
push dword [esi]
call fcn.00409610
pop ecx
xor ecx, ecx
test eax, eax
jle 0x408961
mov edi, dword [esi]
mov dl, byte [edi + ecx]
cmp dl, 0x30
jl 0x408a62
cmp dl, 0x39
jg 0x408a62
inc ecx
cmp ecx, eax
jl 0x408947
movzx eax, word [ebp + 8]
inc dword [ebp - 8]
add esi, 4
cmp dword [ebp - 8], eax
jl 0x408937
cmp byte [0x424f6a], 0
je 0x408d6f
mov edi, 0x104
lea eax, [ebp - 0x490]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x408d66
lea eax, [ebp - 0x34]
mov esi, str._s_s_s.sys
push eax
lea eax, [ebp - 0x490]
push str.DRIVERS_
push eax
lea eax, [ebp - 0x38c]
push esi
push eax
call fcn.00409e15
add esp, 0x14
lea eax, [ebp - 0x38c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x4089df
and al, 0xfe
push eax
lea eax, [ebp - 0x38c]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x490]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
je 0x408d66
lea eax, [ebp - 0x34]
mov ebx, 0x41998c
push eax
lea eax, [ebp - 0x490]
push ebx
push eax
lea eax, [ebp - 0x1f4]
push esi
push eax
call fcn.00409e15
mov edi, dword [sym.imp.KERNEL32.dll_CopyFileA]
add esp, 0x14
lea eax, [ebp - 0x38c]
push 0
push eax
lea eax, [ebp - 0x1f4]
push eax
call edi
lea eax, [ebp - 0x34]
push eax
call fcn.00407070
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004070a7
test eax, eax
je 0x408ced
mov dword [0x424f60], 1
jmp 0x408db4
mov eax, dword [ebp - 8]
push dword [ebx + eax*4]
jmp 0x408cca
push 1
pop ebx
cmp edi, ebx
jle 0x408970
mov eax, dword [esi]
mov al, byte [eax]
cmp al, 0x2d
je 0x408a88
cmp al, 0x2f
jne 0x408cc4
push 0x50
lea eax, [ebp - 0x90]
push 0
push eax
call fcn.00409590
mov eax, dword [esi]
inc eax
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00409900
lea eax, [ebp - 0x90]
push eax
call fcn.0041195c
add esp, 0x18
and dword [ebp - 0x18], 0
mov edi, 0x421740
push dword [edi]
lea eax, [ebp - 0x90]
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x408ae7
inc dword [ebp - 0x18]
add edi, 0x1c
cmp edi, 0x4219e0
jl 0x408ac0
jmp 0x408cad
lea eax, [ebp - 0x90]
push 0x4181b0
push eax
inc ebx
add esi, 4
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
jne 0x408b7b
movzx eax, word [ebp + 8]
cmp ebx, eax
jge 0x408b7b
push 0x50
lea eax, [ebp - 0x90]
push 0
push eax
call fcn.00409590
push dword [esi]
lea eax, [ebp - 0x90]
push eax
call fcn.00409900
lea eax, [ebp - 0x90]
push eax
call fcn.0041195c
lea eax, [ebp - 0x90]
push str.AUTO
push eax
call fcn.0040a310
add esp, 0x20
test eax, eax
je 0x408ca9
mov eax, dword [esi]
mov cl, byte [eax]
cmp cl, 0x2d
je 0x408cad
cmp cl, 0x2f
je 0x408cad
push eax
call fcn.00409610
cmp eax, 0x20
pop ecx
ja 0x408cc4
jmp 0x408ca9
lea eax, [ebp - 0x90]
push 0x417f94
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x408bc0
lea eax, [ebp - 0x90]
push 0x417f74
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x408bc0
lea eax, [ebp - 0x90]
push 0x417f78
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
jne 0x408bff
movzx edi, word [ebp + 8]
cmp ebx, edi
jge 0x408bff
mov eax, dword [esi]
mov cl, byte [eax]
cmp cl, 0x2d
je 0x408cad
cmp cl, 0x2f
je 0x408cad
push eax
call fcn.0040a945
cmp eax, 1
pop ecx
jl 0x408cc4
inc ebx
add esi, 4
cmp ebx, edi
jge 0x408cc4
jmp 0x408ca9
movzx eax, word [ebp + 8]
cmp ebx, eax
jge 0x408cad
mov eax, dword [esi]
mov al, byte [eax]
cmp al, 0x2d
je 0x408c34
cmp al, 0x2f
je 0x408c34
lea eax, [ebp - 0x90]
push 0x418188
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x408cc4
jmp 0x408ca9
push 0x50
lea eax, [ebp - 0xf0]
push 0
push eax
call fcn.00409590
mov eax, dword [esi]
inc eax
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00409900
lea eax, [ebp - 0xf0]
push eax
call fcn.0041195c
lea eax, [ebp - 0x90]
push 0x418188
push eax
call fcn.0040a310
add esp, 0x20
test eax, eax
je 0x408cad
and dword [ebp - 0xc], 0
mov edi, 0x421740
push dword [edi]
lea eax, [ebp - 0xf0]
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x408ca3
inc dword [ebp - 0xc]
add edi, 0x1c
cmp edi, 0x4219e0
jl 0x408c81
cmp dword [ebp - 0xc], 0x18
jne 0x408cad
inc ebx
add esi, 4
cmp dword [ebp - 0x18], 0x18
je 0x408cc4
movzx eax, word [ebp + 8]
cmp ebx, eax
jl 0x408a78
jmp 0x408970
mov eax, dword [ebp + 0xc]
push dword [eax + ebx*4]
push str.Unknown_command_present______s__n
call fcn.0040968b
pop ecx
pop ecx
xor eax, eax
jmp 0x409582
cmp word [ebp + 8], 3
jbe 0x408970
push dword [ebx + 0xc]
jmp 0x408cca
and dword [ebp - 4], 0
lea eax, [ebp - 0x1f4]
push 0x4129f4
push eax
mov dword [0x424f60], 2
call fcn.00409e15
pop ecx
lea eax, [ebp - 0x40]
pop ecx
push eax
lea eax, [ebp - 0x490]
push ebx
push eax
lea eax, [ebp - 0x1f4]
push esi
push eax
call fcn.00409e15
add esp, 0x14
lea eax, [ebp - 0x38c]
push 0
push eax
lea eax, [ebp - 0x1f4]
push eax
call edi
lea eax, [ebp - 0x40]
push eax
call fcn.00407070
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.004070a7
test eax, eax
jne 0x408db4
mov dword [ebp - 4], 0x200000
jmp 0x408d86
mov dword [ebp - 4], 0x12000b
jmp 0x408d86
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00401302
test eax, eax
mov dword [ebp - 4], eax
je 0x408db4
cmp byte [0x424f6a], 0
push dword [ebp - 4]
je 0x408da3
push str._nUnable_to_load_device_driver____.8X_
call fcn.0040968b
pop ecx
pop ecx
jmp 0x409558
lea eax, [ebp - 0xa0]
push eax
push str._nUnable_to_load___s__device_driver____.8X_
jmp 0x409523
push dword [0x424f60]
push dword [ebp - 0x1c]
call fcn.004020f9
call fcn.0040762b
movzx eax, word [ebp + 8]
cmp eax, 1
jle 0x408e85
mov ecx, dword [ebp + 0xc]
dec eax
mov dword [ebp - 0xc], eax
lea esi, [ecx + 8]
mov eax, dword [esi - 4]
mov cl, byte [eax]
cmp cl, 0x2f
je 0x408df1
cmp cl, 0x2d
jne 0x408e79
inc eax
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00409900
lea eax, [ebp - 0x90]
push eax
call fcn.0041195c
lea eax, [ebp - 0x90]
push 0x4199d8
push eax
call fcn.0040a310
add esp, 0x14
test eax, eax
jne 0x408e79
mov eax, dword [esi]
dec dword [ebp - 0x10]
test eax, eax
je 0x408e3f
mov cl, byte [eax]
cmp cl, 0x2f
je 0x408e3f
cmp cl, 0x2d
je 0x408e3f
dec dword [ebp - 0x10]
mov edi, eax
jmp 0x408e44
mov edi, str.Config.dms
push edi
push str.Creating___s__file......_n
call fcn.0040968b
push 0x4198e8
push edi
call fcn.0040a698
add esp, 0x10
mov ebx, eax
push ebx
call fcn.004070f1
push ebx
call fcn.0040a622
pop ecx
push edi
push str.Done_n
call fcn.0040968b
pop ecx
pop ecx
add esi, 4
dec dword [ebp - 0xc]
jne 0x408dde
cmp dword [ebp - 0x10], 0
je 0x409558
push str.Initializing_the_SMBIOS_interface.__Please_wait_a_moment......_n
call fcn.0040968b
pop ecx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00401df0
test al, al
je 0x40953c
call fcn.004015df
test eax, eax
jne 0x409582
call fcn.0040162f
test eax, eax
mov dword [ebp - 4], eax
mov ebx, str.RELEASE_DRIVER_ERROR_:__s___.8X__r_n
jne 0x408edc
and byte [0x424f69], al
jmp 0x408faf
cmp byte [0x424a2c], 0
je 0x408efa
push str.Init._SMBIOS_ERROR_n
call fcn.0040968b
pop ecx
mov eax, 0x12000f
jmp 0x409582
push 1
mov byte [0x424f69], 1
pop esi
cmp dword [0x424f60], esi
jne 0x408f47
cmp word [ebp - 0x20], si
jne 0x408f22
cmp word [ebp - 0x24], 3
jb 0x408f24
mov byte [0x421670], 1
jmp 0x408f47
jae 0x408f19
movzx eax, word [ebp - 0x28]
push eax
and byte [0x421670], 0
movzx eax, word [ebp - 0x24]
push eax
movzx eax, word [ebp - 0x20]
push eax
push str.Old_driver_v_.2d._.2d._.2d_found___please_update_newly_driver._r_n
call fcn.0040968b
add esp, 0x10
cmp byte [0x424f6a], 0
je 0x408f84
cmp dword [0x424f60], esi
jne 0x408f64
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x34]
jmp 0x408f79
push str.This_program_by_PnP_function_cannot_be_run_in_the_current_operation_system._r_n
call fcn.0040968b
pop ecx
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x1c]
call fcn.004012e1
jmp 0x408f97
push str.This_program_by_PnP_function_cannot_be_run_in_the_current_operation_system._r_n
call fcn.0040968b
pop ecx
push dword [ebp - 0x1c]
call fcn.0040136f
test eax, eax
mov dword [ebp - 4], eax
je 0x408faf
push eax
push eax
call fcn.0040104c
push eax
push ebx
call fcn.0040968b
add esp, 0xc
mov eax, dword [ebp + 0xc]
lea edi, [eax + 4]
mov eax, dword [eax + 4]
mov cl, byte [eax]
cmp cl, 0x2d
je 0x40907a
cmp cl, 0x2f
je 0x40907a
cmp byte [0x424f69], 0
je 0x40906f
cmp byte [0x421670], 0
je 0x4094d9
mov esi, str.dmi16.exe
push 0x4195ac
push esi
call fcn.0040a698
pop ecx
test eax, eax
pop ecx
je 0x40905f
push eax
call fcn.0040a622
mov dword [esp], 0x4129f8
push esi
call fcn.00409910
pop ecx
lea eax, [ebp - 0x4f4]
pop ecx
push dword [edi]
push str.__s_
push eax
call fcn.00409e15
lea eax, [ebp - 0x4f4]
push eax
push esi
call fcn.00409910
add esp, 0x14
cmp dword [0x424f60], 2
je 0x409053
cmp byte [0x424f6a], 0
je 0x409053
call fcn.00407bde
mov dword [ebp - 4], eax
jmp 0x4094d9
mov dword [ebp - 4], 0x12000e
jmp 0x4094d9
push str.Not_able_to_invoke_16_bit_windows_dmiedit_application_n
call fcn.0040968b
pop ecx
jmp 0x4094d9
push eax
call fcn.00405702
jmp 0x4094d9
cmp byte [0x424f69], 0
je 0x4090b7
inc eax
push eax
call fcn.0041195c
push eax
push str.DMI16VER
call fcn.0040a310
add esp, 0xc
test eax, eax
jne 0x4090b7
push str.__DMI16VER
push str.dmi16.exe
call fcn.00409910
pop ecx
pop ecx
call fcn.00407bde
jmp 0x4094d9
movzx eax, word [ebp + 8]
push 1
pop ecx
cmp eax, ecx
mov dword [ebp - 8], ecx
jle 0x4094d9
mov eax, dword [ebp + 0xc]
push 2
mov dword [ebp - 0x14], edi
pop ecx
lea edi, [eax + 8]
lea eax, [ebp - 0x5f3]
sub eax, ecx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov cl, byte [eax]
cmp cl, 0x2d
je 0x4090f8
cmp cl, 0x2f
jne 0x4094b7
inc eax
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00409900
lea eax, [ebp - 0x90]
push eax
call fcn.0041195c
lea eax, [ebp - 0x90]
push 0x4199d8
push eax
call fcn.0040a310
add esp, 0x14
test eax, eax
je 0x4094b7
mov esi, dword [ebp + 8]
movzx eax, si
cmp dword [ebp - 0xc], eax
jge 0x40945d
lea eax, [ebp - 0x90]
push 0x4194e8
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x40943f
lea eax, [ebp - 0x90]
push str.DUMP
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x409394
lea eax, [ebp - 0x90]
push str.DUMPALL
push eax
call fcn.0040a310
pop ecx
test eax, eax
mov eax, dword [edi]
pop ecx
mov cl, byte [eax]
je 0x409350
cmp cl, 0x2f
je 0x409270
cmp cl, 0x2d
je 0x409270
cmp dword [ebp - 4], 0
jne 0x409266
push 0x50
lea eax, [ebp - 0xf0]
push 0
push eax
call fcn.00409590
mov eax, dword [edi - 4]
inc eax
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00409900
lea eax, [ebp - 0xf0]
push eax
call fcn.0041195c
lea eax, [ebp - 0xf0]
push 0x417f94
push eax
call fcn.0040a310
add esp, 0x20
test eax, eax
je 0x409242
lea eax, [ebp - 0xf0]
push 0x417f74
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x409242
lea eax, [ebp - 0xf0]
push 0x417f78
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x409242
push dword [ebp + 0xc]
push esi
push dword [ebp - 8]
call fcn.00407d7f
inc dword [ebp - 8]
dec dword [ebp - 0x10]
inc dword [ebp - 0xc]
add edi, 4
add dword [ebp - 0x14], 4
jmp 0x4094b7
push dword [ebp + 0xc]
push esi
push dword [ebp - 8]
call fcn.00407d7f
add dword [ebp - 8], 2
sub dword [ebp - 0x10], 2
add dword [ebp - 0xc], 2
add edi, 8
add dword [ebp - 0x14], 8
jmp 0x4094b7
push str.Init._SMBIOS_ERROR_n
jmp 0x409389
inc eax
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00409900
lea eax, [ebp - 0x90]
push eax
call fcn.0041195c
mov eax, dword [edi - 4]
inc eax
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00409900
lea eax, [ebp - 0xf0]
push eax
call fcn.0041195c
lea eax, [ebp - 0x90]
push 0x418188
push eax
call fcn.0040a310
add esp, 0x20
test eax, eax
jne 0x409302
xor ebx, ebx
mov esi, 0x421740
push dword [esi]
lea eax, [ebp - 0xf0]
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x4092e6
add esi, 0x1c
inc ebx
cmp esi, 0x4219e0
jb 0x4092c6
cmp ebx, 0x18
jne 0x40948b
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 8]
call fcn.00407d7f
jmp 0x4094b7
xor ebx, ebx
mov esi, 0x421740
push dword [esi]
lea eax, [ebp - 0x90]
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x409329
add esi, 0x1c
inc ebx
cmp esi, 0x4219e0
jb 0x409309
cmp ebx, 0x18
jne 0x409339
push dword [ebp + 0xc]
push dword [ebp + 8]
jmp 0x409225
lea eax, [ebp - 0xf0]
push 0x418188
push eax
call fcn.0040a310
pop ecx
pop ecx
test eax, eax
jmp 0x4092e9
cmp cl, 0x2d
je 0x4094a2
cmp cl, 0x2f
je 0x4094a2
push eax
push str.Creating___s__file......_n
call fcn.0040968b
pop ecx
pop ecx
push dword [edi]
push 0
push dword [0x424f70]
push dword [0x424f74]
call fcn.00402c2c
push str.Done_n
call fcn.0040968b
pop ecx
jmp 0x4094b7
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x18], 1
mov esi, edi
mov eax, dword [esi]
mov cl, byte [eax]
cmp cl, 0x2d
je 0x4093e8
cmp cl, 0x2f
je 0x4093e8
push eax
call fcn.00408736
test al, al
je 0x4093d7
push dword [esi]
call fcn.0040a945
inc dword [ebp - 0x18]
pop ecx
mov ecx, dword [ebp - 0x10]
add esi, 4
mov byte [ecx + ebx], al
inc ebx
movzx eax, word [ebp + 8]
cmp ebx, eax
jl 0x4093a0
jmp 0x409413
push dword [ebp + 0xc]
push str.Unknown_Command
call fcn.0040968b
pop ecx
pop ecx
jmp 0x409413
mov al, byte [ebp - 0x18]
dec al
cmp dword [ebp - 0x18], 1
mov byte [ebp - 0x5f4], al
je 0x409413
lea eax, [ebp - 0x5f4]
push 0
push eax
push dword [0x424f70]
push dword [0x424f74]
call fcn.00402c2c
movzx eax, word [ebp + 8]
cmp ebx, eax
jne 0x4094b7
mov al, byte [ebp - 0x18]
dec al
cmp dword [ebp - 0x18], 1
mov byte [ebp - 0x5f4], al
je 0x4094b7
lea eax, [ebp - 0x5f4]
push 0
push eax
jmp 0x4094a6
mov esi, dword [edi]
mov eax, dword [ebp - 0x14]
push esi
push dword [eax]
call fcn.00407790
push esi
push str.Creating___s__file......_nDone_n
call fcn.0040968b
pop ecx
jmp 0x40938e
lea eax, [ebp - 0x90]
push str.DUMPALL
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x4094a2
lea eax, [ebp - 0x90]
push 0x418188
push eax
call fcn.0040a310
pop ecx
test eax, eax
pop ecx
je 0x409499
mov eax, dword [ebp - 0x14]
push 0
push dword [eax]
call fcn.00407790
jmp 0x4094b7
push dword [ebp + 0xc]
push esi
jmp 0x4092f5
push 0
push 0
push dword [0x424f70]
push dword [0x424f74]
call fcn.00402c2c
movzx eax, word [ebp + 8]
inc dword [ebp - 8]
dec dword [ebp - 0x10]
inc dword [ebp - 0xc]
add dword [ebp - 0x14], 4
add edi, 4
cmp dword [ebp - 8], eax
jl 0x4090e3
mov ebx, str.RELEASE_DRIVER_ERROR_:__s___.8X__r_n
cmp byte [0x424f69], 0
jne 0x409558
call fcn.00401f60
cmp byte [0x424f6a], 0
je 0x40952d
cmp dword [0x424f60], 1
lea eax, [ebp - 0x1f4]
push eax
lea eax, [ebp - 0x34]
je 0x409506
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x1c]
call fcn.004012e1
mov dword [ebp - 4], eax
test eax, eax
je 0x409558
push dword [ebp - 4]
push dword [ebp - 4]
call fcn.0040104c
push eax
push ebx
call fcn.0040968b
add esp, 0xc
jmp 0x409558
push dword [ebp - 0x1c]
call fcn.0040136f
mov dword [ebp - 4], eax
test eax, eax
jmp 0x409514
movzx eax, word [ebp - 0x28]
push eax
movzx eax, word [ebp - 0x24]
push eax
movzx eax, word [ebp - 0x20]
push eax
push str.Old_driver_v_.2d._.2d._.2d_found___please_update_newly_driver._r_n
call fcn.0040968b
add esp, 0x10
mov eax, dword [0x424f70]
test eax, eax
je 0x409568
push eax
call fcn.004095f6
pop ecx
mov eax, dword [0x424f74]
test eax, eax
je 0x40957f
push eax
call fcn.004095f6
pop ecx
jmp 0x40957f
call fcn.004069e8
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 8