Function at 0x428850
Capabilities:
Check internet connectivity via wininet
Copy file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56ea00
mov eax, dword fs:[0]
push eax
sub esp, 0x688
mov eax, dword [0x5d7f50]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push str.CheckForUpdate
push 0
push 2
push 0x38
mov ebx, ecx
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
mov dword [ebp - 0x5cc], ebx
mov esi, edx
mov dword [ebp - 0x5f4], eax
call fcn.004282b0
push 0x103
lea ecx, [ebp - 0x21b]
push 0
push ecx
mov byte [ebp - 0x21c], 0
call fcn.00543bb0
add esp, 0x24
lea edx, [ebp - 0x21c]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x5c4]
call fcn.00402770
mov dword [ebp - 4], 0
cmp dword [ebx + 4], 0
je 0x42890c
push 0
lea ecx, [ebp - 0x5c8]
push ecx
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
jne 0x42895c
push str.InternetOkay_failed.
push 0
push 2
push 0x3e
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.004282b0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5c4]
add eax, 0xfffffff0
add esp, 0x18
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x428952
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
jmp 0x429363
push str.update.txt
lea ecx, [ebp - 0x5c8]
call fcn.00402770
push eax
lea ecx, [ebp - 0x5c0]
push esi
push ecx
mov byte [ebp - 4], 1
call fcn.00424720
add esp, 0xc
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x5c8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4289a7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [ebp - 0x5c0]
mov ecx, ebx
call fcn.00429390
mov esi, eax
test esi, esi
jne 0x428a2f
push str._hSession_failed.
push eax
push 2
push 0x48
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.004282b0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x5c0]
add eax, 0xfffffff0
add esp, 0x18
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4289fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5c4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428a25
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 2
jmp 0x429363
mov eax, dword [ebp - 0x5c4]
add eax, 0xfffffff0
push eax
call fcn.00402b50
add eax, 0x10
add esp, 4
mov dword [ebp - 0x5d0], eax
push 1
push 0x5ae6dc
lea ecx, [ebp - 0x5d0]
mov byte [ebp - 4], 4
call fcn.004078f0
push 0xa
push str.update.txt
lea ecx, [ebp - 0x5d0]
call fcn.004078f0
mov edi, dword [ebp - 0x5d0]
push edi
push esi
call fcn.004294e0
push esi
mov bl, al
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test bl, bl
jne 0x428b26
push str.DownloadFile_1_failed.
push 0
push 2
push 0x54
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.004282b0
lea eax, [edi - 0x10]
add esp, 0x18
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428acd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x5c0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428af3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5c4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428b1c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 3
jmp 0x429363
mov dword [ebp - method.CIni.virtual_0], vtable.CIni.0
mov dword [ebp - 0x5ec], 0
test edi, edi
je 0x428b4d
push edi
call fcn.0053fe9a
add esp, 4
mov dword [ebp - 0x5ec], eax
push str.1.0.2001.008
mov eax, str.Version
mov ecx, str.InstallerVersion
lea edi, [ebp - 0x5d4]
lea edx, [ebp - 0x5f0]
mov byte [ebp - 4], 5
call fcn.00425c20
mov bl, 6
lea esi, [ebp - 0x5dc]
mov byte [ebp - 4], bl
call fcn.00429d90
lea ecx, [ebp - 0x5d8]
mov byte [ebp - 4], 7
push ecx
mov ecx, dword [ebp - 0x5dc]
call fcn.00429650
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x5d8]
cmp dword [eax - 0xc], 0
jne 0x428ccb
push str.fileVersion.IsEmpty___failed.
push 0
push 2
push 0x65
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.004282b0
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x5d8]
add eax, 0xfffffff0
add esp, 0x18
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x428bee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x5dc]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428c13
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x5d4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428c39
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x5ec]
test eax, eax
je 0x428c4c
push eax
call fcn.0053e8c6
add esp, 4
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x5d0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428c72
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x5c0]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428c98
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5c4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428cc1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 5
jmp 0x429363
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x5c8], esp
mov esi, esp
push eax
call fcn.00402b50
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x5d4]
add eax, 0xfffffff0
mov dword [ebp - 0x5e4], esp
mov esi, esp
push eax
call fcn.00402b50
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [ebp - 4], 8
call fcn.00429830
cmp eax, 1
jne 0x4292db
push 0
push 0x550
lea ecx, [ebp - 0x694]
mov dword [0x5d9cc8], 0
call fcn.0043ce78
mov esi, vtable.CAskDlg.0
mov dword [ebp - 0x694], esi
lea ecx, [ebp - 0x694]
mov byte [ebp - 4], 0xa
call fcn.0043d53b
cmp eax, 2
jne 0x428df3
push 0x18c
lea ecx, [ebp - 0x5bc]
push 0
push ecx
call fcn.00543bb0
lea edx, [ebp - 0x5bc]
add esp, 0xc
push edx
xor eax, eax
mov dword [ebp - 0x538], 0x68
call fcn.0041f520
mov byte [ebp - 4], 8
add esp, 4
lea ecx, [ebp - 0x694]
mov dword [ebp - 0x694], esi
call fcn.0043cdbf
lea ecx, [ebp - 0x5d8]
call fcn.00402c30
lea ecx, [ebp - 0x5dc]
call fcn.00402c30
lea ecx, [ebp - 0x5d4]
call fcn.00402c30
lea ecx, [ebp - 0x5f0]
call fcn.00425c00
lea ecx, [ebp - 0x5d0]
call fcn.00402c30
lea ecx, [ebp - 0x5c0]
call fcn.00402c30
lea ecx, [ebp - 0x5c4]
call fcn.00402c30
mov eax, 8
jmp 0x429363
lea ecx, [ebp - 0x5e8]
call fcn.00402c50
mov bl, 0xb
push 0x84
lea ecx, [ebp - 0x5e8]
mov byte [ebp - 4], bl
call fcn.00402680
push str.http:__localhost:8080_shahai_demo_CSRC_BankCSRCAssist_wyzs.exe
mov eax, str.File
mov ecx, str.InstallerVersion
lea edi, [ebp - 0x5c8]
lea edx, [ebp - 0x5f0]
call fcn.00425c20
push eax
lea ecx, [ebp - 0x5c0]
mov byte [ebp - 4], 0xc
call fcn.00402ac0
mov ecx, edi
mov byte [ebp - 4], bl
call fcn.00402c30
mov ecx, dword [ebp - 0x5cc]
lea edi, [ebp - 0x5c0]
call fcn.00429390
mov esi, eax
test esi, esi
jne 0x428efc
push str._hSession_2_failed.
push eax
push 2
push 0x86
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.004282b0
add esp, 0x18
lea ecx, [ebp - 0x5e8]
call fcn.00402c30
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x694]
mov dword [ebp - method.CAskDlg.virtual_0], vtable.CAskDlg.0
call fcn.0043cdbf
lea ecx, [ebp - 0x5d8]
call fcn.00402c30
lea ecx, [ebp - 0x5dc]
call fcn.00402c30
lea ecx, [ebp - 0x5d4]
call fcn.00402c30
lea ecx, [ebp - 0x5f0]
call fcn.00425c00
lea ecx, [ebp - 0x5d0]
call fcn.00402c30
mov ecx, edi
call fcn.00402c30
lea ecx, [ebp - 0x5c4]
call fcn.00402c30
lea eax, [esi + 2]
jmp 0x429363
lea ecx, [ebp - 0x5cc]
call fcn.00402c50
lea eax, [ebp - 0x5e8]
push eax
lea ecx, [ebp - 0x5c4]
push ecx
lea edx, [ebp - 0x5e4]
push edx
mov byte [ebp - 4], 0xd
call fcn.004150e0
add esp, 0xc
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x5e4]
push eax
push esi
call fcn.004294e0
push esi
mov bl, al
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test bl, bl
jne 0x428ffb
push str.DownloadFile_2_failed.
push 0
push 2
push 0x97
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.004282b0
add esp, 0x18
lea ecx, [ebp - 0x5e4]
call fcn.00402c30
lea ecx, [ebp - 0x5cc]
call fcn.00402c30
lea ecx, [ebp - 0x5e8]
call fcn.00402c30
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x694]
mov dword [ebp - method.CAskDlg.virtual_0], vtable.CAskDlg.0
call fcn.0043cdbf
lea ecx, [ebp - 0x5d8]
call fcn.00402c30
lea ecx, [ebp - 0x5dc]
call fcn.00402c30
lea ecx, [ebp - 0x5d4]
call fcn.00402c30
lea ecx, [ebp - 0x5f0]
call fcn.00425c00
lea ecx, [ebp - 0x5d0]
call fcn.00402c30
lea ecx, [ebp - 0x5c0]
call fcn.00402c30
lea ecx, [ebp - 0x5c4]
call fcn.00402c30
mov eax, 4
jmp 0x429363
lea ecx, [ebp - 0x5e0]
call fcn.00402c50
push 0xfe
lea ecx, [ebp - 0x113]
push 0
mov byte [ebp - 4], 0xf
push ecx
mov byte [ebp - 0x114], 0
call fcn.00543bb0
add esp, 0xc
push 0
push 0x10
lea edx, [ebp - 0x114]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x5e0]
call fcn.00402730
push str.CSRCBankAssist_
lea ecx, [ebp - 0x5e0]
call fcn.004079f0
mov eax, dword [ebp - 0x5d4]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x5e0]
call fcn.004078f0
push str..exe
lea ecx, [ebp - 0x5e0]
call fcn.004079f0
mov edi, dword [ebp - 0x5e0]
mov ecx, dword [ebp - 0x5e4]
push 0
push edi
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 0x210
lea edx, [ebp - 0x42c]
push 0
push edx
mov dword [0x5d9cc8], 1
call fcn.00543bb0
add esp, 0xc
mov esi, str.IDS_UPDATE_TXT
mov ecx, str.ComDlg
call fcn.00425600
lea edx, [ebp - 0x42c]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4290d0
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x5cc]
call fcn.00402730
push 0x5ae6e0
lea ecx, [ebp - 0x5cc]
call fcn.004079f0
mov eax, dword [edi - 0xc]
push eax
push edi
lea ecx, [ebp - 0x5cc]
call fcn.004078f0
lea ecx, [ebp - 0x5c8]
call fcn.00402c50
push 0x210
lea ecx, [ebp - 0x42c]
push 0
push ecx
mov byte [ebp - 4], 0x10
call fcn.00543bb0
add esp, 0xc
mov esi, str.IDS_UPDATE_CAP
mov ecx, str.ComDlg
call fcn.00425600
lea edx, [ebp - 0x42c]
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x429148
lea edx, [ebp - 0x42c]
push edx
lea ecx, [ebp - 0x5c8]
call fcn.00402730
mov eax, dword [ebp - 0x5c8]
mov ecx, dword [ebp - 0x5cc]
push 0x1024
push eax
push ecx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x429254
push str.IDNO__MessageBox_failed.
push 0
push 2
push 0xb3
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.004282b0
add esp, 0x18
lea ecx, [ebp - 0x5c8]
call fcn.00402c30
lea ecx, [ebp - 0x5e0]
call fcn.00402c30
lea ecx, [ebp - 0x5e4]
call fcn.00402c30
lea ecx, [ebp - 0x5cc]
call fcn.00402c30
lea ecx, [ebp - 0x5e8]
call fcn.00402c30
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x694]
mov dword [ebp - method.CAskDlg.virtual_0], vtable.CAskDlg.0
call fcn.0043cdbf
lea ecx, [ebp - 0x5d8]
call fcn.00402c30
lea ecx, [ebp - 0x5dc]
call fcn.00402c30
lea ecx, [ebp - 0x5d4]
call fcn.00402c30
lea ecx, [ebp - 0x5f0]
call fcn.00425c00
lea ecx, [ebp - 0x5d0]
call fcn.00402c30
lea ecx, [ebp - 0x5c0]
call fcn.00402c30
lea ecx, [ebp - 0x5c4]
call fcn.00402c30
mov eax, 7
jmp 0x429363
push ecx
lea eax, [edi - 0x10]
mov dword [ebp - 0x5f8], esp
mov esi, esp
push eax
call fcn.00402b50
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.00429df0
mov edx, dword [ebp - 0x5f4]
push 0
push 0
push 0x469
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0x5c8]
call fcn.00402c30
lea ecx, [ebp - 0x5e0]
call fcn.00402c30
lea ecx, [ebp - 0x5e4]
call fcn.00402c30
lea ecx, [ebp - 0x5cc]
call fcn.00402c30
lea ecx, [ebp - 0x5e8]
call fcn.00402c30
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x694]
mov dword [ebp - method.CAskDlg.virtual_0], vtable.CAskDlg.0
call fcn.0043cdbf
jmp 0x42930c
push 0x18c
lea eax, [ebp - 0x5bc]
push 0
push eax
call fcn.00543bb0
lea ecx, [ebp - 0x5bc]
add esp, 0xc
push ecx
xor eax, eax
mov dword [ebp - 0x538], 0x68
call fcn.0041f520
add esp, 4
lea ecx, [ebp - 0x5d8]
call fcn.00402c30
lea ecx, [ebp - 0x5dc]
call fcn.00402c30
lea ecx, [ebp - 0x5d4]
call fcn.00402c30
mov eax, dword [ebp - 0x5ec]
test eax, eax
je 0x429340
push eax
call fcn.0053e8c6
add esp, 4
lea ecx, [ebp - 0x5d0]
call fcn.00402c30
lea ecx, [ebp - 0x5c0]
call fcn.00402c30
lea ecx, [ebp - 0x5c4]
call fcn.00402c30
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0053c99c
mov esp, ebp
pop ebp
ret 4