Function at 0x402480
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4291f2
mov eax, dword fs:[0]
push eax
sub esp, 0x230
mov eax, dword [0x43b068]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
or esi, 0xffffffff
push 0
mov dword [ebp - 0x22c], eax
mov ebx, 0xa
mov dword [ebp - 0x228], esi
mov byte [ebp - 0x234], 0
mov byte [ebp - 0x238], 0
mov byte [ebp - 0x23c], 0
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push str.Win7_Result.txt
call fcn.00410d54
push str.Win10_Result.txt
call fcn.00410d54
push str.bba.txt
call fcn.00410d54
push str.bbc.txt
call fcn.00410d54
push str.port.txt
call fcn.00410d54
push str.fwupdate.log
call fcn.00410d54
push str.fwupdate_check.log
call fcn.00410d54
push str.Version_HubSPI.txt
call fcn.00410d54
add esp, 0x20
xor edi, edi
mov dword [ebp - 0x230], edi
push str.RtlGetVersion
push str.ntdll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40257e
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], 0x11c
push ecx
call eax
mov edi, dword [ebp - 0x134]
mov dword [ebp - 0x230], edi
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemPowerStatus]
test eax, eax
je 0x4025af
cmp byte [ebp - 0x1a], 0x19
movzx eax, byte [ebp - 0x1c]
movzx ecx, byte [ebp - 0x1b]
jb 0x40308d
test eax, eax
je 0x40308d
cmp ecx, 4
je 0x40308d
cmp edi, ebx
je 0x40275a
push str.systeminfo__findstr__Hotfix_KB____kb.txt
call fcn.00410d49
lea eax, [ebp - 0x218]
push eax
push str.kb.txt
call fcn.00410634
add esp, 0xc
test eax, eax
jne 0x40308d
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], 0xf
mov byte [ebp - 0x200], al
push 0xb8
push eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0xd4]
push eax
call fcn.0040adc0
push str.kb.txt
lea ecx, [ebp - 0xd4]
call fcn.00403330
lea edx, [ebp - 0x200]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.00406bb0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x402692
nop dword [eax]
cmp dword [ebp - 0x1ec], 0x10
lea ecx, [ebp - 0x200]
mov edx, dword [ebp - 0x1f0]
cmovae ecx, dword [ebp - 0x200]
push 2
push 0x43785c
push ecx
call fcn.00406fc0
add esp, 0xc
cmp eax, 0xffffffff
je 0x402675
inc dword [0x43ccf0]
lea edx, [ebp - 0x200]
lea ecx, [ebp - 0xd4]
call fcn.00406bb0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x402640
cmp dword [0x43ccf0], 0xbe
lea ecx, [ebp - 0xd4]
jge 0x4026e6
call fcn.004023f0
mov edx, dword [ebp - 0x1ec]
cmp edx, 0x10
jb 0x40308d
mov ecx, dword [ebp - 0x200]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x403083
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4030ae
jmp 0x403083
call fcn.004023f0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1ec]
cmp edx, 0x10
jb 0x40272c
mov ecx, dword [ebp - 0x200]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x402722
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4030b3
push edx
push ecx
call fcn.004093ff
add esp, 8
lea eax, [ebp - 0x218]
push eax
push str.cyd001ww.exe
call fcn.00410634
add esp, 8
test eax, eax
jne 0x40308d
push str.cyd001ww.exe__VERYSILENT
call fcn.00410d49
add esp, 4
mov dword [0x43b9d0], eax
lea eax, [ebp - 0x218]
push eax
push str.devcon.exe
call fcn.00410634
add esp, 8
test eax, eax
jne 0x40308d
push str.devcon.exe_hwids_17EFA35___port.txt
call fcn.00410d49
lea eax, [ebp - 0x218]
push eax
push str.port.txt
call fcn.00410634
add esp, 0xc
test eax, eax
jne 0x40308d
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], 0xf
mov byte [ebp - 0x200], al
push 0xb8
push eax
lea eax, [ebp - 0xd4]
mov dword [ebp - 4], 2
push eax
call fcn.0040adc0
push str.port.txt
lea ecx, [ebp - 0xd4]
call fcn.00403330
lea edx, [ebp - 0x200]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd4]
call fcn.00406bb0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
jne 0x40294c
cmp dword [ebp - 0x1ec], 0x10
lea ecx, [ebp - 0x200]
mov ebx, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1f0]
cmovae ecx, ebx
push 9
push str.Billboard
push ecx
mov edx, edi
call fcn.00406fc0
mov ecx, dword [ebp - 0x228]
add esp, 0xc
cmp eax, 0xffffffff
mov edx, edi
mov eax, 1
cmovne ecx, eax
cmp dword [ebp - 0x1ec], 0x10
mov dword [ebp - 0x228], ecx
lea ecx, [ebp - 0x200]
push 4
cmovae ecx, ebx
push str.A354
push ecx
call fcn.00406fc0
mov esi, dword [0x43b9e0]
xor ecx, ecx
add esp, 0xc
mov edx, edi
cmp eax, 0xffffffff
cmovne esi, ecx
lea ecx, [ebp - 0x200]
cmp dword [ebp - 0x1ec], 0x10
push 4
cmovae ecx, ebx
push str.A35F
push ecx
call fcn.00406fc0
add esp, 0xc
lea ecx, [ebp - 0x200]
cmp eax, 0xffffffff
mov edx, edi
mov eax, 1
cmovne esi, eax
cmp dword [ebp - 0x1ec], 0x10
push 4
cmovae ecx, ebx
mov dword [0x43b9e0], esi
push str.A356
push ecx
call fcn.00406fc0
mov ecx, dword [0x43b9dc]
add esp, 0xc
cmp eax, 0xffffffff
mov edx, edi
mov eax, 1
cmovne ecx, eax
cmp dword [ebp - 0x1ec], 0x10
mov dword [0x43b9dc], ecx
lea ecx, [ebp - 0x200]
push 4
cmovae ecx, ebx
push str.A357
push ecx
call fcn.00406fc0
mov ecx, dword [0x43b9d8]
lea edx, [ebp - 0x200]
add esp, 0xc
cmp eax, 0xffffffff
mov eax, 1
cmovne ecx, eax
mov dword [0x43b9d8], ecx
lea ecx, [ebp - 0xd4]
call fcn.00406bb0
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
test byte [ecx + eax + 0xc], 6
je 0x402800
mov esi, dword [ebp - 0x228]
mov ebx, 0xa
mov edi, dword [ebp - 0x230]
cmp dword [0x43b9e0], 0
jl 0x403078
test esi, esi
js 0x403078
cmp dword [0x43b9dc], 0
jl 0x403078
cmp dword [0x43b9d8], 0
jl 0x403078
lea ecx, [ebp - 0xd4]
call fcn.004023f0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1ec]
cmp edx, 0x10
jb 0x4029c7
mov ecx, dword [ebp - 0x200]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4029bd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4030b8
push edx
push ecx
call fcn.004093ff
add esp, 8
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp edi, 0xa
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x402c67
lea eax, [ebp - 0x218]
push eax
push str.ccg4_dock_fw_update.exe
call fcn.00410634
add esp, 8
test eax, eax
jne 0x40308d
cmp dword [0x43b9e0], 0
xorps xmm0, xmm0
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x204], eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x224], 0x3c
mov dword [ebp - 0x220], 0x40
mov dword [ebp - 0x214], str.cmd.exe
movlpd qword [ebp - 0x200], xmm0
movlpd qword [ebp - 0x1f8], xmm0
movlpd qword [ebp - 0x1f0], xmm0
push eax
jne 0x402aa9
mov dword [ebp - 0x210], str.__C_ccg4_dock_fw_update.exe__vid_17EF__pid_A354__v
call esi
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0x2710
push dword [ebp - 0x1ec]
call eax
test eax, eax
je 0x402acb
cmp eax, 0x102
je 0x402a98
cmp eax, 0x80
je 0x402a98
cmp eax, 0xffffffff
jne 0x40308d
push dword [ebp - 0x1ec]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40308d
mov dword [ebp - 0x210], str.__C_ccg4_dock_fw_update.exe__vid_17EF__pid_A35F__v
call esi
mov eax, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0x2710
push dword [ebp - 0x1ec]
call eax
test eax, eax
jne 0x402a81
push dword [ebp - 0x1ec]
call edi
lea eax, [ebp - 0x218]
push eax
push str.fwupdate.log
call fcn.00410634
add esp, 8
test eax, eax
jne 0x40308d
push str.copy_fwupdate.log_fwupdate_check.log
call fcn.00410d49
lea eax, [ebp - 0x218]
push eax
push str.fwupdate_check.log
call fcn.00410634
add esp, 0xc
test eax, eax
jne 0x40308d
push str.ccg4_dock_fw_update.exe__vid_04B4__pid_5218__r
call fcn.00410d49
sub esp, 0x14
mov ecx, esp
push 3
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push 0x4378fc
mov byte [ecx], 0
call fcn.004053a0
mov ecx, 2
call fcn.00401e50
add esp, 0x18
test eax, eax
setne byte [ebp - 0x23c]
test eax, eax
je 0x40308d
mov esi, dword [ebp - 0x22c]
sub esp, 0x18
mov ecx, esp
push dword [esi + 0xc]
call fcn.004031c0
mov ecx, 2
call fcn.00401e50
test eax, eax
mov ecx, esp
push dword [esi + 0x10]
setne byte [ebp - 0x234]
call fcn.004031c0
mov ecx, 2
call fcn.00401e50
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0x18
test eax, eax
setne byte [ebp - 0x238]
cmp dword [0x43b9e0], 0
jne 0x402c04
call fcn.00401d90
sub esp, 0x18
mov ecx, esp
push 9
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.Billboard
mov byte [ecx], 0
call fcn.004053a0
mov ecx, dword [0x43b9e0]
call fcn.00401e50
add esp, 0x18
test eax, eax
jne 0x402bfb
test ebx, ebx
jle 0x402bfb
push 0x3e8
dec ebx
call esi
jmp 0x402bb4
cmp dword [0x43b9e0], 0
je 0x402c4b
call fcn.00401df0
sub esp, 0x18
mov ecx, esp
push 9
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
push str.Billboard
mov byte [ecx], 0
call fcn.004053a0
mov ecx, dword [0x43b9e0]
call fcn.00401e50
add esp, 0x18
test eax, eax
jne 0x402c4b
test ebx, ebx
jle 0x402c4b
push 0x3e8
dec ebx
call esi
jmp 0x402c04
mov ecx, dword [0x43b9e4]
test ecx, ecx
js 0x40308d
je 0x40308d
mov esi, dword [sym.imp.SHELL32.dll_ShellExecuteExW]
jmp 0x402c71
mov dword [0x43b9e4], 1
lea eax, [ebp - 0x218]
push eax
push str.HUBIspTool.exe
call fcn.00410634
add esp, 8
test eax, eax
jne 0x40308d
lea eax, [ebp - 0x218]
push eax
push str.Setting.ini
call fcn.00410634
add esp, 8
test eax, eax
jne 0x40308d
lea eax, [ebp - 0x218]
push eax
push str.VLIHubAPI.dll
call fcn.00410634
add esp, 8
test eax, eax
jne 0x40308d
lea eax, [ebp - 0x218]
push eax
push str.Version_HubSPI.txt
call fcn.00410634
add esp, 8
test eax, eax
je 0x40308d
xorps xmm0, xmm0
mov dword [ebp - 0x224], 0x3c
lea eax, [ebp - 0x224]
movlpd qword [ebp - 0x200], xmm0
push eax
movlpd qword [ebp - 0x1f8], xmm0
movlpd qword [ebp - 0x1f0], xmm0
mov dword [ebp - 0x220], 0x40
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], str.runas
mov dword [ebp - 0x214], str.cmd.exe
mov dword [ebp - 0x210], str.__C_HUBIspTool.exe__FWC
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0
call esi
push 0x1388
push dword [ebp - 0x1ec]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x402d8b
cmp eax, 0x102
je 0x402d8b
cmp eax, 0x80
je 0x402d8b
cmp eax, 0xffffffff
jne 0x40308d
push dword [ebp - 0x1ec]
call edi
mov esi, dword [ebp - 0x22c]
sub esp, 0x18
mov ecx, esp
push dword [esi + 4]
call fcn.004031c0
mov ecx, 3
call fcn.00401e50
test eax, eax
mov ecx, esp
push dword [esi + 8]
setne bh
mov byte [ebp - 0x22c], bh
call fcn.004031c0
mov ecx, 3
call fcn.00401e50
add esp, 0x18
test eax, eax
setne bl
cmp dword [ebp - 0x230], 0xa
mov byte [ebp - 0x228], bl
push 0xb0
push 0
jne 0x402f1a
lea eax, [ebp - 0xcc]
push eax
call fcn.0040adc0
push str.Win10_Result.txt
lea ecx, [ebp - 0xcc]
call fcn.00403240
mov dword [ebp - 4], 4
cmp dword [ebp - 0x7c], 0
je 0x402ee7
push dword [ebp - 0x22c]
mov edx, str.FW_1_:
lea ecx, [ebp - 0xcc]
call fcn.00406c60
mov ecx, eax
call fcn.00403ff0
push eax
call fcn.00406f10
add esp, 4
lea ecx, [ebp - 0xcc]
mov edx, str.FW_2_:
push dword [ebp - 0x228]
call fcn.00406c60
mov ecx, eax
call fcn.00403ff0
push eax
call fcn.00406f10
add esp, 4
lea ecx, [ebp - 0xcc]
mov edx, str.FW_3_:
push dword [0x43b9e4]
call fcn.00406c60
mov ecx, eax
call fcn.00403e50
push eax
call fcn.00406f10
add esp, 4
lea ecx, [ebp - 0xcc]
mov edx, str.FW_4_:
push dword [0x43b9e4]
call fcn.00406c60
mov ecx, eax
call fcn.00403e50
push eax
call fcn.00406f10
add esp, 4
lea ecx, [ebp - 0xcc]
mov edx, str.CY_END_:
push dword [0x43b9e4]
call fcn.00406c60
mov ecx, eax
call fcn.00403e50
push eax
call fcn.00406f10
add esp, 4
lea ecx, [ebp - 0xcc]
call fcn.00403200
test bh, bh
je 0x402f06
test bl, bl
je 0x402f06
lea ecx, [ebp - 0xcc]
mov esi, 1
call fcn.004030c0
mov eax, esi
jmp 0x403092
lea ecx, [ebp - 0xcc]
xor esi, esi
call fcn.004030c0
mov eax, esi
jmp 0x403092
lea eax, [ebp - 0x1e8]
push eax
call fcn.0040adc0
push str.Win7_Result.txt
lea ecx, [ebp - 0x1e8]
call fcn.00403240
mov dword [ebp - 4], 5
cmp dword [ebp - 0x198], 0
je 0x403039
push dword [0x43b9d0]
mov edx, str.CY_D_INS_:
lea ecx, [ebp - 0x1e8]
call fcn.00406c60
mov ecx, eax
call fcn.00403e50
push eax
call fcn.00406f10
add esp, 4
lea ecx, [ebp - 0x1e8]
mov edx, str.FW_1_:
push dword [ebp - 0x22c]
call fcn.00406c60
mov ecx, eax
call fcn.00403ff0
push eax
call fcn.00406f10
add esp, 4
lea ecx, [ebp - 0x1e8]
mov edx, str.FW_2_:
push dword [ebp - 0x228]
call fcn.00406c60
mov ecx, eax
call fcn.00403ff0
push eax
call fcn.00406f10
add esp, 4
lea ecx, [ebp - 0x1e8]
mov edx, str.FW_3_:
push dword [ebp - 0x234]
call fcn.00406c60
mov ecx, eax
call fcn.00403ff0
push eax
call fcn.00406f10
add esp, 4
lea ecx, [ebp - 0x1e8]
mov edx, str.FW_4_:
push dword [ebp - 0x238]
call fcn.00406c60
mov ecx, eax
call fcn.00403ff0
push eax
call fcn.00406f10
add esp, 4
lea ecx, [ebp - 0x1e8]
mov edx, str.CY_END_:
push dword [ebp - 0x23c]
call fcn.00406c60
mov ecx, eax
call fcn.00403ff0
push eax
call fcn.00406f10
add esp, 4
lea ecx, [ebp - 0x1e8]
call fcn.00403200
test bh, bh
je 0x403067
test bl, bl
je 0x403067
cmp byte [ebp - 0x234], 0
je 0x403067
cmp byte [ebp - 0x238], 0
je 0x403067
lea ecx, [ebp - 0x1e8]
mov esi, 1
call fcn.004030c0
mov eax, esi
jmp 0x403092
lea ecx, [ebp - 0x1e8]
xor esi, esi
call fcn.004030c0
mov eax, esi
jmp 0x403092
lea ecx, [ebp - 0xd4]
jmp 0x4026a4
push edx
push ecx
call fcn.004093ff
add esp, 8
mov eax, 1
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.004093ee
mov esp, ebp
pop ebp
ret
call fcn.004107fd
call fcn.004107fd
call fcn.004107fd
int3