Function at 0x42ca60
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4394c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x880
mov dword [ebp - 0x88c], ecx
mov dword [ebp - 0x520], 0
mov dword [ebp - 0x630], 1
mov dword [ebp - 0x634], 0xffffffff
push 0x104
push 0
lea eax, [ebp - 0x62c]
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x11c]
push ecx
call sub.MSVCR100.dll_memset
add esp, 0xc
lea edx, [ebp - 0x62c]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x42caeb
xor eax, eax
jmp 0x42cf80
lea eax, [ebp - 0x11c]
push eax
push 0
push 0x4425b0
lea ecx, [ebp - 0x62c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
test eax, eax
jne 0x42cb11
xor eax, eax
jmp 0x42cf80
lea edx, [ebp - 0x650]
push edx
mov ecx, dword [ebp + 8]
call fcn.0040246e
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x88c]
movzx ecx, byte [eax + 0xa]
test ecx, ecx
je 0x42cd28
push 0x4425b4
lea ecx, [ebp - 0x65c]
call fcn.0040252c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x650]
call fcn.00401c4e
push eax
lea ecx, [ebp - 0x870]
call fcn.00402563
mov byte [ebp - 4], 2
lea edx, [ebp - 0x870]
push edx
lea ecx, [ebp - 0x65c]
call fcn.004027f7
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x870]
call fcn.00402239
lea eax, [ebp - 0x65c]
push eax
call fcn.00402801
add esp, 4
lea ecx, [ebp - 0x650]
call fcn.00401c4e
push eax
mov ecx, dword [ebp - 0x88c]
call fcn.00401fe6
mov dword [ebp - 0x520], eax
cmp dword [ebp - 0x520], 0
je 0x42ccea
push 0
push 0
push 2
push 0
push 0
push 0x40000000
lea ecx, [ebp - 0x11c]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x634], eax
cmp dword [ebp - 0x634], 0xffffffff
jne 0x42cc17
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x654], eax
mov dword [ebp - 0x630], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x65c]
call fcn.00402239
jmp 0x42cf23
mov edx, 1
test edx, edx
je 0x42cce8
lea eax, [ebp - 0x658]
push eax
push 0x400
lea ecx, [ebp - 0x51c]
push ecx
mov edx, dword [ebp - 0x520]
push edx
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
jne 0x42cc72
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x654], eax
mov dword [ebp - 0x630], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x65c]
call fcn.00402239
jmp 0x42cf23
cmp dword [ebp - 0x658], 0
jne 0x42cc94
mov eax, dword [ebp - 0x634]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x634], 0xffffffff
jmp 0x42cce8
push 0
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x658]
push edx
lea eax, [ebp - 0x51c]
push eax
mov ecx, dword [ebp - 0x634]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x42cce3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x654], eax
mov dword [ebp - 0x630], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x65c]
call fcn.00402239
jmp 0x42cf23
jmp 0x42cc17
jmp 0x42cd14
mov dword [ebp - 0x630], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x654], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x65c]
call fcn.00402239
jmp 0x42cf23
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x65c]
call fcn.00402239
jmp 0x42ced3
push str.FtpGetFile_for_file:
lea ecx, [ebp - 0x660]
call fcn.0040252c
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x650]
call fcn.00401c4e
push eax
lea ecx, [ebp - 0x874]
call fcn.00402563
mov byte [ebp - 4], 4
lea edx, [ebp - 0x874]
push edx
lea ecx, [ebp - 0x660]
call fcn.004027f7
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x874]
call fcn.00402239
lea eax, [ebp - 0x660]
push eax
call fcn.00402801
add esp, 4
push str.FtpGetFile_to_file:
lea ecx, [ebp - 0x664]
call fcn.0040252c
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x11c]
push ecx
lea ecx, [ebp - 0x878]
call fcn.00402563
mov byte [ebp - 4], 6
lea edx, [ebp - 0x878]
push edx
lea ecx, [ebp - 0x664]
call fcn.004027f7
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x878]
call fcn.00402239
lea eax, [ebp - 0x664]
push eax
call fcn.00402801
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x664]
call fcn.00402239
push 0
push 0x84000002
push 0
push 0
lea ecx, [ebp - 0x11c]
push ecx
lea ecx, [ebp - 0x650]
call fcn.00401c4e
push eax
mov edx, dword [ebp - 0x88c]
mov eax, dword [edx + 0x114]
push eax
call dword [sym.imp.WININET.dll_FtpGetFileA]
test eax, eax
jne 0x42ce92
mov dword [ebp - 0x630], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.FtpGetFile_FAILED_with_code:__d
lea ecx, [ebp - 0x86c]
push ecx
call fcn.0040203b
add esp, 0xc
lea edx, [ebp - 0x86c]
push edx
lea ecx, [ebp - 0x87c]
call fcn.0040252c
mov byte [ebp - 4], 7
lea eax, [ebp - 0x87c]
push eax
call fcn.00402801
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x87c]
call fcn.00402239
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x660]
call fcn.00402239
jmp 0x42cf23
push str.FtpGetFile_SUCCEEDED
lea ecx, [ebp - 0x880]
call fcn.0040252c
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x880]
push ecx
call fcn.00402801
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x880]
call fcn.00402239
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x660]
call fcn.00402239
lea edx, [ebp - 0x11c]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.0040100f
mov dword [ebp - 0x630], eax
cmp dword [ebp - 0x630], 0
jne 0x42cf23
push str.VersionIni.Load_FAILED
lea ecx, [ebp - 0x884]
call fcn.0040252c
mov byte [ebp - 4], 9
lea eax, [ebp - 0x884]
push eax
call fcn.00402801
add esp, 4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x884]
call fcn.00402239
cmp dword [ebp - 0x634], 0xffffffff
je 0x42cf39
mov ecx, dword [ebp - 0x634]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [ebp - 0x11c]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp dword [ebp - 0x520], 0
je 0x42cf5c
mov eax, dword [ebp - 0x520]
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov ecx, dword [ebp - 0x630]
mov dword [ebp - 0x888], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x650]
call fcn.00402036
mov eax, dword [ebp - 0x888]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8