Function at 0x40bae0
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
mov esi, ecx
sub esp, 0x5c
mov edi, dword [edx + 0x10]
mov ebp, dword [edx + 8]
test edi, edi
je 0x40bd56
test ebp, ebp
je 0x40bd56
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
mov ebx, edx
mov byte [eax], 0
cmp byte [edx + 0x3c], 0
mov eax, dword [esp + 0x74]
mov dword [eax], 0
jne 0x40c152
cmp byte [ebp + 0x2a5], 0
jne 0x40bd60
test esi, esi
je 0x40c190
mov eax, dword [esp + 0x28]
cmp byte [eax + 1], 0
je 0x40bb48
cmp byte [eax], 0
je 0x40c415
mov eax, dword [ebx + 0x140]
test eax, eax
je 0x40bb57
cmp byte [eax], 0
jne 0x40bb5f
mov dword [esp], esi
call sub.cygcurl_4.dll_curl_easy_strerror
mov dword [esp + 0xc], eax
mov eax, dword [0x42e528]
mov dword [esp + 8], esi
mov dword [esp + 4], 0x4249fa
mov dword [esp], eax
call sub.cygcurl_4.dll_curl_mfprintf
cmp esi, 0x3c
je 0x40c430
cmp byte [ebx + 0x86], 0
je 0x40c170
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x40bf80
mov eax, dword [ebp + 0x254]
test eax, eax
jne 0x40c210
lea eax, [esi - 5]
mov dword [esp + 0x44], 0
cmp eax, 1
jbe 0x40bc30
mov eax, esi
and eax, 0xffffffef
cmp eax, 0xc
je 0x40bc30
cmp byte [ebp + 0x24d], 0
je 0x40c270
cmp esi, 7
jne 0x40c270
lea eax, [esp + 0x48]
mov dword [esp + 4], 0x200019
mov dword [esp], edi
mov dword [esp + 0x48], 0
mov dword [esp + 8], eax
call sub.cygcurl_4.dll_curl_easy_getinfo
cmp dword [esp + 0x48], 0x6f
mov eax, 3
jne 0x40c2e1
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov ecx, dword [eax*4 + 0x4266b4]
mov dword [esp + 0x2c], edi
jmp 0x40bc4c
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x48], 0
mov ecx, str.:_timeout
mov dword [esp + 0x4c], 0
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x14]
mov edx, 0x10624dd3
mov dword [esp + 8], ecx
mov dword [esp + 4], str.Problem__s._Will_retry_in__ld_seconds.__ld_retries_left.
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
imul edx
mov eax, dword [esp + 0x2c]
sar edx, 6
sar eax, 0x1f
sub edx, eax
mov dword [esp + 0xc], edx
mov eax, dword [ebp + 0x2c0]
mov dword [esp], eax
call fcn.0040b870
mov eax, dword [ebp + 0x250]
sub dword [ebx + 0x14], 1
test eax, eax
jne 0x40bcab
mov eax, dword [ebx + 0x1c]
mov edx, 0x927c0
add eax, eax
cmp eax, 0x927c0
cmovg eax, edx
mov dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x94]
mov edx, dword [ebx + 0x90]
mov edi, eax
or edi, edx
je 0x40c34a
mov edi, dword [ebx + 0x80]
test edi, edi
je 0x40c34a
mov esi, dword [ebx + 0x88]
test esi, esi
je 0x40c34a
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 4], str.Throwing_away__lld_bytes
mov eax, dword [ebp + 0x2c0]
mov dword [esp], eax
call fcn.0040b840
mov eax, dword [ebx + 0x88]
mov dword [esp], eax
call sub.cygwin1.dll_fflush
mov eax, dword [ebx + 0x88]
mov esi, dword [ebx + 0x98]
mov edi, dword [ebx + 0x9c]
mov dword [esp], eax
call sub.cygwin1.dll_fileno
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp], eax
call sub.cygwin1.dll__ftruncate64
test eax, eax
je 0x40c310
mov dword [esp + 4], str.Failed_to_truncate_file
mov eax, dword [ebp + 0x2c0]
mov esi, 0x17
mov dword [esp], eax
call fcn.0040b910
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [ebp + 0xfa], 0
jne 0x40c19d
test esi, esi
jne 0x40bb85
cmp byte [ebp + 0x280], 0
mov eax, dword [ebx + 0x88]
je 0x40bdc0
cmp byte [ebx + 0x87], 0
je 0x40bdc0
test eax, eax
je 0x40c250
mov dword [esp], eax
call sub.cygwin1.dll_fileno
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x30]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00418670
test eax, eax
jne 0x40c520
mov eax, dword [ebx + 0x88]
nop
test eax, eax
je 0x40c250
xor esi, esi
cmp byte [ebx + 0x86], 0
jne 0x40bb92
mov byte [esp + 0x2c], 1
mov dword [esp], eax
call sub.cygwin1.dll_fflush
test eax, eax
je 0x40bb92
cmp byte [esp + 0x2c], 0
je 0x40bb92
mov eax, dword [esp + 0x28]
mov dword [esp + 4], str.Failed_writing_body
mov esi, 0x17
mov dword [esp], eax
call fcn.0040b910
jmp 0x40bb92
lea eax, [esp + 0x44]
mov dword [esp + 4], 0x200002
mov dword [esp], edi
mov dword [esp + 0x2c], edx
mov dword [esp + 8], eax
call sub.cygcurl_4.dll_curl_easy_getinfo
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
cmp eax, 0x1f4
je 0x40be58
jg 0x40c5a7
cmp eax, 0x198
je 0x40be58
cmp eax, 0x1ad
jne 0x40c4a8
mov eax, dword [ebx + 0x1c]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x600039
mov dword [esp], edi
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x2c], eax
call sub.cygcurl_4.dll_curl_easy_getinfo
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov ecx, eax
or ecx, edx
je 0x40c560
cmp eax, 0
jle 0x40c56a
mov dword [esp + 0x2c], 0x7fffffff
mov eax, dword [ebp + 0x254]
mov ecx, str.:_HTTP_error
test eax, eax
je 0x40bc4c
call fcn.00417130
mov dword [esp], eax
mov dword [esp + 4], edx
mov edx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x28]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
call fcn.004171a0
mov edx, 0x10624dd3
mov ecx, eax
imul edx
sar ecx, 0x1f
sar edx, 6
sub edx, ecx
mov eax, edx
mov ecx, edx
mov dword [esp + 0x38], edx
sar eax, 0x1f
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x34], edx
mov edx, 0x7fffffff
mov dword [esp + 0x30], eax
mov eax, 0xffffffff
sub eax, dword [esp + 0x30]
sbb edx, dword [esp + 0x34]
cmp edx, dword [esp + 0x3c]
jl 0x40bf67
jg 0x40bf26
cmp eax, ecx
jb 0x40bf67
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
adc edx, dword [esp + 0x3c]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x254]
mov dword [esp + 0x3c], edx
cdq
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x38]
mov ecx, edx
mov edx, dword [esp + 0x3c]
cmp edx, ecx
jl 0x40c560
jg 0x40bf67
cmp eax, dword [esp + 0x30]
jbe 0x40c560
mov dword [esp + 4], str.The_Retry_After:_time_would_make_this_command_line_exceed_the_maximum_allowed_time_for_retries.
mov eax, dword [ebp + 0x2c0]
mov dword [esp], eax
call fcn.0040b870
lea esi, [esi]
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x18], 1
je 0x40c370
cmp byte [ebx + 0x87], 0
je 0x40c0d0
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x40c0d0
mov dword [esp], eax
call sub.cygwin1.dll_fclose
test esi, esi
jne 0x40bfbd
test eax, eax
jne 0x40c3e0
test esi, esi
je 0x40c0d8
cmp byte [ebp + 0x308], 0
je 0x40c000
mov eax, dword [ebx + 0x80]
mov dword [esp + 4], str.Removing_output_file:__s
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.0040b840
mov eax, dword [ebx + 0x80]
mov dword [esp], eax
call sub.cygwin1.dll_unlink
lea esi, [esi]
mov eax, dword [ebp + 0x1c0]
test eax, eax
je 0x40c01a
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], ebp
call fcn.00417ae0
cmp byte [ebx + 0xa7], 0
je 0x40c035
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x40c035
mov dword [esp], eax
call sub.cygwin1.dll_fclose
cmp byte [ebx + 0xa4], 0
jne 0x40c393
cmp byte [ebx + 0xc7], 0
je 0x40c05d
mov eax, dword [ebx + 0xc8]
test eax, eax
je 0x40c05d
mov dword [esp], eax
call sub.cygwin1.dll_fclose
cmp byte [ebx + 0xc4], 0
jne 0x40c3c3
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call sub.cygcurl_4.dll_curl_easy_cleanup
cmp byte [ebx + 0x84], 0
jne 0x40c3b0
mov eax, dword [ebx + 0x30]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, dword [ebx + 0x38]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, dword [ebx + 0x13c]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x28], 0
je 0x40bd56
mov eax, dword [ebx + 0x140]
mov dword [esp], eax
call sub.cygwin1.dll_free
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
test esi, esi
jne 0x40c000
xor esi, esi
cmp byte [ebp], 0
je 0x40c000
cmp byte [ebx + 0x86], 0
je 0x40c000
mov edx, dword [ebx + 0x80]
test edx, edx
je 0x40c000
lea eax, [esp + 0x48]
mov dword [esp + 4], 0x60000e
mov dword [esp], edi
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 8], eax
call sub.cygcurl_4.dll_curl_easy_getinfo
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x80]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.00404290
jmp 0x40c000
mov eax, dword [edx + 0x40]
mov dword [esp], eax
call sub.cygwin1.dll_close
cmp byte [ebp + 0x2a5], 0
jne 0x40bd60
jmp 0x40bb2d
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x40bb92
test esi, esi
sete byte [esp + 0x2c]
jmp 0x40bddc
cmp byte [ebp + 0xfa], 0
je 0x40bd75
lea eax, [esp + 0x48]
mov dword [esp + 4], 0x200002
mov dword [esp], edi
mov dword [esp + 0x48], 0
mov dword [esp + 8], eax
call sub.cygcurl_4.dll_curl_easy_getinfo
mov eax, dword [esp + 0x48]
cmp eax, 0x18f
jle 0x40bd6d
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 1], 0
je 0x40c1db
cmp byte [ecx], 0
je 0x40c1fc
mov dword [esp + 0xc], eax
mov eax, dword [0x42e528]
mov dword [esp + 8], 0x16
mov dword [esp + 4], str.curl:___d__The_requested_URL_returned_error:__ld_n
mov dword [esp], eax
call sub.cygcurl_4.dll_curl_mfprintf
mov esi, 0x16
jmp 0x40bb85
call fcn.00417130
mov dword [esp], eax
mov dword [esp + 4], edx
mov edx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x28]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
call fcn.004171a0
imul edx, dword [ebp + 0x254], 0x3e8
cmp eax, edx
jl 0x40bbab
jmp 0x40bf80
mov eax, dword [ebx + 0x94]
or eax, dword [ebx + 0x90]
je 0x40c4b5
xor esi, esi
jmp 0x40bb92
test esi, esi
je 0x40c460
test dword [ebp + 0xf8], 0xffff00
je 0x40c28d
cmp esi, 0x16
je 0x40c460
lea eax, [esp + 0x44]
mov dword [esp + 4], 0x200002
mov dword [esp], edi
mov dword [esp + 8], eax
call sub.cygcurl_4.dll_curl_easy_getinfo
lea eax, [esp + 0x48]
mov dword [esp + 4], 0x100031
mov dword [esp], edi
mov dword [esp + 8], eax
call sub.cygcurl_4.dll_curl_easy_getinfo
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.0040b680
cmp eax, dword [0x42e10c]
je 0x40c504
cmp eax, dword [0x42e108]
je 0x40c504
cmp byte [ebp + 0x24c], 0
je 0x40bf80
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x48], 0
mov ecx, str._retrying_all_errors_
mov dword [esp + 0x4c], 0
mov dword [esp + 0x2c], eax
jmp 0x40bc4c
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x88]
mov dword [esp], eax
call sub.cygwin1.dll_fseek
test eax, eax
jne 0x40c587
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x94], 0
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x2c]
xor esi, esi
mov byte [eax], 1
mov eax, dword [esp + 0x74]
mov dword [eax], edi
add esp, 0x5c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [ebx + 0x48]
test ecx, ecx
je 0x40bf8e
mov eax, dword [ebx + 0x64]
mov dword [esp], 0xa
mov dword [esp + 4], eax
call sub.cygwin1.dll_fputc
jmp 0x40bf8e
mov eax, dword [ebx + 0xa0]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov dword [ebx + 0xa0], 0
jmp 0x40c042
mov eax, dword [ebx + 0x80]
mov dword [esp], eax
call sub.cygwin1.dll_free
jmp 0x40c082
mov eax, dword [ebx + 0xc0]
mov dword [esp], eax
call sub.cygwin1.dll_free
mov dword [ebx + 0xc0], 0
jmp 0x40c06a
mov dword [esp + 8], 0x17
mov dword [esp + 4], str.curl:___d__Failed_writing_body
mov esi, 0x17
mov eax, dword [ebp + 0x2c0]
mov dword [esp], eax
call fcn.0040b910
cmp byte [ebp + 0x308], 0
je 0x40c000
jmp 0x40bfce
cmp byte [ebp + 0xfa], 0
je 0x40bb85
jmp 0x40c19d
mov eax, dword [0x42e528]
mov dword [esp + 8], 0x108
mov dword [esp + 4], 1
mov dword [esp], str.More_details_here:_https:__curl.se_docs_sslcerts.html_n_ncurl_failed_to_verify_the_legitimacy_of_the_server_and_therefore_could_not_nestablish_a_secure_connection_to_it._To_learn_more_about_this_situation_and_nhow_to_fix_it__please_visit_the_web_page_mentioned_above._n
mov dword [esp + 0xc], eax
call sub.cygwin1.dll_fwrite
jmp 0x40bb85
lea edx, [esp + 0x48]
mov dword [esp + 4], 0x100031
mov dword [esp], edi
mov dword [esp + 8], edx
mov dword [esp + 0x2c], edx
call sub.cygcurl_4.dll_curl_easy_getinfo
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.0040b680
cmp eax, dword [0x42e104]
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0x2c]
je 0x40be15
cmp eax, dword [0x42e100]
je 0x40be15
test esi, esi
jne 0x40c2e1
jmp 0x40bf80
lea eax, [esp + 0x48]
mov dword [esp + 4], 0x200023
mov dword [esp], edi
mov dword [esp + 0x48], 0
mov dword [esp + 8], eax
call sub.cygcurl_4.dll_curl_easy_getinfo
mov eax, dword [esp + 0x48]
test eax, eax
je 0x40c4e4
xor esi, esi
jmp 0x40bb85
lea eax, [ebx + 0x80]
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.00402d60
test al, al
jne 0x40c4dd
mov esi, 0x17
jmp 0x40bb85
mov eax, dword [esp + 0x44]
sub eax, 0x190
cmp eax, 0x63
ja 0x40c2e1
mov eax, 5
jmp 0x40bc0b
call sub.cygwin1.dll___errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.cygwin1.dll_strerror
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x80]
mov dword [esp + 4], str.Error_setting_extended_attributes_on__s:__s
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x2c0]
mov dword [esp], eax
call fcn.0040b870
jmp 0x40bdb8
mov ecx, str.:_HTTP_error
jmp 0x40bc4c
jl 0x40c578
cmp edx, 0x20c49b
ja 0x40be9e
imul eax, edx, 0x3e8
mov dword [esp + 0x2c], eax
jmp 0x40bea6
mov dword [esp + 4], str.Failed_seeking_to_end_of_file
mov eax, dword [ebp + 0x2c0]
mov esi, 0x17
mov dword [esp], eax
call fcn.0040b910
jmp 0x40bd56
sub eax, 0x1f6
cmp eax, 2
ja 0x40c4a8
jmp 0x40be58