Function at 0x417da7
Capabilities:
Check if file exists

Disassembly:
push 0xac
mov eax, 0x47e4bf
call fcn.0046638a
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 0x417dd1
and dword [eax], 0
test ecx, ecx
jne 0x417de9
push str.invalid_param_2
mov ecx, esi
call fcn.004047ef
xor al, al
call fcn.0046640d
ret
and dword [ebp - 0x34], 0
call dword [sym.imp.libcurl32.dll_curl_easy_init]
mov ebx, eax
test ebx, ebx
jne 0x417e00
push str.easy_init_failed
jmp 0x417dda
mov eax, dword [0x4a3914]
mov eax, dword [eax]
mov ecx, dword [0x4a38fc]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4a3914]
mov dword [ebp - 0x50], eax
mov eax, dword [0x4a38fc]
lea edi, [ebp - 0x54]
lea esi, [ebp - 0x40]
mov dword [ebp - 0x54], eax
call fcn.00412618
test al, al
jne 0x417eb1
call fcn.00416cce
push 0x48831c
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.004193c2
add esp, 0xc
mov edi, eax
and dword [ebp - 4], 0
call fcn.00416cce
add eax, 0x1c
push eax
lea eax, [ebp - 0x9c]
push edi
push eax
call fcn.00419408
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x417e73
mov eax, dword [eax + 4]
jmp 0x417e76
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.00404863
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x80]
call fcn.00404863
lea esi, [ebp - 0x40]
call fcn.00405091
jmp 0x417e13
xor edi, edi
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.00404b61
xor esi, esi
inc esi
mov dword [ebp - 4], esi
mov eax, dword [0x4a317c]
cmp eax, edi
je 0x417f03
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.0040475d
push edi
push esi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 1
call fcn.00404863
jmp 0x417f11
push 0xffffffffffffffff
push edi
push dword [ebp - 0x38]
lea ecx, [ebp - 0x2c]
call fcn.0040475d
push ebx
call dword [sym.imp.libcurl32.dll_curl_easy_reset]
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
pop ecx
jae 0x417f25
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 5
push 0x4e
push ebx
call esi
add esp, 0xc
push 0x418087
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, 0x485f3b
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 [0x4a3070], 0
je 0x417fb1
push 0
push 0x40
push ebx
call esi
add esp, 0xc
push 0
push 0x51
push ebx
call esi
add esp, 0xc
cmp dword [0x4a0120], 0
je 0x417fd9
cmp dword [0x4a0124], 0x10
mov eax, dword [0x4a0110]
jae 0x417fcd
mov eax, 0x4a0110
push eax
push 0x2751
push ebx
call esi
add esp, 0xc
cmp byte [0x4a3078], 0
je 0x417ffe
mov edi, 0x4a3078
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x417ffe
push edi
push 0x272f
push ebx
call esi
add esp, 0xc
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x18], 0x10
jb 0x41800c
mov eax, dword [eax + 4]
jmp 0x41800f
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 0x418036
push dword [ebp - 0x34]
call dword [sym.imp.libcurl32.dll_curl_slist_free_all]
pop ecx
cmp esi, edi
je 0x41806a
push esi
call dword [sym.imp.libcurl32.dll_curl_easy_strerror]
pop ecx
mov ecx, dword [ebp - 0x48]
push eax
call fcn.004047ef
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.00404863
mov al, byte [ebp - 0x2d]
jmp 0x417de3
cmp dword [ebp - 0x44], edi
je 0x418081
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 0x41804f