Function at 0x1000f420
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 0x1000f47a
cmp byte [ebp + 0x515], 0
je 0x1000f456
cmp byte [ebp + 0x508], 0
jne 0x1000f47a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.10005f40
add esp, 4
test al, al
je 0x1000f47e
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x1000f47e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x1000f4a0
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x1000f4a0
mov al, 1
jmp 0x1000f4a2
xor al, al
cmp byte [ebp + 0x511], 0
mov byte [esp + 0x13], al
je 0x1000f4cb
test byte [ebx + 0xd80], 0x28
je 0x1000f4cb
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x1000f4cb
mov byte [esp + 0x11], 1
jmp 0x1000f4d1
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.1000d5c0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x1000fcf2
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.100144a0
add esp, 0x14
test esi, esi
je 0x1000f5b7
cmp dword [edi], 0
jne 0x1000f574
cmp byte [ebx + 0xb25], 0
je 0x1000f560
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.100144a0
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.1000db00
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.100144a0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 2
jne 0x1000f59c
push dword [ebx + 0x78]
call fcn.10005f40
add esp, 4
test al, al
jne 0x1000f59c
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.100144a0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x1000f5b7
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.100144a0
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x1000f5bb
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x1000fcf2
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 0x1000fb19
cmp byte [edi + 0x508], al
jne 0x1000fb19
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x1000f600
mov eax, dword [edi + 0x5dc]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x1000f654
test eax, eax
jne 0x1000fb19
cmp byte [edi + 0x2c4], al
jne 0x1000f62d
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.100144a0
add esp, 0xc
jmp 0x1000fb15
cmp dword [edi + 0x420], 0xffffffff
jne 0x1000f654
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.100144a0
add esp, 0xc
jmp 0x1000fb15
mov ecx, dword [ebp + 0x7e8]
mov eax, dword [edi + 0x7e8]
test ecx, ecx
je 0x1000f6ab
test eax, eax
je 0x1000fb15
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x1000f690
test dl, dl
je 0x1000f68c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x1000f690
add ecx, 2
add eax, 2
test dl, dl
jne 0x1000f670
xor eax, eax
jmp 0x1000f695
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000fb15
mov al, byte [ebp + 0x7ec]
cmp al, byte [edi + 0x7ec]
jmp 0x1000f6ad
test eax, eax
jne 0x1000fb15
mov ecx, dword [edi + 0x548]
mov edx, dword [ebp + 0x548]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x1000f6ea
push dword [ecx + 0x40]
call fcn.10012560
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x1000fb15
cmp byte [edi + 0x7ed], 0
je 0x1000fb15
mov al, byte [ebp + 0x50e]
cmp al, byte [edi + 0x50e]
jne 0x1000fb15
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x1000fb15
test al, al
je 0x1000f80e
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x1000fb15
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x1000fb15
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.100173c0
add esp, 8
test eax, eax
je 0x1000fb15
mov esi, dword [edi + 0x33c]
xor ecx, ecx
mov edx, dword [ebp + 0x33c]
test esi, esi
sete cl
xor eax, eax
test edx, edx
sete al
cmp eax, ecx
jne 0x1000fb11
test edx, edx
je 0x1000f7ad
test esi, esi
je 0x1000f7ad
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1000f7a0
test al, al
je 0x1000f79c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1000f7a0
add edx, 2
add esi, 2
test al, al
jne 0x1000f780
xor eax, eax
jmp 0x1000f7a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000fb11
mov esi, dword [edi + 0x340]
xor ecx, ecx
mov edx, dword [ebp + 0x340]
test esi, esi
sete cl
xor eax, eax
test edx, edx
sete al
cmp eax, ecx
jne 0x1000fb11
test edx, edx
je 0x1000f80a
test esi, esi
je 0x1000f80a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1000f7f7
test al, al
je 0x1000f7f3
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1000f7f7
add edx, 2
add esi, 2
test al, al
jne 0x1000f7d7
xor eax, eax
jmp 0x1000f7fc
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x1000fb15
jmp 0x1000f80e
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x50b]
cmp al, byte [edi + 0x50b]
jne 0x1000fb15
mov al, byte [ebp + 0x50c]
cmp al, byte [edi + 0x50c]
jne 0x1000fb15
cmp byte [ebp + 0x50e], 0
je 0x1000f8f8
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x1000fb15
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x1000fb15
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.100173c0
add esp, 8
test eax, eax
je 0x1000fb15
mov al, byte [ebp + 0x517]
cmp al, byte [edi + 0x517]
jne 0x1000fb15
cmp dword [ebp + 0x358], 2
jne 0x1000f8f8
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x1000f8cd
lea eax, [edi + 0x4d8]
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.1000e990
add esp, 8
test al, al
je 0x1000fb15
cmp dword [edi + 0x488], 2
jmp 0x1000f8f2
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.1000e990
add esp, 8
test al, al
je 0x1000fb15
cmp dword [edi + 0x468], 2
jne 0x1000fb15
mov cl, byte [esp + 0x30]
test cl, cl
jne 0x1000f90b
cmp dword [edi], 0
jne 0x1000fb19
jmp 0x1000f920
mov eax, dword [edi]
test eax, eax
je 0x1000f920
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x1000fb15
mov ecx, dword [ebp + 0x7cc]
test ecx, ecx
jne 0x1000f933
cmp word [ebp + 0x7d0], cx
je 0x1000f99d
mov ax, word [edi + 0x7d0]
cmp ax, word [ebp + 0x7d0]
jne 0x1000fb15
mov eax, dword [edi + 0x7d4]
cmp eax, dword [ebp + 0x7d4]
jne 0x1000fb15
test ecx, ecx
je 0x1000f99d
mov eax, dword [edi + 0x7cc]
test eax, eax
je 0x1000fb15
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000f990
test dl, dl
je 0x1000f98c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000f990
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000f970
xor eax, eax
jmp 0x1000f995
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000fb15
mov esi, dword [ebp + 0x548]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x1000fa1d
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000f9d6
test dl, dl
je 0x1000f9d2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000f9d6
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000f9b6
xor eax, eax
jmp 0x1000f9db
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000fb0d
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000fa10
test dl, dl
je 0x1000fa0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000fa10
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000f9f0
xor eax, eax
jmp 0x1000fa15
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000fb0d
cmp byte [ebp + 0x50e], 0
je 0x1000fa38
test bl, 1
jne 0x1000fa38
cmp byte [ebp + 0x517], 0
je 0x1000fb26
mov eax, dword [edi + 0x548]
push dword [eax]
push dword [esi]
call fcn.100173f0
add esp, 8
test eax, eax
jne 0x1000fa7b
mov eax, dword [edi + 0x548]
push dword [eax + 0x40]
call fcn.10012560
mov ecx, dword [ebp + 0x548]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x1000fb0d
cmp byte [edi + 0x7ed], 0
je 0x1000fb0d
cmp byte [ebp + 0x50b], 0
je 0x1000fa9c
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.100173f0
add esp, 8
test eax, eax
je 0x1000fb0d
cmp byte [ebp + 0x50c], 0
je 0x1000fab3
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x1000fb0d
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.100173f0
add esp, 8
test eax, eax
je 0x1000fb0d
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x1000fb0d
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x1000fb26
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.1000e990
add esp, 8
test al, al
je 0x1000fb0d
cmp dword [edi + 0x468], 2
je 0x1000fb26
mov byte [esp + 0x12], 1
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x1000f5c6
jmp 0x1000fcac
mov bh, byte [esp + 0x13]
test bh, bh
je 0x1000fbc0
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000fb60
test dl, dl
je 0x1000fb5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000fb60
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000fb40
xor eax, eax
jmp 0x1000fb65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000fb9e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1000fb95
test dl, dl
je 0x1000fb91
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1000fb95
add eax, 2
add ecx, 2
test dl, dl
jne 0x1000fb75
xor eax, eax
jmp 0x1000fb9a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000fbcd
cmp dword [edi + 0x5ec], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x1000fb19
mov dword [esp + 0x18], edi
jmp 0x1000fb19
cmp dword [edi + 0x5ec], 0
jne 0x1000fb0d
mov al, byte [esp + 0x11]
test al, al
je 0x1000fc66
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x1000fb0d
mov edx, dword [edi + 0x360]
test edx, edx
je 0x1000fb0d
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x1000fc20
test bl, bl
je 0x1000fc1c
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x1000fc20
add ecx, 2
add eax, 2
test bl, bl
jne 0x1000fc00
xor eax, eax
jmp 0x1000fc25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000fb0d
mov eax, dword [ebp + 0x360]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x1000fc53
test cl, cl
je 0x1000fc4f
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x1000fc53
add eax, 2
add edx, 2
test cl, cl
jne 0x1000fc33
xor eax, eax
jmp 0x1000fc58
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1000fb0d
mov al, byte [esp + 0x11]
jmp 0x1000fc73
cmp dword [edi + 0x5f0], 0
jne 0x1000fb0d
test bh, bh
jne 0x1000fc7b
test al, al
je 0x1000fccf
mov dword [esp + 0x18], edi
test bh, bh
je 0x1000fc8c
cmp dword [edi + 0x5ec], 0
jne 0x1000fca1
test al, al
je 0x1000fb0d
cmp dword [edi + 0x5f0], 0
je 0x1000fb0d
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x1000fcf2
push ebx
mov dword [edi], ebx
call fcn.1000db00
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
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x1000fcb0
cmp dword [esp + 0x1c], 0
je 0x1000fcb0
push str.Multiplexed_connection_found__n
push ebx
call fcn.100144a0
add esp, 8
jmp 0x1000fcb0
push ebx
call fcn.1000db00
add esp, 4
cmp byte [esp + 0x12], 0
je 0x1000fd20
cmp byte [ebx + 0xb25], 0
je 0x1000fd20
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.100144a0
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