Function at 0x409c50
Capabilities:
Check http status code
Resolve function by parsing pe exports
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x46f008]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x70], eax
mov ebx, edx
mov al, byte [ebp + 0xc]
push esi
mov esi, ecx
mov byte [ebp - 0x63], al
mov ecx, dword [ebp + 0x10]
xor eax, eax
mov dword [ebp - 0x48], eax
push edi
mov al, byte [esi + 5]
mov edi, dword [ebx + 0x2f0]
mov byte [ebp - 0x61], al
mov al, byte [esi + 6]
mov byte [ecx], 0
cmp dword [ebx + 0x50], 0
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x84], ecx
mov byte [ebp - 0x62], al
mov dword [ebp - 0x68], edi
je 0x409d29
cmp byte [ebx + 0x1bc], 0
je 0x409d02
test edi, edi
jne 0x409d29
push dword [ebx + 0x50]
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov edi, eax
mov dword [ebp - 0x68], eax
pop ecx
mov dword [ebx + 0x2f0], edi
push dword [ebx + 0x50]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
and dword [ebx + 0x50], 0
pop ecx
test edi, edi
jne 0x409ced
push str.out_of_memory_n
push esi
call fcn.00409199
pop ecx
pop ecx
push 0x1b
jmp 0x409d1a
xor edx, edx
lea eax, [ebx + 0x220]
cmp byte [ebx + 0x10c], dl
push eax
setne dl
inc edx
jmp 0x409d0c
lea eax, [ebx + 0x220]
push eax
push 4
pop edx
mov ecx, ebx
call fcn.00408cc4
pop ecx
test eax, eax
je 0x409d29
push 2
pop esi
mov ecx, ebx
call fcn.00409b4c
mov eax, esi
jmp 0x40c5c4
mov eax, dword [ebx + 0x2e0]
mov dword [ebp - 0x60], eax
test eax, eax
jne 0x409d51
mov eax, dword [ebx + 0x118]
mov dword [ebx + 0x2e0], eax
mov dword [ebx + 0x2f8], 1
jmp 0x40a015
cmp dword [eax + 4], 0
mov edi, dword [ebx + 0x2e4]
mov dword [ebp - 0x58], edi
jne 0x409dbd
push dword [eax + 8]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edi, dword [ebp - 0x60]
pop ecx
push dword [edi + 0xc]
and dword [edi + 8], 0
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
and dword [edi + 0xc], 0
and dword [edi + 0x10], 0
mov eax, dword [edi]
mov dword [ebx + 0x2e0], eax
and dword [ebx + 0x2fc], 0
cmp byte [0x46f508], 0
pop ecx
jne 0x40a00f
push str.Got_more_output_options_than_URLs_n
push dword [ebx + 0x2d4]
call fcn.0040913e
pop ecx
pop ecx
mov byte [0x46f508], 1
jmp 0x40a00f
cmp dword [eax + 8], 0
je 0x409de6
cmp dword [ebx + 0x2ec], 0
jne 0x409de6
push dword [eax + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov dword [ebx + 0x2ec], eax
pop ecx
test eax, eax
je 0x40a025
mov eax, dword [ebp - 0x60]
cmp byte [ebx + 0x1bb], 0
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x50], edx
jne 0x409e33
test edx, edx
je 0x409e33
test edi, edi
jne 0x409e33
cmp dword [esi], edi
je 0x409e06
mov eax, dword [esi + 8]
jmp 0x409e08
xor eax, eax
push eax
lea eax, [ebx + 0x2f8]
push eax
lea ecx, [ebp - 0x58]
call fcn.0040fd52
mov dword [ebp - 0x48], eax
pop ecx
pop ecx
test eax, eax
jne 0x40c5a8
mov edi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x50]
mov dword [ebx + 0x2e4], edi
jmp 0x409e36
mov eax, dword [ebp - 0x48]
cmp dword [ebx + 0x2fc], 0
jne 0x409e43
test edx, edx
je 0x409e99
lea ecx, [ebx + 0x2f4]
cmp dword [ecx], 0
jne 0x409e91
test edi, edi
je 0x409e70
mov edx, edi
call fcn.0040ff30
mov dword [ebp - 0x48], eax
cmp eax, 0x1b
jne 0x409e91
push str.out_of_memory_n
push esi
call fcn.00409199
pop ecx
pop ecx
jmp 0x409e8e
cmp dword [ebx + 0x2fc], 0
jne 0x409e91
push edx
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov dword [ebx + 0x2f4], eax
pop ecx
test eax, eax
je 0x40a025
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x40c5a8
lea edi, [ebx + 0x300]
mov ecx, dword [edi]
mov dword [ebp - 0x58], ecx
test ecx, ecx
jne 0x409ee9
cmp byte [ebx + 0x1bb], cl
jne 0x409ee2
cmp dword [esi], ecx
je 0x409eb9
mov eax, dword [esi + 8]
jmp 0x409ebb
xor eax, eax
push eax
mov eax, dword [ebp - 0x60]
lea ecx, [ebx + 0x2e8]
push edi
mov edx, dword [eax + 4]
call fcn.0040fd52
mov dword [ebp - 0x48], eax
pop ecx
pop ecx
test eax, eax
jne 0x40c5a8
mov ecx, dword [edi]
mov dword [ebp - 0x58], ecx
jmp 0x409ee9
mov dword [ebp - 0x58], 1
mov eax, dword [ebx + 0x2fc]
cmp eax, dword [ebx + 0x2f8]
jb 0x40a03d
mov edi, dword [ebp - 0x60]
push dword [edi + 8]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
and dword [edi + 8], 0
pop ecx
push dword [edi + 0xc]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor eax, eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
mov edi, dword [ebx + 0x2e8]
mov dword [ebp - 0x50], edi
pop ecx
test edi, edi
je 0x409fb3
mov edx, eax
mov dword [ebp - 0x58], edx
cmp dword [edi + 0xaf0], eax
jbe 0x409f95
mov eax, dword [ebp - 0x50]
add edi, 8
cmp dword [edi - 8], 1
jne 0x409f80
mov ecx, dword [edi]
test ecx, ecx
je 0x409f80
mov esi, dword [edi + 4]
sub esi, 1
js 0x409f6f
mov eax, dword [edi]
push dword [eax + esi*4]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [edi]
pop ecx
and dword [eax + esi*4], 0
sub esi, 1
jns 0x409f56
mov ecx, dword [edi]
push ecx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
and dword [edi], 0
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x58]
pop ecx
inc edx
add edi, 0x1c
mov dword [ebp - 0x58], edx
cmp edx, dword [eax + 0xaf0]
jb 0x409f42
mov esi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x50]
push dword [edi + 0xaf8]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
and dword [edi + 0xaf8], 0
pop ecx
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
xor eax, eax
push dword [ebx + 0x2ec]
mov dword [ebx + 0x2e8], eax
mov dword [ebx + 0x300], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
and dword [ebx + 0x2ec], 0
pop ecx
push dword [ebx + 0x2f4]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
and dword [ebx + 0x2f4], 0
pop ecx
mov ecx, dword [ebx + 0x2e4]
test ecx, ecx
je 0x409ffd
call fcn.0040fea5
and dword [ebx + 0x2e4], 0
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebx + 0x2e0], eax
and dword [ebx + 0x2fc], 0
mov eax, dword [ebx + 0x2e0]
mov dword [ebp - 0x60], eax
test eax, eax
jne 0x409d51
jmp 0x40c5a5
push str.out_of_memory_n
push esi
call fcn.00409199
pop ecx
pop ecx
push 0x1b
pop eax
mov dword [ebp - 0x48], eax
jmp 0x40c5a8
and dword [ebp - 0x4c], 0
lea edi, [ebp - 0xac]
push 8
pop eax
mov ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
pop ecx
mov ecx, dword [ebx + 0x19c]
mov edx, eax
mov dword [ebp - 0xa4], edx
test ecx, ecx
je 0x40a13a
and dword [ebp - 0x54], 0
push 0x457a20
push ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x40a0a7
cmp dword [ebx + 0x198], eax
jne 0x40a0a7
push dword [ebx + 0x19c]
push str.Failed_to_open__s_n
push esi
call fcn.00409199
add esp, 0xc
push 0x1a
jmp 0x40a034
mov edx, edi
lea ecx, [ebp - 0x54]
call fcn.0040d323
test eax, eax
jne 0x40a0db
cmp dword [ebp - 0x54], eax
je 0x40a0db
push dword [ebp - 0x54]
push str.If_None_Match:__s
call fcn.004120e6
push dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [ebp - 0x50]
add esp, 0xc
jmp 0x40a0e9
push str.If_None_Match:___
call fcn.004120e6
pop ecx
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x40a103
test edi, edi
je 0x40a0f9
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
pop ecx
push str.Failed_to_allocate_memory_for_custom_etag_header_n
jmp 0x40a02a
lea ecx, [ebx + 0x200]
mov edx, eax
call fcn.0040d8d0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x50]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
test edi, edi
je 0x40a12a
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
pop ecx
cmp dword [ebp - 0x54], 0
jne 0x40a032
mov edx, dword [ebp - 0xa4]
mov ecx, dword [ebx + 0x198]
test ecx, ecx
je 0x40a1bc
cmp byte [ecx], 0x2d
jne 0x40a15a
movzx eax, byte [ecx + 1]
test al, al
jne 0x40a15a
mov ecx, edx
call fcn.00401018
jmp 0x40a1bc
push 0x457138
push ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
pop ecx
pop ecx
mov ecx, dword [ebx + 0x198]
test eax, eax
jne 0x40a1a7
push ecx
push str.Failed_creating_file_for_saving_etags:___s_._Skip_this_transfer_n
push esi
call fcn.0040913e
add esp, 0xc
push dword [ebx + 0x2ec]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
and dword [ebx + 0x2ec], 0
pop ecx
mov ecx, dword [ebx + 0x2e8]
call fcn.0040fea5
xor eax, eax
jmp 0x40c5c4
mov dword [ebp - 0xac], ecx
mov word [ebp - 0xa6], 0x101
mov dword [ebp - 0xa4], eax
call fcn.00412235
mov esi, eax
mov dword [ebp - 0x50], esi
test esi, esi
je 0x40c589
lea ecx, [ebp - 0x4c]
call fcn.004091ba
mov dword [ebp - 0x48], eax
test eax, eax
je 0x40a1f0
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], esi
call fcn.004216ca
mov eax, dword [ebp - 0x48]
jmp 0x40c58f
mov eax, dword [ebp - 0x4c]
lea esi, [ebp - 0xac]
mov dword [ebp - 0x4c], eax
push 8
lea edi, [eax + 0xb8]
pop eax
mov ecx, eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x2f4]
test eax, eax
je 0x40a279
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov edi, dword [ebp - 0x4c]
pop ecx
mov dword [edi + 0x234], eax
test eax, eax
jne 0x40a23a
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], eax
call fcn.004216ca
jmp 0x40a032
lea eax, [ebx + 0x220]
mov ecx, ebx
push eax
push 5
pop edx
call fcn.00408cc4
pop ecx
test eax, eax
je 0x40a27c
push dword [edi + 0x234]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [ebp - 0x50]
and dword [edi + 0x234], 0
pop ecx
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], eax
call fcn.004216ca
push 2
jmp 0x40a034
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x84]
lea esi, [edi + 0x98]
push 1
mov byte [eax], 1
mov eax, dword [ebp - 0x50]
mov dword [edi + 8], ebx
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x60]
mov eax, dword [eax + 0x14]
mov dword [edi + 0x28], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov edx, eax
pop ecx
mov dword [esi + 8], edx
mov ecx, dword [ebx + 0x8c]
test ecx, ecx
je 0x40a314
cmp byte [ecx], 0x2d
jne 0x40a2cb
movzx eax, byte [ecx + 1]
test al, al
jne 0x40a2cb
mov ecx, edx
call fcn.00401018
jmp 0x40a314
cmp dword [edi + 4], 0
mov edx, 0x45f2dc
mov eax, 0x457138
cmovne eax, edx
push eax
push ecx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
pop ecx
pop ecx
mov ecx, dword [ebx + 0x8c]
test eax, eax
jne 0x40a309
mov esi, dword [ebp - 0x5c]
push ecx
push str.Failed_to_open__s_n
push esi
call fcn.0040913e
add esp, 0xc
push 0x17
jmp 0x40a034
mov dword [esi], ecx
mov word [esi + 6], 0x101
mov dword [esi + 8], eax
lea eax, [edi + 0x78]
mov dword [ebp - 0x88], eax
lea esi, [edi + 0x2c]
xor eax, eax
mov dword [esi], eax
push eax
mov byte [edi + 0x30], al
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
pop ecx
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll__fileno
pop ecx
push 1
mov dword [edi + 0x34], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [edi + 0x80], eax
mov edx, dword [ebx + 0x2e8]
pop ecx
test edx, edx
je 0x40a36e
add edi, 0x24
mov ecx, edi
mov dword [ebp - 0x54], edi
call fcn.0040ff30
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x40c5a8
mov ecx, dword [edi]
jmp 0x40a39f
cmp dword [ebx + 0x304], 0
jne 0x40c57d
mov eax, dword [ebp - 0x60]
push dword [eax + 4]
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
add edi, 0x24
mov dword [ebp - 0x54], edi
pop ecx
mov dword [edi], eax
test eax, eax
je 0x40a032
mov ecx, eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x80], edi
test ecx, ecx
je 0x40c5a8
mov eax, dword [ebx + 0x2ec]
test eax, eax
je 0x40a3c5
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov dword [esi], eax
pop ecx
test eax, eax
je 0x40a032
mov eax, dword [ebp - 0x60]
push 0x2d
pop ecx
test byte [eax + 0x10], 4
jne 0x40a426
mov eax, dword [esi]
test eax, eax
je 0x40a57c
cmp cl, byte [eax]
jne 0x40a3ea
xor ecx, ecx
cmp cl, byte [eax + 1]
je 0x40a57c
mov edi, eax
mov ecx, dword [ebx + 0x2e8]
test ecx, ecx
je 0x40a497
push ecx
mov edx, edi
mov ecx, esi
call fcn.004100c4
pop ecx
mov esi, eax
push edi
mov dword [ebp - 0x48], esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
test esi, esi
je 0x40a47a
mov esi, dword [ebp - 0x5c]
push str.bad_output_glob__n
push esi
call fcn.0040913e
jmp 0x40a44f
mov edi, dword [esi]
mov eax, edi
test edi, edi
jne 0x40a3ec
mov eax, dword [ebp - 0x54]
mov ecx, esi
mov edx, dword [eax]
call fcn.0040d136
mov dword [ebp - 0x48], eax
test eax, eax
je 0x40a455
mov esi, dword [ebp - 0x5c]
push str.Failed_to_extract_a_sensible_file_name_from_the_URL_to_use_for_storage__n
push esi
call fcn.00409199
pop ecx
jmp 0x40c5a4
mov eax, dword [esi]
cmp byte [eax], 0
jne 0x40a497
cmp byte [ebx + 0x288], 0
jne 0x40a497
mov esi, dword [ebp - 0x5c]
push str.Remote_file_name_has_no_length__n
push esi
call fcn.00409199
pop ecx
pop ecx
jmp 0x40a302
mov esi, dword [ebp - 0x4c]
add esi, 0x2c
mov eax, dword [esi]
cmp byte [eax], 0
jne 0x40a497
mov esi, dword [ebp - 0x5c]
push str.output_glob_produces_empty_string__n
push esi
call fcn.0040913e
jmp 0x40a473
mov ecx, dword [ebx + 0x88]
mov edi, eax
test ecx, ecx
je 0x40a4cc
cmp byte [ecx], 0
je 0x40a4cc
push eax
push ecx
push 0x457120
call fcn.004120e6
mov edi, eax
add esp, 0xc
test edi, edi
je 0x40a302
push dword [esi]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
mov dword [esi], edi
cmp byte [ebx + 0x1c3], 0
mov esi, dword [ebp - 0x5c]
je 0x40a4ed
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.00402aa8
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x40c5a8
cmp byte [ebx + 0x2d], 0
mov edi, dword [ebp - 0x4c]
je 0x40a51f
lea eax, [ebp - 0x44]
push eax
push dword [edi + 0x2c]
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__stat64]
pop ecx
pop ecx
test eax, eax
jne 0x40a517
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], ecx
jmp 0x40a51f
and dword [ebx + 0x48], 0
and dword [ebx + 0x4c], 0
mov eax, dword [ebx + 0x48]
or eax, dword [ebx + 0x4c]
je 0x40a567
mov eax, 0x45f2dc
push eax
push dword [edi + 0x2c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
pop ecx
pop ecx
test eax, eax
jne 0x40a54f
push dword [edi + 0x2c]
push str.Cant_open__s__n
push esi
call fcn.00409199
jmp 0x40a2ff
lea edx, [edi + 0x78]
mov byte [edx + 7], 1
mov dword [edx + 8], eax
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x4c]
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
jmp 0x40a56e
lea edx, [edi + 0x78]
and dword [edx + 8], 0
mov eax, dword [edi + 0x2c]
mov edi, dword [ebp - 0x80]
mov dword [edx], eax
mov byte [edx + 6], 1
jmp 0x40a57f
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x234]
test ecx, ecx
je 0x40a662
call fcn.0040d03a
test al, al
jne 0x40a5b4
mov esi, dword [ebp - 0x54]
mov edx, ecx
mov ecx, dword [esi]
call fcn.0040d05c
test eax, eax
je 0x40a032
mov dword [esi], eax
jmp 0x40a665
mov dword [ebp - 0x54], edi
call fcn.0040d03a
test al, al
je 0x40a662
xor edx, edx
mov dword [ebp - 0x54], edi
xor ecx, ecx
xor eax, eax
inc eax
shl eax, cl
and eax, dword [ebx + 0x28]
inc ecx
test eax, eax
je 0x40a5de
inc edx
cmp edx, 1
jg 0x40a5e3
cmp ecx, 0x20
jl 0x40a5cb
cmp byte [ebx + 0x1ca], 0
jne 0x40a5f1
cmp edx, 1
jle 0x40a5fe
push str.Using___anyauth_or___proxy_anyauth_with_upload_from_stdin_involves_a_big_risk_of_it_not_working._Use_a_temporary_file_or_a_fixed_auth_type_instead__n
push esi
call fcn.0040913e
pop ecx
pop ecx
push 0
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
pop ecx
mov ecx, eax
call fcn.00401018
mov edi, dword [ebp - 0x4c]
mov ecx, dword [edi + 0x234]
cmp byte [ecx], 0x2e
jne 0x40a662
movzx eax, byte [ecx + 1]
test al, al
jne 0x40a662
lea eax, [ebp - 0x80]
mov dword [ebp - 0x80], 1
push eax
push 0x8004667e
push dword [edi + 0x34]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
jns 0x40a662
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
pop ecx
push eax
push dword [edi + 0x34]
push str.fcntl_failed_on_fd_d:__s_n
push esi
call fcn.0040913e
add esp, 0x10
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 0x234]
test eax, eax
je 0x40a6b2
cmp byte [ebx + 0x2d], 0
je 0x40a686
or dword [ebx + 0x48], 0xffffffff
or dword [ebx + 0x4c], 0xffffffff
mov eax, dword [ecx + 0x234]
test eax, eax
je 0x40a6b2
mov ecx, dword [esi]
mov edx, str.http:__
push 7
call fcn.00412564
pop ecx
test eax, eax
jne 0x40a6b2
mov ecx, dword [esi]
mov edx, str.https:__
push 8
pop eax
push eax
call fcn.00412564
pop ecx
test eax, eax
je 0x40a6e4
mov eax, dword [ebp - 0x88]
cmp dword [eax + 8], 0
je 0x40a6e4
push dword [eax + 8]
call sub.api_ms_win_crt_stdio_l1_1_0.dll__fileno
pop ecx
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll__isatty
pop ecx
test eax, eax
je 0x40a6e4
mov edi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x4c]
mov word [edi + 5], 0x101
mov byte [eax + 0x38], 1
jmp 0x40a6f9
mov edi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x4c]
mov cl, byte [ebp - 0x61]
mov byte [edi + 5], cl
mov byte [eax + 0x38], cl
mov al, byte [ebp - 0x62]
mov byte [edi + 6], al
cmp dword [ebp - 0x68], 0
je 0x40a77d
push 0x45f440
push dword [esi]
call fcn.00451b50
pop ecx
pop ecx
test eax, eax
je 0x40a716
add eax, 3
jmp 0x40a718
mov eax, dword [esi]
push 0x2f
push eax
call fcn.004518e0
pop ecx
pop ecx
test eax, eax
je 0x40a750
push 0x3f
pop esi
push esi
push eax
call fcn.00451a20
push 0x26
pop ecx
push dword [ebp - 0x68]
test eax, eax
mov eax, dword [ebp - 0x54]
cmovne esi, ecx
push esi
push dword [eax]
push str._s_c_s
call fcn.004120e6
add esp, 0x18
jmp 0x40a762
push dword [ebp - 0x68]
push dword [esi]
push str._s___s
call fcn.004120e6
add esp, 0xc
mov esi, eax
test esi, esi
je 0x40a032
mov eax, dword [ebp - 0x54]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [ebp - 0x54]
pop ecx
mov dword [eax], esi
cmp dword [edi + 8], 0
push 2
pop eax
jne 0x40a791
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
pop ecx
mov dword [edi + 8], eax
mov esi, dword [ebp - 0x4c]
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x40a7c3
xor edx, edx
movzx eax, byte [ecx + edx]
mov edi, 0x456c50
cmp al, byte [edi + edx]
mov edi, dword [ebp - 0x5c]
jne 0x40a7ba
push 2
inc edx
pop eax
cmp edx, eax
jne 0x40a79d
xor eax, eax
jmp 0x40a7bf
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40a7df
cmp byte [ebx + 0x107], 0
jne 0x40a7df
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
pop ecx
mov ecx, eax
call fcn.00401018
mov ecx, dword [esi + 0x2c]
test ecx, ecx
je 0x40a7f6
movzx eax, byte [ecx]
cmp al, 0x2d
jne 0x40a7f6
movzx eax, byte [ecx + 1]
test al, al
jne 0x40a7f6
inc al
jmp 0x40a7f8
xor al, al
push dword [ebp - 0x70]
mov esi, dword [ebp - 0x50]
push 0x2774
push esi
mov byte [ebx + 0x1c0], al
call fcn.0041d108
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x40c5a8
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
call fcn.00409bbc
cmp byte [ebx + 0x254], 0
mov dword [ebp - 0x50], eax
jne 0x40a849
push 0
push 0x79
push str.CURLOPT_TCP_NODELAY
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x255], 0
je 0x40a86b
push 1
push 0xf4
push str.CURLOPT_TCP_FASTOPEN
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebp - 0x4c]
push 0x2711
push str.CURLOPT_WRITEDATA
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebp - 0x4c]
push 0x27d3
push str.CURLOPT_INTERLEAVEDATA
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push 0x402230
push 0x4e2b
push str.CURLOPT_WRITEFUNCTION
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov eax, dword [ebp - 0x4c]
add esp, 0x1c
add eax, 0xd8
push eax
push 0x2719
push str.CURLOPT_READDATA
push ebx
push edi
push 0
push esi
mov dword [eax + 4], ebx
call fcn.0040f352
add esp, 0x1c
push 0x401f10
push 0x4e2c
push str.CURLOPT_READFUNCTION
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov eax, dword [ebp - 0x4c]
add esp, 0x1c
add eax, 0xd8
push eax
push 0x27b8
push str.CURLOPT_SEEKDATA
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push 0x401fb0
push 0x4ec7
push str.CURLOPT_SEEKFUNCTION
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov edx, dword [ebx + 0x230]
add esp, 0x1c
mov ecx, dword [ebx + 0x234]
mov eax, edx
or eax, ecx
mov eax, 0x19000
je 0x40a95d
test ecx, ecx
jg 0x40a95d
jl 0x40a957
cmp edx, eax
jae 0x40a95d
mov eax, dword [ebx + 0x230]
push eax
push 0x62
push str.CURLOPT_BUFFERSIZE
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov eax, dword [ebp - 0x54]
add esp, 0x1c
push dword [eax]
push 0x2712
push str.CURLOPT_URL
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [edi + 5], al
setne al
push eax
push 0x2b
push str.CURLOPT_NOPROGRESS
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x10c], 0
je 0x40a9ca
push 1
push 0x2c
push str.CURLOPT_NOBODY
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x2a0]
test eax, eax
je 0x40a9ec
push eax
push 0x27ec
push str.CURLOPT_XOAUTH2_BEARER
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0xe4]
push 0x2714
push str.CURLOPT_PROXY
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
cmp dword [ebx + 0xe4], 0
je 0x40aa52
test eax, eax
je 0x40aa34
push str.proxy_support_is_disabled_in_this_libcurl_n
push edi
call fcn.00409199
pop ecx
pop ecx
mov dword [ebx + 0x2bc], 1
push 4
jmp 0x40a034
push dword [ebx + 0xe8]
mov edx, edi
mov ecx, esi
push 0x460ea0
push 0x65
push str.CURLOPT_PROXYTYPE
call fcn.0040eb5a
add esp, 0x10
push dword [ebx + 0xe0]
push 0x2716
push str.CURLOPT_PROXYUSERPWD
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x105], al
setne al
push eax
push 0x3d
push str.CURLOPT_HTTPPROXYTUNNEL
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov eax, dword [ebx + 0x240]
add esp, 0x1c
test eax, eax
je 0x40aab1
push eax
push 0x2816
push str.CURLOPT_PRE_PROXY
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x1ca], 0
mov eax, 0x460cb0
je 0x40aac3
push 0xffffffffffffffef
jmp 0x40aaf7
cmp byte [ebx + 0x1c6], 0
je 0x40aad0
push 4
jmp 0x40aaf7
cmp byte [ebx + 0x1c7], 0
je 0x40aadf
push 8
pop ecx
push ecx
jmp 0x40aaf7
cmp byte [ebx + 0x1c8], 0
je 0x40aaec
push 2
jmp 0x40aadb
cmp byte [ebx + 0x1c9], 0
je 0x40ab0b
push 1
push eax
push 0x6f
push str.CURLOPT_PROXYAUTH
mov edx, edi
mov ecx, esi
call fcn.0040ecc5
add esp, 0x10
push dword [ebx + 0xec]
push 0x27c1
push str.CURLOPT_NOPROXY
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x2b8], al
setne al
push eax
push 0x109
push str.CURLOPT_SUPPRESS_CONNECT_HEADERS
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x109], al
setne al
push eax
push 0x2d
push str.CURLOPT_FAILONERROR
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x1b0]
push 0x281a
push str.CURLOPT_REQUEST_TARGET
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov ecx, dword [ebp - 0x4c]
add esp, 0x1c
xor eax, eax
cmp dword [ecx + 0x234], eax
setne al
push eax
push 0x2e
push str.CURLOPT_UPLOAD
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x10d], al
setne al
push eax
push 0x30
push str.CURLOPT_DIRLISTONLY
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x106], al
setne al
push eax
push 0x32
push str.CURLOPT_APPEND
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x110], 0
je 0x40abf8
push 1
jmp 0x40ac1d
cmp byte [ebx + 0x111], 0
jne 0x40ac19
cmp dword [ebx + 0x114], 0
jne 0x40ac19
push 0
push 0x33
push esi
call fcn.0041d108
add esp, 0xc
jmp 0x40ac35
push 2
pop eax
push eax
push 0x460ee0
push 0x33
push str.CURLOPT_NETRC
mov edx, edi
mov ecx, esi
call fcn.0040eb5a
add esp, 0x10
mov eax, dword [ebx + 0x114]
test eax, eax
je 0x40ac57
push eax
push 0x2786
push str.CURLOPT_NETRC_FILE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x107], al
setne al
push eax
push 0x35
push str.CURLOPT_TRANSFERTEXT
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov eax, dword [ebx + 0xc4]
add esp, 0x1c
test eax, eax
je 0x40ac99
push eax
push 0x27f0
push str.CURLOPT_LOGIN_OPTIONS
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0xc0]
push 0x2715
push str.CURLOPT_USERPWD
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0xa4]
push 0x2717
push str.CURLOPT_RANGE
push ebx
push edi
push 1
push esi
call fcn.0040f352
mov eax, dword [ebp - 0x4c]
add esp, 0x1c
add eax, 0xfd
push eax
push 0x271a
push str.CURLOPT_ERRORBUFFER
push ebx
push edi
push 0
push esi
call fcn.0040f352
movsd xmm1, qword [0x46cb08]
add esp, 0x1c
movsd xmm0, qword [ebx + 0x68]
mulsd xmm0, xmm1
movsd qword [ebp - 0x8c], xmm1
cvttsd2si eax, xmm0
push eax
push 0x9b
push str.CURLOPT_TIMEOUT_MS
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov ecx, dword [ebx + 0x220]
add esp, 0x1c
mov dword [ebp - 0x48], eax
sub ecx, 3
je 0x40ad74
sub ecx, 1
jne 0x40adb9
push dword [ebx + 0x50]
push 0x271f
push str.CURLOPT_POSTFIELDS
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
push 0x75a8
push str.CURLOPT_POSTFIELDSIZE_LARGE
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x20
jmp 0x40adb6
mov ecx, dword [ebx + 0x210]
call fcn.00413857
mov edx, dword [ebx + 0x208]
lea eax, [ebx + 0x210]
and dword [eax], 0
mov ecx, esi
push eax
call fcn.00403e02
mov dword [ebp - 0x48], eax
pop ecx
test eax, eax
jne 0x40c5a8
push dword [ebx + 0x210]
mov edx, edi
push ecx
push ecx
mov ecx, esi
call fcn.0040f29f
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x40c5a8
mov eax, dword [ebx + 0x274]
test eax, eax
je 0x40ade3
push eax
push 0x13b
push str.CURLOPT_MIME_OPTIONS
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp dword [ebx + 0x28], 0
je 0x40ae04
push dword [ebx + 0x28]
mov edx, edi
mov ecx, esi
push 0x460cb0
push 0x6b
push str.CURLOPT_HTTPAUTH
call fcn.0040ecc5
add esp, 0x10
push dword [ebx + 0x200]
mov edx, edi
mov ecx, esi
push 0x2727
push str.CURLOPT_HTTPHEADER
call fcn.0040f301
mov eax, dword [0x46f504]
add esp, 0xc
test eax, 0x40001
je 0x40ae65
push dword [ebx + 0x60]
push 0x2720
push str.CURLOPT_REFERER
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0xc]
push 0x2722
push str.CURLOPT_USERAGENT
push ebx
push edi
push 1
push esi
call fcn.0040f352
mov eax, dword [0x46f504]
add esp, 0x1c
test al, 1
je 0x40b014
xor eax, eax
cmp byte [ebx + 0x10e], al
setne al
push eax
push 0x34
push str.CURLOPT_FOLLOWLOCATION
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x10f], al
setne al
push eax
push 0x69
push str.CURLOPT_UNRESTRICTED_AUTH
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x108], al
setne al
push eax
push 0x3a
push str.CURLOPT_AUTOREFERER
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov eax, dword [ebx + 0x204]
add esp, 0x1c
test eax, eax
je 0x40af07
push eax
push 0x27f4
push str.CURLOPT_PROXYHEADER
mov edx, edi
mov ecx, esi
call fcn.0040f301
add esp, 0xc
push 1
push 0xe5
push str.CURLOPT_HEADEROPT
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x78]
push 0x44
push str.CURLOPT_MAXREDIRS
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov eax, dword [ebx + 0x1b4]
add esp, 0x1c
test eax, eax
je 0x40af2b
push eax
jmp 0x40af3b
mov eax, dword [0x46f500]
test dword [eax + 0x10], 0x10000
je 0x40af53
push 4
push 0x460c30
push 0x54
push str.CURLOPT_HTTP_VERSION
mov edx, edi
mov ecx, esi
call fcn.0040eb5a
add esp, 0x10
xor eax, eax
cmp byte [ebx + 0x280], al
setne al
mov ecx, eax
or ecx, 2
cmp byte [ebx + 0x281], 0
cmove ecx, eax
mov eax, ecx
or eax, 4
cmp byte [ebx + 0x282], 0
cmove eax, ecx
push eax
push 0xa1
push str.CURLOPT_POSTREDIR
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x25], 0
je 0x40afb6
push 0x4574ab
push 0x2776
push str.CURLOPT_ACCEPT_ENCODING
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x26], 0
je 0x40afd5
push 1
push 0xcf
push str.CURLOPT_TRANSFER_ENCODING
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x1b8], al
setne al
push eax
push 0x11d
push str.CURLOPT_HTTP09_ALLOWED
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x70], eax
test eax, eax
je 0x40b014
push str.HTTP_0.9_is_not_supported_in_this_build__n
push edi
call fcn.00409199
mov eax, dword [ebp - 0x70]
pop ecx
pop ecx
jmp 0x40c5c4
push dword [ebx + 0x90]
push 0x2721
push str.CURLOPT_FTPPORT
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0xa8]
push 0x13
push str.CURLOPT_LOW_SPEED_LIMIT
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0xac]
push 0x14
push str.CURLOPT_LOW_SPEED_TIME
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x22c]
push dword [ebx + 0x228]
push 0x75c1
push str.CURLOPT_MAX_SEND_SPEED_LARGE
push ebx
push edi
push 0
push esi
call fcn.0040f352
push dword [ebx + 0x234]
push dword [ebx + 0x230]
push 0x75c2
push str.CURLOPT_MAX_RECV_SPEED_LARGE
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x40
cmp byte [ebx + 0x2c], 0
je 0x40b0b6
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x4c]
jmp 0x40b0c4
xorps xmm0, xmm0
movlpd qword [ebp - 0x74], xmm0
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
push ecx
push eax
push 0x75a4
push str.CURLOPT_RESUME_FROM_LARGE
push ebx
push edi
push 0
push esi
call fcn.0040f352
push dword [ebx + 0x180]
push 0x272a
push str.CURLOPT_KEYPASSWD
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x3c
push dword [ebx + 0x184]
push 0x2812
push str.CURLOPT_PROXY_KEYPASSWD
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
and dword [ebp - 0x50], 0x30
je 0x40b1b4
push dword [ebx + 0x170]
push 0x27a9
push str.CURLOPT_SSH_PRIVATE_KEYFILE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x188]
push 0x27a8
push str.CURLOPT_SSH_PUBLIC_KEYFILE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x18c]
push 0x27b2
push str.CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x190]
push 0x2847
push str.CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x2c0], 0
je 0x40b1b4
push 1
push 0x10c
push str.CURLOPT_SSH_COMPRESSION
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x150]
test eax, eax
je 0x40b1d6
push eax
push 0x2751
push str.CURLOPT_CAINFO
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x154]
test eax, eax
je 0x40b1f8
push eax
push 0x2806
push str.CURLOPT_PROXY_CAINFO
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x158]
test eax, eax
je 0x40b24c
push eax
push 0x2771
push str.CURLOPT_CAPATH
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
cmp eax, 4
jne 0x40b244
cmp byte [ebp - 0x63], 0
mov ecx, str.__capath
mov eax, str.SSL_CERT_DIR_environment_variable
cmove eax, ecx
push eax
push str.ignoring__s__not_supported_by_libcurl_n
push edi
call fcn.0040913e
add esp, 0xc
jmp 0x40b24c
test eax, eax
jne 0x40c5a8
mov eax, dword [ebx + 0x15c]
test eax, eax
jne 0x40b260
mov eax, dword [ebx + 0x158]
test eax, eax
je 0x40b2a0
push eax
push 0x2807
push str.CURLOPT_PROXY_CAPATH
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
cmp eax, 4
jne 0x40b298
cmp dword [ebx + 0x15c], 0
je 0x40b2a0
push str.ignoring___proxy_capath__not_supported_by_libcurl_n
push edi
call fcn.0040913e
pop ecx
pop ecx
jmp 0x40b2a0
test eax, eax
jne 0x40c5a8
mov eax, dword [ebx + 0x160]
test eax, eax
je 0x40b2c2
push eax
push 0x27b9
push str.CURLOPT_CRLFILE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x164]
test eax, eax
jne 0x40b2d6
mov eax, dword [ebx + 0x160]
test eax, eax
je 0x40b2ee
push eax
push 0x2814
push str.CURLOPT_PROXY_CRLFILE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x168]
test eax, eax
je 0x40b310
push eax
push 0x27f6
push str.CURLOPT_PINNEDPUBLICKEY
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x1a8]
test eax, eax
je 0x40b332
push eax
push 0x283a
push str.CURLOPT_SSL_EC_CURVES
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [0x46f500]
test byte [eax + 0x10], 4
je 0x40b73a
mov ecx, dword [ebx + 0x140]
test ecx, ecx
je 0x40b376
cmp dword [ebx + 0x148], 0
jne 0x40b376
push 7
mov edx, str.pkcs11:
call fcn.00412564
pop ecx
test eax, eax
je 0x40b376
push 0x45fbb0
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
pop ecx
mov dword [ebx + 0x148], eax
mov ecx, dword [ebx + 0x170]
test ecx, ecx
je 0x40b3ab
cmp dword [ebx + 0x178], 0
jne 0x40b3ab
push 7
mov edx, str.pkcs11:
call fcn.00412564
pop ecx
test eax, eax
je 0x40b3ab
push 0x45fbb0
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
pop ecx
mov dword [ebx + 0x178], eax
mov ecx, dword [ebx + 0x144]
test ecx, ecx
je 0x40b3e0
cmp dword [ebx + 0x14c], 0
jne 0x40b3e0
push 7
mov edx, str.pkcs11:
call fcn.00412564
pop ecx
test eax, eax
je 0x40b3e0
push 0x45fbb0
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
pop ecx
mov dword [ebx + 0x14c], eax
mov ecx, dword [ebx + 0x174]
test ecx, ecx
je 0x40b415
cmp dword [ebx + 0x17c], 0
jne 0x40b415
push 7
mov edx, str.pkcs11:
call fcn.00412564
pop ecx
test eax, eax
je 0x40b415
push 0x45fbb0
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
pop ecx
mov dword [ebx + 0x17c], eax
push dword [ebx + 0x140]
push 0x2729
push str.CURLOPT_SSLCERT
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x144]
push 0x280e
push str.CURLOPT_PROXY_SSLCERT
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x148]
push 0x2766
push str.CURLOPT_SSLCERTTYPE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x14c]
push 0x280f
push str.CURLOPT_PROXY_SSLCERTTYPE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x170]
push 0x2767
push str.CURLOPT_SSLKEY
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x174]
push 0x2810
push str.CURLOPT_PROXY_SSLKEY
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x178]
push 0x2768
push str.CURLOPT_SSLKEYTYPE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x17c]
push 0x2811
push str.CURLOPT_PROXY_SSLKEYTYPE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x2cc]
push 0x2841
push str.CURLOPT_AWS_SIGV4
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x1bd], 0
je 0x40b544
push 0
push 0x40
push str.CURLOPT_SSL_VERIFYPEER
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, str.CURLOPT_SSL_VERIFYHOST
xor edx, edx
push 0x51
jmp 0x40b54e
xor edx, edx
mov eax, str.CURLOPT_SSL_VERIFYPEER
push 0x40
inc edx
pop ecx
push edx
push ecx
push eax
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x1be], 0
je 0x40b59a
push 0
push 0x132
push str.CURLOPT_DOH_SSL_VERIFYPEER
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push 0
push 0x133
push str.CURLOPT_DOH_SSL_VERIFYHOST
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x1bf], 0
je 0x40b5ca
push 0
push 0xf8
push str.CURLOPT_PROXY_SSL_VERIFYPEER
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push 0
push 0xf9
push str.CURLOPT_PROXY_SSL_VERIFYHOST
jmp 0x40b5d6
push 1
push 0xf8
push str.CURLOPT_PROXY_SSL_VERIFYPEER
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x1c1], 0
je 0x40b605
push 1
push 0xe8
push str.CURLOPT_SSL_VERIFYSTATUS
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x1c2], 0
je 0x40b627
push 1
push 0x134
push str.CURLOPT_DOH_SSL_VERIFYSTATUS
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x2ad], 0
je 0x40b649
push 1
push 0xe9
push str.CURLOPT_SSL_FALSESTART
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x1e0]
mov edx, edi
or eax, dword [ebx + 0x1dc]
mov ecx, esi
push eax
push 0x460d70
push 0x20
push str.CURLOPT_SSLVERSION
call fcn.0040eb5a
add esp, 0x10
cmp dword [ebx + 0xe4], 0
je 0x40b698
push dword [ebx + 0x1e4]
mov edx, edi
mov ecx, esi
push 0x460d70
push 0xfa
push str.CURLOPT_PROXY_SSLVERSION
call fcn.0040eb5a
add esp, 0x10
xor ecx, ecx
cmp byte [ebx + 0x29d], cl
push 0x20
pop eax
cmovne ecx, eax
xor eax, eax
cmp byte [ebx + 0x29c], al
push 0x10
pop edx
cmovne eax, edx
or ecx, eax
xor eax, eax
cmp byte [ebx + 0x29b], al
push 8
pop edx
cmovne eax, edx
or ecx, eax
xor eax, eax
cmp byte [ebx + 0x29a], al
push 2
pop edx
cmovne eax, edx
or ecx, eax
xor eax, eax
cmp byte [ebx + 0x298], al
setne al
or ecx, eax
je 0x40b701
push ecx
push 0x460c70
push 0xd8
push str.CURLOPT_SSL_OPTIONS
mov edx, edi
mov ecx, esi
call fcn.0040ecc5
add esp, 0x10
xor ecx, ecx
cmp byte [ebx + 0x29e], cl
push 0x20
pop eax
cmovne ecx, eax
xor eax, eax
cmp byte [ebx + 0x299], al
setne al
or ecx, eax
je 0x40b73a
push ecx
push 0x460c70
push 0x105
push str.CURLOPT_PROXY_SSL_OPTIONS
mov edx, edi
mov ecx, esi
call fcn.0040ecc5
add esp, 0x10
cmp byte [ebx + 0x2ae], 0
je 0x40b75c
push 1
push 0xea
push str.CURLOPT_PATH_AS_IS
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp dword [ebp - 0x50], 0
je 0x40b7c1
cmp byte [ebx + 0x1bd], 0
jne 0x40b7c1
xor edx, edx
mov ecx, str..ssh_known_hosts
call fcn.0040375a
mov dword [ebp - 0x70], eax
test eax, eax
je 0x40b7b4
push eax
push 0x27c7
push str.CURLOPT_SSH_KNOWNHOSTS
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
push dword [ebp - 0x70]
call fcn.00412920
mov eax, dword [ebp - 0x48]
pop ecx
cmp eax, 0x30
je 0x40b7c1
test eax, eax
jne 0x40c5a8
jmp 0x40b7c1
push str.Couldnt_find_a_known_hosts_file_
push edi
call fcn.0040913e
pop ecx
pop ecx
cmp byte [ebx + 0x10c], 0
jne 0x40b7cf
cmp byte [ebx], 0
je 0x40b7e5
push 1
push 0x45
push str.CURLOPT_FILETIME
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x1a0], al
setne al
push eax
push 0x1b
push str.CURLOPT_CRLF
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov edx, edi
mov ecx, esi
push dword [ebx + 0x1d0]
push 0x272c
push str.CURLOPT_QUOTE
call fcn.0040f301
add esp, 0xc
mov edx, edi
mov ecx, esi
push dword [ebx + 0x1d4]
push 0x2737
push str.CURLOPT_POSTQUOTE
call fcn.0040f301
add esp, 0xc
mov edx, edi
mov ecx, esi
push dword [ebx + 0x1d8]
push 0x276d
push str.CURLOPT_PREQUOTE
call fcn.0040f301
mov eax, dword [ebx + 0x10]
add esp, 0xc
mov dword [ebp - 0x50], eax
test eax, eax
je 0x40b8c8
xor ecx, ecx
mov dword [ebp - 0x70], 0x1000
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
mov ecx, dword [eax]
cmp eax, dword [ebx + 0x10]
lea eax, [ebp - 0x7c]
push ecx
jne 0x40b887
push 0x45fe94
jmp 0x40b88c
push 0x45fe98
push eax
call fcn.00410d40
add esp, 0xc
test eax, eax
jne 0x40b8a6
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 4]
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x40b875
push dword [ebp - 0x7c]
push 0x2726
push str.CURLOPT_COOKIE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
lea ecx, [ebp - 0x7c]
call fcn.00410c88
mov eax, dword [ebx + 0x18]
jmp 0x40b8ec
push dword [eax]
push 0x272f
push str.CURLOPT_COOKIEFILE
push ebx
push edi
push 1
push esi
call fcn.0040f352
mov eax, dword [ebp - 0x50]
add esp, 0x1c
mov eax, dword [eax + 4]
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x40b8cd
cmp dword [ebx + 0x14], 0
je 0x40b913
push dword [ebx + 0x14]
push 0x2762
push str.CURLOPT_COOKIEJAR
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x24], al
setne al
push eax
push 0x60
push str.CURLOPT_COOKIESESSION
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov edx, edi
mov ecx, esi
push dword [ebx + 0x1f0]
push 0x460d10
push 0x21
push str.CURLOPT_TIMECONDITION
call fcn.0040eb5a
push dword [ebx + 0x1fc]
push dword [ebx + 0x1f8]
push 0x763e
push str.CURLOPT_TIMEVALUE_LARGE
push ebx
push edi
push 0
push esi
call fcn.0040f352
push dword [ebx + 0x1a4]
push 0x2734
push str.CURLOPT_CUSTOMREQUEST
push ebx
push edi
push 1
push esi
call fcn.0040f352
mov edx, dword [ebx + 0x220]
add esp, 0x4c
mov ecx, ebx
push dword [ebx + 0x1a4]
call fcn.00408d3d
pop ecx
push dword [edi + 8]
push 0x2735
push str.CURLOPT_STDERR
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x94]
push 0x274e
push str.CURLOPT_INTERFACE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x1ac]
push 0x274f
push str.CURLOPT_KRBLEVEL
push ebx
push edi
push 1
push esi
call fcn.0040f352
mov ecx, dword [ebp - 0x4c]
add esp, 0x1c
mov edx, ebx
lea ecx, [ecx + 0x40]
call fcn.00401e09
cmp dword [edi + 0x24], 1
jne 0x40ba16
cmp byte [edi + 5], 0
jne 0x40ba16
cmp byte [edi + 4], 0
jne 0x40ba16
push 0x401b00
jmp 0x40ba4b
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x234]
test ecx, ecx
je 0x40ba7c
cmp byte [ecx], 0x2e
jne 0x40ba7c
movzx eax, byte [ecx + 1]
test al, al
jne 0x40ba7c
push 0
push 0x2b
push str.CURLOPT_NOPROGRESS
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push 0x401f70
push 0x4efb
push str.CURLOPT_XFERINFOFUNCTION
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebp - 0x4c]
push 0x2749
push str.CURLOPT_XFERINFODATA
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0xb0]
test eax, eax
je 0x40ba9e
push eax
push 0x27e3
push str.CURLOPT_DNS_SERVERS
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0xb4]
test eax, eax
je 0x40bac0
push eax
push 0x27ed
push str.CURLOPT_DNS_INTERFACE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0xb8]
test eax, eax
je 0x40bae2
push eax
push 0x27ee
push str.CURLOPT_DNS_LOCAL_IP4
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0xbc]
test eax, eax
je 0x40bb04
push eax
push 0x27ef
push str.CURLOPT_DNS_LOCAL_IP6
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x214]
mov edx, edi
mov ecx, esi
push 0x2756
push str.CURLOPT_TELNETOPTIONS
call fcn.0040f301
add esp, 0xc
push dword [ebx + 4]
push 0x275c
push str.CURLOPT_RANDOM_FILE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 8]
push 0x275d
push str.CURLOPT_EGDSOCKET
push ebx
push edi
push 1
push esi
call fcn.0040f352
movsd xmm0, qword [ebx + 0x70]
add esp, 0x1c
mulsd xmm0, qword [ebp - 0x8c]
cvttsd2si eax, xmm0
push eax
push 0x9c
push str.CURLOPT_CONNECTTIMEOUT_MS
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov eax, dword [ebx + 0x12c]
add esp, 0x1c
test eax, eax
je 0x40bb9f
push eax
push 0x2827
push str.CURLOPT_DOH_URL
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x130]
test eax, eax
je 0x40bbc1
push eax
push 0x2763
push str.CURLOPT_SSL_CIPHER_LIST
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x134]
test eax, eax
je 0x40bbe3
push eax
push 0x2813
push str.CURLOPT_PROXY_SSL_CIPHER_LIST
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x138]
test eax, eax
je 0x40bc05
push eax
push 0x2824
push str.CURLOPT_TLS13_CIPHERS
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x13c]
test eax, eax
je 0x40bc27
push eax
push 0x2825
push str.CURLOPT_PROXY_TLS13_CIPHERS
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x2e], 0
je 0x40bc43
push 0
push 0x55
push str.CURLOPT_FTP_USE_EPSV
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x2f], 0
je 0x40bc5f
push 0
push 0x6a
push str.CURLOPT_FTP_USE_EPRT
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp dword [edi + 0x1c], 0
je 0x40bcaf
push 0x401070
push 0x4e7e
push str.CURLOPT_DEBUGFUNCTION
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push ebx
push 0x276f
push str.CURLOPT_DEBUGDATA
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push 1
push 0x29
push str.CURLOPT_VERBOSE
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x194]
test eax, eax
je 0x40bcdc
push eax
push 0x2769
push str.CURLOPT_SSLENGINE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x40c5a8
push 2
pop ecx
xor eax, eax
cmp byte [ebx + 0x1c4], al
cmovne eax, ecx
push eax
push 0x6e
push str.CURLOPT_FTP_CREATE_MISSING_DIRS
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov ecx, dword [ebx + 0x80]
add esp, 0x1c
mov edx, dword [ebx + 0x84]
mov eax, ecx
or eax, edx
je 0x40bd2a
push edx
push ecx
push 0x75a5
push str.CURLOPT_MAXFILESIZE_LARGE
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x20
push dword [ebx + 0x1e8]
push 0x71
push str.CURLOPT_IPRESOLVE
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x239], 0
je 0x40bd51
push 3
jmp 0x40bd6b
cmp byte [ebx + 0x238], 0
je 0x40bd5e
push 1
jmp 0x40bd6b
cmp byte [ebx + 0x23a], 0
je 0x40bd83
push 2
pop eax
push eax
push 0x460d40
push 0x77
push str.CURLOPT_USE_SSL
mov edx, edi
mov ecx, esi
call fcn.0040eb5a
add esp, 0x10
cmp byte [ebx + 0x23b], 0
je 0x40bdad
push dword [ebx + 0x23c]
mov edx, edi
mov ecx, esi
push 0x460e80
push 0x9a
push str.CURLOPT_FTP_SSL_CCC
call fcn.0040eb5a
add esp, 0x10
mov eax, dword [ebx + 0x244]
test eax, eax
je 0x40bdcf
push eax
push 0xb4
push str.CURLOPT_SOCKS5_GSSAPI_NEC
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x248]
test eax, eax
je 0x40bdf5
push eax
push 0x460cb0
push 0x10b
push str.CURLOPT_SOCKS5_AUTH
mov edx, edi
mov ecx, esi
call fcn.0040ecc5
add esp, 0x10
mov eax, dword [ebx + 0x24c]
test eax, eax
je 0x40be17
push eax
push 0x27fb
push str.CURLOPT_PROXY_SERVICE_NAME
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x250]
test eax, eax
je 0x40be39
push eax
push 0x27fc
push str.CURLOPT_SERVICE_NAME
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x268]
push 0x2796
push str.CURLOPT_FTP_ACCOUNT
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x27d], al
setne al
push eax
push 0x88
push str.CURLOPT_IGNORE_CONTENT_LENGTH
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
xor eax, eax
cmp byte [ebx + 0x1c5], al
setne al
push eax
push 0x89
push str.CURLOPT_FTP_SKIP_PASV_IP
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x270]
push 0x8a
push str.CURLOPT_FTP_FILEMETHOD
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov eax, dword [ebx + 0x98]
add esp, 0x1c
test eax, eax
je 0x40bef8
push eax
push 0x8b
push str.CURLOPT_LOCALPORT
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x9c]
push 0x8c
push str.CURLOPT_LOCALPORTRANGE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x26c]
push 0x27a3
push str.CURLOPT_FTP_ALTERNATIVE_TO_USER
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x27e], 0
je 0x40bf37
push 0
push 0x96
push str.CURLOPT_SSL_SESSIONID_CACHE
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x27f], 0
je 0x40bf72
push 0
push 0x9e
push str.CURLOPT_HTTP_CONTENT_DECODING
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push 0
push 0x9d
push str.CURLOPT_HTTP_TRANSFER_DECODING
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x283], 0
jne 0x40bfc8
push 1
push 0xd5
push str.CURLOPT_TCP_KEEPALIVE
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov eax, dword [ebx + 0x284]
add esp, 0x1c
test eax, eax
je 0x40bfe1
push eax
push 0xd6
push str.CURLOPT_TCP_KEEPIDLE
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
push dword [ebx + 0x284]
push 0xd7
push str.CURLOPT_TCP_KEEPINTVL
jmp 0x40bfd4
push 0
push 0xd5
push str.CURLOPT_TCP_KEEPALIVE
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x278]
test eax, eax
je 0x40c003
push eax
push 0xb2
push str.CURLOPT_TFTP_BLKSIZE
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0xf0]
test eax, eax
je 0x40c025
push eax
push 0x27ca
push str.CURLOPT_MAIL_FROM
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0xf4]
test eax, eax
je 0x40c046
push eax
push 0x27cb
push str.CURLOPT_MAIL_RCPT
mov edx, edi
mov ecx, esi
call fcn.0040f301
add esp, 0xc
xor eax, eax
cmp byte [ebx + 0xfc], al
setne al
push eax
push 0x122
push str.CURLOPT_MAIL_RCPT_ALLLOWFAILS
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x30], 0
je 0x40c088
push 1
push 0xbc
push str.CURLOPT_FTP_USE_PRET
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov eax, dword [ebx + 0x1ec]
test eax, eax
je 0x40c0aa
push eax
push 0x9f
push str.CURLOPT_NEW_FILE_PERMS
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
cmp byte [ebx + 0x38], 0
je 0x40c0ca
push dword [ebx + 0x34]
mov edx, edi
push ecx
push 0xb5
push str.CURLOPT_PROTOCOLS
mov ecx, esi
call fcn.0040ebbc
add esp, 0x10
cmp byte [ebx + 0x40], 0
je 0x40c0ea
push dword [ebx + 0x3c]
mov edx, edi
push ecx
push 0xb6
push str.CURLOPT_REDIR_PROTOCOLS
mov ecx, esi
call fcn.0040ebbc
add esp, 0x10
cmp byte [ebx + 0x288], 0
je 0x40c100
mov eax, dword [ebp - 0x60]
test byte [eax + 0x10], 4
je 0x40c100
mov al, 1
jmp 0x40c102
xor al, al
mov ecx, dword [ebp - 0x4c]
push 0x401580
push 0x4e6f
push str.CURLOPT_HEADERFUNCTION
mov byte [ecx + 0xf4], al
lea eax, [ecx + 0x78]
push ebx
mov dword [ecx + 0xe8], eax
lea eax, [ecx + 0x98]
push edi
mov dword [ecx + 0xec], eax
lea eax, [ebp - 0xac]
push 0
push esi
mov dword [ecx + 0xf0], eax
mov dword [ecx + 0xe0], edi
mov dword [ecx + 0xe4], ebx
call fcn.0040f352
add esp, 0x1c
push dword [ebp - 0x4c]
push 0x272d
push str.CURLOPT_HEADERDATA
push ebx
push edi
push 0
push esi
call fcn.0040f352
mov dword [ebp - 0x48], eax
add esp, 0x1c
mov eax, dword [ebx + 0x218]
test eax, eax
je 0x40c195
push eax
push 0x27db
push str.CURLOPT_RESOLVE
mov edx, edi
mov ecx, esi
call fcn.0040f301
add esp, 0xc
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0x21c]
test eax, eax
je 0x40c1b9
push eax
push 0x2803
push str.CURLOPT_CONNECT_TO
mov edx, edi
mov ecx, esi
call fcn.0040f301
add esp, 0xc
mov dword [ebp - 0x48], eax
mov eax, dword [0x46f500]
test dword [eax + 0x10], 0x4000
je 0x40c2a9
mov eax, dword [ebx + 0xc8]
test eax, eax
je 0x40c1f0
push eax
push 0x27dc
push str.CURLOPT_TLSAUTH_USERNAME
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0xcc]
test eax, eax
je 0x40c215
push eax
push 0x27dd
push str.CURLOPT_TLSAUTH_PASSWORD
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x40c23a
push eax
push 0x27de
push str.CURLOPT_TLSAUTH_TYPE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0xd4]
test eax, eax
je 0x40c25f
push eax
push 0x280b
push str.CURLOPT_PROXY_TLSAUTH_USERNAME
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0xd8]
test eax, eax
je 0x40c284
push eax
push 0x280c
push str.CURLOPT_PROXY_TLSAUTH_PASSWORD
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0xdc]
test eax, eax
je 0x40c2a9
push eax
push 0x280d
push str.CURLOPT_PROXY_TLSAUTH_TYPE
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0x294]
test eax, eax
je 0x40c2ce
push eax
push 0xd2
push str.CURLOPT_GSSAPI_DELEGATION
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0xf8]
test eax, eax
je 0x40c2f3
push eax
push 0x27e9
push str.CURLOPT_MAIL_AUTH
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0x100]
test eax, eax
je 0x40c318
push eax
push 0x2831
push str.CURLOPT_SASL_AUTHZID
push ebx
push edi
push 1
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
cmp byte [ebx + 0x104], 0
je 0x40c33d
push 1
push 0xda
push str.CURLOPT_SASL_IR
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
cmp byte [ebx + 0x2a4], 0
je 0x40c362
push 0
push 0xe1
push str.CURLOPT_SSL_ENABLE_NPN
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
cmp byte [ebx + 0x2a5], 0
je 0x40c387
push 0
push 0xe2
push str.CURLOPT_SSL_ENABLE_ALPN
push ebx
push edi
push 0
push esi
call fcn.0040f352
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0x2a8]
test eax, eax
je 0x40c3c1
cmp byte [ebx + 0x2ac], 0
push eax
je 0x40c3a7
cmp dword [ebx + 0x44], 0
je 0x40c3e4
and dword [edi + 0x24], 0
mov eax, dword [ebp - 0x48]
jmp 0x40a035
push 0x1b
pop eax
mov dword [ebp - 0x48], eax
cmp byte [ebp - 0xa5], 0
je 0x40c5a8
push dword [ebp - 0xa4]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
pop ecx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x84]
cmp byte [ecx], 0
je 0x40c5b7
test eax, eax
je 0x40c5c4
mov byte [ecx], 0
mov ecx, ebx
call fcn.00409b4c
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00450ca6
leave
ret