Function at 0x840650
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.00840ee0
mov dl, byte [edi + 0xdf0]
mov dword [esp + 0x14], eax
mov al, 0x28
add esp, 8
test al, dl
mov cl, 3
je 0x840697
mov edx, dword [esi + 0x5a8]
mov dword [esp + 0x14], 1
test byte [edx + 0x40], cl
jne 0x84069b
mov dword [esp + 0x14], ebx
cmp dword [esi + 0x538], ebx
je 0x8406be
test byte [edi + 0xe08], al
je 0x8406be
mov eax, dword [esi + 0x5a8]
mov dword [esp + 0x10], 1
test byte [eax + 0x40], cl
jne 0x8406c2
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.0084c370
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x28], eax
je 0x840e96
mov edi, eax
mov eax, dword [edi]
cmp eax, 2
mov eax, str.can_multiplex
je 0x840702
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.00846060
mov eax, dword [esp + 0x20]
add esp, 0x14
cmp eax, ebx
je 0x8407aa
cmp dword [edi], ebx
jne 0x84076c
cmp dword [esi + 0xbe0], ebx
je 0x84075a
push str.Server_doesnt_support_multiplex_yet__wait_n
push esi
call fcn.00846060
mov eax, dword [esp + 0x4c]
push esi
mov dword [eax], 1
call fcn.0084c310
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.00846060
add esp, 8
mov dword [esp + 0xc], ebx
cmp dword [edi], 2
jne 0x840793
mov ecx, dword [esi + 0x78]
push ecx
call fcn.00843af0
add esp, 4
test eax, eax
jne 0x840793
push str.Could_multiplex__but_not_asked_to__n
push esi
call fcn.00846060
add esp, 8
mov dword [esp + 0xc], ebx
cmp dword [edi], 0xffffffff
jne 0x8407aa
push str.Can_not_multiplex__even_if_we_wanted_to__n
push esi
call fcn.00846060
add esp, 8
mov dword [esp + 0xc], ebx
mov edi, dword [edi + 8]
cmp edi, ebx
mov dword [esp + 0x18], edi
je 0x840e96
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 0x840e26
cmp dword [ebp + 0x514], ebx
jne 0x840e26
mov eax, dword [esp + 0x2c]
cmp dword [eax], 2
jne 0x8407f6
mov ecx, dword [ebp + 0x630]
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x10], ebx
jne 0x84085d
cmp dword [esp + 0x24], ebx
jne 0x840e26
mov al, byte [ebp + 0x2c4]
test al, al
jne 0x84082e
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.00846060
add esp, 0xc
jmp 0x840e26
cmp dword [ebp + 0x408], 0xffffffff
jne 0x84085d
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.00846060
add esp, 0xc
jmp 0x840e26
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x848]
cmp eax, ebx
je 0x8408c4
mov esi, dword [ebp + 0x848]
cmp esi, ebx
je 0x840e26
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x84089d
test cl, cl
je 0x840899
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x84089d
add eax, 2
add esi, 2
test cl, cl
jne 0x840879
xor eax, eax
jmp 0x8408a2
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x840e26
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x84c]
mov eax, dword [ebp + 0x84c]
cmp ecx, eax
jne 0x840e26
jmp 0x8408d0
cmp dword [ebp + 0x848], ebx
jne 0x840e26
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 0x840912
mov edx, dword [eax + 0x40]
push edx
call fcn.00843150
mov ecx, dword [esi + 0x5a8]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x840e26
cmp dword [ebp + 0x850], ebx
je 0x840e26
mov edx, dword [esi + 0x52c]
mov eax, dword [ebp + 0x52c]
cmp edx, eax
jne 0x840e26
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x530]
mov eax, dword [eax + 0x530]
cmp eax, ecx
jne 0x840e26
cmp eax, ebx
je 0x840964
mov edx, dword [esp + 0x3c]
lea ecx, [ebp + 0x324]
add edx, 0x324
push ecx
push edx
call fcn.00840f80
add esp, 8
test eax, eax
je 0x840e26
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x520]
mov eax, dword [ebp + 0x520]
cmp ecx, eax
jne 0x840e26
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x524]
mov eax, dword [edx + 0x524]
cmp eax, ecx
jne 0x840e26
mov ecx, edx
cmp dword [ecx + 0x52c], ebx
je 0x840a4d
lea edx, [ebp + 0x344]
add ecx, 0x344
push edx
push ecx
call fcn.00840f40
add esp, 8
test eax, eax
je 0x840e26
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x550]
mov eax, dword [ebp + 0x550]
cmp ecx, eax
jne 0x840e26
mov ecx, dword [esp + 0x3c]
cmp dword [ecx + 0x358], 2
jne 0x840a4d
mov edx, dword [ecx + 0x5a8]
test byte [edx + 0x44], 1
je 0x840a1e
lea eax, [ebp + 0x4cc]
add ecx, 0x4cc
push eax
push ecx
call fcn.0083d5b0
add esp, 8
test eax, eax
je 0x840e26
cmp dword [ebp + 0x470], 2
jne 0x840e26
jmp 0x840a49
lea edx, [ebp + 0x494]
add ecx, 0x494
push edx
push ecx
call fcn.0083d5b0
add esp, 8
test eax, eax
je 0x840e26
cmp dword [ebp + 0x450], 2
jne 0x840e26
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x10], ebx
jne 0x840a60
cmp dword [ebp], ebx
jne 0x840e26
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebp]
cmp eax, ebx
je 0x840a79
mov ecx, dword [ecx]
mov edx, dword [eax + 0x78]
cmp edx, dword [ecx + 0x78]
jne 0x840e26
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + 0x82c]
cmp esi, ebx
jne 0x840a8c
cmp word [ecx + 0x830], bx
je 0x840afd
mov ax, word [ebp + 0x830]
cmp ax, word [ecx + 0x830]
jne 0x840e26
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x834]
cmp ecx, dword [edx + 0x834]
jne 0x840e26
cmp esi, ebx
je 0x840af9
mov eax, dword [ebp + 0x82c]
cmp eax, ebx
je 0x840e26
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x840aec
test cl, cl
je 0x840ae8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x840aec
add eax, 2
add esi, 2
test cl, cl
jne 0x840ac8
xor eax, eax
jmp 0x840af1
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x840e26
mov ecx, dword [esp + 0x3c]
mov edi, dword [ecx + 0x5a8]
mov edx, dword [edi + 0x44]
test dl, 0x80
jne 0x840b91
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 0x840b43
test cl, cl
je 0x840b3f
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x840b43
add eax, 2
add esi, 2
test cl, cl
jne 0x840b1f
xor eax, eax
jmp 0x840b48
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x840e26
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 0x840b84
test cl, cl
je 0x840b80
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x840b84
add eax, 2
add esi, 2
test cl, cl
jne 0x840b60
xor eax, eax
jmp 0x840b89
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x840e26
mov ebx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x52c]
test eax, eax
je 0x840bb2
test dl, 1
jne 0x840bb2
mov eax, dword [ebx + 0x550]
test eax, eax
je 0x840cb1
mov edx, dword [ebp + 0x5a8]
mov ecx, dword [edi]
mov eax, dword [edx]
push eax
push ecx
call fcn.0084cb40
add esp, 8
test eax, eax
jne 0x840bf9
mov edx, dword [ebp + 0x5a8]
mov eax, dword [edx + 0x40]
push eax
call fcn.00843150
mov ecx, dword [ebx + 0x5a8]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x840e26
mov eax, dword [ebp + 0x850]
test eax, eax
je 0x840e26
mov eax, dword [ebx + 0x520]
test eax, eax
je 0x840c21
mov edx, dword [ebp + 0x31c]
mov eax, dword [ebx + 0x31c]
push edx
push eax
call fcn.0084cb40
add esp, 8
test eax, eax
je 0x840e26
mov eax, dword [ebx + 0x524]
test eax, eax
je 0x840c3f
mov ecx, dword [ebx + 0x36c]
mov eax, dword [ebp + 0x36c]
cmp ecx, eax
jne 0x840e26
mov edx, dword [ebp + 0x304]
mov eax, dword [ebx + 0x304]
push edx
push eax
call fcn.0084cb40
add esp, 8
test eax, eax
je 0x840e26
mov ecx, dword [ebx + 0x368]
mov eax, dword [ebp + 0x368]
cmp ecx, eax
jne 0x840e26
mov edx, dword [ebx + 0x5a8]
test byte [edx + 0x44], 1
je 0x840cb1
lea eax, [ebp + 0x494]
lea ecx, [ebx + 0x494]
push eax
push ecx
call fcn.0083d5b0
add esp, 8
test eax, eax
je 0x840e26
cmp dword [ebp + 0x450], 2
je 0x840cb1
mov dword [esp + 0x28], 1
jmp 0x840e26
mov eax, dword [esp + 0x18]
test eax, eax
je 0x840d46
mov esi, dword [ebp + 0x3d8]
mov eax, dword [ebx + 0x3d8]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x840ced
test cl, cl
je 0x840ce9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x840ced
add eax, 2
add esi, 2
test cl, cl
jne 0x840cc9
xor eax, eax
jmp 0x840cf2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x840d2f
mov esi, dword [ebp + 0x3dc]
mov eax, dword [ebx + 0x3dc]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x840d26
test cl, cl
je 0x840d22
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x840d26
add eax, 2
add esi, 2
test cl, cl
jne 0x840d02
xor eax, eax
jmp 0x840d2b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x840d54
mov eax, dword [ebp + 0x63c]
test eax, eax
jne 0x840e26
mov dword [esp + 0x20], ebp
jmp 0x840e26
mov eax, dword [ebp + 0x63c]
test eax, eax
jne 0x840e26
mov eax, dword [esp + 0x14]
test eax, eax
je 0x840de8
mov edi, dword [ebp + 0x35c]
test edi, edi
je 0x840e26
mov esi, dword [ebp + 0x360]
test esi, esi
je 0x840e26
mov eax, dword [ebx + 0x35c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x840da6
test cl, cl
je 0x840da2
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x840da6
add eax, 2
add edi, 2
test cl, cl
jne 0x840d82
xor eax, eax
jmp 0x840dab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x840e26
mov eax, dword [ebx + 0x360]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x840ddd
test cl, cl
je 0x840dd9
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x840ddd
add eax, 2
add esi, 2
test cl, cl
jne 0x840db5
xor eax, eax
jmp 0x840de2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x840df4
jmp 0x840e26
mov ecx, dword [ebp + 0x640]
test ecx, ecx
jne 0x840e26
jmp 0x840df8
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x840e04
test eax, eax
je 0x840e3a
mov esi, ebp
test ecx, ecx
mov dword [esp + 0x20], esi
je 0x840e18
mov ecx, dword [ebp + 0x63c]
test ecx, ecx
jne 0x840e64
test eax, eax
je 0x840e26
mov eax, dword [ebp + 0x640]
test eax, eax
jne 0x840e64
mov eax, dword [esp + 0x1c]
xor ebx, ebx
cmp eax, ebx
jne 0x8407ba
mov esi, dword [esp + 0x20]
jmp 0x840e6e
mov eax, dword [esp + 0x10]
test eax, eax
je 0x840e60
mov eax, dword [esp + 0x24]
mov esi, ebp
test eax, eax
je 0x840e6e
mov eax, dword [esp + 0x38]
push str.Multiplexed_connection_found__n
push eax
call fcn.00846060
add esp, 8
jmp 0x840e6e
mov esi, ebp
jmp 0x840e6e
mov ecx, dword [esp + 0x44]
mov dword [ecx], 1
xor ebx, ebx
pop ebp
cmp esi, ebx
je 0x840e96
mov eax, dword [esp + 0x34]
push eax
mov dword [esi], eax
call fcn.0084c310
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.0084c310
mov eax, dword [esp + 0x28]
add esp, 4
cmp eax, ebx
je 0x840ecb
cmp dword [esi + 0xbe0], ebx
je 0x840ecb
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push esi
call fcn.00846060
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