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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x557ff5
mov eax, dword fs:[0]
push eax
sub esp, 0x87c
mov eax, dword [0x5adf10]
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
push str.CheckForUpdate
push 0
push 2
push 0x35
mov ebx, ecx
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
mov dword [ebp - 0x870], ebx
mov esi, edx
call fcn.0041c870
push 0x103
lea eax, [ebp - 0x217]
push 0
push eax
mov byte [ebp - 0x218], 0
call fcn.005344b0
add esp, 0x24
lea ecx, [ebp - 0x218]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x850]
call fcn.00405fd0
mov dword [ebp - 4], 0
cmp dword [ebx + 4], 0
je 0x41cec3
push 0
lea eax, [ebp - 0x880]
push eax
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
jne 0x41cee0
push str.InternetOkay_failed.
push 0
push 2
push 0x3c
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.0041c870
add esp, 0x18
push str.update.txt
lea ecx, [ebp - 0x884]
call fcn.00405fd0
push eax
lea ecx, [ebp - 0x84c]
push esi
push ecx
mov byte [ebp - 4], 1
call fcn.00418c70
add esp, 0xc
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x884]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41cf2b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [ebp - 0x84c]
mov ecx, ebx
call fcn.0041d900
mov esi, eax
test esi, esi
jne 0x41cfb3
push str._hSession_failed.
push eax
push 2
push 0x47
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.0041c870
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x84c]
add eax, 0xfffffff0
add esp, 0x18
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41cf80
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 - 0x850]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41cfa9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 2
jmp 0x41d8d5
mov eax, dword [ebp - 0x850]
add eax, 0xfffffff0
push eax
call fcn.00406330
add eax, 0x10
add esp, 4
mov dword [ebp - 0x854], eax
push 1
push 0x586cac
lea ecx, [ebp - 0x854]
mov byte [ebp - 4], 4
call fcn.00405be0
push 0xa
push str.update.txt
lea ecx, [ebp - 0x854]
call fcn.00405be0
mov edi, dword [ebp - 0x854]
push edi
push esi
call fcn.0041da50
push esi
mov bl, al
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test bl, bl
jne 0x41d0aa
push str.DownloadFile_1_failed.
push 0
push 2
push 0x53
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.0041c870
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 0x41d051
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 - 0x84c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d077
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 - 0x850]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d0a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 3
jmp 0x41d8d5
xor ebx, ebx
mov dword [ebp - method.CIni.virtual_0], vtable.CIni.0
mov dword [ebp - 0x878], ebx
test edi, edi
je 0x41d0d1
push edi
call fcn.005302e4
add esp, 4
mov dword [ebp - 0x878], eax
mov ebx, eax
push str.1.0.0.0
mov eax, str.Version
mov ecx, str.InstallerVersion
lea edi, [ebp - 0x858]
lea edx, [ebp - 0x87c]
mov byte [ebp - 4], 5
call fcn.0041a1d0
lea esi, [ebp - 0x86c]
mov byte [ebp - 4], 6
call fcn.0041e300
lea ecx, [ebp - 0x868]
mov byte [ebp - 4], 7
push ecx
mov ecx, dword [ebp - 0x86c]
call fcn.0041dbc0
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x868]
cmp dword [eax - 0xc], 0
jne 0x41d249
push str.fileVersion.IsEmpty___failed.
push 0
push 2
push 0x64
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.0041c870
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x868]
add eax, 0xfffffff0
add esp, 0x18
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41d171
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x86c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d197
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 - 0x858]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d1bd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
je 0x41d1ca
push ebx
call fcn.0052f68b
add esp, 4
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x854]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d1f0
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 - 0x84c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d216
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 - 0x850]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d23f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 5
jmp 0x41d8d5
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x880], esp
mov esi, esp
push eax
call fcn.00406330
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x858]
add eax, 0xfffffff0
mov dword [ebp - 0x864], esp
mov esi, esp
push eax
call fcn.00406330
add eax, 0x10
mov dword [esi], eax
add esp, 4
mov byte [ebp - 4], 8
call fcn.0041dda0
cmp eax, 1
jne 0x41d7df
push 0x20f
lea ecx, [ebp - 0x637]
push 0
push ecx
mov dword [0x5af484], 0
mov byte [ebp - 0x638], 0
call fcn.005344b0
add esp, 0xc
push 0x20f
lea edx, [ebp - 0x847]
push 0
push edx
mov byte [ebp - 0x848], 0
call fcn.005344b0
add esp, 0xc
mov esi, str.IDS_UPDATE_TXT0
mov ecx, str.ComDlg
call fcn.00419bb0
lea edx, [ebp - 0x638]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41d2f0
mov esi, str.IDS_UPDATE_CAP
mov ecx, str.ComDlg
call fcn.00419bb0
lea edx, [ebp - 0x848]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41d311
push 0x40
lea eax, [ebp - 0x848]
push eax
lea ecx, [ebp - 0x638]
push ecx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x874]
call fcn.00406430
push 0x84
mov byte [ebp - 4], 0xa
call fcn.0043d607
test eax, eax
je 0x41d366
push 0x84
push eax
lea ecx, [ebp - 0x874]
call fcn.00405e20
push str.http:__127.0.0.1_xfcz_BankCNSRAssist_wyzs.exe
mov eax, str.File
mov ecx, str.InstallerVersion
lea edi, [ebp - 0x880]
lea edx, [ebp - 0x87c]
call fcn.0041a1d0
push eax
lea ecx, [ebp - 0x84c]
mov byte [ebp - 4], 0xb
call fcn.00406890
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x880]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41d3bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x870]
lea edi, [ebp - 0x84c]
call fcn.0041d900
mov esi, eax
test esi, esi
jne 0x41d457
push str._hSession_2_failed.
push eax
push 2
push 0x7e
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.0041c870
add esp, 0x18
lea ecx, [ebp - 0x874]
call fcn.00406410
lea ecx, [ebp - 0x868]
call fcn.00406410
lea ecx, [ebp - 0x86c]
call fcn.00406410
lea ecx, [ebp - 0x858]
call fcn.00406410
test ebx, ebx
je 0x41d42c
push ebx
call fcn.0052f68b
add esp, 4
lea ecx, [ebp - 0x854]
call fcn.00406410
lea ecx, [ebp - 0x84c]
call fcn.00406410
lea ecx, [ebp - 0x850]
call fcn.00406410
mov eax, 2
jmp 0x41d8d5
lea ecx, [ebp - 0x860]
call fcn.00406430
lea ecx, [ebp - 0x874]
push ecx
lea edx, [ebp - 0x850]
push edx
lea eax, [ebp - 0x864]
push eax
mov byte [ebp - 4], 0xc
call fcn.00413c50
add esp, 0xc
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x864]
push ecx
push esi
call fcn.0041da50
push esi
mov bl, al
call dword [sym.imp.WININET.dll_InternetCloseHandle]
test bl, bl
jne 0x41d53d
push str.DownloadFile_2_failed.
push 0
push 2
push 0x90
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.0041c870
add esp, 0x18
lea ecx, [ebp - 0x864]
call fcn.00406410
lea ecx, [ebp - 0x860]
call fcn.00406410
lea ecx, [ebp - 0x874]
call fcn.00406410
lea ecx, [ebp - 0x868]
call fcn.00406410
lea ecx, [ebp - 0x86c]
call fcn.00406410
lea ecx, [ebp - 0x858]
call fcn.00406410
lea ecx, [ebp - 0x87c]
call fcn.0041a1b0
lea ecx, [ebp - 0x854]
call fcn.00406410
lea ecx, [ebp - 0x84c]
call fcn.00406410
lea ecx, [ebp - 0x850]
call fcn.00406410
mov eax, 4
jmp 0x41d8d5
lea ecx, [ebp - 0x85c]
call fcn.00406430
push 0xfe
lea edx, [ebp - 0x10f]
push 0
mov byte [ebp - 4], 0xe
push edx
mov byte [ebp - 0x110], 0
call fcn.005344b0
add esp, 0xc
push 0
push 0x10
lea eax, [ebp - 0x110]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea ecx, [ebp - 0x110]
push ecx
lea ecx, [ebp - 0x85c]
call fcn.00405f90
push str.CNSRBankAssist_
lea ecx, [ebp - 0x85c]
call fcn.00405ce0
mov eax, dword [ebp - 0x858]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [ebp - 0x85c]
call fcn.00405be0
push str..exe
lea ecx, [ebp - 0x85c]
call fcn.00405ce0
mov edi, dword [ebp - 0x85c]
mov edx, dword [ebp - 0x864]
push 0
push edi
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push 0x210
lea eax, [ebp - 0x428]
push 0
push eax
mov dword [0x5af484], 1
call fcn.005344b0
add esp, 0xc
mov esi, str.IDS_UPDATE_TXT
mov ecx, str.ComDlg
call fcn.00419bb0
lea edx, [ebp - 0x428]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41d611
lea ecx, [ebp - 0x428]
push ecx
lea ecx, [ebp - 0x860]
call fcn.00405f90
push 0x586cb0
lea ecx, [ebp - 0x860]
call fcn.00405ce0
mov eax, dword [edi - 0xc]
push eax
push edi
lea ecx, [ebp - 0x860]
call fcn.00405be0
lea ecx, [ebp - 0x870]
call fcn.00406430
push 0x210
lea edx, [ebp - 0x428]
push 0
push edx
mov byte [ebp - 4], 0xf
call fcn.005344b0
add esp, 0xc
mov esi, str.IDS_UPDATE_CAP
mov ecx, str.ComDlg
call fcn.00419bb0
lea edx, [ebp - 0x428]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x41d690
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x870]
call fcn.00405f90
mov ecx, dword [ebp - 0x870]
mov edx, dword [ebp - 0x860]
push 0x1024
push ecx
push edx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x41d783
push str.IDNO__MessageBox_failed.
push 0
push 2
push 0xae
push str.AutoUpdateplusAutoUpdater.cpp
push str.CAutoUpdater::CheckForUpdate
call fcn.0041c870
add esp, 0x18
lea ecx, [ebp - 0x870]
call fcn.00406410
lea ecx, [ebp - 0x85c]
call fcn.00406410
lea ecx, [ebp - 0x864]
call fcn.00406410
lea ecx, [ebp - 0x860]
call fcn.00406410
lea ecx, [ebp - 0x874]
call fcn.00406410
lea ecx, [ebp - 0x868]
call fcn.00406410
lea ecx, [ebp - 0x86c]
call fcn.00406410
lea ecx, [ebp - 0x858]
call fcn.00406410
lea ecx, [ebp - 0x87c]
call fcn.0041a1b0
lea ecx, [ebp - 0x854]
call fcn.00406410
lea ecx, [ebp - 0x84c]
call fcn.00406410
lea ecx, [ebp - 0x850]
call fcn.00406410
mov eax, 8
jmp 0x41d8d5
push ecx
lea eax, [edi - 0x10]
mov dword [ebp - 0x888], esp
mov esi, esp
push eax
call fcn.00406330
add eax, 0x10
add esp, 4
mov dword [esi], eax
call fcn.0041e360
lea ecx, [ebp - 0x870]
call fcn.00406410
lea ecx, [ebp - 0x85c]
call fcn.00406410
lea ecx, [ebp - 0x864]
call fcn.00406410
lea ecx, [ebp - 0x860]
call fcn.00406410
lea ecx, [ebp - 0x874]
call fcn.00406410
mov ebx, dword [ebp - 0x878]
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x868]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d805
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x86c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d82b
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 - 0x858]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d851
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
je 0x41d85e
push ebx
call fcn.0052f68b
add esp, 4
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x854]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d884
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 - 0x84c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d8aa
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 - 0x850]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d8d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
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 - 0x10]
xor ecx, ebp
call fcn.0052d75c
mov esp, ebp
pop ebp
ret