Function at 0x40e400
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
push 0x421570
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x42c070]
xor eax, esp
mov dword [esp + 0x54], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x42c070]
xor eax, esp
push eax
lea eax, [esp + 0x6c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x7c]
xor ebx, ebx
push str.WriteURL_enter...
mov dword [esp + 0x78], ebx
call fcn.00412950
add esp, 4
lea ecx, [esp + 0x30]
call fcn.00410080
mov byte [esp + 0x74], 1
push ebx
push 0x424da5
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], 0xf
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
call fcn.00407f80
push 0xd
push str.Arconfig.dat
lea eax, [esp + 0x38]
mov byte [esp + 0x7c], 2
call fcn.00407630
mov eax, dword [esp + 0x34]
mov edi, 0x10
xor esi, esi
cmp dword [esp + 0x48], edi
jae 0x40e4a0
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x40e658
push ebx
push 0x424da5
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], 0xf
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
call fcn.00407f80
mov byte [esp + 0x74], 3
mov esi, dword [esp + 0x34]
cmp dword [esp + 0x48], edi
jae 0x40e4e1
lea esi, [esp + 0x34]
push str.domain
lea ecx, [esp + 0x50]
mov ebx, str.OPEN_URL
call fcn.004118a0
add esp, 4
test eax, eax
jne 0x40e508
push str.ReadIniString_domain_failed
call fcn.00412950
add esp, 4
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x50]
mov edx, ebx
cmp edi, 0x10
jae 0x40e51b
lea edx, [esp + 0x50]
xor eax, eax
mov ecx, 0x424da5
call fcn.00401090
mov esi, dword [esp + 0x60]
test eax, eax
jne 0x40e53a
xor eax, eax
test esi, esi
setne al
test eax, eax
je 0x40e579
mov eax, esi
cmp esi, 0x17
jb 0x40e546
mov eax, 0x17
mov edx, ebx
cmp edi, 0x10
jae 0x40e551
lea edx, [esp + 0x50]
mov ecx, str.This_value_is_not_found
call fcn.00401090
test eax, eax
jne 0x40e56e
cmp esi, 0x17
jb 0x40e56e
cmp esi, 0x17
setne al
test eax, eax
je 0x40e579
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x54]
push eax
jmp 0x40e585
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x88]
push ecx
lea ecx, [esp + 0x20]
call fcn.004077d0
cmp dword [ebp + 0x248], 2
jne 0x40e5bc
push 9
push str._version
lea eax, [esp + 0x1c]
call fcn.00407630
push 0
lea edx, [ebp + 0x168]
push edx
or eax, 0xffffffff
lea esi, [esp + 0x1c]
call fcn.00407540
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x1c]
push eax
lea ecx, [ebp + 0x18]
call fcn.004077d0
mov ecx, dword [esp + 0x18]
mov edi, 0x10
cmp dword [esp + 0x2c], edi
jae 0x40e5e0
lea ecx, [esp + 0x18]
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x48], edi
jae 0x40e5ee
lea eax, [esp + 0x34]
test eax, eax
je 0x40e627
xor edx, edx
cmp edx, str.OPEN_URL
je 0x40e627
cmp edx, 0x425c30
je 0x40e627
test ecx, ecx
je 0x40e627
push eax
push ecx
push 0x425c30
push str.OPEN_URL
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
mov esi, eax
test esi, esi
je 0x40e636
push str.WriteURL_successed...
jmp 0x40e63b
push str.WriteIniFile:_Param_error.
call fcn.004129d0
add esp, 4
xor esi, esi
push str.WriteURL_failed...
call fcn.00412950
add esp, 4
cmp dword [esp + 0x64], edi
jb 0x40e656
mov eax, dword [esp + 0x50]
push eax
call fcn.0041300c
add esp, 4
xor ebx, ebx
cmp dword [esp + 0x2c], edi
jb 0x40e66b
mov ecx, dword [esp + 0x18]
push ecx
call fcn.0041300c
add esp, 4
mov ebp, 0xf
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov byte [esp + 0x18], bl
cmp dword [esp + 0x48], edi
jb 0x40e68f
mov edx, dword [esp + 0x34]
push edx
call fcn.0041300c
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
cmp dword [esp + 0x98], edi
jb 0x40e6b4
mov eax, dword [esp + 0x84]
push eax
call fcn.0041300c
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x6c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.00413017
add esp, 0x64
ret 0x20