Function at 0x461550
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 0x4615aa
cmp byte [ebp + 0x50d], 0
je 0x461586
cmp byte [ebp + 0x500], 0
jne 0x4615aa
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.00457d30
add esp, 4
test al, al
je 0x4615ae
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x4615ae
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x4615d0
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x4615d0
mov al, 1
jmp 0x4615d2
xor al, al
cmp byte [ebp + 0x509], 0
mov byte [esp + 0x13], al
je 0x4615fb
test byte [ebx + 0xd80], 0x28
je 0x4615fb
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x4615fb
mov byte [esp + 0x11], 1
jmp 0x461601
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.0045f550
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x461e25
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.004670d0
add esp, 0x14
test esi, esi
je 0x4616e9
mov eax, dword [edi]
test eax, eax
jne 0x4616a6
cmp byte [ebx + 0xb25], al
je 0x461690
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.004670d0
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.0045fa90
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.004670d0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x4616ce
push dword [ebx + 0x78]
call fcn.00457d30
add esp, 4
test al, al
jne 0x4616ce
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.004670d0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x4616e9
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.004670d0
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x4616ed
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x461e25
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 0x461dbf
cmp byte [edi + 0x500], al
jne 0x461dbf
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x461732
mov eax, dword [edi + 0x5d4]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x461786
test eax, eax
jne 0x461dbf
cmp byte [edi + 0x2c4], al
jne 0x46175f
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.004670d0
add esp, 0xc
jmp 0x461dbb
cmp dword [edi + 0x420], 0xffffffff
jne 0x461786
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.004670d0
add esp, 0xc
jmp 0x461dbb
mov ecx, dword [ebp + 0x7dc]
mov eax, dword [edi + 0x7dc]
test ecx, ecx
je 0x4617db
test eax, eax
je 0x461dbb
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4617c0
test dl, dl
je 0x4617bc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4617c0
add ecx, 2
add eax, 2
test dl, dl
jne 0x4617a0
xor eax, eax
jmp 0x4617c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x461dbb
mov al, byte [ebp + 0x7e0]
cmp al, byte [edi + 0x7e0]
jmp 0x4617dd
test eax, eax
jne 0x461dbb
mov ecx, dword [edi + 0x540]
mov edx, dword [ebp + 0x540]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x46181a
push dword [ecx + 0x40]
call fcn.004648d0
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x461dbb
cmp byte [edi + 0x7e1], 0
je 0x461dbb
mov al, byte [ebp + 0x506]
cmp al, byte [edi + 0x506]
jne 0x461dbb
mov al, byte [ebp + 0x507]
cmp al, byte [edi + 0x507]
jne 0x461dbb
test al, al
je 0x46193e
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x461dbb
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x461dbb
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.0046b490
add esp, 8
test eax, eax
je 0x461dbb
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 0x461db7
test edx, edx
je 0x4618dd
test esi, esi
je 0x4618dd
mov al, byte [edx]
cmp al, byte [esi]
jne 0x4618d0
test al, al
je 0x4618cc
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x4618d0
add edx, 2
add esi, 2
test al, al
jne 0x4618b0
xor eax, eax
jmp 0x4618d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x461db7
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 0x461db7
test edx, edx
je 0x46193a
test esi, esi
je 0x46193a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x461927
test al, al
je 0x461923
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x461927
add edx, 2
add esi, 2
test al, al
jne 0x461907
xor eax, eax
jmp 0x46192c
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x461dbb
jmp 0x46193e
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x503]
cmp al, byte [edi + 0x503]
jne 0x461dbb
mov al, byte [ebp + 0x504]
cmp al, byte [edi + 0x504]
jne 0x461dbb
cmp byte [ebp + 0x506], 0
je 0x461a28
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x461dbb
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x461dbb
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.0046b490
add esp, 8
test eax, eax
je 0x461dbb
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x461dbb
cmp dword [ebp + 0x358], 2
jne 0x461a28
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x4619fd
lea eax, [edi + 0x4d0]
push eax
lea eax, [ebp + 0x4d0]
push eax
call fcn.00460950
add esp, 8
test al, al
je 0x461dbb
cmp dword [edi + 0x480], 2
jmp 0x461a22
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00460950
add esp, 8
test al, al
je 0x461dbb
cmp dword [edi + 0x460], 2
jne 0x461dbb
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x461a3c
test eax, eax
jne 0x461dbf
jmp 0x461a4f
test eax, eax
je 0x461a4f
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x461dbb
mov ecx, dword [ebp + 0x7c4]
test ecx, ecx
jne 0x461a62
cmp word [ebp + 0x7c8], cx
je 0x461acd
mov ax, word [edi + 0x7c8]
cmp ax, word [ebp + 0x7c8]
jne 0x461dbb
mov eax, dword [edi + 0x7cc]
cmp eax, dword [ebp + 0x7cc]
jne 0x461dbb
test ecx, ecx
je 0x461acd
mov eax, dword [edi + 0x7c4]
test eax, eax
je 0x461dbb
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x461ac0
test dl, dl
je 0x461abc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x461ac0
add eax, 2
add ecx, 2
test dl, dl
jne 0x461aa0
xor eax, eax
jmp 0x461ac5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x461dbb
mov esi, dword [ebp + 0x540]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x461b4d
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x461b06
test dl, dl
je 0x461b02
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x461b06
add eax, 2
add ecx, 2
test dl, dl
jne 0x461ae6
xor eax, eax
jmp 0x461b0b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x461db3
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x461b40
test dl, dl
je 0x461b3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x461b40
add eax, 2
add ecx, 2
test dl, dl
jne 0x461b20
xor eax, eax
jmp 0x461b45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x461db3
cmp byte [ebp + 0x506], 0
je 0x461b68
test bl, 1
jne 0x461b68
cmp byte [ebp + 0x50f], 0
je 0x461c56
mov eax, dword [edi + 0x540]
push dword [eax]
push dword [esi]
call fcn.0046b4c0
add esp, 8
test eax, eax
jne 0x461bab
mov eax, dword [edi + 0x540]
push dword [eax + 0x40]
call fcn.004648d0
mov ecx, dword [ebp + 0x540]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x461db3
cmp byte [edi + 0x7e1], 0
je 0x461db3
cmp byte [ebp + 0x503], 0
je 0x461bd0
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.0046b4c0
add esp, 8
test eax, eax
je 0x461db3
cmp byte [ebp + 0x504], 0
je 0x461beb
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x461db3
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.0046b4c0
add esp, 8
test eax, eax
je 0x461db3
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x461db3
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x461c56
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00460950
add esp, 8
test al, al
je 0x461db3
cmp dword [edi + 0x460], 2
je 0x461c56
mov byte [esp + 0x12], 1
jmp 0x461db3
mov bh, byte [esp + 0x13]
test bh, bh
je 0x461cf0
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x461c90
test dl, dl
je 0x461c8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x461c90
add eax, 2
add ecx, 2
test dl, dl
jne 0x461c70
xor eax, eax
jmp 0x461c95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x461cce
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x461cc5
test dl, dl
je 0x461cc1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x461cc5
add eax, 2
add ecx, 2
test dl, dl
jne 0x461ca5
xor eax, eax
jmp 0x461cca
sbb eax, eax
or eax, 1
test eax, eax
je 0x461cfd
cmp dword [edi + 0x5e4], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x461dbf
mov dword [esp + 0x18], edi
jmp 0x461dbf
cmp dword [edi + 0x5e4], 0
jne 0x461db3
mov al, byte [esp + 0x11]
test al, al
je 0x461dc9
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x461db3
mov edx, dword [edi + 0x360]
test edx, edx
je 0x461db3
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x461d50
test bl, bl
je 0x461d4c
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x461d50
add ecx, 2
add eax, 2
test bl, bl
jne 0x461d30
xor eax, eax
jmp 0x461d55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x461db3
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x461d80
test cl, cl
je 0x461d7c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x461d80
add eax, 2
add edx, 2
test cl, cl
jne 0x461d60
xor eax, eax
jmp 0x461d85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x461db3
mov al, byte [esp + 0x11]
test bh, bh
jne 0x461d95
test al, al
je 0x461dd4
mov dword [esp + 0x18], edi
test bh, bh
je 0x461da6
cmp dword [edi + 0x5e4], 0
jne 0x461df7
test al, al
je 0x461db3
cmp dword [edi + 0x5e8], 0
jne 0x461df7
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x4616f8
jmp 0x461e02
cmp dword [edi + 0x5e8], 0
jne 0x461db3
jmp 0x461d8d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x461e06
cmp dword [esp + 0x1c], 0
je 0x461e06
push str.Multiplexed_connection_found__n
push ebx
call fcn.004670d0
add esp, 8
jmp 0x461e06
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x461e25
push ebx
mov dword [edi], ebx
call fcn.0045fa90
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.0045fa90
add esp, 4
cmp byte [esp + 0x12], 0
je 0x461e53
cmp byte [ebx + 0xb25], 0
je 0x461e53
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.004670d0
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