Function at 0x46f600
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 0x46f65a
cmp byte [ebp + 0x50d], 0
je 0x46f636
cmp byte [ebp + 0x500], 0
jne 0x46f65a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.00465df0
add esp, 4
test al, al
je 0x46f65e
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x46f65e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x46f680
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x46f680
mov al, 1
jmp 0x46f682
xor al, al
cmp byte [ebp + 0x509], 0
mov byte [esp + 0x13], al
je 0x46f6ab
test byte [ebx + 0xd80], 0x28
je 0x46f6ab
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x46f6ab
mov byte [esp + 0x11], 1
jmp 0x46f6b1
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.0046d600
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x46fed5
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.00475180
add esp, 0x14
test esi, esi
je 0x46f799
mov eax, dword [edi]
test eax, eax
jne 0x46f756
cmp byte [ebx + 0xb25], al
je 0x46f740
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.00475180
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.0046db40
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.00475180
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x46f77e
push dword [ebx + 0x78]
call fcn.00465df0
add esp, 4
test al, al
jne 0x46f77e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.00475180
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x46f799
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.00475180
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x46f79d
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x46fed5
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 0x46fe6f
cmp byte [edi + 0x500], al
jne 0x46fe6f
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x46f7e2
mov eax, dword [edi + 0x5d4]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x46f836
test eax, eax
jne 0x46fe6f
cmp byte [edi + 0x2c4], al
jne 0x46f80f
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.00475180
add esp, 0xc
jmp 0x46fe6b
cmp dword [edi + 0x420], 0xffffffff
jne 0x46f836
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.00475180
add esp, 0xc
jmp 0x46fe6b
mov ecx, dword [ebp + 0x7dc]
mov eax, dword [edi + 0x7dc]
test ecx, ecx
je 0x46f88b
test eax, eax
je 0x46fe6b
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x46f870
test dl, dl
je 0x46f86c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x46f870
add ecx, 2
add eax, 2
test dl, dl
jne 0x46f850
xor eax, eax
jmp 0x46f875
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46fe6b
mov al, byte [ebp + 0x7e0]
cmp al, byte [edi + 0x7e0]
jmp 0x46f88d
test eax, eax
jne 0x46fe6b
mov ecx, dword [edi + 0x540]
mov edx, dword [ebp + 0x540]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x46f8ca
push dword [ecx + 0x40]
call fcn.00472980
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x46fe6b
cmp byte [edi + 0x7e1], 0
je 0x46fe6b
mov al, byte [ebp + 0x506]
cmp al, byte [edi + 0x506]
jne 0x46fe6b
mov al, byte [ebp + 0x507]
cmp al, byte [edi + 0x507]
jne 0x46fe6b
test al, al
je 0x46f9ee
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x46fe6b
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x46fe6b
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.00479540
add esp, 8
test eax, eax
je 0x46fe6b
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 0x46fe67
test edx, edx
je 0x46f98d
test esi, esi
je 0x46f98d
mov al, byte [edx]
cmp al, byte [esi]
jne 0x46f980
test al, al
je 0x46f97c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x46f980
add edx, 2
add esi, 2
test al, al
jne 0x46f960
xor eax, eax
jmp 0x46f985
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46fe67
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 0x46fe67
test edx, edx
je 0x46f9ea
test esi, esi
je 0x46f9ea
mov al, byte [edx]
cmp al, byte [esi]
jne 0x46f9d7
test al, al
je 0x46f9d3
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x46f9d7
add edx, 2
add esi, 2
test al, al
jne 0x46f9b7
xor eax, eax
jmp 0x46f9dc
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x46fe6b
jmp 0x46f9ee
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x503]
cmp al, byte [edi + 0x503]
jne 0x46fe6b
mov al, byte [ebp + 0x504]
cmp al, byte [edi + 0x504]
jne 0x46fe6b
cmp byte [ebp + 0x506], 0
je 0x46fad8
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x46fe6b
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x46fe6b
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.00479540
add esp, 8
test eax, eax
je 0x46fe6b
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x46fe6b
cmp dword [ebp + 0x358], 2
jne 0x46fad8
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x46faad
lea eax, [edi + 0x4d0]
push eax
lea eax, [ebp + 0x4d0]
push eax
call fcn.0046ea00
add esp, 8
test al, al
je 0x46fe6b
cmp dword [edi + 0x480], 2
jmp 0x46fad2
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.0046ea00
add esp, 8
test al, al
je 0x46fe6b
cmp dword [edi + 0x460], 2
jne 0x46fe6b
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x46faec
test eax, eax
jne 0x46fe6f
jmp 0x46faff
test eax, eax
je 0x46faff
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x46fe6b
mov ecx, dword [ebp + 0x7c4]
test ecx, ecx
jne 0x46fb12
cmp word [ebp + 0x7c8], cx
je 0x46fb7d
mov ax, word [edi + 0x7c8]
cmp ax, word [ebp + 0x7c8]
jne 0x46fe6b
mov eax, dword [edi + 0x7cc]
cmp eax, dword [ebp + 0x7cc]
jne 0x46fe6b
test ecx, ecx
je 0x46fb7d
mov eax, dword [edi + 0x7c4]
test eax, eax
je 0x46fe6b
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46fb70
test dl, dl
je 0x46fb6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46fb70
add eax, 2
add ecx, 2
test dl, dl
jne 0x46fb50
xor eax, eax
jmp 0x46fb75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46fe6b
mov esi, dword [ebp + 0x540]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x46fbfd
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46fbb6
test dl, dl
je 0x46fbb2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46fbb6
add eax, 2
add ecx, 2
test dl, dl
jne 0x46fb96
xor eax, eax
jmp 0x46fbbb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46fe63
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46fbf0
test dl, dl
je 0x46fbec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46fbf0
add eax, 2
add ecx, 2
test dl, dl
jne 0x46fbd0
xor eax, eax
jmp 0x46fbf5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46fe63
cmp byte [ebp + 0x506], 0
je 0x46fc18
test bl, 1
jne 0x46fc18
cmp byte [ebp + 0x50f], 0
je 0x46fd06
mov eax, dword [edi + 0x540]
push dword [eax]
push dword [esi]
call fcn.00479570
add esp, 8
test eax, eax
jne 0x46fc5b
mov eax, dword [edi + 0x540]
push dword [eax + 0x40]
call fcn.00472980
mov ecx, dword [ebp + 0x540]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x46fe63
cmp byte [edi + 0x7e1], 0
je 0x46fe63
cmp byte [ebp + 0x503], 0
je 0x46fc80
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.00479570
add esp, 8
test eax, eax
je 0x46fe63
cmp byte [ebp + 0x504], 0
je 0x46fc9b
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x46fe63
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.00479570
add esp, 8
test eax, eax
je 0x46fe63
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x46fe63
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x46fd06
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.0046ea00
add esp, 8
test al, al
je 0x46fe63
cmp dword [edi + 0x460], 2
je 0x46fd06
mov byte [esp + 0x12], 1
jmp 0x46fe63
mov bh, byte [esp + 0x13]
test bh, bh
je 0x46fda0
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46fd40
test dl, dl
je 0x46fd3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46fd40
add eax, 2
add ecx, 2
test dl, dl
jne 0x46fd20
xor eax, eax
jmp 0x46fd45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46fd7e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46fd75
test dl, dl
je 0x46fd71
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x46fd75
add eax, 2
add ecx, 2
test dl, dl
jne 0x46fd55
xor eax, eax
jmp 0x46fd7a
sbb eax, eax
or eax, 1
test eax, eax
je 0x46fdad
cmp dword [edi + 0x5e4], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x46fe6f
mov dword [esp + 0x18], edi
jmp 0x46fe6f
cmp dword [edi + 0x5e4], 0
jne 0x46fe63
mov al, byte [esp + 0x11]
test al, al
je 0x46fe79
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x46fe63
mov edx, dword [edi + 0x360]
test edx, edx
je 0x46fe63
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x46fe00
test bl, bl
je 0x46fdfc
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x46fe00
add ecx, 2
add eax, 2
test bl, bl
jne 0x46fde0
xor eax, eax
jmp 0x46fe05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46fe63
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x46fe30
test cl, cl
je 0x46fe2c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x46fe30
add eax, 2
add edx, 2
test cl, cl
jne 0x46fe10
xor eax, eax
jmp 0x46fe35
sbb eax, eax
or eax, 1
test eax, eax
jne 0x46fe63
mov al, byte [esp + 0x11]
test bh, bh
jne 0x46fe45
test al, al
je 0x46fe84
mov dword [esp + 0x18], edi
test bh, bh
je 0x46fe56
cmp dword [edi + 0x5e4], 0
jne 0x46fea7
test al, al
je 0x46fe63
cmp dword [edi + 0x5e8], 0
jne 0x46fea7
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x46f7a8
jmp 0x46feb2
cmp dword [edi + 0x5e8], 0
jne 0x46fe63
jmp 0x46fe3d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x46feb6
cmp dword [esp + 0x1c], 0
je 0x46feb6
push str.Multiplexed_connection_found__n
push ebx
call fcn.00475180
add esp, 8
jmp 0x46feb6
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x46fed5
push ebx
mov dword [edi], ebx
call fcn.0046db40
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.0046db40
add esp, 4
cmp byte [esp + 0x12], 0
je 0x46ff03
cmp byte [ebx + 0xb25], 0
je 0x46ff03
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.00475180
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