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

Disassembly:
sub esp, 0x18
push ebx
push ebp
mov ebp, dword [esp + 0x28]
push esi
push edi
xor edi, edi
mov byte [esp + 0x12], 0
mov eax, dword [ebp + 0x540]
xor esi, esi
mov dword [esp + 0x18], edi
test byte [eax + 0x40], 3
je 0x45fa2a
cmp byte [ebp + 0x50d], 0
je 0x45fa06
cmp byte [ebp + 0x500], 0
jne 0x45fa2a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.004561c0
add esp, 4
test al, al
je 0x45fa2e
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x45fa2e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x45fa50
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x45fa50
mov al, 1
jmp 0x45fa52
xor al, al
cmp byte [ebp + 0x509], 0
mov byte [esp + 0x13], al
je 0x45fa7b
test byte [ebx + 0xd80], 0x28
je 0x45fa7b
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x45fa7b
mov byte [esp + 0x11], 1
jmp 0x45fa81
xor al, al
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x38]
mov byte [eax], 0
mov eax, dword [esp + 0x3c]
mov byte [eax], 0
lea eax, [esp + 0x20]
push eax
push dword [ebx + 0xcd0]
push ebp
call fcn.0045d9d0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x4602a5
cmp dword [edi], 2
mov eax, str.serially
mov ecx, str.can_multiplex
cmovne ecx, eax
push ecx
push edi
push dword [esp + 0x28]
push str.Found_bundle_for_host__s:__p___s__n
push ebx
call fcn.00465540
add esp, 0x14
test esi, esi
je 0x45fb69
mov eax, dword [edi]
test eax, eax
jne 0x45fb26
cmp byte [ebx + 0xb25], al
je 0x45fb10
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.00465540
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.0045df10
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push str.Server_doesnt_support_multiplex__yet__n
push ebx
call fcn.00465540
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x45fb4e
push dword [ebx + 0x78]
call fcn.004561c0
add esp, 4
test al, al
jne 0x45fb4e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.00465540
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x45fb69
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.00465540
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x45fb6d
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x4602a5
mov edi, dword [esi]
xor eax, eax
mov esi, dword [esi + 8]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], esi
cmp byte [edi + 0x51e], al
jne 0x46023f
cmp byte [edi + 0x500], al
jne 0x46023f
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x45fbb2
mov eax, dword [edi + 0x5d4]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x45fc06
test eax, eax
jne 0x46023f
cmp byte [edi + 0x2c4], al
jne 0x45fbdf
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.00465540
add esp, 0xc
jmp 0x46023b
cmp dword [edi + 0x420], 0xffffffff
jne 0x45fc06
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.00465540
add esp, 0xc
jmp 0x46023b
mov ecx, dword [ebp + 0x7dc]
mov eax, dword [edi + 0x7dc]
test ecx, ecx
je 0x45fc5b
test eax, eax
je 0x46023b
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x45fc40
test dl, dl
je 0x45fc3c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x45fc40
add ecx, 2
add eax, 2
test dl, dl
jne 0x45fc20
xor eax, eax
jmp 0x45fc45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46023b
mov al, byte [ebp + 0x7e0]
cmp al, byte [edi + 0x7e0]
jmp 0x45fc5d
test eax, eax
jne 0x46023b
mov ecx, dword [edi + 0x540]
mov edx, dword [ebp + 0x540]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x45fc9a
push dword [ecx + 0x40]
call fcn.00462d40
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x46023b
cmp byte [edi + 0x7e1], 0
je 0x46023b
mov al, byte [ebp + 0x506]
cmp al, byte [edi + 0x506]
jne 0x46023b
mov al, byte [ebp + 0x507]
cmp al, byte [edi + 0x507]
jne 0x46023b
test al, al
je 0x45fdbe
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x46023b
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x46023b
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.00469920
add esp, 8
test eax, eax
je 0x46023b
mov edx, dword [ebp + 0x33c]
xor ecx, ecx
mov esi, dword [edi + 0x33c]
test edx, edx
sete cl
xor eax, eax
test esi, esi
sete al
cmp ecx, eax
jne 0x460237
test edx, edx
je 0x45fd5d
test esi, esi
je 0x45fd5d
mov al, byte [edx]
cmp al, byte [esi]
jne 0x45fd50
test al, al
je 0x45fd4c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x45fd50
add edx, 2
add esi, 2
test al, al
jne 0x45fd30
xor eax, eax
jmp 0x45fd55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x460237
mov edx, dword [ebp + 0x340]
xor ecx, ecx
mov esi, dword [edi + 0x340]
test edx, edx
sete cl
xor eax, eax
test esi, esi
sete al
cmp ecx, eax
jne 0x460237
test edx, edx
je 0x45fdba
test esi, esi
je 0x45fdba
mov al, byte [edx]
cmp al, byte [esi]
jne 0x45fda7
test al, al
je 0x45fda3
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x45fda7
add edx, 2
add esi, 2
test al, al
jne 0x45fd87
xor eax, eax
jmp 0x45fdac
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x46023b
jmp 0x45fdbe
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x503]
cmp al, byte [edi + 0x503]
jne 0x46023b
mov al, byte [ebp + 0x504]
cmp al, byte [edi + 0x504]
jne 0x46023b
cmp byte [ebp + 0x506], 0
je 0x45fea8
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x46023b
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x46023b
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.00469920
add esp, 8
test eax, eax
je 0x46023b
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x46023b
cmp dword [ebp + 0x358], 2
jne 0x45fea8
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x45fe7d
lea eax, [edi + 0x4d0]
push eax
lea eax, [ebp + 0x4d0]
push eax
call fcn.0045edd0
add esp, 8
test al, al
je 0x46023b
cmp dword [edi + 0x480], 2
jmp 0x45fea2
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.0045edd0
add esp, 8
test al, al
je 0x46023b
cmp dword [edi + 0x460], 2
jne 0x46023b
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x45febc
test eax, eax
jne 0x46023f
jmp 0x45fecf
test eax, eax
je 0x45fecf
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x46023b
mov ecx, dword [ebp + 0x7c4]
test ecx, ecx
jne 0x45fee2
cmp word [ebp + 0x7c8], cx
je 0x45ff4d
mov ax, word [edi + 0x7c8]
cmp ax, word [ebp + 0x7c8]
jne 0x46023b
mov eax, dword [edi + 0x7cc]
cmp eax, dword [ebp + 0x7cc]
jne 0x46023b
test ecx, ecx
je 0x45ff4d
mov eax, dword [edi + 0x7c4]
test eax, eax
je 0x46023b
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45ff40
test dl, dl
je 0x45ff3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45ff40
add eax, 2
add ecx, 2
test dl, dl
jne 0x45ff20
xor eax, eax
jmp 0x45ff45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46023b
mov esi, dword [ebp + 0x540]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x45ffcd
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45ff86
test dl, dl
je 0x45ff82
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45ff86
add eax, 2
add ecx, 2
test dl, dl
jne 0x45ff66
xor eax, eax
jmp 0x45ff8b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x460233
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45ffc0
test dl, dl
je 0x45ffbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45ffc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x45ffa0
xor eax, eax
jmp 0x45ffc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x460233
cmp byte [ebp + 0x506], 0
je 0x45ffe8
test bl, 1
jne 0x45ffe8
cmp byte [ebp + 0x50f], 0
je 0x4600d6
mov eax, dword [edi + 0x540]
push dword [eax]
push dword [esi]
call fcn.00469950
add esp, 8
test eax, eax
jne 0x46002b
mov eax, dword [edi + 0x540]
push dword [eax + 0x40]
call fcn.00462d40
mov ecx, dword [ebp + 0x540]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x460233
cmp byte [edi + 0x7e1], 0
je 0x460233
cmp byte [ebp + 0x503], 0
je 0x460050
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.00469950
add esp, 8
test eax, eax
je 0x460233
cmp byte [ebp + 0x504], 0
je 0x46006b
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x460233
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.00469950
add esp, 8
test eax, eax
je 0x460233
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x460233
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x4600d6
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.0045edd0
add esp, 8
test al, al
je 0x460233
cmp dword [edi + 0x460], 2
je 0x4600d6
mov byte [esp + 0x12], 1
jmp 0x460233
mov bh, byte [esp + 0x13]
test bh, bh
je 0x460170
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x460110
test dl, dl
je 0x46010c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x460110
add eax, 2
add ecx, 2
test dl, dl
jne 0x4600f0
xor eax, eax
jmp 0x460115
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46014e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x460145
test dl, dl
je 0x460141
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x460145
add eax, 2
add ecx, 2
test dl, dl
jne 0x460125
xor eax, eax
jmp 0x46014a
sbb eax, eax
or eax, 1
test eax, eax
je 0x46017d
cmp dword [edi + 0x5e4], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x46023f
mov dword [esp + 0x18], edi
jmp 0x46023f
cmp dword [edi + 0x5e4], 0
jne 0x460233
mov al, byte [esp + 0x11]
test al, al
je 0x460249
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x460233
mov edx, dword [edi + 0x360]
test edx, edx
je 0x460233
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x4601d0
test bl, bl
je 0x4601cc
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x4601d0
add ecx, 2
add eax, 2
test bl, bl
jne 0x4601b0
xor eax, eax
jmp 0x4601d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x460233
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x460200
test cl, cl
je 0x4601fc
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x460200
add eax, 2
add edx, 2
test cl, cl
jne 0x4601e0
xor eax, eax
jmp 0x460205
sbb eax, eax
or eax, 1
test eax, eax
jne 0x460233
mov al, byte [esp + 0x11]
test bh, bh
jne 0x460215
test al, al
je 0x460254
mov dword [esp + 0x18], edi
test bh, bh
je 0x460226
cmp dword [edi + 0x5e4], 0
jne 0x460277
test al, al
je 0x460233
cmp dword [edi + 0x5e8], 0
jne 0x460277
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x45fb78
jmp 0x460282
cmp dword [edi + 0x5e8], 0
jne 0x460233
jmp 0x46020d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x460286
cmp dword [esp + 0x1c], 0
je 0x460286
push str.Multiplexed_connection_found__n
push ebx
call fcn.00465540
add esp, 8
jmp 0x460286
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x4602a5
push ebx
mov dword [edi], ebx
call fcn.0045df10
mov eax, dword [esp + 0x38]
add esp, 4
mov dword [eax], edi
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push ebx
call fcn.0045df10
add esp, 4
cmp byte [esp + 0x12], 0
je 0x4602d3
cmp byte [ebx + 0xb25], 0
je 0x4602d3
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.00465540
mov eax, dword [esp + 0x44]
add esp, 8
mov byte [eax], 1
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x18
ret