Function at 0x42c990
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 + 0x548]
xor esi, esi
mov dword [esp + 0x18], edi
test byte [eax + 0x40], 3
je 0x42c9ea
cmp byte [ebp + 0x515], 0
je 0x42c9c6
cmp byte [ebp + 0x508], 0
jne 0x42c9ea
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.00423670
add esp, 4
test al, al
je 0x42c9ee
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x42c9ee
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x42ca10
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x42ca10
mov al, 1
jmp 0x42ca12
xor al, al
cmp byte [ebp + 0x511], 0
mov byte [esp + 0x13], al
je 0x42ca3b
test byte [ebx + 0xd80], 0x28
je 0x42ca3b
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x42ca3b
mov byte [esp + 0x11], 1
jmp 0x42ca41
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.0042ab30
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x42d265
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.004319e0
add esp, 0x14
test esi, esi
je 0x42cb29
mov eax, dword [edi]
test eax, eax
jne 0x42cae6
cmp byte [ebx + 0xb25], al
je 0x42cad0
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.004319e0
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.0042b070
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.004319e0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x42cb0e
push dword [ebx + 0x78]
call fcn.00423670
add esp, 4
test al, al
jne 0x42cb0e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.004319e0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x42cb29
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.004319e0
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x42cb2d
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x42d265
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 + 0x526], al
jne 0x42d1ff
cmp byte [edi + 0x508], al
jne 0x42d1ff
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x42cb72
mov eax, dword [edi + 0x5dc]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x42cbc6
test eax, eax
jne 0x42d1ff
cmp byte [edi + 0x2c4], al
jne 0x42cb9f
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.004319e0
add esp, 0xc
jmp 0x42d1fb
cmp dword [edi + 0x420], 0xffffffff
jne 0x42cbc6
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.004319e0
add esp, 0xc
jmp 0x42d1fb
mov ecx, dword [ebp + 0x7e8]
mov eax, dword [edi + 0x7e8]
test ecx, ecx
je 0x42cc1b
test eax, eax
je 0x42d1fb
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x42cc00
test dl, dl
je 0x42cbfc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x42cc00
add ecx, 2
add eax, 2
test dl, dl
jne 0x42cbe0
xor eax, eax
jmp 0x42cc05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42d1fb
mov al, byte [ebp + 0x7ec]
cmp al, byte [edi + 0x7ec]
jmp 0x42cc1d
test eax, eax
jne 0x42d1fb
mov ecx, dword [edi + 0x548]
mov edx, dword [ebp + 0x548]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x42cc5a
push dword [ecx + 0x40]
call fcn.0042fab0
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x42d1fb
cmp byte [edi + 0x7ed], 0
je 0x42d1fb
mov al, byte [ebp + 0x50e]
cmp al, byte [edi + 0x50e]
jne 0x42d1fb
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x42d1fb
test al, al
je 0x42cd7e
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x42d1fb
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x42d1fb
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.00435d60
add esp, 8
test eax, eax
je 0x42d1fb
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 0x42d1f7
test edx, edx
je 0x42cd1d
test esi, esi
je 0x42cd1d
mov al, byte [edx]
cmp al, byte [esi]
jne 0x42cd10
test al, al
je 0x42cd0c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x42cd10
add edx, 2
add esi, 2
test al, al
jne 0x42ccf0
xor eax, eax
jmp 0x42cd15
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42d1f7
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 0x42d1f7
test edx, edx
je 0x42cd7a
test esi, esi
je 0x42cd7a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x42cd67
test al, al
je 0x42cd63
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x42cd67
add edx, 2
add esi, 2
test al, al
jne 0x42cd47
xor eax, eax
jmp 0x42cd6c
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x42d1fb
jmp 0x42cd7e
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x50b]
cmp al, byte [edi + 0x50b]
jne 0x42d1fb
mov al, byte [ebp + 0x50c]
cmp al, byte [edi + 0x50c]
jne 0x42d1fb
cmp byte [ebp + 0x50e], 0
je 0x42ce68
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x42d1fb
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x42d1fb
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.00435d60
add esp, 8
test eax, eax
je 0x42d1fb
mov al, byte [ebp + 0x517]
cmp al, byte [edi + 0x517]
jne 0x42d1fb
cmp dword [ebp + 0x358], 2
jne 0x42ce68
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x42ce3d
lea eax, [edi + 0x4d8]
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.0042bef0
add esp, 8
test al, al
je 0x42d1fb
cmp dword [edi + 0x488], 2
jmp 0x42ce62
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.0042bef0
add esp, 8
test al, al
je 0x42d1fb
cmp dword [edi + 0x468], 2
jne 0x42d1fb
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x42ce7c
test eax, eax
jne 0x42d1ff
jmp 0x42ce8f
test eax, eax
je 0x42ce8f
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x42d1fb
mov ecx, dword [ebp + 0x7cc]
test ecx, ecx
jne 0x42cea2
cmp word [ebp + 0x7d0], cx
je 0x42cf0d
mov ax, word [edi + 0x7d0]
cmp ax, word [ebp + 0x7d0]
jne 0x42d1fb
mov eax, dword [edi + 0x7d4]
cmp eax, dword [ebp + 0x7d4]
jne 0x42d1fb
test ecx, ecx
je 0x42cf0d
mov eax, dword [edi + 0x7cc]
test eax, eax
je 0x42d1fb
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42cf00
test dl, dl
je 0x42cefc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42cf00
add eax, 2
add ecx, 2
test dl, dl
jne 0x42cee0
xor eax, eax
jmp 0x42cf05
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42d1fb
mov esi, dword [ebp + 0x548]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x42cf8d
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42cf46
test dl, dl
je 0x42cf42
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42cf46
add eax, 2
add ecx, 2
test dl, dl
jne 0x42cf26
xor eax, eax
jmp 0x42cf4b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42d1f3
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42cf80
test dl, dl
je 0x42cf7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42cf80
add eax, 2
add ecx, 2
test dl, dl
jne 0x42cf60
xor eax, eax
jmp 0x42cf85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42d1f3
cmp byte [ebp + 0x50e], 0
je 0x42cfa8
test bl, 1
jne 0x42cfa8
cmp byte [ebp + 0x517], 0
je 0x42d096
mov eax, dword [edi + 0x548]
push dword [eax]
push dword [esi]
call fcn.00435d90
add esp, 8
test eax, eax
jne 0x42cfeb
mov eax, dword [edi + 0x548]
push dword [eax + 0x40]
call fcn.0042fab0
mov ecx, dword [ebp + 0x548]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x42d1f3
cmp byte [edi + 0x7ed], 0
je 0x42d1f3
cmp byte [ebp + 0x50b], 0
je 0x42d010
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.00435d90
add esp, 8
test eax, eax
je 0x42d1f3
cmp byte [ebp + 0x50c], 0
je 0x42d02b
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x42d1f3
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.00435d90
add esp, 8
test eax, eax
je 0x42d1f3
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x42d1f3
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x42d096
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.0042bef0
add esp, 8
test al, al
je 0x42d1f3
cmp dword [edi + 0x468], 2
je 0x42d096
mov byte [esp + 0x12], 1
jmp 0x42d1f3
mov bh, byte [esp + 0x13]
test bh, bh
je 0x42d130
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42d0d0
test dl, dl
je 0x42d0cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42d0d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42d0b0
xor eax, eax
jmp 0x42d0d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42d10e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42d105
test dl, dl
je 0x42d101
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42d105
add eax, 2
add ecx, 2
test dl, dl
jne 0x42d0e5
xor eax, eax
jmp 0x42d10a
sbb eax, eax
or eax, 1
test eax, eax
je 0x42d13d
cmp dword [edi + 0x5ec], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x42d1ff
mov dword [esp + 0x18], edi
jmp 0x42d1ff
cmp dword [edi + 0x5ec], 0
jne 0x42d1f3
mov al, byte [esp + 0x11]
test al, al
je 0x42d209
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x42d1f3
mov edx, dword [edi + 0x360]
test edx, edx
je 0x42d1f3
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x42d190
test bl, bl
je 0x42d18c
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x42d190
add ecx, 2
add eax, 2
test bl, bl
jne 0x42d170
xor eax, eax
jmp 0x42d195
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42d1f3
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x42d1c0
test cl, cl
je 0x42d1bc
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x42d1c0
add eax, 2
add edx, 2
test cl, cl
jne 0x42d1a0
xor eax, eax
jmp 0x42d1c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42d1f3
mov al, byte [esp + 0x11]
test bh, bh
jne 0x42d1d5
test al, al
je 0x42d214
mov dword [esp + 0x18], edi
test bh, bh
je 0x42d1e6
cmp dword [edi + 0x5ec], 0
jne 0x42d237
test al, al
je 0x42d1f3
cmp dword [edi + 0x5f0], 0
jne 0x42d237
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x42cb38
jmp 0x42d242
cmp dword [edi + 0x5f0], 0
jne 0x42d1f3
jmp 0x42d1cd
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x42d246
cmp dword [esp + 0x1c], 0
je 0x42d246
push str.Multiplexed_connection_found__n
push ebx
call fcn.004319e0
add esp, 8
jmp 0x42d246
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x42d265
push ebx
mov dword [edi], ebx
call fcn.0042b070
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.0042b070
add esp, 4
cmp byte [esp + 0x12], 0
je 0x42d293
cmp byte [ebx + 0xb25], 0
je 0x42d293
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.004319e0
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