Function at 0x849f70
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.0084a800
mov dl, byte [edi + 0xdf0]
mov dword [esp + 0x14], eax
mov al, 0x28
add esp, 8
test al, dl
mov cl, 3
je 0x849fb7
mov edx, dword [esi + 0x5a8]
mov dword [esp + 0x14], 1
test byte [edx + 0x40], cl
jne 0x849fbb
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x538], ebx
je 0x849fde
test byte [edi + 0xe08], al
je 0x849fde
mov eax, dword [esi + 0x5a8]
mov dword [esp + 0x10], 1
test byte [eax + 0x40], cl
jne 0x849fe2
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.00855c90
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x28], eax
je 0x84a7b6
mov edi, eax
mov eax, dword [edi]
cmp eax, 2
mov eax, str.can_multiplex
je 0x84a022
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.0084f980
mov eax, dword [esp + 0x20]
add esp, 0x14
cmp eax, ebx
je 0x84a0ca
cmp dword [edi], ebx
jne 0x84a08c
cmp dword [esi + 0xbe0], ebx
je 0x84a07a
push str.Server_doesnt_support_multiplex_yet__wait_n
push esi
call fcn.0084f980
mov eax, dword [esp + 0x4c]
push esi
mov dword [eax], 1
call fcn.00855c30
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.0084f980
add esp, 8
mov dword [esp + 0xc], ebx
cmp dword [edi], 2
jne 0x84a0b3
mov ecx, dword [esi + 0x78]
push ecx
call fcn.0084d410
add esp, 4
test eax, eax
jne 0x84a0b3
push str.Could_multiplex__but_not_asked_to__n
push esi
call fcn.0084f980
add esp, 8
mov dword [esp + 0xc], ebx
cmp dword [edi], 0xffffffff
jne 0x84a0ca
push str.Can_not_multiplex__even_if_we_wanted_to__n
push esi
call fcn.0084f980
add esp, 8
mov dword [esp + 0xc], ebx
mov edi, dword [edi + 8]
cmp edi, ebx
mov dword [esp + 0x18], edi
je 0x84a7b6
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 0x84a746
cmp dword [ebp + 0x514], ebx
jne 0x84a746
mov eax, dword [esp + 0x2c]
cmp dword [eax], 2
jne 0x84a116
mov ecx, dword [ebp + 0x630]
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x10], ebx
jne 0x84a17d
cmp dword [esp + 0x24], ebx
jne 0x84a746
mov al, byte [ebp + 0x2c4]
test al, al
jne 0x84a14e
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.0084f980
add esp, 0xc
jmp 0x84a746
cmp dword [ebp + 0x408], 0xffffffff
jne 0x84a17d
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.0084f980
add esp, 0xc
jmp 0x84a746
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x848]
cmp eax, ebx
je 0x84a1e4
mov esi, dword [ebp + 0x848]
cmp esi, ebx
je 0x84a746
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x84a1bd
test cl, cl
je 0x84a1b9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x84a1bd
add eax, 2
add esi, 2
test cl, cl
jne 0x84a199
xor eax, eax
jmp 0x84a1c2
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x84a746
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x84c]
mov eax, dword [ebp + 0x84c]
cmp ecx, eax
jne 0x84a746
jmp 0x84a1f0
cmp dword [ebp + 0x848], ebx
jne 0x84a746
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 0x84a232
mov edx, dword [eax + 0x40]
push edx
call fcn.0084ca70
mov ecx, dword [esi + 0x5a8]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x84a746
cmp dword [ebp + 0x850], ebx
je 0x84a746
mov edx, dword [esi + 0x52c]
mov eax, dword [ebp + 0x52c]
cmp edx, eax
jne 0x84a746
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x530]
mov eax, dword [eax + 0x530]
cmp eax, ecx
jne 0x84a746
cmp eax, ebx
je 0x84a284
mov edx, dword [esp + 0x3c]
lea ecx, [ebp + 0x324]
add edx, 0x324
push ecx
push edx
call fcn.0084a8a0
add esp, 8
test eax, eax
je 0x84a746
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x520]
mov eax, dword [ebp + 0x520]
cmp ecx, eax
jne 0x84a746
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x524]
mov eax, dword [edx + 0x524]
cmp eax, ecx
jne 0x84a746
mov ecx, edx
cmp dword [ecx + 0x52c], ebx
je 0x84a36d
lea edx, [ebp + 0x344]
add ecx, 0x344
push edx
push ecx
call fcn.0084a860
add esp, 8
test eax, eax
je 0x84a746
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x550]
mov eax, dword [ebp + 0x550]
cmp ecx, eax
jne 0x84a746
mov ecx, dword [esp + 0x3c]
cmp dword [ecx + 0x358], 2
jne 0x84a36d
mov edx, dword [ecx + 0x5a8]
test byte [edx + 0x44], 1
je 0x84a33e
lea eax, [ebp + 0x4cc]
add ecx, 0x4cc
push eax
push ecx
call fcn.00846ed0
add esp, 8
test eax, eax
je 0x84a746
cmp dword [ebp + 0x470], 2
jne 0x84a746
jmp 0x84a369
lea edx, [ebp + 0x494]
add ecx, 0x494
push edx
push ecx
call fcn.00846ed0
add esp, 8
test eax, eax
je 0x84a746
cmp dword [ebp + 0x450], 2
jne 0x84a746
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x10], ebx
jne 0x84a380
cmp dword [ebp], ebx
jne 0x84a746
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebp]
cmp eax, ebx
je 0x84a399
mov ecx, dword [ecx]
mov edx, dword [eax + 0x78]
cmp edx, dword [ecx + 0x78]
jne 0x84a746
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + 0x82c]
cmp esi, ebx
jne 0x84a3ac
cmp word [ecx + 0x830], bx
je 0x84a41d
mov ax, word [ebp + 0x830]
cmp ax, word [ecx + 0x830]
jne 0x84a746
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x834]
cmp ecx, dword [edx + 0x834]
jne 0x84a746
cmp esi, ebx
je 0x84a419
mov eax, dword [ebp + 0x82c]
cmp eax, ebx
je 0x84a746
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x84a40c
test cl, cl
je 0x84a408
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x84a40c
add eax, 2
add esi, 2
test cl, cl
jne 0x84a3e8
xor eax, eax
jmp 0x84a411
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x84a746
mov ecx, dword [esp + 0x3c]
mov edi, dword [ecx + 0x5a8]
mov edx, dword [edi + 0x44]
test dl, 0x80
jne 0x84a4b1
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 0x84a463
test cl, cl
je 0x84a45f
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x84a463
add eax, 2
add esi, 2
test cl, cl
jne 0x84a43f
xor eax, eax
jmp 0x84a468
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x84a746
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 0x84a4a4
test cl, cl
je 0x84a4a0
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x84a4a4
add eax, 2
add esi, 2
test cl, cl
jne 0x84a480
xor eax, eax
jmp 0x84a4a9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x84a746
mov ebx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x52c]
test eax, eax
je 0x84a4d2
test dl, 1
jne 0x84a4d2
mov eax, dword [ebx + 0x550]
test eax, eax
je 0x84a5d1
mov edx, dword [ebp + 0x5a8]
mov ecx, dword [edi]
mov eax, dword [edx]
push eax
push ecx
call fcn.00856460
add esp, 8
test eax, eax
jne 0x84a519
mov edx, dword [ebp + 0x5a8]
mov eax, dword [edx + 0x40]
push eax
call fcn.0084ca70
mov ecx, dword [ebx + 0x5a8]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x84a746
mov eax, dword [ebp + 0x850]
test eax, eax
je 0x84a746
mov eax, dword [ebx + 0x520]
test eax, eax
je 0x84a541
mov edx, dword [ebp + 0x31c]
mov eax, dword [ebx + 0x31c]
push edx
push eax
call fcn.00856460
add esp, 8
test eax, eax
je 0x84a746
mov eax, dword [ebx + 0x524]
test eax, eax
je 0x84a55f
mov ecx, dword [ebx + 0x36c]
mov eax, dword [ebp + 0x36c]
cmp ecx, eax
jne 0x84a746
mov edx, dword [ebp + 0x304]
mov eax, dword [ebx + 0x304]
push edx
push eax
call fcn.00856460
add esp, 8
test eax, eax
je 0x84a746
mov ecx, dword [ebx + 0x368]
mov eax, dword [ebp + 0x368]
cmp ecx, eax
jne 0x84a746
mov edx, dword [ebx + 0x5a8]
test byte [edx + 0x44], 1
je 0x84a5d1
lea eax, [ebp + 0x494]
lea ecx, [ebx + 0x494]
push eax
push ecx
call fcn.00846ed0
add esp, 8
test eax, eax
je 0x84a746
cmp dword [ebp + 0x450], 2
je 0x84a5d1
mov dword [esp + 0x28], 1
jmp 0x84a746
mov eax, dword [esp + 0x18]
test eax, eax
je 0x84a666
mov esi, dword [ebp + 0x3d8]
mov eax, dword [ebx + 0x3d8]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x84a60d
test cl, cl
je 0x84a609
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x84a60d
add eax, 2
add esi, 2
test cl, cl
jne 0x84a5e9
xor eax, eax
jmp 0x84a612
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x84a64f
mov esi, dword [ebp + 0x3dc]
mov eax, dword [ebx + 0x3dc]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x84a646
test cl, cl
je 0x84a642
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x84a646
add eax, 2
add esi, 2
test cl, cl
jne 0x84a622
xor eax, eax
jmp 0x84a64b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x84a674
mov eax, dword [ebp + 0x63c]
test eax, eax
jne 0x84a746
mov dword [esp + 0x20], ebp
jmp 0x84a746
mov eax, dword [ebp + 0x63c]
test eax, eax
jne 0x84a746
mov eax, dword [esp + 0x14]
test eax, eax
je 0x84a708
mov edi, dword [ebp + 0x35c]
test edi, edi
je 0x84a746
mov esi, dword [ebp + 0x360]
test esi, esi
je 0x84a746
mov eax, dword [ebx + 0x35c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x84a6c6
test cl, cl
je 0x84a6c2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x84a6c6
add eax, 2
add edi, 2
test cl, cl
jne 0x84a6a2
xor eax, eax
jmp 0x84a6cb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x84a746
mov eax, dword [ebx + 0x360]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x84a6fd
test cl, cl
je 0x84a6f9
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x84a6fd
add eax, 2
add esi, 2
test cl, cl
jne 0x84a6d5
xor eax, eax
jmp 0x84a702
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x84a714
jmp 0x84a746
mov ecx, dword [ebp + 0x640]
test ecx, ecx
jne 0x84a746
jmp 0x84a718
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x84a724
test eax, eax
je 0x84a75a
mov esi, ebp
test ecx, ecx
mov dword [esp + 0x20], esi
je 0x84a738
mov ecx, dword [ebp + 0x63c]
test ecx, ecx
jne 0x84a784
test eax, eax
je 0x84a746
mov eax, dword [ebp + 0x640]
test eax, eax
jne 0x84a784
mov eax, dword [esp + 0x1c]
xor ebx, ebx
cmp eax, ebx
jne 0x84a0da
mov esi, dword [esp + 0x20]
jmp 0x84a78e
mov eax, dword [esp + 0x10]
test eax, eax
je 0x84a780
mov eax, dword [esp + 0x24]
mov esi, ebp
test eax, eax
je 0x84a78e
mov eax, dword [esp + 0x38]
push str.Multiplexed_connection_found__n
push eax
call fcn.0084f980
add esp, 8
jmp 0x84a78e
mov esi, ebp
jmp 0x84a78e
mov ecx, dword [esp + 0x44]
mov dword [ecx], 1
xor ebx, ebx
pop ebp
cmp esi, ebx
je 0x84a7b6
mov eax, dword [esp + 0x34]
push eax
mov dword [esi], eax
call fcn.00855c30
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.00855c30
mov eax, dword [esp + 0x28]
add esp, 4
cmp eax, ebx
je 0x84a7eb
cmp dword [esi + 0xbe0], ebx
je 0x84a7eb
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push esi
call fcn.0084f980
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