Function at 0x431a02
Capabilities:
Check if file exists

Disassembly:
push 0xdc
mov eax, 0x48adde
call fcn.00470d2a
mov eax, dword [ebp + 8]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp + 0xc]
xor esi, esi
mov edi, edx
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x78], eax
cmp ecx, esi
jne 0x431a32
xor al, al
jmp 0x431f95
cmp eax, esi
je 0x431a38
mov dword [eax], esi
push ecx
lea eax, [ebp - 0x68]
push eax
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
call fcn.004329a4
mov dword [ebp - 4], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x6c], esi
call dword [sym.imp.libcurl32.dll_curl_easy_init]
mov dword [ebp - 0x80], eax
cmp eax, esi
jne 0x431a7d
push str.easy_init_failed
mov ecx, edi
call fcn.00404c60
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x64], esi
je 0x431a2b
mov esi, dword [ebp - 0x64]
call fcn.00401300
jmp 0x431a2b
mov edi, dword [ebp - 0x68]
push dword [edi + 0x48]
add edi, 0x3c
lea esi, [ebp - 0x60]
call fcn.0043253d
mov ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x50], ebx
add ebx, 0x40
push dword [edi + 0x10]
lea esi, [ebp - 0x74]
call fcn.0043253d
cmp dword [ebp - 0x60], 0
je 0x431ab0
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x74]
je 0x431ab5
call fcn.0047000d
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x70]
je 0x431bc3
mov esi, dword [ebp - 0x60]
test esi, esi
jne 0x431aef
call fcn.0047000d
xor eax, eax
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [eax + 0x10]
jb 0x431adc
call fcn.0047000d
mov eax, dword [ebp - 0x50]
cmp byte [eax], 0
je 0x431b1d
cmp dword [ebx - 0x24], 0x10
jb 0x431af3
mov ecx, dword [ebx - 0x38]
jmp 0x431af6
mov eax, dword [esi]
jmp 0x431acf
lea ecx, [ebx - 0x38]
cmp dword [ebx + 0x14], 0x10
jb 0x431b00
mov eax, dword [ebx]
jmp 0x431b02
mov eax, ebx
push 0x11
push ecx
push 1
push eax
push 0xa
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.libcurl32.dll_curl_formadd]
add esp, 0x1c
jmp 0x431b9b
mov eax, dword [ebp - 0x68]
cmp byte [eax + 0x1c], 0
jne 0x431b9b
cmp dword [ebx - 0xc], 0
jbe 0x431b6d
cmp dword [ebx - 0x24], 0x10
jb 0x431b37
mov ecx, dword [ebx - 0x38]
jmp 0x431b3a
lea ecx, [ebx - 0x38]
cmp dword [ebx - 8], 0x10
jb 0x431b45
mov eax, dword [ebx - 0x1c]
jmp 0x431b48
lea eax, [ebx - 0x1c]
push 0x11
push ecx
push 1
push dword [ebx + 0x1c]
push 0xd
push dword [ebx + 0x18]
push 0xc
push eax
push 0xe
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.libcurl32.dll_curl_formadd]
add esp, 0x2c
jmp 0x431b9b
cmp dword [ebx - 0x24], 0x10
jb 0x431b78
mov eax, dword [ebx - 0x38]
jmp 0x431b7b
lea eax, [ebx - 0x38]
push 0x11
push dword [ebx + 0x1c]
push 6
push dword [ebx + 0x18]
push 4
push eax
push 1
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.libcurl32.dll_curl_formadd]
add esp, 0x24
test esi, esi
jne 0x431bbf
call fcn.0047000d
xor eax, eax
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [eax + 0x10]
jb 0x431bb3
call fcn.0047000d
add dword [ebp - 0x50], 0x60
add ebx, 0x60
jmp 0x431a97
mov eax, dword [esi]
jmp 0x431ba6
push str.Expect:
push 0
call dword [sym.imp.libcurl32.dll_curl_slist_append]
pop ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [0x4ae8c0]
mov eax, dword [eax]
pop ecx
mov ecx, dword [0x4ae8a8]
mov dword [ebp - 0x54], ecx
mov ebx, eax
mov dword [ebp - 0x50], ebx
mov eax, dword [0x4ae8c0]
mov dword [ebp - 0x70], eax
mov eax, dword [0x4ae8a8]
lea esi, [ebp - 0x74]
lea edi, [ebp - 0x54]
mov dword [ebp - 0x74], eax
call fcn.0041aca0
test al, al
je 0x431cd2
mov esi, edi
call fcn.004303f4
push 0x494fbc
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0042e21b
add esp, 0xc
mov edi, eax
mov byte [ebp - 4], 1
call fcn.004303f4
add eax, 0x1c
push eax
lea eax, [ebp - 0xcc]
push edi
push eax
call fcn.00432939
add esp, 0xc
cmp dword [eax + 0x18], 0x10
jb 0x431c53
mov eax, dword [eax + 4]
jmp 0x431c56
add eax, 4
push eax
push dword [ebp - 0x5c]
call dword [sym.imp.libcurl32.dll_curl_slist_append]
pop ecx
pop ecx
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x5c], eax
call fcn.00404350
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0
call fcn.00404350
cmp dword [ebp - 0x54], 0
jne 0x431c8a
call fcn.0047000d
cmp byte [ebx + 0x45], 0
je 0x431c9a
call fcn.0047000d
jmp 0x431bea
mov ecx, dword [ebx + 8]
cmp byte [ecx + 0x45], 0
je 0x431caa
mov eax, dword [ebx + 4]
jmp 0x431cc7
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x45], 0
je 0x431ca8
mov ebx, ecx
jmp 0x431be7
cmp ebx, dword [eax + 8]
jne 0x431be5
mov ebx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x45], 0
je 0x431cb9
jmp 0x431be5
push 0xf
pop edi
xor esi, esi
push esi
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], edi
call fcn.004054f0
mov byte [ebp - 4], 2
mov ebx, dword [ebp - 0x68]
cmp byte [ebx + 0x1c], 0
je 0x431d3c
push str.Content_Type:_application_x_www_form_urlencoded
push dword [ebp - 0x5c]
call dword [sym.imp.libcurl32.dll_curl_slist_append]
sub esp, 0x18
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x50], esp
mov eax, esp
lea ecx, [ebx + 0x54]
push ecx
push eax
call fcn.00415960
lea ecx, [ebp - 0xb0]
call fcn.004318d8
add esp, 0x20
push 0xffffffffffffffff
push esi
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.00404b80
lea ecx, [ebp - 0xb0]
call fcn.00404350
push esi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x34], edi
call fcn.004054f0
mov byte [ebp - 4], 4
mov eax, dword [0x4ae23c]
cmp eax, esi
je 0x431d82
lea ecx, [ebp - 0xb0]
push ebx
push ecx
call eax
pop ecx
pop ecx
push 0xffffffffffffffff
push esi
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 5
call fcn.00404b80
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 4
call fcn.00404350
jmp 0x431d8e
push 0xffffffffffffffff
push esi
push ebx
lea ecx, [ebp - 0x4c]
call fcn.00404b80
mov edi, dword [ebp - 0x80]
push edi
call dword [sym.imp.libcurl32.dll_curl_easy_reset]
cmp dword [ebp - 0x34], 0x10
mov eax, dword [ebp - 0x48]
pop ecx
jae 0x431da5
lea eax, [ebp - 0x48]
mov esi, dword [sym.imp.libcurl32.dll_curl_easy_setopt]
push eax
push 0x2712
push edi
call esi
add esp, 0xc
push 5
push 0x4e
push edi
call esi
add esp, 0xc
push 0x431f9b
push 0x4e2b
push edi
call esi
add esp, 0xc
push dword [ebp - 0x84]
push 0x2711
push edi
call esi
add esp, 0xc
push dword [ebp - 0x58]
push 0x2728
push edi
call esi
add esp, 0xc
push dword [ebp - 0x5c]
push 0x2727
push edi
call esi
add esp, 0xc
push 0x4910fb
push 0x2776
push edi
call esi
add esp, 0xc
cmp dword [ebp - 0x1c], 0
je 0x431e2c
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x431e20
lea eax, [ebp - 0x2c]
push eax
push 0x271f
push edi
call esi
add esp, 0xc
cmp byte [0x4ae138], 0
je 0x431e54
push 0x4ae138
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x431e54
push 0x4ae138
push 0x272f
push edi
call esi
add esp, 0xc
cmp dword [ebx + 0x34], 0
je 0x431e74
cmp dword [ebx + 0x38], 0x10
jb 0x431e65
mov eax, dword [ebx + 0x24]
jmp 0x431e68
lea eax, [ebx + 0x24]
push eax
push 0x2734
push edi
call esi
add esp, 0xc
push 1
push 0x34
push edi
call esi
add esp, 0xc
cmp byte [0x4ad8f4], 0
je 0x431e9b
push 0
push 0x40
push edi
call esi
add esp, 0xc
push 0
push 0x51
push edi
call esi
add esp, 0xc
cmp dword [0x4ab0f4], 0
je 0x431ec3
cmp dword [0x4ab0f8], 0x10
mov eax, dword [0x4ab0e4]
jae 0x431eb7
mov eax, 0x4ab0e4
push eax
push 0x2751
push edi
call esi
add esp, 0xc
cmp dword [ebx + 0x18], 0x10
jb 0x431ece
mov ebx, dword [ebx + 4]
jmp 0x431ed1
add ebx, 4
mov dword [ebp - 0x90], ebx
xor ebx, ebx
push edi
mov dword [ebp - 0x94], edi
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
call dword [sym.imp.libcurl32.dll_curl_easy_perform]
pop ecx
mov esi, eax
cmp dword [ebp - 0x58], ebx
je 0x431f04
push dword [ebp - 0x58]
call dword [sym.imp.libcurl32.dll_curl_formfree]
pop ecx
cmp dword [ebp - 0x5c], ebx
je 0x431f13
push dword [ebp - 0x5c]
call dword [sym.imp.libcurl32.dll_curl_slist_free_all]
pop ecx
cmp esi, ebx
je 0x431f54
push esi
call dword [sym.imp.libcurl32.dll_curl_easy_strerror]
pop ecx
mov ecx, dword [ebp - 0x7c]
push eax
call fcn.00404c60
push edi
call dword [sym.imp.libcurl32.dll_curl_easy_cleanup]
pop ecx
lea ecx, [ebp - 0x4c]
call fcn.00404350
lea ecx, [ebp - 0x30]
call fcn.00404350
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x64]
cmp esi, ebx
je 0x431a2b
jmp 0x431a76
cmp dword [ebp - 0x78], ebx
je 0x431f6b
push dword [ebp - 0x78]
push 0x200002
push edi
call dword [sym.imp.libcurl32.dll_curl_easy_getinfo]
add esp, 0xc
push edi
call dword [sym.imp.libcurl32.dll_curl_easy_cleanup]
pop ecx
lea ecx, [ebp - 0x4c]
call fcn.00404350
lea ecx, [ebp - 0x30]
call fcn.00404350
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x64]
cmp esi, ebx
je 0x431f93
call fcn.00401300
mov al, 1
call fcn.00470dad
ret