Function at 0x418d8c
Capabilities:
Check if file exists

Disassembly:
push 0xac
mov eax, 0x481420
call fcn.0046908a
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0xc]
mov esi, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], eax
test eax, eax
je 0x418db6
and dword [eax], 0
test ecx, ecx
jne 0x418dce
push str.invalid_param_2
mov ecx, esi
call fcn.00404819
xor al, al
call fcn.0046910d
ret
and dword [ebp - 0x34], 0
call dword [sym.imp.libcurl32.dll_curl_easy_init]
mov ebx, eax
test ebx, ebx
jne 0x418de5
push str.easy_init_failed
jmp 0x418dbf
mov eax, dword [0x4a7b84]
mov eax, dword [eax]
mov ecx, dword [0x4a7b6c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4a7b84]
mov dword [ebp - 0x50], eax
mov eax, dword [0x4a7b6c]
lea edi, [ebp - 0x54]
lea esi, [ebp - 0x40]
mov dword [ebp - 0x54], eax
call fcn.00405d80
test al, al
jne 0x418e96
call fcn.0041667d
push 0x48b404
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0041a41a
add esp, 0xc
mov edi, eax
and dword [ebp - 4], 0
call fcn.0041667d
add eax, 0x1c
push eax
lea eax, [ebp - 0x9c]
push edi
push eax
call fcn.0041a460
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x418e58
mov eax, dword [eax + 4]
jmp 0x418e5b
add eax, 4
push eax
push dword [ebp - 0x34]
call dword [sym.imp.libcurl32.dll_curl_slist_append]
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x34], eax
call fcn.0040488d
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x80]
call fcn.0040488d
lea esi, [ebp - 0x40]
call fcn.00408965
jmp 0x418df8
xor edi, edi
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.00404bdf
xor esi, esi
inc esi
mov dword [ebp - 4], esi
mov eax, dword [0x4a71e4]
cmp eax, edi
je 0x418ee8
push dword [ebp - 0x38]
lea ecx, [ebp - 0xb8]
push ecx
call eax
pop ecx
pop ecx
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00404787
push edi
push esi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 1
call fcn.0040488d
jmp 0x418ef6
push 0xffffffffffffffff
push edi
push dword [ebp - 0x38]
lea ecx, [ebp - 0x2c]
call fcn.00404787
push ebx
call dword [sym.imp.libcurl32.dll_curl_easy_reset]
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
pop ecx
jae 0x418f0a
lea eax, [ebp - 0x28]
mov esi, dword [sym.imp.libcurl32.dll_curl_easy_setopt]
push eax
push 0x2712
push ebx
call esi
add esp, 0xc
push edi
push 0x2714
push ebx
call esi
add esp, 0xc
push 5
push 0x4e
push ebx
call esi
add esp, 0xc
push 0x419084
push 0x4e2b
push ebx
call esi
add esp, 0xc
push dword [ebp - 0x4c]
push 0x2711
push ebx
call esi
add esp, 0xc
push dword [ebp - 0x34]
push 0x2727
push ebx
call esi
add esp, 0xc
mov edi, 0x488f6b
push edi
push 0x272f
push ebx
call esi
add esp, 0xc
push edi
push 0x2776
push ebx
call esi
add esp, 0xc
push 1
push 0x34
push ebx
call esi
add esp, 0xc
cmp byte [0x4a70d8], 0
je 0x418fa2
push 0
push 0x40
push ebx
call esi
add esp, 0xc
push 0
push 0x51
push ebx
call esi
add esp, 0xc
cmp dword [0x4a4138], 0
je 0x418fca
cmp dword [0x4a413c], 0x10
mov eax, dword [0x4a4128]
jae 0x418fbe
mov eax, 0x4a4128
push eax
push 0x2751
push ebx
call esi
add esp, 0xc
cmp byte [0x4a70e0], 0
je 0x418ffb
mov edi, 0x4a70e0
push edi
push 0x2762
push ebx
call esi
add esp, 0xc
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x418ffb
push edi
push 0x272f
push ebx
call esi
add esp, 0xc
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x18], 0x10
jb 0x419009
mov eax, dword [eax + 4]
jmp 0x41900c
add eax, 4
xor edi, edi
push ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], edi
call dword [sym.imp.libcurl32.dll_curl_easy_perform]
pop ecx
mov esi, eax
cmp dword [ebp - 0x34], edi
je 0x419033
push dword [ebp - 0x34]
call dword [sym.imp.libcurl32.dll_curl_slist_free_all]
pop ecx
cmp esi, edi
je 0x419067
push esi
call dword [sym.imp.libcurl32.dll_curl_easy_strerror]
pop ecx
mov ecx, dword [ebp - 0x48]
push eax
call fcn.00404819
mov byte [ebp - 0x2d], 0
push ebx
call dword [sym.imp.libcurl32.dll_curl_easy_cleanup]
pop ecx
push edi
push 1
lea ecx, [ebp - 0x2c]
call fcn.0040488d
mov al, byte [ebp - 0x2d]
jmp 0x418dc8
cmp dword [ebp - 0x44], edi
je 0x41907e
push dword [ebp - 0x44]
push 0x200002
push ebx
call dword [sym.imp.libcurl32.dll_curl_easy_getinfo]
add esp, 0xc
mov byte [ebp - 0x2d], 1
jmp 0x41904c