Function at 0x40bec1
Capabilities:
Check internet connectivity via wininet
Create thread
Get common file path

Disassembly:
push ebp
sub esp, 0x514
lea ebp, [esp - 4]
mov eax, dword [0x47d550]
xor eax, ebp
mov dword [ebp + 0x514], eax
push 0x6c
mov eax, 0x460f84
call fcn.00446960
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 0x240], ebx
je 0x40bf45
cmp dword [ebp + 0x520], ebx
je 0x40c5e2
push str.AutoUpdate_is_already_run.
lea eax, [ebp - 0x44]
push 0x4e33
push eax
call fcn.00425115
add esp, 0xc
cmp dword [eax + 0x18], 0x10
mov ecx, dword [esi + 0x26c]
mov dword [ebp - 4], ebx
jb 0x40bf27
mov eax, dword [eax + 4]
jmp 0x40bf2a
add eax, 4
push 0x40
push ecx
push eax
mov ecx, esi
call fcn.0042b6f6
push ebx
push 1
lea ecx, [ebp - 0x44]
call fcn.004014e8
jmp 0x40c5e2
cmp dword [ebp + 0x520], ebx
jne 0x40bf7f
call fcn.00405de5
test al, al
je 0x40c5e2
push str.Certificate_Manager
lea eax, [ebp - 0x44]
push 0x66
push eax
call fcn.00425115
add esp, 0xc
cmp dword [eax + 0x18], 0x10
mov dword [ebp - 4], 2
jb 0x40bfe5
mov eax, dword [eax + 4]
jmp 0x40bfe8
mov ecx, 0x47f8a0
call fcn.004258af
test al, al
je 0x40bf5a
mov ecx, esi
call fcn.00405e52
test eax, eax
jne 0x40bf5a
mov ecx, esi
call fcn.00405ee8
test eax, eax
jne 0x40bf5a
push str.The_current_user_can_not_have_access_to_the_application_as_the_administrator__please_return_this_update_installation_from_an_administrator_account.
lea eax, [ebp - 0x44]
push 0x8118
push eax
call fcn.00425115
add esp, 0xc
mov ecx, dword [esi + 0x26c]
xor edi, edi
inc edi
cmp dword [eax + 0x18], 0x10
mov dword [ebp - 4], edi
jb 0x40bfd0
mov eax, dword [eax + 4]
jmp 0x40bfd3
add eax, 4
push 0x40
push ecx
push eax
mov ecx, esi
call fcn.0042b6f6
push ebx
push edi
jmp 0x40bf38
add eax, 4
lea ecx, [esi + 0x26c]
push eax
call fcn.004017f7
or dword [ebp - 4], 0xffffffff
push ebx
xor ebx, ebx
inc ebx
push ebx
lea ecx, [ebp - 0x44]
call fcn.004014e8
mov edi, 0x47eae0
mov ecx, edi
mov dword [esi + 0x244], ebx
mov dword [esi + 0x240], ebx
call fcn.004043f2
test eax, eax
je 0x40c084
xor eax, eax
cmp dword [0x47eb94], eax
je 0x40c086
fldz
push 0x400
push eax
fstp qword [ebp - 0x28]
push dword [0x47eb98]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x20], eax
call fcn.00406ddb
lea eax, [ebp - 0x5c]
push eax
call fcn.0040717b
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00406bd6
lea ecx, [ebp - 0x50]
call fcn.00406143
fild dword [0x47eb94]
fcompp
fnstsw ax
test ah, 0x41
jnp 0x40c084
cmp dword [ebp + 0x520], 0
je 0x40c5db
xor eax, eax
push eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
je 0x40c5db
test dword [ebp - 0x1c], 0x20
jne 0x40c5db
push 0
push ebx
push str.http:__www.95599.cn
call dword [sym.imp.WININET.dll_InternetCheckConnectionA]
test eax, eax
je 0x40c5db
mov ebx, 0x103
push ebx
lea eax, [ebp + 0x105]
push 0
push eax
mov byte [ebp + 0x104], 0
call fcn.00446500
lea eax, [ebp + 0x104]
push 0x104
push eax
call fcn.00405b1e
add esp, 0x14
test al, al
je 0x40c5db
push ebx
lea eax, [ebp + 1]
push 0
push eax
mov byte [ebp], 0
call fcn.00446500
add esp, 0xc
lea eax, [ebp]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x207
lea eax, [ebp + 0x209]
push 0
push eax
mov byte [ebp + 0x208], 0
call fcn.00446500
lea eax, [ebp]
push eax
mov ebx, 0x208
lea eax, [ebp + 0x208]
push ebx
push eax
call fcn.00448976
push str.FTABCISVer.ini
lea eax, [ebp + 0x208]
push ebx
push eax
call fcn.00448976
and dword [ebp - 0x14], 0
add esp, 0x24
mov ebx, 0x465c28
push ebx
lea ecx, [ebp - 0x10]
call fcn.00401a58
push ebx
mov ecx, 0x47eb84
mov dword [ebp - 4], 3
call fcn.0040324d
mov ebx, str._FTABCISVer.ini
test eax, eax
je 0x40c201
push 0x47eb84
lea ecx, [ebp - 0x10]
call fcn.004079ce
push ebx
lea ecx, [ebp - 0x10]
call fcn.00403b47
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.00401a58
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x18], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 4
call fcn.0040349b
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.004036a9
mov dword [ebp - 0x14], eax
test eax, eax
je 0x40c201
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a58
mov ecx, edi
call fcn.00403f74
test eax, eax
jne 0x40c1f7
and dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x40c388
push 0x465c28
mov ecx, 0x47eb88
call fcn.0040324d
test eax, eax
je 0x40c281
push 0x47eb88
lea ecx, [ebp - 0x10]
call fcn.004079ce
push ebx
lea ecx, [ebp - 0x10]
call fcn.00403b47
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a58
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 5
call fcn.0040349b
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.004036a9
mov dword [ebp - 0x14], eax
test eax, eax
je 0x40c28b
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a58
mov ecx, edi
call fcn.00403f74
test eax, eax
jne 0x40c281
and dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x40c388
push 0x465c28
mov ecx, 0x47eb8c
call fcn.0040324d
test eax, eax
je 0x40c30b
push 0x47eb8c
lea ecx, [ebp - 0x10]
call fcn.004079ce
push ebx
lea ecx, [ebp - 0x10]
call fcn.00403b47
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a58
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 6
call fcn.0040349b
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.004036a9
mov dword [ebp - 0x14], eax
test eax, eax
je 0x40c311
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a58
mov ecx, edi
call fcn.00403f74
test eax, eax
jne 0x40c30b
and dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x40c388
push str.http:__www.95599.cn_update_down
lea ecx, [ebp - 0x10]
call fcn.004017f7
push ebx
lea ecx, [ebp - 0x10]
call fcn.00403b47
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a58
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 7
call fcn.0040349b
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.004036a9
mov ebx, eax
test ebx, ebx
je 0x40c585
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a58
mov ecx, edi
call fcn.00403f74
test eax, eax
jne 0x40c380
xor ebx, ebx
test ebx, ebx
je 0x40c585
mov ecx, 0x47f8a0
call fcn.004258af
test al, al
je 0x40c3b8
mov ecx, esi
call fcn.00405e52
test eax, eax
jne 0x40c3b8
mov ecx, esi
call fcn.00405ee8
test eax, eax
jne 0x40c3b8
and dword [esi + 0x240], 0
jmp 0x40c578
push 0x103
lea eax, [ebp + 0x411]
push 0
push eax
mov byte [ebp + 0x410], 0
call fcn.00446500
mov eax, dword [0x47eba8]
mov eax, dword [eax - 0xc]
add esp, 0xc
push eax
mov ebx, 0x47eba8
push eax
mov ecx, ebx
call fcn.004014be
push eax
lea eax, [ebp + 0x410]
push 0x104
push eax
call fcn.0044604f
add esp, 0x10
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00403306
mov eax, dword [0x47eba8]
cmp dword [eax - 0xc], 8
jle 0x40c438
push 6
lea eax, [ebp + 0x413]
push eax
lea eax, [ebp + 0x412]
push 0x102
push eax
call fcn.0044604f
add esp, 0x10
mov byte [ebp + 0x418], 0
lea eax, [ebp + 0x410]
push eax
lea eax, [ebp + 0x104]
push eax
call fcn.00405d48
pop ecx
pop ecx
test eax, eax
jl 0x40c4b2
xor ebx, ebx
cmp dword [ebp + 0x520], ebx
je 0x40c49e
push str.Current_version_is_the_latest__dont_need_to_update
lea eax, [ebp - 0x44]
push 0x4e2e
push eax
call fcn.00425115
mov edx, dword [esi + 0x26c]
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x40c482
mov eax, dword [eax + 4]
jmp 0x40c485
add eax, 4
mov ecx, dword [esi + 0x20]
push 0x40
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebx
push 1
lea ecx, [ebp - 0x44]
call fcn.004014e8
push 1
mov ecx, edi
call fcn.0040520c
mov dword [esi + 0x240], ebx
jmp 0x40c578
and dword [esi + 0x23c], 0
mov edi, 0x465c28
mov ebx, 0x47eb84
push edi
mov ecx, ebx
call fcn.0040324d
test eax, eax
je 0x40c4e7
push ebx
lea ecx, [esi + 0x238]
call fcn.004079ce
mov dword [esi + 0x23c], 1
jmp 0x40c54d
mov ebx, 0x47eb88
push edi
mov ecx, ebx
call fcn.0040324d
test eax, eax
je 0x40c510
push ebx
lea ecx, [esi + 0x238]
call fcn.004079ce
mov dword [esi + 0x23c], 2
jmp 0x40c54d
push edi
mov edi, 0x47eb8c
mov ecx, edi
call fcn.0040324d
lea ecx, [esi + 0x238]
test eax, eax
je 0x40c539
push edi
call fcn.004079ce
mov dword [esi + 0x23c], 3
jmp 0x40c54d
push str.http:__www.95599.cn_update_down
call fcn.004017f7
mov dword [esi + 0x23c], 4
xor edi, edi
lea eax, [ebp - 0x14]
push eax
push edi
push esi
push 0x40b3fd
push edi
push edi
mov dword [ebp - 0x14], edi
call fcn.0044aa8e
add esp, 0x18
cmp eax, edi
je 0x40c578
push eax
mov dword [0x47ead0], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.004010f6
jmp 0x40c5e2
cmp dword [ebp + 0x520], 0
je 0x40c3ac
push str.Get_configuration_file_from_Agricultural_Bank_Server_error__please_check_your_network_and_retry_
lea eax, [ebp - 0x78]
push 0x810d
push eax
call fcn.00425115
mov edx, dword [esi + 0x26c]
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x40c5b9
mov eax, dword [eax + 4]
jmp 0x40c5bc
add eax, 4
mov ecx, dword [esi + 0x20]
push 0x40
push edx
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push 1
lea ecx, [ebp - 0x78]
call fcn.004014e8
jmp 0x40c3ac
and dword [esi + 0x240], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x514]
xor ecx, ebp
call fcn.004464e5
add ebp, 0x518
leave
ret 4