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

Disassembly:
sub esp, 0x24
push ebx
push esi
mov esi, dword [esp + 0x34]
push edi
mov edi, dword [esp + 0x34]
xor ebx, ebx
push esi
push edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], ebx
call fcn.0084ecf0
mov dl, byte [edi + 0xdf0]
mov dword [esp + 0x14], eax
mov al, 0x28
add esp, 8
test al, dl
mov cl, 3
je 0x84e4a7
mov edx, dword [esi + 0x5a8]
mov dword [esp + 0x14], 1
test byte [edx + 0x40], cl
jne 0x84e4ab
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x538], ebx
je 0x84e4ce
test byte [edi + 0xe08], al
je 0x84e4ce
mov eax, dword [esi + 0x5a8]
mov dword [esp + 0x10], 1
test byte [eax + 0x40], cl
jne 0x84e4d2
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x2c]
mov dword [ecx], ebx
mov dword [edx], ebx
mov ecx, dword [edi + 0xd60]
push eax
push ecx
push esi
call fcn.0085a180
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x28], eax
je 0x84eca6
mov edi, eax
mov eax, dword [edi]
cmp eax, 2
mov eax, str.can_multiplex
je 0x84e512
mov eax, str.serially
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
push eax
push edi
push edx
push str.Found_bundle_for_host__s:__p___s__n
push esi
call fcn.00853e70
mov eax, dword [esp + 0x20]
add esp, 0x14
cmp eax, ebx
je 0x84e5ba
cmp dword [edi], ebx
jne 0x84e57c
cmp dword [esi + 0xbe0], ebx
je 0x84e56a
push str.Server_doesnt_support_multiplex_yet__wait_n
push esi
call fcn.00853e70
mov eax, dword [esp + 0x4c]
push esi
mov dword [eax], 1
call fcn.0085a120
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 0x24
ret
push str.Server_doesnt_support_multiplex__yet__n
push esi
call fcn.00853e70
add esp, 8
mov dword [esp + 0xc], ebx
cmp dword [edi], 2
jne 0x84e5a3
mov ecx, dword [esi + 0x78]
push ecx
call fcn.00851900
add esp, 4
test eax, eax
jne 0x84e5a3
push str.Could_multiplex__but_not_asked_to__n
push esi
call fcn.00853e70
add esp, 8
mov dword [esp + 0xc], ebx
cmp dword [edi], 0xffffffff
jne 0x84e5ba
push str.Can_not_multiplex__even_if_we_wanted_to__n
push esi
call fcn.00853e70
add esp, 8
mov dword [esp + 0xc], ebx
mov edi, dword [edi + 8]
cmp edi, ebx
mov dword [esp + 0x18], edi
je 0x84eca6
push ebp
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ebx
mov ebp, dword [eax]
mov edx, dword [eax + 8]
mov dword [esp + 0x1c], edx
cmp dword [ebp + 0x58c], ebx
jne 0x84ec36
cmp dword [ebp + 0x514], ebx
jne 0x84ec36
mov eax, dword [esp + 0x2c]
cmp dword [eax], 2
jne 0x84e606
mov ecx, dword [ebp + 0x630]
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x10], ebx
jne 0x84e66d
cmp dword [esp + 0x24], ebx
jne 0x84ec36
mov al, byte [ebp + 0x2c4]
test al, al
jne 0x84e63e
mov edx, dword [ebp + 0x2b0]
mov eax, dword [esp + 0x38]
push edx
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push eax
call fcn.00853e70
add esp, 0xc
jmp 0x84ec36
cmp dword [ebp + 0x408], 0xffffffff
jne 0x84e66d
mov ecx, dword [ebp + 0x2b0]
mov edx, dword [esp + 0x38]
push ecx
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push edx
mov dword [esp + 0x34], 1
call fcn.00853e70
add esp, 0xc
jmp 0x84ec36
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x848]
cmp eax, ebx
je 0x84e6d4
mov esi, dword [ebp + 0x848]
cmp esi, ebx
je 0x84ec36
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x84e6ad
test cl, cl
je 0x84e6a9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x84e6ad
add eax, 2
add esi, 2
test cl, cl
jne 0x84e689
xor eax, eax
jmp 0x84e6b2
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x84ec36
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x84c]
mov eax, dword [ebp + 0x84c]
cmp ecx, eax
jne 0x84ec36
jmp 0x84e6e0
cmp dword [ebp + 0x848], ebx
jne 0x84ec36
mov esi, dword [esp + 0x3c]
mov eax, dword [ebp + 0x5a8]
mov edx, dword [esi + 0x5a8]
mov ecx, dword [eax + 0x44]
xor ecx, dword [edx + 0x44]
test cl, 1
je 0x84e722
mov edx, dword [eax + 0x40]
push edx
call fcn.00850f60
mov ecx, dword [esi + 0x5a8]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x84ec36
cmp dword [ebp + 0x850], ebx
je 0x84ec36
mov edx, dword [esi + 0x52c]
mov eax, dword [ebp + 0x52c]
cmp edx, eax
jne 0x84ec36
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x530]
mov eax, dword [eax + 0x530]
cmp eax, ecx
jne 0x84ec36
cmp eax, ebx
je 0x84e774
mov edx, dword [esp + 0x3c]
lea ecx, [ebp + 0x324]
add edx, 0x324
push ecx
push edx
call fcn.0084ed90
add esp, 8
test eax, eax
je 0x84ec36
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x520]
mov eax, dword [ebp + 0x520]
cmp ecx, eax
jne 0x84ec36
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x524]
mov eax, dword [edx + 0x524]
cmp eax, ecx
jne 0x84ec36
mov ecx, edx
cmp dword [ecx + 0x52c], ebx
je 0x84e85d
lea edx, [ebp + 0x344]
add ecx, 0x344
push edx
push ecx
call fcn.0084ed50
add esp, 8
test eax, eax
je 0x84ec36
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x550]
mov eax, dword [ebp + 0x550]
cmp ecx, eax
jne 0x84ec36
mov ecx, dword [esp + 0x3c]
cmp dword [ecx + 0x358], 2
jne 0x84e85d
mov edx, dword [ecx + 0x5a8]
test byte [edx + 0x44], 1
je 0x84e82e
lea eax, [ebp + 0x4cc]
add ecx, 0x4cc
push eax
push ecx
call fcn.0084b3c0
add esp, 8
test eax, eax
je 0x84ec36
cmp dword [ebp + 0x470], 2
jne 0x84ec36
jmp 0x84e859
lea edx, [ebp + 0x494]
add ecx, 0x494
push edx
push ecx
call fcn.0084b3c0
add esp, 8
test eax, eax
je 0x84ec36
cmp dword [ebp + 0x450], 2
jne 0x84ec36
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x10], ebx
jne 0x84e870
cmp dword [ebp], ebx
jne 0x84ec36
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebp]
cmp eax, ebx
je 0x84e889
mov ecx, dword [ecx]
mov edx, dword [eax + 0x78]
cmp edx, dword [ecx + 0x78]
jne 0x84ec36
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + 0x82c]
cmp esi, ebx
jne 0x84e89c
cmp word [ecx + 0x830], bx
je 0x84e90d
mov ax, word [ebp + 0x830]
cmp ax, word [ecx + 0x830]
jne 0x84ec36
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x834]
cmp ecx, dword [edx + 0x834]
jne 0x84ec36
cmp esi, ebx
je 0x84e909
mov eax, dword [ebp + 0x82c]
cmp eax, ebx
je 0x84ec36
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x84e8fc
test cl, cl
je 0x84e8f8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x84e8fc
add eax, 2
add esi, 2
test cl, cl
jne 0x84e8d8
xor eax, eax
jmp 0x84e901
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x84ec36
mov ecx, dword [esp + 0x3c]
mov edi, dword [ecx + 0x5a8]
mov edx, dword [edi + 0x44]
test dl, 0x80
jne 0x84e9a1
mov eax, dword [esp + 0x3c]
mov esi, dword [ebp + 0x3d8]
mov eax, dword [eax + 0x3d8]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x84e953
test cl, cl
je 0x84e94f
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x84e953
add eax, 2
add esi, 2
test cl, cl
jne 0x84e92f
xor eax, eax
jmp 0x84e958
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x84ec36
mov ecx, dword [esp + 0x3c]
mov esi, dword [ebp + 0x3dc]
mov eax, dword [ecx + 0x3dc]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x84e994
test cl, cl
je 0x84e990
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x84e994
add eax, 2
add esi, 2
test cl, cl
jne 0x84e970
xor eax, eax
jmp 0x84e999
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x84ec36
mov ebx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x52c]
test eax, eax
je 0x84e9c2
test dl, 1
jne 0x84e9c2
mov eax, dword [ebx + 0x550]
test eax, eax
je 0x84eac1
mov edx, dword [ebp + 0x5a8]
mov ecx, dword [edi]
mov eax, dword [edx]
push eax
push ecx
call fcn.0085a950
add esp, 8
test eax, eax
jne 0x84ea09
mov edx, dword [ebp + 0x5a8]
mov eax, dword [edx + 0x40]
push eax
call fcn.00850f60
mov ecx, dword [ebx + 0x5a8]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x84ec36
mov eax, dword [ebp + 0x850]
test eax, eax
je 0x84ec36
mov eax, dword [ebx + 0x520]
test eax, eax
je 0x84ea31
mov edx, dword [ebp + 0x31c]
mov eax, dword [ebx + 0x31c]
push edx
push eax
call fcn.0085a950
add esp, 8
test eax, eax
je 0x84ec36
mov eax, dword [ebx + 0x524]
test eax, eax
je 0x84ea4f
mov ecx, dword [ebx + 0x36c]
mov eax, dword [ebp + 0x36c]
cmp ecx, eax
jne 0x84ec36
mov edx, dword [ebp + 0x304]
mov eax, dword [ebx + 0x304]
push edx
push eax
call fcn.0085a950
add esp, 8
test eax, eax
je 0x84ec36
mov ecx, dword [ebx + 0x368]
mov eax, dword [ebp + 0x368]
cmp ecx, eax
jne 0x84ec36
mov edx, dword [ebx + 0x5a8]
test byte [edx + 0x44], 1
je 0x84eac1
lea eax, [ebp + 0x494]
lea ecx, [ebx + 0x494]
push eax
push ecx
call fcn.0084b3c0
add esp, 8
test eax, eax
je 0x84ec36
cmp dword [ebp + 0x450], 2
je 0x84eac1
mov dword [esp + 0x28], 1
jmp 0x84ec36
mov eax, dword [esp + 0x18]
test eax, eax
je 0x84eb56
mov esi, dword [ebp + 0x3d8]
mov eax, dword [ebx + 0x3d8]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x84eafd
test cl, cl
je 0x84eaf9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x84eafd
add eax, 2
add esi, 2
test cl, cl
jne 0x84ead9
xor eax, eax
jmp 0x84eb02
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x84eb3f
mov esi, dword [ebp + 0x3dc]
mov eax, dword [ebx + 0x3dc]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x84eb36
test cl, cl
je 0x84eb32
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x84eb36
add eax, 2
add esi, 2
test cl, cl
jne 0x84eb12
xor eax, eax
jmp 0x84eb3b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x84eb64
mov eax, dword [ebp + 0x63c]
test eax, eax
jne 0x84ec36
mov dword [esp + 0x20], ebp
jmp 0x84ec36
mov eax, dword [ebp + 0x63c]
test eax, eax
jne 0x84ec36
mov eax, dword [esp + 0x14]
test eax, eax
je 0x84ebf8
mov edi, dword [ebp + 0x35c]
test edi, edi
je 0x84ec36
mov esi, dword [ebp + 0x360]
test esi, esi
je 0x84ec36
mov eax, dword [ebx + 0x35c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x84ebb6
test cl, cl
je 0x84ebb2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x84ebb6
add eax, 2
add edi, 2
test cl, cl
jne 0x84eb92
xor eax, eax
jmp 0x84ebbb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x84ec36
mov eax, dword [ebx + 0x360]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x84ebed
test cl, cl
je 0x84ebe9
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x84ebed
add eax, 2
add esi, 2
test cl, cl
jne 0x84ebc5
xor eax, eax
jmp 0x84ebf2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x84ec04
jmp 0x84ec36
mov ecx, dword [ebp + 0x640]
test ecx, ecx
jne 0x84ec36
jmp 0x84ec08
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x84ec14
test eax, eax
je 0x84ec4a
mov esi, ebp
test ecx, ecx
mov dword [esp + 0x20], esi
je 0x84ec28
mov ecx, dword [ebp + 0x63c]
test ecx, ecx
jne 0x84ec74
test eax, eax
je 0x84ec36
mov eax, dword [ebp + 0x640]
test eax, eax
jne 0x84ec74
mov eax, dword [esp + 0x1c]
xor ebx, ebx
cmp eax, ebx
jne 0x84e5ca
mov esi, dword [esp + 0x20]
jmp 0x84ec7e
mov eax, dword [esp + 0x10]
test eax, eax
je 0x84ec70
mov eax, dword [esp + 0x24]
mov esi, ebp
test eax, eax
je 0x84ec7e
mov eax, dword [esp + 0x38]
push str.Multiplexed_connection_found__n
push eax
call fcn.00853e70
add esp, 8
jmp 0x84ec7e
mov esi, ebp
jmp 0x84ec7e
mov ecx, dword [esp + 0x44]
mov dword [ecx], 1
xor ebx, ebx
pop ebp
cmp esi, ebx
je 0x84eca6
mov eax, dword [esp + 0x34]
push eax
mov dword [esi], eax
call fcn.0085a120
mov edx, dword [esp + 0x40]
add esp, 4
mov eax, 1
mov dword [edx], esi
pop edi
pop esi
pop ebx
add esp, 0x24
ret
mov esi, dword [esp + 0x34]
push esi
call fcn.0085a120
mov eax, dword [esp + 0x28]
add esp, 4
cmp eax, ebx
je 0x84ecdb
cmp dword [esi + 0xbe0], ebx
je 0x84ecdb
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push esi
call fcn.00853e70
mov eax, dword [esp + 0x4c]
add esp, 8
mov dword [eax], 1
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x24
ret