Function at 0x405ec0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ecx
mov byte [esp + 0x53], 0
mov byte [esp + 0x54], 0
mov byte [esp + 0x55], 0
test ebx, ebx
je 0x406db0
cmp dword [ebx + 0xb10], 0xc0dedbad
mov edi, eax
mov eax, 2
jne 0x405f93
lea eax, [ebx + 0x2c]
xor ebp, ebp
mov dword [esp + 0x34], eax
lea eax, [edi + 0x14]
mov dword [esp + 0x40], eax
lea esi, [esi]
mov edx, dword [ebx + 8]
test edx, edx
je 0x405f50
movzx eax, byte [edi + 0x7c]
mov byte [edi + 0x7c], 0
test al, al
jne 0x405f67
mov eax, dword [ebx + 0x24]
lea ecx, [eax - 3]
cmp ecx, 0xd
jbe 0x405fa0
lea edx, [eax - 2]
cmp edx, 0xe
jbe 0x405fa2
cmp eax, 0x12
ja case.default.0x405f43
jmp dword [eax*4 + 0x45f6c4]
mov eax, dword [ebx + 0x24]
lea edx, [eax - 3]
cmp edx, 0xc
jbe 0x405f7a
movzx edx, byte [edi + 0x7c]
mov byte [edi + 0x7c], 0
test dl, dl
je 0x405f3e
mov eax, edi
call sym._process_pending_handles
mov edx, dword [ebx + 8]
test edx, edx
jne 0x405f2b
mov eax, dword [ebx + 0x24]
jmp 0x405f3e
mov dword [esp + 8], eax
mov dword [esp + 4], str.In_state__d_with_no_easy_conn__bail_out__n
mov dword [esp], ebx
call sym._Curl_failf
mov eax, 4
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [edx], ebx
cmp eax, 8
mov dword [esp], ebx
setbe al
movzx eax, al
mov dword [esp + 8], eax
lea eax, [esp + 0x48]
mov dword [esp + 4], eax
call sym._Curl_timeleft
test eax, eax
mov eax, dword [ebx + 0x24]
jns 0x405f3e
cmp eax, 3
je 0x407246
cmp eax, 4
je 0x40736a
mov eax, dword [ebx + 0x90]
mov ebp, dword [ebx + 0x70]
mov esi, dword [ebx + 0x74]
mov edx, dword [ebx + 0x94]
mov dword [esp + 0x38], eax
mov eax, ebp
and eax, esi
mov dword [esp + 0x3c], edx
mov edx, dword [ebx + 0x714]
cmp eax, 0xffffffff
mov eax, dword [ebx + 0x710]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], edx
mov dword [esp], eax
je 0x4071b0
call sym._Curl_timediff
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x45f5d0
call sym._Curl_failf
xor esi, esi
cmp dword [ebx + 0x24], 9
ja 0x406eb0
mov edx, 0x1c
lea eax, [ebx + 8]
mov ecx, 1
mov ebp, 0x1c
call sym._multi_done
mov edx, dword [ebx + 0x24]
cmp edx, 0x10
ja 0x406268
lea esi, cs:[esi]
nop
mov eax, edi
call sym._process_pending_handles
mov eax, dword [ebx + 8]
test eax, eax
je 0x4068a8
mov dword [esp], eax
call sym._Curl_pipeline_leave_write
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_pipeline_leave_read
mov eax, dword [ebx + 8]
mov dword [esp], ebx
add eax, 0x2cc
mov dword [esp + 4], eax
call sym._Curl_removeHandleFromPipeline
mov eax, dword [ebx + 8]
mov dword [esp], ebx
add eax, 0x2dc
mov dword [esp + 4], eax
call sym._Curl_removeHandleFromPipeline
mov eax, esi
test al, al
jne 0x406d80
mov eax, dword [ebx + 0x24]
cmp eax, 0x11
je 0x406271
mov eax, dword [ebx + 0x64]
mov dword [ebx + 0x24], 0x11
sub dword [eax + 0x10], 1
mov dword [esp], ebx
call sym._Curl_init_completed
cmp dword [ebx + 0x24], 0x11
jne 0x405f18
jmp 0x406271
xor esi, esi
xor edx, edx
cmp eax, 0x10
jbe 0x406210
cmp eax, 0x11
je 0x406271
cmp edx, 0xffffffff
je 0x405f18
cmp byte [edi + 0x7c], 0
jne 0x405f18
mov dword [ebx + 0x28], ebp
add esp, 0x6c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 8]
test eax, eax
je 0x406988
add eax, 0x2dc
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._Curl_removeHandleFromPipeline
mov eax, dword [ebx + 8]
cmp byte [eax + 0x275], 0
jne 0x406c48
mov ecx, dword [eax + 0x2d8]
test ecx, ecx
jne 0x406c48
xor ecx, ecx
mov edx, ebp
lea eax, [ebx + 8]
call sym._multi_done
mov edx, dword [ebx + 8]
test ebp, ebp
cmovne eax, ebp
test edx, edx
je 0x4061b9
mov dword [ebx + 8], 0
cmp byte [ebx + 0x9d9], 0
mov edx, dword [ebx + 0x24]
mov ebp, eax
je 0x4061d4
cmp dword [ebx + 0xa38], 7
jne 0x406f34
cmp edx, 0x11
je 0x406271
mov eax, dword [ebx + 0x64]
mov dword [ebx + 0x24], 0x11
xor esi, esi
sub dword [eax + 0x10], 1
mov dword [esp], ebx
call sym._Curl_init_completed
mov eax, dword [ebx + 0x24]
mov edx, 0xffffffff
cmp eax, 0x10
ja 0x40612d
lea esi, cs:[esi]
nop
test ebp, ebp
jne 0x406090
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x4063d0
mov dword [esp], ecx
mov dword [esp + 0x38], edx
call sym._Curl_pgrsUpdate
test eax, eax
jne 0x4068c8
mov eax, dword [ebx + 0x24]
mov edx, dword [esp + 0x38]
xor ebp, ebp
jmp 0x40612d
mov dword [esp], ebx
call sym._Curl_pretransfer
mov ebp, eax
test eax, eax
je 0x406b50
xor esi, esi
mov edx, dword [ebx + 0x24]
cmp edx, 0x10
jbe 0x406090
cmp edx, 0x11
jne 0x40613f
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x38], 1
mov dword [ebx + 0x3c], ebx
mov dword [ebx + 0x40], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sym._Curl_llist_insert_next
cmp dword [ebx + 0x24], 0x12
je 0x40613f
mov dword [ebx + 0x24], 0x12
jmp 0x40613f
cmp byte [ebx + 0x4f9], 0
mov esi, dword [ebx + 8]
jne 0x406940
lea eax, [ebx + 8]
mov dword [esp + 0x38], eax
mov eax, dword [esi]
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x28c]
mov eax, dword [eax + 8]
test eax, eax
je 0x407211
lea ecx, [esp + 0x54]
mov dword [esp], esi
mov dword [esp + 4], ecx
call eax
mov ebp, eax
cmp eax, 0x37
je 0x407287
test eax, eax
jne 0x406d08
cmp byte [esp + 0x54], 0
jne 0x4071de
cmp byte [ebx + 0x9d9], 0
je 0x40632c
mov eax, dword [ebx + 0xa38]
and eax, 0xfffffffd
cmp eax, 5
je 0x4075a6
cmp dword [ebx + 0x24], 0xa
je 0x406339
mov dword [ebx + 0x24], 0xa
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x40621b
mov eax, dword [ebx + 8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._Curl_pipeline_checkget_write
mov esi, eax
test al, al
jne 0x406bc0
mov eax, dword [ebx + 0x24]
xor edx, edx
jmp 0x406124
lea eax, [esp + 0x53]
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_protocol_connecting
mov ebp, eax
test eax, eax
jne 0x406bf0
cmp byte [esp + 0x53], 0
mov eax, dword [ebx + 0x24]
je 0x406d70
mov ecx, dword [edi + 0x78]
mov edx, 9
and ecx, 1
sub edx, ecx
cmp edx, eax
je 0x4063c0
mov eax, dword [edx*4 + 0x45f760]
mov dword [ebx + 0x24], edx
test eax, eax
jne 0x40642c
lea esi, [esi]
mov ecx, dword [ebx + 8]
mov edx, 0xffffffff
test ecx, ecx
jne 0x406223
xor ebp, ebp
jmp 0x406136
lea eax, [esp + 0x53]
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_protocol_connect
movzx esi, byte [esp + 0x53]
mov ebp, eax
mov eax, esi
test al, al
je 0x406c18
test ebp, ebp
jne 0x406ee0
mov edx, dword [edi + 0x78]
mov eax, 9
and edx, 1
sub eax, edx
cmp dword [ebx + 0x24], eax
je 0x4063c0
mov dword [ebx + 0x24], eax
mov eax, dword [eax*4 + 0x45f760]
test eax, eax
je 0x4063c0
mov dword [esp], ebx
call eax
mov eax, dword [ebx + 0x24]
mov edx, 0xffffffff
xor ebp, ebp
cmp eax, 0x10
ja 0x40612d
jmp 0x406218
lea eax, [esp + 0x53]
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_http_connect
mov ebp, eax
mov eax, dword [ebx + 8]
cmp byte [eax + 0x272], 0
jne 0x406b88
test ebp, ebp
jne 0x406d28
cmp dword [eax + 0xec], 2
jne 0x40648f
cmp byte [eax + 0x279], 0
je 0x40649f
mov dword [esp], eax
call sym._Curl_connect_complete
test al, al
jne 0x406fb0
mov eax, dword [ebx + 0x24]
xor edx, edx
jmp 0x406439
lea eax, [esp + 0x51]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_is_connected
movzx esi, byte [esp + 0x51]
mov ebp, eax
mov eax, esi
test al, al
je 0x406970
test ebp, ebp
jne 0x40625c
mov ecx, dword [ebx + 8]
cmp dword [ecx + 0xec], 2
jne 0x406f41
cmp byte [ecx + 0x279], 0
jne 0x406f41
cmp dword [ebx + 0x24], 5
je 0x40633c
mov dword [ebx + 0x24], 5
xor edx, edx
jmp 0x40621b
mov esi, dword [ebx + 8]
mov dword [esp + 0x5c], 0
cmp byte [esi + 0x25e], 0
jne 0x406930
cmp byte [esi + 0x25b], 0
je 0x406ea0
mov ebp, dword [esi + 0xb0]
mov eax, dword [esi + 0xf8]
mov dword [esp + 4], ebp
mov dword [esp], esi
mov dword [esp + 8], eax
call sym._Curl_fetch_addr
mov dword [esp + 0x5c], eax
test eax, eax
je 0x406d38
mov dword [esi + 0x408], eax
mov byte [esi + 0x40c], 1
mov dword [esp + 8], ebp
mov dword [esp + 4], 0x45f66c
mov dword [esp], ebx
call sym._Curl_infof
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x406d38
mov edx, ebx
mov eax, edi
call sym._singlesocket
mov ebp, dword [esp + 0x5c]
test ebp, ebp
je 0x40649f
lea eax, [esp + 0x53]
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_async_resolved
mov ebp, eax
test eax, eax
je 0x406e38
mov dword [ebx + 8], 0
mov edx, dword [ebx + 0x24]
mov esi, 1
jmp 0x40625f
mov dword [esp + 4], 2
mov dword [esp], ebx
call sym._Curl_pgrsTime
lea eax, [esp + 0x53]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x52]
mov dword [esp + 8], eax
lea eax, [ebx + 8]
mov dword [esp + 4], eax
call sym._Curl_connect
mov ebp, eax
cmp eax, 0x59
je 0x406f00
test eax, eax
jne 0x40625a
mov eax, dword [ebx + 8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._Curl_add_handle_to_pipeline
mov ebp, eax
test eax, eax
jne 0x406d28
cmp byte [esp + 0x52], 0
jne 0x407543
cmp byte [esp + 0x53], 0
je 0x40755e
mov edx, dword [edi + 0x78]
mov eax, 9
and edx, 1
sub eax, edx
cmp eax, dword [ebx + 0x24]
jne 0x40641e
jmp 0x4063c0
mov eax, dword [ebx + 8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._Curl_pipeline_checkget_read
mov esi, eax
test al, al
je 0x406361
cmp dword [ebx + 0x24], 0xe
je 0x4066f3
mov eax, 0xe
jmp 0x4066f0
mov eax, dword [ebx + 8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._Curl_move_handle_from_send_to_recv_pipe
mov eax, dword [ebx + 8]
cmp byte [eax + 0x275], 0
jne 0x4066c5
mov esi, dword [eax + 0x2d8]
test esi, esi
je 0x4066cf
mov eax, edi
call sym._process_pending_handles
mov eax, dword [ebx + 8]
cmp dword [eax + 0x298], 0xffffffff
jne 0x4066e5
cmp dword [eax + 0x29c], 0xffffffff
je 0x40701b
cmp dword [ebx + 0x24], 0xd
mov eax, 0xd
je 0x4066f3
mov dword [ebx + 0x24], eax
mov edx, 0xffffffff
xor esi, esi
jmp 0x406210
mov esi, dword [ebx + 8]
mov dword [esp + 0x58], 0
mov eax, dword [esi + 0x28c]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x406c30
lea edx, [esp + 0x58]
mov dword [esp], esi
mov dword [esp + 4], edx
call eax
mov ebp, eax
test eax, eax
jne 0x406a90
mov edx, dword [esp + 0x58]
cmp edx, 1
je 0x40715d
mov eax, dword [ebx + 0x24]
mov ecx, 0xa
test edx, edx
je 0x406439
cmp eax, ecx
je 0x4063c0
mov dword [ebx + 0x24], ecx
jmp 0x4063c0
lea eax, [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_protocol_doing
mov ebp, eax
test eax, eax
jne 0x406a90
cmp byte [esp + 0x54], 0
mov eax, dword [ebx + 0x24]
je 0x406d70
mov ecx, dword [ebx + 8]
mov edx, 0xc
movzx esi, byte [ecx + 0x264]
sub edx, esi
cmp eax, edx
je 0x4073ab
mov eax, dword [edx*4 + 0x45f760]
mov dword [ebx + 0x24], edx
test eax, eax
jne 0x40642c
jmp 0x4063c3
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_pgrsUpdate
test eax, eax
je 0x406ab8
mov edx, dword [ebx + 0x24]
xor esi, esi
mov ebp, 0x2a
jmp 0x40625f
mov ecx, dword [ebx + 0x210]
xor esi, esi
mov eax, dword [ebx + 0x214]
mov dword [esp + 0x5c], 0
mov byte [esp + 0x57], 0
cmp esi, ecx
mov dword [esp + 0x38], ecx
mov ecx, esi
sbb ecx, eax
jl 0x4069b0
mov ecx, dword [ebx + 0x218]
mov eax, dword [ebx + 0x21c]
cmp esi, ecx
mov dword [esp + 0x44], ecx
sbb esi, eax
jl 0x406dc0
lea eax, [esp + 0x57]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x55]
mov dword [esp + 8], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_readwrite
mov ebp, eax
mov eax, dword [ebx + 0x110]
test al, 1
je 0x407147
test al, 2
je 0x407137
cmp byte [esp + 0x55], 0
jne 0x407050
cmp ebp, 0x38
je 0x40733c
test ebp, ebp
jne 0x406fce
mov eax, dword [esp + 0x5c]
movzx edx, byte [esp + 0x57]
xor esi, esi
xor ebp, ebp
neg edx
mov dword [esp + 0x38], edx
mov dword [esp], eax
call dword [0x45e810]
mov edx, dword [esp + 0x38]
jmp 0x406a82
mov eax, dword [ebx + 0x24]
cmp eax, 2
jne 0x4060ea
mov dword [esp], ebx
call sym._Curl_posttransfer
jmp 0x4060e7
mov dword [esp + 4], 2
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_conncontrol
mov eax, dword [ebx + 0x24]
cmp eax, 0xf
jbe 0x406920
cmp eax, 0x11
je 0x406ed0
mov eax, dword [ebx + 0x64]
mov dword [ebx + 0x24], 0x11
sub dword [eax + 0x10], 1
mov dword [esp], ebx
call sym._Curl_init_completed
cmp dword [ebx + 0x24], 0x11
je 0x406ed0
mov ebp, 0x2a
jmp 0x405f18
mov dword [ebx + 0x24], 0x10
jmp 0x40690c
mov ebp, dword [esi + 0xe0]
jmp 0x40654b
mov dword [esp + 4], 0
mov dword [esp], esi
call sym._Curl_conncontrol
cmp dword [ebx + 0x24], 0x10
je 0x4063c0
mov dword [ebx + 0x24], 0x10
mov ecx, dword [ebx + 8]
mov edx, 0xffffffff
jmp 0x40621b
test ebp, ebp
setne al
xor edx, edx
mov esi, eax
mov eax, dword [ebx + 0x24]
jmp 0x406124
cmp byte [ebx + 0x9d9], 0
je 0x4061dd
cmp dword [ebx + 0xa38], 7
je 0x4061dd
mov dword [ebx + 0x24], 0
jmp 0x4066f3
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov ecx, dword [ebx + 0x730]
mov edx, dword [ebx + 0x72c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
mov eax, dword [ebx + 0x738]
mov edx, dword [ebx + 0x73c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov edx, dword [ebx + 0x6c4]
mov eax, dword [ebx + 0x6c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Curl_pgrsLimitWaitTime
mov edx, dword [ebx + 0x218]
mov dword [esp + 0x38], eax
mov ecx, eax
mov eax, dword [ebx + 0x21c]
cmp esi, edx
mov dword [esp + 0x44], edx
sbb esi, eax
mov esi, 0
jl 0x406dc8
test ecx, ecx
je 0x40682d
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym._Curl_ratelimit
cmp dword [ebx + 0x24], 0xf
je 0x406a5e
mov dword [ebx + 0x24], 0xf
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 9
cmp esi, eax
jg 0x406e88
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._Curl_expire
xor esi, esi
xor edx, edx
mov eax, dword [ebx + 0x24]
jmp 0x406124
mov dword [esp], ebx
mov esi, 1
call sym._Curl_posttransfer
mov edx, ebp
lea eax, [ebx + 8]
xor ecx, ecx
call sym._multi_done
mov edx, dword [ebx + 0x24]
jmp 0x40625f
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov dword [esp], ebx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call sym._Curl_speedcheck
mov ebp, eax
test eax, eax
jne 0x40625a
mov edx, dword [esp + 0x38]
mov ecx, dword [ebx + 0x210]
mov esi, dword [ebx + 0x214]
cmp edx, ecx
mov eax, edx
sbb eax, esi
jl 0x4073d4
mov esi, dword [ebx + 0x218]
mov ecx, dword [ebx + 0x21c]
mov eax, edx
cmp edx, esi
sbb eax, ecx
jl 0x40748b
cmp dword [ebx + 0x24], 0xe
je 0x406b1f
mov dword [ebx + 0x24], 0xe
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x4c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym._Curl_ratelimit
mov eax, dword [ebx + 0x24]
mov edx, dword [esp + 0x38]
jmp 0x406439
cmp dword [ebx + 0x24], 2
je 0x406b65
mov dword [ebx + 0x24], 2
mov dword [esp], ebx
call sym._Curl_init_CONNECT
mov dword [esp + 4], 1
mov dword [esp], ebx
call sym._Curl_pgrsTime
mov eax, dword [ebx + 0x24]
mov edx, 0xffffffff
jmp 0x406439
xor ecx, ecx
xor edx, edx
lea eax, [ebx + 8]
call sym._multi_done
cmp dword [ebx + 0x24], 2
je 0x4063c0
mov dword [ebx + 0x24], 2
mov dword [esp], ebx
call sym._Curl_init_CONNECT
mov eax, dword [ebx + 0x24]
mov edx, 0xffffffff
jmp 0x406439
cmp dword [ebx + 0x24], 9
je 0x4066f3
mov dword [ebx + 0x24], 9
xor esi, esi
mov dword [esp], ebx
call sym._Curl_connect_free
mov eax, dword [ebx + 0x24]
mov edx, 0xffffffff
jmp 0x406124
mov dword [esp], ebx
mov esi, 1
call sym._Curl_posttransfer
mov edx, ebp
lea eax, [ebx + 8]
mov ecx, 1
call sym._multi_done
mov edx, dword [ebx + 0x24]
jmp 0x40625f
cmp dword [ebx + 0x24], 7
je 0x406c25
mov dword [ebx + 0x24], 7
xor edx, edx
xor esi, esi
jmp 0x406210
mov ecx, esi
xor edx, edx
xor ebp, ebp
test esi, esi
jne 0x406223
jmp 0x40613f
mov eax, edi
call sym._process_pending_handles
jmp 0x40619a
mov esi, dword [eax]
mov dword [esp + 4], str.Re_used_connection_seems_dead__get_a_new_one_n
mov dword [esp + 0x5c], eax
mov dword [esp], esi
mov dword [esp + 0x44], eax
call sym._Curl_infof
mov eax, dword [esp + 0x44]
mov dword [esp + 4], 1
mov dword [esp], eax
call sym._Curl_conncontrol
xor ecx, ecx
xor edx, edx
lea eax, [esp + 0x5c]
call sym._multi_done
mov dword [ebx + 8], 0
test eax, eax
je 0x406c9f
cmp eax, 0x37
jne 0x406cff
lea eax, [esp + 0x57]
mov dword [esp], esi
mov dword [esp + 0xc], eax
lea eax, [esp + 0x56]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov byte [esp + 0x57], 1
mov dword [esp + 4], eax
call sym._Curl_connect
test eax, eax
jne 0x406cf6
mov esi, dword [ebx + 8]
cmp byte [esp + 0x56], 0
mov dword [esp + 0x5c], esi
jne 0x407701
mov eax, dword [esi + 0x28c]
lea ecx, [esp + 0x54]
mov dword [esp], esi
mov dword [esp + 4], ecx
call dword [eax + 8]
test eax, eax
je 0x406306
cmp eax, 0x37
je 0x4072a2
mov ebp, eax
lea esi, [esi]
mov dword [esp], ebx
call sym._Curl_posttransfer
mov eax, dword [ebx + 8]
test eax, eax
je 0x406d28
mov eax, dword [esp + 0x38]
xor ecx, ecx
mov edx, ebp
call sym._multi_done
lea esi, [esi]
mov edx, dword [ebx + 0x24]
mov esi, 1
jmp 0x40625f
lea eax, [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_resolver_is_resolved
mov edx, ebx
mov ebp, eax
mov eax, edi
call sym._singlesocket
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x4065af
mov eax, dword [ebx + 0x24]
mov edx, eax
test ebp, ebp
jne 0x4065d6
nop
xor edx, edx
jmp 0x406439
xor eax, eax
cmp ebp, 0x1c
sete al
mov dword [esp + 8], eax
mov eax, dword [ebx + 8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym._Curl_disconnect
mov dword [ebx + 8], 0
mov eax, dword [ebx + 0x24]
jmp 0x4060ea
add esp, 0x6c
mov eax, 2
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov edx, dword [ebx + 0x740]
mov ecx, dword [ebx + 0x744]
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x748]
mov edx, dword [ebx + 0x74c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0x6b8]
mov edx, dword [ebx + 0x6bc]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._Curl_pgrsLimitWaitTime
mov ecx, dword [esp + 0x38]
mov esi, eax
or ecx, eax
jmp 0x406a31
cmp byte [esp + 0x53], 0
je 0x406f82
mov edx, dword [edi + 0x78]
mov eax, 9
and edx, 1
sub eax, edx
mov edx, 0xffffffff
cmp eax, dword [ebx + 0x24]
je 0x406439
mov ecx, dword [eax*4 + 0x45f760]
mov dword [ebx + 0x24], eax
test ecx, ecx
je 0x406439
mov dword [esp + 0x38], edx
mov dword [esp], ebx
call ecx
mov eax, dword [ebx + 0x24]
mov edx, dword [esp + 0x38]
jmp 0x406439
mov dword [esp + 4], esi
mov dword [esp], ebx
call sym._Curl_expire
jmp 0x406a7e
mov ebp, dword [esi + 0x9c]
jmp 0x40654b
mov dword [esp + 4], 2
mov eax, dword [ebx + 8]
mov esi, 1
mov dword [esp], eax
call sym._Curl_conncontrol
jmp 0x406063
mov ebp, 0x2a
jmp 0x406271
mov dword [esp], ebx
call sym._Curl_posttransfer
mov edx, ebp
lea eax, [ebx + 8]
mov ecx, 1
call sym._multi_done
mov edx, dword [ebx + 0x24]
jmp 0x40625f
cmp dword [ebx + 0x24], 1
je 0x406f0d
mov dword [ebx + 0x24], 1
lea eax, [ebx + 0xc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 4], eax
lea eax, [edi + 0x24]
mov dword [esp], eax
call sym._Curl_llist_insert_next
mov eax, dword [ebx + 0x24]
xor edx, edx
jmp 0x406439
test edx, edx
jne 0x4069a2
jmp 0x4066f3
mov dword [esp], ecx
call sym._Curl_connect_ongoing
mov ecx, dword [ebx + 8]
test al, al
jne 0x406501
movzx edx, byte [ecx + 0x269]
mov eax, 6
sub eax, edx
cmp dword [ebx + 0x24], eax
je 0x4073ab
mov dword [ebx + 0x24], eax
mov eax, dword [eax*4 + 0x45f760]
test eax, eax
jne 0x40642c
jmp 0x4063c3
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_connect_ongoing
test al, al
je 0x40752c
cmp dword [ebx + 0x24], 5
mov edx, 0xffffffff
je 0x406218
mov dword [ebx + 0x24], 5
jmp 0x406218
cmp dword [ebx + 0x24], 6
mov ecx, dword [ebx + 8]
mov edx, 0xffffffff
je 0x40621b
mov dword [ebx + 0x24], 6
jmp 0x40621b
cmp ebp, 0x5c
setne cl
mov eax, dword [ebx + 8]
mov edx, dword [eax + 0x28c]
test byte [edx + 0x44], 2
jne 0x406ff7
test cl, cl
je 0x406ff7
mov dword [esp + 4], 2
mov dword [esp], eax
call sym._Curl_conncontrol
mov dword [esp], ebx
xor esi, esi
call sym._Curl_posttransfer
mov edx, ebp
lea eax, [ebx + 8]
mov ecx, 1
call sym._multi_done
mov eax, dword [esp + 0x5c]
xor edx, edx
jmp 0x40688f
cmp byte [ebx + 0x9d9], 0
je 0x40703a
mov eax, dword [eax + 0x28c]
test byte [eax + 0x45], 0x10
jne 0x40703a
mov dword [ebx + 0xa38], 7
cmp dword [ebx + 0x24], 0x10
je 0x4066f3
mov dword [ebx + 0x24], 0x10
jmp 0x4066f3
lea eax, [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_retry_request
test eax, eax
jne 0x4073b5
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x40735b
test ebp, ebp
jne 0x406fce
cmp byte [esp + 0x55], 0
je 0x406884
xor esi, esi
mov dword [esp], ebx
call sym._Curl_posttransfer
mov eax, dword [ebx + 8]
mov dword [esp], ebx
add eax, 0x2dc
mov dword [esp + 4], eax
call sym._Curl_removeHandleFromPipeline
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x2dc]
test eax, eax
je 0x4070cf
mov dword [esp + 8], 6
mov dword [esp + 4], 0
mov eax, dword [eax]
mov dword [esp], eax
call sym._Curl_expire
mov eax, dword [ebx + 0x11c]
test eax, eax
je 0x40758f
mov eax, esi
mov dword [esp + 0x38], 2
test al, al
jne 0x407114
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call dword [0x45e810]
mov eax, dword [ebx + 0x11c]
mov dword [esp + 0x38], 3
mov dword [ebx + 0x11c], 0
mov dword [esp + 0x5c], eax
lea eax, [ebx + 8]
xor ecx, ecx
xor edx, edx
call sym._multi_done
mov ebp, eax
test eax, eax
je 0x4075c2
mov eax, dword [esp + 0x5c]
xor esi, esi
xor edx, edx
jmp 0x40688f
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_pipeline_leave_write
jmp 0x406864
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_pipeline_leave_read
mov eax, dword [ebx + 0x110]
jmp 0x40685c
mov eax, dword [esi + 0x29c]
mov ecx, dword [esi + 0x298]
mov edx, dword [esi]
cmp eax, ecx
cmovb eax, ecx
mov byte [edx + 0x128], 0
add eax, 1
mov dword [edx + 0x10c], eax
mov dword [esp], edx
mov dword [esp + 4], 6
call sym._Curl_pgrsTime
mov edx, dword [esp + 0x58]
mov eax, dword [ebx + 0x24]
test edx, edx
je 0x406439
xor ecx, ecx
cmp edx, 1
sete cl
lea ecx, [ecx + ecx + 0xa]
jmp 0x406750
call sym._Curl_timediff
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 4], 0x45f624
call sym._Curl_failf
jmp 0x406057
mov eax, dword [esi + 0x29c]
mov edx, dword [esi + 0x298]
mov ecx, dword [esi]
cmp eax, edx
cmovb eax, edx
mov byte [ecx + 0x128], 0
add eax, 1
mov dword [ecx + 0x10c], eax
mov dword [esp + 4], 6
mov dword [esp], ecx
call sym._Curl_pgrsTime
cmp byte [esp + 0x54], 0
je 0x406311
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0x24]
cmp byte [ecx + 0x264], 0
je 0x4074fa
cmp eax, 0xb
je 0x40633c
mov dword [ebx + 0x24], 0xb
xor edx, edx
jmp 0x40621b
mov eax, dword [ebx + 0x710]
mov edx, dword [ebx + 0x714]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._Curl_timediff
mov dword [esp + 4], str.Resolving_timed_out_after__ld_milliseconds
mov dword [esp + 8], eax
mov dword [esp], ebx
call sym._Curl_failf
jmp 0x406057
cmp byte [esi + 0x25a], 0
mov eax, dword [ebx + 8]
je 0x4072a2
mov esi, dword [esp + 0x44]
mov esi, dword [esi + 0x64]
test esi, esi
je 0x406c54
mov eax, dword [ebx + 8]
movzx esi, byte [eax + 0x25a]
mov ecx, esi
test cl, cl
je 0x406d08
lea edx, [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 0x5c], 0
call sym._Curl_retry_request
test eax, eax
jne 0x407609
mov dword [esp], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x44], eax
call sym._Curl_posttransfer
mov eax, dword [esp + 0x38]
mov edx, 0x37
xor ecx, ecx
call sym._multi_done
mov edx, dword [esp + 0x44]
test edx, edx
je 0x407737
test eax, eax
mov ebp, eax
sete cl
cmp eax, 0x37
mov esi, ecx
sete cl
xor edx, edx
mov eax, esi
or al, cl
mov esi, eax
jne 0x4076b6
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x38], edx
mov dword [esp], eax
call dword [0x45e810]
mov eax, dword [ebx + 0x24]
mov edx, dword [esp + 0x38]
jmp 0x406124
lea eax, [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_retry_request
test eax, eax
jne 0x4073ca
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x4073ca
mov byte [esp + 0x55], 1
mov esi, 1
jmp 0x40708c
mov eax, dword [ebx + 0x710]
mov edx, dword [ebx + 0x714]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._Curl_timediff
mov dword [esp + 4], str.Connection_timed_out_after__ld_milliseconds
mov dword [esp + 8], eax
mov dword [esp], ebx
call sym._Curl_failf
jmp 0x406057
mov edx, 0xffffffff
jmp 0x406223
test ebp, ebp
jne 0x406fce
cmp eax, 0x5c
mov ebp, eax
setne cl
jmp 0x406fd4
mov ecx, 1
jmp 0x406fd4
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov eax, dword [ebx + 0x72c]
mov edx, dword [ebx + 0x730]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov eax, dword [ebx + 0x738]
mov edx, dword [ebx + 0x73c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov edx, dword [ebx + 0x6c4]
mov eax, dword [ebx + 0x6c0]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Curl_pgrsLimitWaitTime
mov edx, dword [esp + 0x38]
mov esi, dword [ebx + 0x218]
mov ecx, dword [ebx + 0x21c]
mov ebp, eax
cmp edx, esi
mov eax, edx
mov dword [esp + 0x38], ebp
sbb eax, ecx
mov eax, 0
jl 0x40748d
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x406b12
mov dword [esp + 0x38], edx
mov dword [esp + 8], 9
cmp eax, ebp
jg 0x407514
mov dword [esp + 4], ebp
mov dword [esp], ebx
call sym._Curl_expire
mov eax, dword [ebx + 0x24]
mov edx, dword [esp + 0x38]
jmp 0x406439
xor ebp, ebp
mov eax, dword [esp + 0x48]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov eax, dword [ebx + 0x740]
mov edx, dword [ebx + 0x744]
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ecx
mov eax, dword [ebx + 0x748]
mov edx, dword [ebx + 0x74c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov edx, dword [ebx + 0x6bc]
mov eax, dword [ebx + 0x6b8]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Curl_pgrsLimitWaitTime
mov edx, dword [esp + 0x44]
mov esi, eax
or esi, ebp
mov dword [esp + 0x38], esi
jmp 0x407453
mov edx, 0xffffffff
cmp eax, 0xc
je 0x40621b
mov dword [ebx + 0x24], 0xc
jmp 0x40621b
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._Curl_expire
mov eax, dword [ebx + 0x24]
mov edx, dword [esp + 0x38]
jmp 0x406439
cmp dword [ebx + 0x24], 4
je 0x407539
mov dword [ebx + 0x24], 4
mov edx, 0xffffffff
jmp 0x406218
cmp dword [ebx + 0x24], 3
mov ecx, dword [ebx + 8]
je 0x40633c
mov dword [ebx + 0x24], 3
xor edx, edx
jmp 0x40621b
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym._Curl_connect_ongoing
test al, al
je 0x40762f
cmp dword [ebx + 0x24], 5
je 0x4063c0
mov dword [ebx + 0x24], 5
mov ecx, dword [ebx + 8]
mov edx, 0xffffffff
jmp 0x40621b
mov eax, esi
test al, al
je 0x40764d
mov dword [esp + 0x38], 2
jmp 0x407114
mov eax, dword [esp + 0x38]
xor ecx, ecx
xor edx, edx
call sym._multi_done
cmp dword [ebx + 0x24], 0x10
jne 0x40695a
jmp 0x4063c0
mov eax, dword [esp + 0x38]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call sym._Curl_follow
mov ebp, eax
test eax, eax
jne 0x40712a
cmp dword [ebx + 0x24], 2
je 0x4075f9
mov dword [ebx + 0x24], 2
mov dword [esp], ebx
call sym._Curl_init_CONNECT
mov eax, dword [esp + 0x5c]
xor esi, esi
mov edx, 0xffffffff
jmp 0x40688f
mov dword [esp], ebx
mov dword [esp + 0x44], eax
call sym._Curl_posttransfer
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
xor ecx, ecx
call sym._multi_done
mov ebp, dword [esp + 0x44]
xor edx, edx
jmp 0x40731f
cmp dword [ebx + 0x24], 4
je 0x4063c0
mov dword [ebx + 0x24], 4
mov ecx, dword [ebx + 8]
mov edx, 0xffffffff
jmp 0x40621b
mov eax, dword [ebx + 0x118]
xor ebp, ebp
test eax, eax
je 0x407697
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call dword [0x45e810]
mov eax, dword [ebx + 0x118]
mov dword [ebx + 0x118], 0
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 0x5c], eax
call sym._Curl_follow
test eax, eax
mov ebp, eax
setne al
mov esi, eax
cmp dword [ebx + 0x24], 0x10
mov eax, dword [esp + 0x5c]
mov edx, 0xffffffff
je 0x40688f
mov dword [ebx + 0x24], 0x10
jmp 0x40688f
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], 2
xor esi, esi
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 0x38], edx
call sym._Curl_follow
mov edx, dword [esp + 0x38]
test eax, eax
mov ebp, eax
jne 0x40731f
cmp dword [ebx + 0x24], 2
je 0x4076f7
mov dword [ebx + 0x24], 2
mov dword [esp], ebx
call sym._Curl_init_CONNECT
xor esi, esi
or edx, 0xffffffff
jmp 0x40731f
xor ecx, ecx
mov dword [esp], esi
mov dword [esp + 4], ecx
call sym._Curl_resolver_wait_resolv
test eax, eax
jne 0x406cf6
lea eax, [esp + 0x57]
mov dword [esp], esi
mov dword [esp + 4], eax
call sym._Curl_async_resolved
test eax, eax
jne 0x406cf6
mov esi, dword [ebx + 8]
jmp 0x406cda
xor edx, edx
jmp 0x40731f