Function at 0x4118f5
Capabilities:
Read .ini file

Disassembly:
push 0x19c
mov eax, 0x449b67
call fcn.004386f7
mov edi, ecx
mov dword [ebp - 0xd4], edi
mov eax, dword [ebp + 0x10]
mov esi, 0x4676b0
push esi
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x10c], eax
call fcn.0040620b
xor ebx, ebx
push esi
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], ebx
call fcn.0040620b
xor eax, eax
inc eax
push esi
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], al
call fcn.0040620b
push esi
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 2
call fcn.0040620b
push esi
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 3
call fcn.0040620b
mov esi, ebx
mov dword [ebp - 0xe4], 0x2710
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0x16c], esi
mov dword [ebp - 0x168], ebx
push ebx
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 5
call fcn.0042f7f6
mov byte [ebp - 4], 6
mov dword [edi + 0x1c], ebx
mov dword [ebp - 0x13c], 0x3b
cmp dword [ebp + 0xc], ebx
je 0x411b0e
mov eax, dword [edi + 0x3c]
test eax, eax
jne 0x411a0a
push 0x1c
call fcn.004376fe
pop ecx
mov dword [ebp - 0x130], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x4119f1
mov ecx, eax
call fcn.0042c1de
mov ecx, eax
jmp 0x4119f3
mov ecx, ebx
push dword [edi + 4]
mov dword [edi + 0x3c], ecx
mov eax, dword [ecx]
push dword [0x4690d4]
mov byte [ebp - 4], 6
call dword [eax + 8]
jmp 0x411a13
push dword [eax + 4]
call dword [sym.imp.USER32.dll_BringWindowToTop]
push ebx
lea eax, [ebp - 0xf4]
push eax
push 0x2710
mov ecx, edi
call fcn.0040cf6b
test eax, eax
je 0x411b45
cmp dword [ebp + 0x14], 0
mov ecx, dword [ebp - 0xe4]
je 0x411a40
cmp ecx, dword [ebp + 0x18]
jne 0x411abc
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xec], ecx
cmp dword [eax - 0xc], 0
jl 0x411b3b
movzx eax, word [eax]
push 0x3b
pop edx
cmp ax, dx
je 0x411abc
push ebx
lea eax, [ebp - 0xf0]
push eax
push ecx
mov ecx, edi
call fcn.0040cf6b
test eax, eax
je 0x411ab6
mov esi, dword [ebp - 0xec]
push str.__NONE__
lea ecx, [ebp - 0xf0]
call fcn.004069bd
test eax, eax
je 0x411aaa
push ebx
lea eax, [ebp - 0xf0]
inc esi
inc dword [ebp - 0x128]
push eax
push esi
mov ecx, edi
call fcn.0040cf6b
test eax, eax
jne 0x411a7b
mov dword [ebp - 0xec], esi
mov esi, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe4]
push ebx
add ecx, 0x3e8
lea eax, [ebp - 0xf4]
push eax
mov dword [ebp - 0xe4], ecx
push ecx
mov ecx, edi
call fcn.0040cf6b
test eax, eax
jne 0x411a2f
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x411b45
push dword [ebp - 0x128]
push str.Total_CheckList___1_d__n
push str.CDelDrvDlg::SetDeviceList
push 4
call fcn.00405a24
add esp, 0x10
mov dword [ebp - 0xe4], 0x2710
cmp dword [ebp + 8], 0
je 0x411ba8
cmp dword [edi + 0x28], 0
je 0x411ba8
push str.m_mapInfDeleteInfo_cache_has_found._n
push str.CDelDrvDlg::SetDeviceList
push 4
call fcn.00405a24
add esp, 0xc
jmp 0x4128c4
push 0x80070057
call fcn.004068fe
push 0x4676b0
lea ecx, [ebp - 0x110]
call fcn.0040620b
push 0x57
mov byte [ebp - 4], 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
lea eax, [ebp - 0x110]
push str.This_EXEcution_file_do_not_have_Resource_Information.
push eax
call fcn.00406ea6
mov esi, dword [ebp - 0x110]
pop ecx
pop ecx
push 0x10
push str.Internal_Error
push esi
push dword [edi + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [edi + 0x3c]
test ecx, ecx
je 0x411b9b
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [edi + 0x3c], ebx
lea ecx, [esi - 0x10]
call fcn.00409a06
jmp 0x412a9f
push dword [ebp - 0x10c]
lea eax, [ebp - 0xf4]
push eax
push 0x2710
mov ecx, edi
call fcn.0040cf6b
test eax, eax
je 0x4128c4
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0x140], 0x18
cmp dword [ebp + 0x14], 0
mov edx, ebx
mov dword [ebp - 0xd8], edx
je 0x411bf0
cmp esi, dword [ebp + 0x18]
jne 0x412858
mov eax, dword [ebp - 0xf4]
cmp dword [eax - 0xc], 0
jl 0x411b3b
movzx ecx, word [eax]
cmp cx, word [ebp - 0x13c]
je 0x412858
push eax
push str.deviceName___1_s__n_n
push str.CDelDrvDlg::SetDeviceList
push 4
call fcn.00405a24
add esp, 0x10
mov dword [ebp - 0x144], esi
mov dword [ebp - 0x11c], ebx
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x114], ebx
mov esi, 0x4676b0
push esi
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 9
call fcn.0040620b
push esi
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 0xa
call fcn.0040620b
mov eax, dword [0x46865c]
sub eax, dword [0x468658]
mov byte [ebp - 4], 0xb
and eax, 0xfffffffc
mov dword [ebp - 0x134], ebx
mov esi, ebx
mov dword [ebp - 0x124], ebx
cmp eax, 4
jne 0x411ca1
push ebx
mov ecx, 0x468658
call fcn.00412d95
cmp dword [eax], 0x64
push 1
pop eax
cmove esi, eax
mov dword [ebp - 0x124], esi
call fcn.0040ce56
push dword [ebp - 0x10c]
mov esi, dword [ebp - 0x144]
lea eax, [ebp - 0xf0]
push eax
push esi
mov ecx, edi
call fcn.0040cf6b
test eax, eax
je 0x412633
push dword [ebp - 0xf0]
inc esi
push str.strChildFunction___1_s__n
push str.CDelDrvDlg::SetDeviceList
push 4
mov dword [ebp - 0x144], esi
call fcn.00405a24
add esp, 0x10
lea eax, [ebp - 0x11c]
push 0x2c
push eax
mov eax, dword [ebp - 0xf0]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.0040693a
add eax, 0x10
pop ecx
mov dword [esi], eax
call fcn.0041954e
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0xe0], eax
sub eax, ecx
cdq
idiv dword [ebp - 0x140]
xor edx, edx
inc edx
add esp, 0xc
mov esi, ecx
mov dword [ebp - 0x120], ecx
cmp eax, edx
jb 0x411d70
cmp dword [ecx + 0x14], 8
jb 0x411d45
mov ecx, dword [ecx]
push ecx
lea ecx, [ebp - 0xdc]
call fcn.00409f9c
mov ecx, dword [ebp - 0x11c]
push 0x18
pop eax
add esi, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x120], esi
mov dword [ebp - 0xe0], eax
jmp 0x411d76
mov eax, dword [ebp - 0x118]
sub eax, ecx
cdq
idiv dword [ebp - 0x140]
cmp eax, 2
jb 0x411db5
cmp dword [esi + 0x14], 8
jb 0x411d8e
mov eax, dword [esi]
jmp 0x411d90
mov eax, esi
push eax
lea ecx, [ebp - 0xfc]
call fcn.00409f9c
mov ecx, dword [ebp - 0x11c]
push 0x18
pop eax
add esi, eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x120], esi
jmp 0x411dbb
mov eax, dword [ebp - 0xe0]
sub eax, ecx
push 0x18
cdq
pop ecx
idiv ecx
cmp eax, 3
jb 0x411deb
cmp dword [esi + 0x14], 8
jb 0x411dd2
mov eax, dword [esi]
jmp 0x411dd4
mov eax, esi
push eax
lea ecx, [ebp - 0xec]
call fcn.00409f9c
push 0x18
pop eax
add esi, eax
mov dword [ebp - 0x120], esi
push str.HWID
lea ecx, [ebp - 0xdc]
call fcn.004069bd
test eax, eax
jne 0x411e1c
lea eax, [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x104]
call fcn.004065c3
mov edi, dword [ebp - 0xdc]
jmp case.0x41208a.8
push str.__NONE__
lea ecx, [ebp - 0xdc]
call fcn.004069bd
test eax, eax
je 0x41260a
push str.ROOT
lea ecx, [ebp - 0xdc]
call fcn.004069bd
test eax, eax
jne 0x411e6b
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xdc]
call fcn.004065c3
mov edi, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xfc]
jmp 0x412022
mov edi, dword [ebp - 0xdc]
mov eax, dword [edi - 0xc]
inc eax
push eax
push edi
call fcn.0043965b
pop ecx
pop ecx
test eax, eax
je 0x41257e
mov ebx, dword [ebp - 0xfc]
push ebx
call fcn.0043a813
pop ecx
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x411f60
push ebx
call fcn.0043a813
pop ecx
cmp eax, 0xb
je 0x411f60
push ebx
call fcn.0043a813
pop ecx
cmp eax, 4
je 0x411f60
push ebx
call fcn.0043a813
pop ecx
cmp eax, 0xe
je 0x411f60
push 0x44f708
lea ecx, [ebp - 0x148]
call fcn.0040c34c
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x130]
push eax
mov byte [ebp - 4], 0xd
call fcn.0040c64c
lea ecx, [ebp - 0xdc]
push ecx
push eax
lea eax, [ebp - 0x138]
push eax
mov byte [ebp - 4], 0xe
call fcn.0040c64c
add esp, 0x18
push eax
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0xf
call fcn.004065c3
mov ecx, dword [ebp - 0x138]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x130]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x148]
mov byte [ebp - 4], 0xb
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov edi, dword [ebp - 0xdc]
jmp 0x412022
mov eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0x11c]
push 0x18
cdq
pop ecx
idiv ecx
cmp eax, 4
jb 0x412022
push 0x4676b0
lea ecx, [ebp - 0x110]
call fcn.0040620b
cmp dword [esi + 0x14], 8
mov byte [ebp - 4], 0xc
jb 0x411f99
mov eax, dword [esi]
jmp 0x411f9b
mov eax, esi
push eax
lea ecx, [ebp - 0x110]
call fcn.00409f9c
push 0x18
pop eax
add esi, eax
mov dword [ebp - 0x120], esi
mov esi, dword [ebp - 0x110]
push esi
push str.POS_OPTION_1___1_s__n
push str.CDelDrvDlg::SetDeviceList
push 4
call fcn.00405a24
add esp, 0x10
lea ecx, [ebp - 0x110]
push 0
push 0x450a84
call fcn.0040ceb0
test eax, eax
jne 0x412016
lea eax, [ebp - 0xdc]
push eax
lea ecx, [ebp - 0xe8]
call fcn.004065c3
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xdc]
call fcn.004065c3
mov edi, dword [ebp - 0xdc]
xor eax, eax
inc eax
mov dword [ebp - 0x134], eax
lea ecx, [esi - 0x10]
mov byte [ebp - 4], 0xb
call fcn.00409a06
push edi
lea ecx, [ebp - 0x28]
call fcn.00403477
mov eax, dword [ebp - 0xd4]
lea ecx, [ebp - 0x28]
push ecx
add eax, 0x24
lea ecx, [ebp - 0x178]
mov esi, dword [eax]
push ecx
mov ecx, eax
mov dword [ebp - 0xe0], eax
call fcn.004057eb
cmp dword [eax], esi
push 0
sete byte [ebp - 0xfd]
xor eax, eax
inc eax
push eax
lea ecx, [ebp - 0x28]
call fcn.00401ba5
cmp byte [ebp - 0xfd], 0
je case.0x41208a.8
push ebx
call fcn.0043a813
dec eax
pop ecx
cmp eax, 0xd
ja case.0x41208a.8
movzx eax, byte [eax + 0x412b1d]
jmp dword [eax*4 + 0x412b09]
push edi
lea ecx, [ebp - 0x40]
call fcn.00403477
push str.Printer
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x10
call fcn.00403477
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x1a8]
push eax
mov byte [ebp - 4], 0x11
call fcn.0040c27c
lea ecx, [ebp - 0x40]
jmp 0x41218e
push edi
lea ecx, [ebp - 0xd0]
call fcn.00403477
push str.Image
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x12
call fcn.00403477
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x198]
push eax
mov byte [ebp - 4], 0x13
call fcn.0040c27c
lea ecx, [ebp - 0xd0]
jmp 0x41218e
push edi
lea ecx, [ebp - 0xa0]
call fcn.00403477
push 0x450a8c
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x14
call fcn.00403477
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x190]
push eax
mov byte [ebp - 4], 0x15
call fcn.0040c27c
lea ecx, [ebp - 0xa0]
jmp 0x41218e
push edi
lea ecx, [ebp - 0x70]
call fcn.00403477
push 0x450a94
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x16
call fcn.00403477
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x1a0]
push eax
mov byte [ebp - 4], 0x17
call fcn.0040c27c
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0xb
call fcn.0040393c
push edi
push str.Interface_ID___1_s__n
mov ebx, str.CDelDrvDlg::SetDeviceList
push ebx
push 4
call fcn.00405a24
mov esi, dword [ebp - 0xfc]
push esi
push str.Interface_DESC___1_s__n
push ebx
push 4
call fcn.00405a24
push esi
call fcn.0043a813
mov ebx, dword [ebp - 0xe8]
add esp, 0x24
cmp eax, 0x64
jg case.0x4121ed.8
je 0x412361
dec eax
cmp eax, 0xd
ja case.0x4121ed.8
movzx eax, byte [eax + 0x412b45]
jmp dword [eax*4 + 0x412b2d]
cmp dword [ebp - 0x124], 0
jne case.0x4121ed.3
push 0
xor eax, eax
inc eax
push edi
push eax
call fcn.0041a56d
mov edi, dword [ebp - 0xd4]
add esp, 0xc
test eax, eax
je 0x412518
or dword [ebp - 0xd8], 0x80
jmp 0x412518
cmp dword [ebp - 0x124], 0
jne case.0x4121ed.3
push 0
xor eax, eax
inc eax
push edi
push eax
call fcn.0041a56d
mov edi, dword [ebp - 0xd4]
add esp, 0xc
test eax, eax
je 0x412518
or dword [ebp - 0xd8], 4
jmp 0x412518
cmp dword [ebp - 0x124], 0
jne case.0x4121ed.3
push 0
xor eax, eax
inc eax
push edi
push eax
call fcn.0041a56d
mov edi, dword [ebp - 0xd4]
add esp, 0xc
test eax, eax
je 0x412518
or dword [ebp - 0xd8], 0x10
jmp 0x412518
cmp dword [ebp - 0x124], 0
jne 0x4122eb
push 0
xor eax, eax
inc eax
push edi
push eax
call fcn.0041a56d
add esp, 0xc
test eax, eax
je 0x4122eb
push esi
call fcn.0043a813
pop ecx
dec eax
je 0x4122e0
push 3
pop ecx
sub eax, ecx
je 0x4122cf
sub eax, 7
je 0x4122e0
sub eax, ecx
jne 0x4122eb
mov edi, dword [ebp - 0xd8]
or edi, 0x20
mov dword [ebp - 0xd8], edi
jmp 0x4122f1
mov edi, dword [ebp - 0xd8]
or edi, 2
jmp 0x4122d8
mov edi, dword [ebp - 0xd8]
cmp dword [ebp - 0x134], 0
je case.0x4121ed.3
mov eax, dword [ebx - 0xc]
inc eax
push eax
push ebx
call fcn.0043965b
pop ecx
pop ecx
test eax, eax
je case.0x4121ed.3
mov eax, dword [ebx - 0xc]
push 0
push 0
inc eax
push eax
push ebx
lea ecx, [ebp - 0x188]
call fcn.0042fff1
test eax, eax
je case.0x4121ed.3
push esi
call fcn.0043a813
pop ecx
dec eax
je 0x41235c
push 3
pop ecx
sub eax, ecx
je 0x41234e
sub eax, 7
je 0x41235c
sub eax, ecx
jne case.0x4121ed.3
or edi, 0x20
mov dword [ebp - 0xd8], edi
jmp case.0x4121ed.3
or edi, 2
jmp 0x412351
mov eax, dword [ebp - 0x118]
sub eax, dword [ebp - 0x11c]
push 0x18
cdq
pop ecx
idiv ecx
cmp eax, 5
jae 0x4123d2
push 0x4676b0
lea ecx, [ebp - 0x150]
call fcn.0040620b
push 0x18
pop eax
push dword [ebp - 0xf0]
mov byte [ebp - 4], al
lea eax, [ebp - 0x150]
push str.FUNCTYPE_SOFTWARE___s__is_invalid._n
push eax
call fcn.00406ea6
mov esi, dword [ebp - 0x150]
mov edi, dword [ebp - 0xd4]
add esp, 0xc
push 0x10
push str.Internal_Error
push esi
push dword [edi + 4]
call dword [sym.imp.USER32.dll_MessageBoxW]
lea ecx, [esi - 0x10]
call fcn.00409a06
jmp 0x412518
mov esi, 0x4676b0
push esi
lea ecx, [ebp - 0x158]
call fcn.0040620b
push esi
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x19
call fcn.0040620b
push esi
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x1a
call fcn.0040620b
mov esi, dword [ebp - 0x120]
and dword [ebp - 0x14c], 0
cmp dword [esi + 0x14], 8
mov byte [ebp - 4], 0x1b
jb 0x41241e
mov eax, dword [esi]
jmp 0x412420
mov eax, esi
push eax
lea ecx, [ebp - 0x158]
call fcn.00409f9c
mov edi, dword [ebp - 0x158]
push 0x18
pop eax
push edi
push str.POS_OPTION_1___1_s__n
push str.CDelDrvDlg::SetDeviceList
push 4
add esi, eax
call fcn.00405a24
add esp, 0x10
cmp dword [esi + 0x14], 8
jb 0x412454
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x154]
call fcn.00409f9c
mov esi, dword [ebp - 0x154]
push esi
push str.POS_OPTION_2___1_s__n
push str.CDelDrvDlg::SetDeviceList
push 4
call fcn.00405a24
mov eax, dword [esi - 0xc]
add esp, 0x10
xor ecx, ecx
inc ecx
push ecx
mov ecx, dword [ebp - 0xd4]
inc eax
push eax
push esi
push dword [ebp - 0x10c]
call fcn.0040cd45
test eax, eax
jne 0x4124ce
push str.OPTION_SOFTWARE_CHECK_failed._n
push str.CDelDrvDlg::SetDeviceList
push 2
call fcn.00405a24
add esp, 0xc
mov ecx, dword [ebp - 0xf8]
lea ecx, [ecx - 0x10]
call fcn.00409a06
lea ecx, [esi - 0x10]
call fcn.00409a06
lea ecx, [edi - 0x10]
call fcn.00409a06
jmp case.0x4121ed.3
mov eax, dword [edi - 0xc]
lea ecx, [ebp - 0x14c]
push ecx
mov ecx, dword [ebp - 0x10c]
inc eax
push eax
push edi
call fcn.0042085c
cmp dword [ebp - 0x14c], 0
je 0x4124ae
cmp dword [ebp + 8], 0
jne 0x4124ae
or dword [ebp - 0xd8], 0x40
jmp 0x4124ae
push str.Interface_Type__Unknown_n
push str.CDelDrvDlg::SetDeviceList
push 4
call fcn.00405a24
add esp, 0xc
mov edi, dword [ebp - 0xd4]
cmp dword [ebp + 0xc], 0
je 0x412555
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x412555
mov edx, dword [ebp - 0x12c]
mov ecx, dword [eax + 0x18]
inc edx
mov dword [ebp - 0x12c], edx
test ecx, ecx
je 0x412555
mov eax, edx
imul eax, eax, 0x64
xor edx, edx
div dword [ebp - 0x128]
push 0
push eax
push 0x402
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0xec]
lea ecx, [ecx - 0x10]
call fcn.00409a06
lea ecx, [ebx - 0x10]
call fcn.00409a06
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 6
call fcn.004052ea
xor ebx, ebx
jmp 0x4125eb
cmp dword [ebp + 0xc], 0
je 0x4125c0
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x4125c0
mov edx, dword [ebp - 0x12c]
mov ecx, dword [eax + 0x18]
inc edx
mov dword [ebp - 0x12c], edx
test ecx, ecx
je 0x4125c0
mov eax, edx
imul eax, eax, 0x64
xor edx, edx
div dword [ebp - 0x128]
push ebx
push eax
push 0x402
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0xec]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0xe8]
lea ecx, [ecx - 0x10]
call fcn.00409a06
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 6
call fcn.004052ea
push str.__NONE__
lea ecx, [ebp - 0xf0]
call fcn.004069bd
mov edi, dword [ebp - 0xd4]
test eax, eax
je 0x41265e
jmp 0x411c2b
mov esi, 0x44d8ac
push esi
lea ecx, [ebp - 0x104]
call fcn.00409f9c
push esi
lea ecx, [ebp - 0xdc]
call fcn.00409f9c
push esi
lea ecx, [ebp - 0xfc]
call fcn.00409f9c
mov ecx, dword [ebp - 0xec]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0xe8]
lea ecx, [ecx - 0x10]
call fcn.00409a06
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 6
call fcn.004052ea
mov edx, dword [ebp - 0xd8]
test edx, edx
je 0x412852
mov dword [ebp - 0x164], ebx
mov dword [ebp - 0x160], ebx
mov dword [ebp - 0x15c], ebx
push 0x4676b0
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0x1c
call fcn.0040620b
push 0x2c
lea eax, [ebp - 0x164]
push eax
mov eax, dword [ebp - 0xf4]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0xe0], ebx
call fcn.0040693a
add eax, 0x10
pop ecx
mov dword [esi], eax
call fcn.0041954e
mov ecx, dword [ebp - 0x164]
add esp, 0xc
cmp dword [edi + 0x50], 0
mov esi, ecx
je 0x4126fc
cmp dword [ecx + 0x14], 8
jb 0x4126db
mov ecx, dword [ecx]
push ecx
push ebx
push 0x143
push dword [edi + 0x50]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [ebp - 0x164]
push 0x18
mov dword [ebp - 0xe0], eax
pop eax
add esi, eax
mov eax, dword [ebp - 0x160]
sub eax, ecx
push 0x18
cdq
pop ecx
idiv ecx
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x412734
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x108]
call fcn.004065c3
push 0x5f
push 0x20
lea ecx, [ebp - 0x108]
call fcn.00409ba9
jmp 0x412748
cmp dword [esi + 0x14], 8
jb 0x41273c
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x108]
call fcn.00409f9c
cmp dword [edi + 0x50], 0
je 0x412768
push dword [ebp - 0xe4]
push dword [ebp - 0xe0]
push 0x151
push dword [edi + 0x50]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x468688], 0
je 0x41282f
lea ecx, [ebp - 0x108]
call fcn.004098ae
mov edi, dword [ebp - 0x108]
push edi
lea ecx, [ebp - 0x28]
call fcn.00403477
mov esi, dword [0x468684]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x174]
push eax
mov ecx, 0x468684
call fcn.004057eb
cmp dword [eax], esi
push 0
setne bl
xor esi, esi
inc esi
push esi
lea ecx, [ebp - 0x28]
call fcn.00401ba5
test bl, bl
je 0x41280b
push edi
lea ecx, [ebp - 0x28]
call fcn.00403477
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x468684
mov byte [ebp - 4], 0x1e
call fcn.0040c5da
mov ecx, dword [ebp - 0xe4]
xor ebx, ebx
push ebx
mov dword [eax], ecx
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1d
call fcn.00401ba5
push edi
push str.DeviceName__1_s___is_called._n
push str.CDelDrvDlg::SetDeviceList
push 4
call fcn.00405a24
add esp, 0x10
jmp 0x412835
mov eax, dword [ebp - 0xd4]
xor ebx, ebx
cmp dword [eax + 0x50], ebx
je 0x412835
push ebx
push dword [ebp - 0xe0]
push 0x144
push dword [eax + 0x50]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x412835
mov edi, dword [ebp - 0x108]
lea ecx, [edi - 0x10]
call fcn.00409a06
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 6
call fcn.004052ea
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe4]
add esi, 0x3e8
mov dword [ebp - 0xe4], esi
test edx, edx
je 0x412880
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x170]
call fcn.00433174
mov edx, dword [ebp - 0xd8]
push edx
push str.SetDeviceList_dwRetDevice__0x_1_lx__n
push str.CDelDrvDlg::SetDeviceList
push 4
call fcn.00405a24
mov edi, dword [ebp - 0xd4]
add esp, 0x10
lea eax, [ebp - 0xf4]
push dword [ebp - 0x10c]
mov ecx, edi
push eax
push esi
call fcn.0040cf6b
test eax, eax
jne 0x411bd9
mov esi, dword [ebp - 0x16c]
mov dword [ebp - 0xe8], esi
cmp dword [ebp + 0xc], 0
je 0x41291b
cmp dword [edi + 0x3c], 0
je 0x41291b
push 0x44df8c
push ebx
push str.WaitProgress
push str.Setup
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x412909
push 3
pop esi
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [edi + 0x3c]
call fcn.0042c2f4
dec esi
jne 0x4128ed
mov esi, dword [ebp - 0xe8]
mov ecx, dword [edi + 0x3c]
test ecx, ecx
je 0x412918
mov eax, dword [ecx]
xor edx, edx
inc edx
push edx
call dword [eax]
mov dword [edi + 0x3c], ebx
sub esi, dword [ebp - 0x170]
sar esi, 2
push esi
push str.SetDeviceList_vdwDevices.size_____1_d__n
push str.CDelDrvDlg::SetDeviceList
push 4
mov dword [ebp - 0xe8], esi
call fcn.00405a24
add esp, 0x10
test esi, esi
jne 0x412a92
cmp dword [ebp + 8], esi
je 0x412a98
push str.__Delete_INF___n
push str.CDelDrvDlg::SetDeviceList
push 4
call fcn.00405a24
add esp, 0xc
lea ecx, [ebp - 0x13c]
push 0x4676b0
call fcn.0040620b
mov eax, dword [edi + 0x24]
mov byte [ebp - 4], 0x1f
mov esi, dword [eax]
mov dword [ebp - 0xf8], esi
cmp esi, eax
je 0x412a2d
lea eax, [esi + 0x10]
mov dword [ebp - 0x138], eax
cmp dword [eax + 0x14], 8
jb 0x41299c
mov eax, dword [eax]
push eax
push str.DeleteAllRelatedInf_HWID___1_s__n
push str.CDelDrvDlg::SetDeviceList
push 4
call fcn.00405a24
lea eax, [esi + 0x28]
add esp, 0x10
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x130], eax
jb 0x4129c2
mov eax, dword [eax]
push eax
push str.DeleteAllRelatedInf_Class___1_s__n
push str.CDelDrvDlg::SetDeviceList
push 4
call fcn.00405a24
add esp, 0x10
cmp dword [edi + 0x54], ebx
je 0x412a13
mov ecx, dword [ebp - 0x130]
cmp dword [ecx + 0x14], 8
jb 0x4129ea
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x138]
mov esi, dword [esi + 0x20]
cmp dword [edx + 0x14], 8
jb 0x4129fb
mov edx, dword [edx]
push ebx
push ebx
lea eax, [edi + 0x70]
push eax
lea eax, [edi + 0x2c]
push eax
push ecx
lea eax, [esi + 1]
push eax
push edx
call fcn.00417df0
add esp, 0x1c
lea ecx, [ebp - 0xf8]
call fcn.004138a8
mov esi, dword [ebp - 0xf8]
cmp esi, dword [edi + 0x24]
jne 0x41298b
push 0x4676b0
lea ecx, [ebp - 0xf8]
call fcn.0040620b
push 0x2328
lea eax, [ebp - 0xf8]
push 0x44de30
push eax
mov byte [ebp - 4], 0x20
call fcn.00406ea6
mov esi, dword [ebp - 0xf8]
add esp, 0xc
mov eax, dword [esi - 0xc]
push ebx
inc eax
push eax
push esi
push dword [ebp - 0x10c]
mov ecx, edi
call fcn.0040cd45
lea ecx, [esi - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x13c]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov esi, dword [ebp - 0xe8]
jmp 0x412a98
xor eax, eax
inc eax
mov dword [edi + 0x1c], eax
xor ebx, ebx
test esi, esi
setne bl
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 5
call fcn.0042f8cb
lea ecx, [ebp - 0x170]
call fcn.004052ce
mov ecx, dword [ebp - 0xf4]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0x104]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0xfc]
lea ecx, [ecx - 0x10]
call fcn.00409a06
mov ecx, dword [ebp - 0xdc]
add ecx, 0xfffffff0
call fcn.00409a06
mov ecx, dword [ebp - 0xf0]
add ecx, 0xfffffff0
call fcn.00409a06
mov eax, ebx
call fcn.004386a6
ret 0x14