Function at 0x408090
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x420
mov eax, dword [0x5b0050]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov dword [ebp - 0x418], ecx
mov dword [ebp - 0x41c], 0
mov dword [ebp - 0x420], 1
mov ecx, dword [ebp - 0x418]
call fcn.00404b20
mov ecx, dword [ebp - 0x418]
call fcn.004055c0
test eax, eax
jne 0x4080ec
mov ecx, dword [ebp - 0x418]
call fcn.004053d0
test eax, eax
je 0x408216
push 0
call fcn.00403120
mov ecx, dword [eax + 0x20]
call fcn.0041d68d
push 0x64
call fcn.00401b80
add esp, 4
mov ecx, 8
mov esi, 0x58ff4c
lea edi, [ebp - 0x414]
rep movsd dword es:[edi], dword [esi]
push 0x1e8
push 0
lea eax, [ebp - 0x3f4]
push eax
call fcn.005341e0
add esp, 0xc
mov ecx, dword [0x58ff6c]
mov dword [ebp - 0x20c], ecx
mov edx, dword [0x58ff70]
mov dword [ebp - 0x208], edx
mov ax, word [0x58ff74]
mov word [ebp - 0x204], ax
push 0x1fe
push 0
lea ecx, [ebp - 0x202]
push ecx
call fcn.005341e0
add esp, 0xc
movzx edx, word [0x5bbdd4]
cmp edx, 0x804
je 0x4081a9
movzx eax, word [0x5bbdd4]
cmp eax, 0x404
je 0x4081a9
push str.Do_you_want_to_replace_the_driver_installed__
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
push str.Driver_Install
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_StrCpyW]
push 4
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x414]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
je 0x4081d8
mov ecx, dword [ebp - 0x418]
call fcn.00406250
push 0
call fcn.00531f31
push 5
call fcn.00403120
mov ecx, dword [eax + 0x20]
call fcn.0041d68d
call fcn.00403120
mov ecx, dword [eax + 0x20]
call fcn.00408de0
push 0x64
call fcn.00401b80
add esp, 4
mov ecx, dword [ebp - 0x418]
call fcn.00405a50
mov ecx, dword [ebp - 0x418]
call fcn.00405f30
jmp 0x408221
mov ecx, dword [ebp - 0x418]
call fcn.00405a50
mov ecx, dword [ebp - 0x418]
call fcn.00407730
test eax, eax
je 0x40824e
mov ecx, dword [ebp - 0x418]
call fcn.00407740
test eax, eax
je 0x40824e
mov ecx, dword [ebp - 0x418]
call fcn.00407a40
test eax, eax
jne 0x408274
mov edx, dword [ebp - 0x41c]
add edx, 1
mov dword [ebp - 0x41c], edx
cmp dword [ebp - 0x41c], 4
jle 0x408272
mov dword [ebp - 0x420], 0
jmp 0x408274
jmp 0x408221
mov ecx, dword [ebp - 0x418]
call fcn.00406250
cmp dword [ebp - 0x420], 0
je 0x408378
mov dword [ebp - 0x41c], 0
mov ecx, dword [ebp - 0x418]
call fcn.00407d40
test eax, eax
jne 0x4082c1
mov eax, dword [ebp - 0x41c]
add eax, 1
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 0x41c], 2
jle 0x4082bf
jmp 0x4082c1
jmp 0x408296
mov ecx, dword [ebp - 0x418]
call fcn.00407df0
test eax, eax
je 0x408324
movzx ecx, word [0x5bbdd4]
cmp ecx, 0x804
je 0x4082ee
movzx edx, word [0x5bbdd4]
cmp edx, 0x404
jne 0x408309
push 0x58fff4
push 0xffffffffffffffff
call fcn.00403120
mov eax, dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x408322
push str.Successfully._Thanks_for_your_support.
push 0xffffffffffffffff
call fcn.00403120
mov edx, dword [eax + 0x20]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x408376
movzx ecx, word [0x5bbdd4]
cmp ecx, 0x804
je 0x408342
movzx edx, word [0x5bbdd4]
cmp edx, 0x404
jne 0x40835d
push 0x590060
push 0xffffffffffffffff
call fcn.00403120
mov eax, dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x408376
push str.Successfully._Please_connect_the_printer_to_the_computer._r_nAnd_the_driver_will_be_loaded_by_the_OS_automatically.
push 0xffffffffffffffff
call fcn.00403120
mov edx, dword [eax + 0x20]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x4083ca
movzx ecx, word [0x5bbdd4]
cmp ecx, 0x804
je 0x408396
movzx edx, word [0x5bbdd4]
cmp edx, 0x404
jne 0x4083b1
push 0x59008c
push 0xffffffffffffffff
call fcn.00403120
mov eax, dword [eax + 0x20]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x4083ca
push str.Fail._Some_error_occurs.
push 0xffffffffffffffff
call fcn.00403120
mov edx, dword [eax + 0x20]
mov eax, dword [edx + 0x20]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
push 0xbb8
call fcn.00401b80
add esp, 4
push 0
call fcn.00403120
mov ecx, dword [eax + 0x20]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_EndDialog]
push 0x64
call fcn.00401b80
add esp, 4
push 0
call fcn.00531f31
mov eax, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00531c35
mov esp, ebp
pop ebp
ret