Function at 0x41b447
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x43dadf
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x44d060]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push esi
push edi
mov eax, dword [0x44d060]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0xc]
xor edi, edi
mov esi, edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], eax
cmp ecx, edi
jne 0x41b4a8
xor al, al
jmp 0x41b9c3
cmp eax, edi
je 0x41b4ae
mov dword [eax], edi
push ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
call fcn.0041c09d
mov dword [esp + 0xd0], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], edi
call dword [sym.imp.libcurl32.dll_curl_easy_init]
mov dword [esp + 0x24], eax
cmp eax, edi
jne 0x41b500
push str.easy_init_failed
mov ecx, esi
call fcn.00402573
or dword [esp + 0xd0], 0xffffffff
mov esi, dword [esp + 0x2c]
cmp esi, edi
je 0x41b4a1
call fcn.00401000
jmp 0x41b4a1
mov edi, dword [esp + 0x28]
mov esi, dword [edi + 0x48]
cmp esi, dword [edi + 0x4c]
jbe 0x41b511
call fcn.00424765
mov eax, dword [edi + 0x3c]
mov ebx, dword [sym.imp.libcurl32.dll_curl_formadd]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
add esi, 0x40
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 0x4c]
cmp dword [eax + 0x48], edi
jbe 0x41b536
call fcn.00424765
cmp dword [esp + 0x14], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x3c]
je 0x41b54a
cmp dword [esp + 0x14], eax
je 0x41b54f
call fcn.00424765
cmp dword [esp + 0x18], edi
je 0x41b65f
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x41b58a
call fcn.00424765
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0x10]
jb 0x41b576
call fcn.00424765
mov eax, dword [esp + 0x18]
cmp byte [eax], 0
je 0x41b5b6
cmp dword [esi - 0x24], 0x10
jb 0x41b58e
mov ecx, dword [esi - 0x38]
jmp 0x41b591
mov eax, dword [eax]
jmp 0x41b568
lea ecx, [esi - 0x38]
cmp dword [esi + 0x14], 0x10
jb 0x41b59b
mov eax, dword [esi]
jmp 0x41b59d
mov eax, esi
push 0x11
push ecx
push 1
push eax
push 0xa
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x38]
push eax
call ebx
add esp, 0x1c
jmp 0x41b631
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x1c], 0
jne 0x41b631
cmp dword [esi - 0xc], 0
jbe 0x41b605
cmp dword [esi - 0x24], 0x10
jb 0x41b5d1
mov ecx, dword [esi - 0x38]
jmp 0x41b5d4
lea ecx, [esi - 0x38]
cmp dword [esi - 8], 0x10
jb 0x41b5df
mov eax, dword [esi - 0x1c]
jmp 0x41b5e2
lea eax, [esi - 0x1c]
push 0x11
push ecx
push 1
push dword [esi + 0x1c]
push 0xd
push dword [esi + 0x18]
push 0xc
push eax
push 0xe
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x48]
push eax
call ebx
add esp, 0x2c
jmp 0x41b631
cmp dword [esi - 0x24], 0x10
jb 0x41b610
mov eax, dword [esi - 0x38]
jmp 0x41b613
lea eax, [esi - 0x38]
push 0x11
push dword [esi + 0x1c]
push 6
push dword [esi + 0x18]
push 4
push eax
push 1
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x40]
push eax
call ebx
add esp, 0x24
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x41b65b
call fcn.00424765
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0x10]
jb 0x41b64e
call fcn.00424765
add dword [esp + 0x18], 0x60
add esi, 0x60
jmp 0x41b525
mov eax, dword [eax]
jmp 0x41b640
mov ebx, dword [sym.imp.libcurl32.dll_curl_slist_append]
push str.Expect:
push 0
call ebx
mov dword [esp + 0x24], eax
mov eax, dword [0x451be4]
mov eax, dword [eax]
pop ecx
pop ecx
mov ecx, dword [0x451bcc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov eax, dword [0x451be4]
mov dword [esp + 0x44], eax
mov eax, dword [0x451bcc]
lea edi, [esp + 0x40]
lea esi, [esp + 0x14]
mov dword [esp + 0x40], eax
call fcn.00407e1b
test al, al
jne 0x41b734
call fcn.0040771d
push 0x44422c
push eax
lea eax, [esp + 0x74]
push eax
call fcn.0041955e
add esp, 0xc
mov edi, eax
mov byte [esp + 0xd0], 1
call fcn.0040771d
add eax, 0x1c
push eax
lea eax, [esp + 0x54]
push edi
push eax
call fcn.0041c02e
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x41b6f4
mov eax, dword [eax + 4]
jmp 0x41b6f7
add eax, 4
push eax
push dword [esp + 0x20]
call ebx
pop ecx
pop ecx
push 0
push 1
lea ecx, [esp + 0x58]
mov dword [esp + 0x24], eax
call fcn.00402606
push 0
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0xd8], 0
call fcn.00402606
lea esi, [esp + 0x14]
call fcn.00409667
jmp 0x41b689
xor esi, esi
push esi
lea ecx, [esp + 0xa8]
mov dword [esp + 0xc0], 0xf
call fcn.00402b75
mov byte [esp + 0xd0], 2
mov edi, dword [esp + 0x28]
cmp byte [edi + 0x1c], 0
je 0x41b7bf
push str.Content_Type:_application_x_www_form_urlencoded
push dword [esp + 0x20]
call ebx
sub esp, 0x18
mov dword [esp + 0x3c], eax
mov eax, esp
mov dword [esp + 0x34], esp
lea ecx, [edi + 0x54]
push eax
call fcn.00409595
lea ecx, [esp + 0xa8]
call fcn.0041b35e
add esp, 0x20
push 0xffffffffffffffff
push esi
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0xdc], 3
call fcn.004024e1
push esi
push 1
lea ecx, [esp + 0x90]
mov byte [esp + 0xd8], 2
call fcn.00402606
mov ebx, dword [esp + 0x24]
push ebx
call dword [sym.imp.libcurl32.dll_curl_easy_reset]
cmp dword [edi + 0x18], 0x10
lea eax, [edi + 4]
pop ecx
mov dword [esp + 0x24], eax
jb 0x41b7da
mov eax, dword [eax]
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 0x41b9e7
push 0x4e2b
push ebx
call esi
add esp, 0xc
push dword [esp + 0x3c]
push 0x2711
push ebx
call esi
add esp, 0xc
push dword [esp + 0x20]
push 0x2728
push ebx
call esi
add esp, 0xc
push dword [esp + 0x1c]
push 0x2727
push ebx
call esi
add esp, 0xc
push 0x442b60
push 0x2776
push ebx
call esi
add esp, 0xc
cmp dword [esp + 0xb8], 0
je 0x41b871
cmp dword [esp + 0xbc], 0x10
mov eax, dword [esp + 0xa8]
jae 0x41b865
lea eax, [esp + 0xa8]
push eax
push 0x271f
push ebx
call esi
add esp, 0xc
cmp byte [0x451748], 0
je 0x41b899
push 0x451748
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x41b899
push 0x451748
push 0x272f
push ebx
call esi
add esp, 0xc
cmp dword [edi + 0x34], 0
je 0x41b8b9
cmp dword [edi + 0x38], 0x10
jb 0x41b8aa
mov eax, dword [edi + 0x24]
jmp 0x41b8ad
lea eax, [edi + 0x24]
push eax
push 0x2734
push ebx
call esi
add esp, 0xc
push 1
push 0x34
push ebx
call esi
add esp, 0xc
cmp byte [0x4509b2], 0
je 0x41b8e0
push 0
push 0x40
push ebx
call esi
add esp, 0xc
push 0
push 0x51
push ebx
call esi
add esp, 0xc
cmp dword [0x44ecf4], 0
je 0x41b908
cmp dword [0x44ecf8], 0x10
mov eax, dword [0x44ece4]
jae 0x41b8fc
mov eax, 0x44ece4
push eax
push 0x2751
push ebx
call esi
add esp, 0xc
cmp dword [edi + 0x18], 0x10
mov eax, dword [esp + 0x24]
jb 0x41b914
mov eax, dword [eax]
xor edi, edi
push ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edi
call dword [sym.imp.libcurl32.dll_curl_easy_perform]
pop ecx
mov esi, eax
cmp dword [esp + 0x20], edi
je 0x41b939
push dword [esp + 0x20]
call dword [sym.imp.libcurl32.dll_curl_formfree]
pop ecx
cmp dword [esp + 0x1c], edi
je 0x41b94a
push dword [esp + 0x1c]
call dword [sym.imp.libcurl32.dll_curl_slist_free_all]
pop ecx
cmp esi, edi
je 0x41b97c
push esi
call dword [sym.imp.libcurl32.dll_curl_easy_strerror]
pop ecx
mov ecx, dword [esp + 0x38]
push eax
call fcn.00402573
push ebx
call dword [sym.imp.libcurl32.dll_curl_easy_cleanup]
pop ecx
push edi
push 1
lea ecx, [esp + 0xac]
call fcn.00402606
jmp 0x41b4e9
cmp dword [esp + 0x34], edi
je 0x41b995
push dword [esp + 0x34]
push 0x200002
push ebx
call dword [sym.imp.libcurl32.dll_curl_easy_getinfo]
add esp, 0xc
push ebx
call dword [sym.imp.libcurl32.dll_curl_easy_cleanup]
pop ecx
push edi
push 1
lea ecx, [esp + 0xac]
call fcn.00402606
or dword [esp + 0xd0], 0xffffffff
mov esi, dword [esp + 0x2c]
cmp esi, edi
je 0x41b9c1
call fcn.00401000
mov al, 1
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.004241ea
mov esp, ebp
pop ebp
ret