Function at 0x424196
Capabilities:
Check if file exists

Disassembly:
push 0xac
mov eax, 0x4846ba
call fcn.0044465a
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 0x4241c0
and dword [eax], 0
test ecx, ecx
jne 0x4241d8
push str.invalid_param_2
mov ecx, esi
call fcn.00403b0c
xor al, al
call fcn.004446dd
ret
and dword [ebp - 0x34], 0
call dword [sym.imp.libcurl32.dll_curl_easy_init]
mov ebx, eax
test ebx, ebx
jne 0x4241ef
push str.easy_init_failed
jmp 0x4241c9
mov eax, dword [0x4b86ec]
mov eax, dword [eax]
mov ecx, dword [0x4b86d4]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [0x4b86ec]
mov dword [ebp - 0x50], eax
mov eax, dword [0x4b86d4]
lea edi, [ebp - 0x54]
lea esi, [ebp - 0x40]
mov dword [ebp - 0x54], eax
call fcn.00435277
test al, al
jne 0x4242a0
call fcn.0040f788
push 0x4937b8
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0040fbc4
add esp, 0xc
mov edi, eax
and dword [ebp - 4], 0
call fcn.0040f788
add eax, 0x1c
push eax
lea eax, [ebp - 0x9c]
push edi
push eax
call fcn.0040fc0a
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x424262
mov eax, dword [eax + 4]
jmp 0x424265
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.00403c15
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x80]
call fcn.00403c15
lea esi, [ebp - 0x40]
call fcn.0040f7b3
jmp 0x424202
xor edi, edi
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
call fcn.004043f6
xor esi, esi
inc esi
mov dword [ebp - 4], esi
mov eax, dword [0x4b7aec]
cmp eax, edi
je 0x4242f2
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.00403a7a
push edi
push esi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 1
call fcn.00403c15
jmp 0x424300
push 0xffffffffffffffff
push edi
push dword [ebp - 0x38]
lea ecx, [ebp - 0x2c]
call fcn.00403a7a
push ebx
call dword [sym.imp.libcurl32.dll_curl_easy_reset]
cmp dword [ebp - 0x14], 0x10
mov eax, dword [ebp - 0x28]
pop ecx
jae 0x424314
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 0x424497
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, 0x48e56b
push edi
push 0x272f
push ebx
call esi
add esp, 0xc
push edi
push 0x2776
push ebx
call esi
add esp, 0xc
cmp byte [0x4b4770], 0
je 0x424398
push 1
push 0x34
push ebx
call esi
add esp, 0xc
cmp byte [0x4b758e], 0
je 0x4243b5
push 0
push 0x40
push ebx
call esi
add esp, 0xc
push 0
push 0x51
push ebx
call esi
add esp, 0xc
cmp dword [0x4b47e0], 0
je 0x4243dd
cmp dword [0x4b47e4], 0x10
mov eax, dword [0x4b47d0]
jae 0x4243d1
mov eax, 0x4b47d0
push eax
push 0x2751
push ebx
call esi
add esp, 0xc
cmp byte [0x4b79e8], 0
je 0x42440e
mov edi, 0x4b79e8
push edi
push 0x2762
push ebx
call esi
add esp, 0xc
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x42440e
push edi
push 0x272f
push ebx
call esi
add esp, 0xc
mov eax, dword [ebp - 0x38]
cmp dword [eax + 0x18], 0x10
jb 0x42441c
mov eax, dword [eax + 4]
jmp 0x42441f
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 0x424446
push dword [ebp - 0x34]
call dword [sym.imp.libcurl32.dll_curl_slist_free_all]
pop ecx
cmp esi, edi
je 0x42447a
push esi
call dword [sym.imp.libcurl32.dll_curl_easy_strerror]
pop ecx
mov ecx, dword [ebp - 0x48]
push eax
call fcn.00403b0c
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.00403c15
mov al, byte [ebp - 0x2d]
jmp 0x4241d2
cmp dword [ebp - 0x44], edi
je 0x424491
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 0x42445f