Function at 0x40ba20
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 [0x47b570]
xor eax, ebp
mov dword [ebp + 0x514], eax
push 0x6c
mov eax, 0x45dd75
call fcn.00443770
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 0x240], ebx
je 0x40baa4
cmp dword [ebp + 0x520], ebx
je 0x40c141
push str.AutoUpdate_is_already_run.
lea eax, [ebp - 0x44]
push 0x4e33
push eax
call fcn.00424bb0
add esp, 0xc
cmp dword [eax + 0x18], 0x10
mov ecx, dword [esi + 0x26c]
mov dword [ebp - 4], ebx
jb 0x40ba86
mov eax, dword [eax + 4]
jmp 0x40ba89
add eax, 4
push 0x40
push ecx
push eax
mov ecx, esi
call fcn.00428384
push ebx
push 1
lea ecx, [ebp - 0x44]
call fcn.004014f6
jmp 0x40c141
cmp dword [ebp + 0x520], ebx
jne 0x40bade
call fcn.0040538c
test al, al
je 0x40c141
push str.Certificate_Manager
lea eax, [ebp - 0x44]
push 0x66
push eax
call fcn.00424bb0
add esp, 0xc
cmp dword [eax + 0x18], 0x10
mov dword [ebp - 4], 2
jb 0x40bb44
mov eax, dword [eax + 4]
jmp 0x40bb47
mov ecx, 0x47d890
call fcn.0042534a
test al, al
je 0x40bab9
mov ecx, esi
call fcn.004053f9
test eax, eax
jne 0x40bab9
mov ecx, esi
call fcn.0040548f
test eax, eax
jne 0x40bab9
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.00424bb0
add esp, 0xc
mov ecx, dword [esi + 0x26c]
xor edi, edi
inc edi
cmp dword [eax + 0x18], 0x10
mov dword [ebp - 4], edi
jb 0x40bb2f
mov eax, dword [eax + 4]
jmp 0x40bb32
add eax, 4
push 0x40
push ecx
push eax
mov ecx, esi
call fcn.00428384
push ebx
push edi
jmp 0x40ba97
add eax, 4
lea ecx, [esi + 0x26c]
push eax
call fcn.0040180f
or dword [ebp - 4], 0xffffffff
push ebx
xor ebx, ebx
inc ebx
push ebx
lea ecx, [ebp - 0x44]
call fcn.004014f6
mov edi, 0x47cac8
mov ecx, edi
mov dword [esi + 0x244], ebx
mov dword [esi + 0x240], ebx
call fcn.00403b14
test eax, eax
je 0x40bbe3
xor eax, eax
cmp dword [0x47cb7c], eax
je 0x40bbe5
fldz
push 0x400
push eax
fstp qword [ebp - 0x28]
push dword [0x47cb80]
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x20], eax
call fcn.00406742
lea eax, [ebp - 0x5c]
push eax
call fcn.00406a6f
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00406557
lea ecx, [ebp - 0x50]
call fcn.00405885
fild dword [0x47cb7c]
fcompp
fnstsw ax
test ah, 0x41
jnp 0x40bbe3
cmp dword [ebp + 0x520], 0
je 0x40c13a
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 0x40c13a
test dword [ebp - 0x1c], 0x20
jne 0x40c13a
push 0
push ebx
push str.http:__www.95599.cn
call dword [sym.imp.WININET.dll_InternetCheckConnectionA]
test eax, eax
je 0x40c13a
mov ebx, 0x103
push ebx
lea eax, [ebp + 0x105]
push 0
push eax
mov byte [ebp + 0x104], 0
call fcn.00443310
lea eax, [ebp + 0x104]
push 0x104
push eax
call fcn.004050c5
add esp, 0x14
test al, al
je 0x40c13a
push ebx
lea eax, [ebp + 1]
push 0
push eax
mov byte [ebp], 0
call fcn.00443310
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.00443310
lea eax, [ebp]
push eax
mov ebx, 0x208
lea eax, [ebp + 0x208]
push ebx
push eax
call fcn.0044578b
push str.FTABCISVer.ini
lea eax, [ebp + 0x208]
push ebx
push eax
call fcn.0044578b
and dword [ebp - 0x14], 0
add esp, 0x24
mov ebx, 0x462c08
push ebx
lea ecx, [ebp - 0x10]
call fcn.00401a70
push ebx
mov ecx, 0x47cb6c
mov dword [ebp - 4], 3
call fcn.00402cb3
mov ebx, str._FTABCISVer.ini
test eax, eax
je 0x40bd60
push 0x47cb6c
lea ecx, [ebp - 0x10]
call fcn.004075cb
push ebx
lea ecx, [ebp - 0x10]
call fcn.00403269
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.00401a70
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x18], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 4
call fcn.00402ed7
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.00402f94
mov dword [ebp - 0x14], eax
test eax, eax
je 0x40bd60
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a70
mov ecx, edi
call fcn.00403696
test eax, eax
jne 0x40bd56
and dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x40bee7
push 0x462c08
mov ecx, 0x47cb70
call fcn.00402cb3
test eax, eax
je 0x40bde0
push 0x47cb70
lea ecx, [ebp - 0x10]
call fcn.004075cb
push ebx
lea ecx, [ebp - 0x10]
call fcn.00403269
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a70
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 5
call fcn.00402ed7
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.00402f94
mov dword [ebp - 0x14], eax
test eax, eax
je 0x40bdea
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a70
mov ecx, edi
call fcn.00403696
test eax, eax
jne 0x40bde0
and dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x40bee7
push 0x462c08
mov ecx, 0x47cb74
call fcn.00402cb3
test eax, eax
je 0x40be6a
push 0x47cb74
lea ecx, [ebp - 0x10]
call fcn.004075cb
push ebx
lea ecx, [ebp - 0x10]
call fcn.00403269
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a70
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 6
call fcn.00402ed7
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.00402f94
mov dword [ebp - 0x14], eax
test eax, eax
je 0x40be70
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a70
mov ecx, edi
call fcn.00403696
test eax, eax
jne 0x40be6a
and dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x40bee7
push str.http:__www.95599.cn_update_down
lea ecx, [ebp - 0x10]
call fcn.0040180f
push ebx
lea ecx, [ebp - 0x10]
call fcn.00403269
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a70
push ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 7
call fcn.00402ed7
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.00402f94
mov ebx, eax
test ebx, ebx
je 0x40c0e4
push ecx
lea eax, [ebp + 0x208]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.00401a70
mov ecx, edi
call fcn.00403696
test eax, eax
jne 0x40bedf
xor ebx, ebx
test ebx, ebx
je 0x40c0e4
mov ecx, 0x47d890
call fcn.0042534a
test al, al
je 0x40bf17
mov ecx, esi
call fcn.004053f9
test eax, eax
jne 0x40bf17
mov ecx, esi
call fcn.0040548f
test eax, eax
jne 0x40bf17
and dword [esi + 0x240], 0
jmp 0x40c0d7
push 0x103
lea eax, [ebp + 0x411]
push 0
push eax
mov byte [ebp + 0x410], 0
call fcn.00443310
mov eax, dword [0x47cb90]
mov eax, dword [eax - 0xc]
add esp, 0xc
push eax
mov ebx, 0x47cb90
push eax
mov ecx, ebx
call fcn.004014cc
push eax
lea eax, [ebp + 0x410]
push 0x104
push eax
call fcn.00442e5a
add esp, 0x10
push 0xffffffffffffffff
mov ecx, ebx
call fcn.00401cc8
mov eax, dword [0x47cb90]
cmp dword [eax - 0xc], 8
jle 0x40bf97
push 6
lea eax, [ebp + 0x413]
push eax
lea eax, [ebp + 0x412]
push 0x102
push eax
call fcn.00442e5a
add esp, 0x10
mov byte [ebp + 0x418], 0
lea eax, [ebp + 0x410]
push eax
lea eax, [ebp + 0x104]
push eax
call fcn.004052ef
pop ecx
pop ecx
test eax, eax
jl 0x40c011
xor ebx, ebx
cmp dword [ebp + 0x520], ebx
je 0x40bffd
push str.Current_version_is_the_latest__dont_need_to_update
lea eax, [ebp - 0x44]
push 0x4e2e
push eax
call fcn.00424bb0
mov edx, dword [esi + 0x26c]
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x40bfe1
mov eax, dword [eax + 4]
jmp 0x40bfe4
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.004014f6
push 1
mov ecx, edi
call fcn.00404887
mov dword [esi + 0x240], ebx
jmp 0x40c0d7
and dword [esi + 0x23c], 0
mov edi, 0x462c08
mov ebx, 0x47cb6c
push edi
mov ecx, ebx
call fcn.00402cb3
test eax, eax
je 0x40c046
push ebx
lea ecx, [esi + 0x238]
call fcn.004075cb
mov dword [esi + 0x23c], 1
jmp 0x40c0ac
mov ebx, 0x47cb70
push edi
mov ecx, ebx
call fcn.00402cb3
test eax, eax
je 0x40c06f
push ebx
lea ecx, [esi + 0x238]
call fcn.004075cb
mov dword [esi + 0x23c], 2
jmp 0x40c0ac
push edi
mov edi, 0x47cb74
mov ecx, edi
call fcn.00402cb3
lea ecx, [esi + 0x238]
test eax, eax
je 0x40c098
push edi
call fcn.004075cb
mov dword [esi + 0x23c], 3
jmp 0x40c0ac
push str.http:__www.95599.cn_update_down
call fcn.0040180f
mov dword [esi + 0x23c], 4
xor edi, edi
lea eax, [ebp - 0x14]
push eax
push edi
push esi
push 0x40a648
push edi
push edi
mov dword [ebp - 0x14], edi
call fcn.0044773a
add esp, 0x18
cmp eax, edi
je 0x40c0d7
push eax
mov dword [0x47cab8], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.004010f6
jmp 0x40c141
cmp dword [ebp + 0x520], 0
je 0x40bf0b
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.00424bb0
mov edx, dword [esi + 0x26c]
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x40c118
mov eax, dword [eax + 4]
jmp 0x40c11b
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.004014f6
jmp 0x40bf0b
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.004432f5
add ebp, 0x518
leave
ret 4