Function at 0x4371f0
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 + 0x540]
xor esi, esi
mov dword [esp + 0x18], edi
test byte [eax + 0x40], 3
je 0x43724a
cmp byte [ebp + 0x50d], 0
je 0x437226
cmp byte [ebp + 0x500], 0
jne 0x43724a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.0042da60
add esp, 4
test al, al
je 0x43724e
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x43724e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x437270
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x437270
mov al, 1
jmp 0x437272
xor al, al
cmp byte [ebp + 0x509], 0
mov byte [esp + 0x13], al
je 0x43729b
test byte [ebx + 0xd80], 0x28
je 0x43729b
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x43729b
mov byte [esp + 0x11], 1
jmp 0x4372a1
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.00435200
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x437ac5
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.0043c490
add esp, 0x14
test esi, esi
je 0x437389
mov eax, dword [edi]
test eax, eax
jne 0x437346
cmp byte [ebx + 0xb25], al
je 0x437330
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.0043c490
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.00435740
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.0043c490
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x43736e
push dword [ebx + 0x78]
call fcn.0042da60
add esp, 4
test al, al
jne 0x43736e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.0043c490
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x437389
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.0043c490
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x43738d
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x437ac5
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 + 0x51e], al
jne 0x437a5f
cmp byte [edi + 0x500], al
jne 0x437a5f
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x4373d2
mov eax, dword [edi + 0x5d4]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x437426
test eax, eax
jne 0x437a5f
cmp byte [edi + 0x2c4], al
jne 0x4373ff
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.0043c490
add esp, 0xc
jmp 0x437a5b
cmp dword [edi + 0x420], 0xffffffff
jne 0x437426
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.0043c490
add esp, 0xc
jmp 0x437a5b
mov ecx, dword [ebp + 0x7dc]
mov eax, dword [edi + 0x7dc]
test ecx, ecx
je 0x43747b
test eax, eax
je 0x437a5b
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x437460
test dl, dl
je 0x43745c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x437460
add ecx, 2
add eax, 2
test dl, dl
jne 0x437440
xor eax, eax
jmp 0x437465
sbb eax, eax
or eax, 1
test eax, eax
jne 0x437a5b
mov al, byte [ebp + 0x7e0]
cmp al, byte [edi + 0x7e0]
jmp 0x43747d
test eax, eax
jne 0x437a5b
mov ecx, dword [edi + 0x540]
mov edx, dword [ebp + 0x540]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x4374ba
push dword [ecx + 0x40]
call fcn.0043a560
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x437a5b
cmp byte [edi + 0x7e1], 0
je 0x437a5b
mov al, byte [ebp + 0x506]
cmp al, byte [edi + 0x506]
jne 0x437a5b
mov al, byte [ebp + 0x507]
cmp al, byte [edi + 0x507]
jne 0x437a5b
test al, al
je 0x4375de
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x437a5b
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x437a5b
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.004407e0
add esp, 8
test eax, eax
je 0x437a5b
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 0x437a57
test edx, edx
je 0x43757d
test esi, esi
je 0x43757d
mov al, byte [edx]
cmp al, byte [esi]
jne 0x437570
test al, al
je 0x43756c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x437570
add edx, 2
add esi, 2
test al, al
jne 0x437550
xor eax, eax
jmp 0x437575
sbb eax, eax
or eax, 1
test eax, eax
jne 0x437a57
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 0x437a57
test edx, edx
je 0x4375da
test esi, esi
je 0x4375da
mov al, byte [edx]
cmp al, byte [esi]
jne 0x4375c7
test al, al
je 0x4375c3
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x4375c7
add edx, 2
add esi, 2
test al, al
jne 0x4375a7
xor eax, eax
jmp 0x4375cc
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x437a5b
jmp 0x4375de
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x503]
cmp al, byte [edi + 0x503]
jne 0x437a5b
mov al, byte [ebp + 0x504]
cmp al, byte [edi + 0x504]
jne 0x437a5b
cmp byte [ebp + 0x506], 0
je 0x4376c8
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x437a5b
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x437a5b
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.004407e0
add esp, 8
test eax, eax
je 0x437a5b
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x437a5b
cmp dword [ebp + 0x358], 2
jne 0x4376c8
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x43769d
lea eax, [edi + 0x4d0]
push eax
lea eax, [ebp + 0x4d0]
push eax
call fcn.00436600
add esp, 8
test al, al
je 0x437a5b
cmp dword [edi + 0x480], 2
jmp 0x4376c2
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00436600
add esp, 8
test al, al
je 0x437a5b
cmp dword [edi + 0x460], 2
jne 0x437a5b
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x4376dc
test eax, eax
jne 0x437a5f
jmp 0x4376ef
test eax, eax
je 0x4376ef
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x437a5b
mov ecx, dword [ebp + 0x7c4]
test ecx, ecx
jne 0x437702
cmp word [ebp + 0x7c8], cx
je 0x43776d
mov ax, word [edi + 0x7c8]
cmp ax, word [ebp + 0x7c8]
jne 0x437a5b
mov eax, dword [edi + 0x7cc]
cmp eax, dword [ebp + 0x7cc]
jne 0x437a5b
test ecx, ecx
je 0x43776d
mov eax, dword [edi + 0x7c4]
test eax, eax
je 0x437a5b
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x437760
test dl, dl
je 0x43775c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x437760
add eax, 2
add ecx, 2
test dl, dl
jne 0x437740
xor eax, eax
jmp 0x437765
sbb eax, eax
or eax, 1
test eax, eax
jne 0x437a5b
mov esi, dword [ebp + 0x540]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x4377ed
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4377a6
test dl, dl
je 0x4377a2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4377a6
add eax, 2
add ecx, 2
test dl, dl
jne 0x437786
xor eax, eax
jmp 0x4377ab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x437a53
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4377e0
test dl, dl
je 0x4377dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4377e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4377c0
xor eax, eax
jmp 0x4377e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x437a53
cmp byte [ebp + 0x506], 0
je 0x437808
test bl, 1
jne 0x437808
cmp byte [ebp + 0x50f], 0
je 0x4378f6
mov eax, dword [edi + 0x540]
push dword [eax]
push dword [esi]
call fcn.00440810
add esp, 8
test eax, eax
jne 0x43784b
mov eax, dword [edi + 0x540]
push dword [eax + 0x40]
call fcn.0043a560
mov ecx, dword [ebp + 0x540]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x437a53
cmp byte [edi + 0x7e1], 0
je 0x437a53
cmp byte [ebp + 0x503], 0
je 0x437870
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.00440810
add esp, 8
test eax, eax
je 0x437a53
cmp byte [ebp + 0x504], 0
je 0x43788b
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x437a53
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.00440810
add esp, 8
test eax, eax
je 0x437a53
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x437a53
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x4378f6
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00436600
add esp, 8
test al, al
je 0x437a53
cmp dword [edi + 0x460], 2
je 0x4378f6
mov byte [esp + 0x12], 1
jmp 0x437a53
mov bh, byte [esp + 0x13]
test bh, bh
je 0x437990
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x437930
test dl, dl
je 0x43792c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x437930
add eax, 2
add ecx, 2
test dl, dl
jne 0x437910
xor eax, eax
jmp 0x437935
sbb eax, eax
or eax, 1
test eax, eax
jne 0x43796e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x437965
test dl, dl
je 0x437961
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x437965
add eax, 2
add ecx, 2
test dl, dl
jne 0x437945
xor eax, eax
jmp 0x43796a
sbb eax, eax
or eax, 1
test eax, eax
je 0x43799d
cmp dword [edi + 0x5e4], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x437a5f
mov dword [esp + 0x18], edi
jmp 0x437a5f
cmp dword [edi + 0x5e4], 0
jne 0x437a53
mov al, byte [esp + 0x11]
test al, al
je 0x437a69
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x437a53
mov edx, dword [edi + 0x360]
test edx, edx
je 0x437a53
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x4379f0
test bl, bl
je 0x4379ec
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x4379f0
add ecx, 2
add eax, 2
test bl, bl
jne 0x4379d0
xor eax, eax
jmp 0x4379f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x437a53
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x437a20
test cl, cl
je 0x437a1c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x437a20
add eax, 2
add edx, 2
test cl, cl
jne 0x437a00
xor eax, eax
jmp 0x437a25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x437a53
mov al, byte [esp + 0x11]
test bh, bh
jne 0x437a35
test al, al
je 0x437a74
mov dword [esp + 0x18], edi
test bh, bh
je 0x437a46
cmp dword [edi + 0x5e4], 0
jne 0x437a97
test al, al
je 0x437a53
cmp dword [edi + 0x5e8], 0
jne 0x437a97
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x437398
jmp 0x437aa2
cmp dword [edi + 0x5e8], 0
jne 0x437a53
jmp 0x437a2d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x437aa6
cmp dword [esp + 0x1c], 0
je 0x437aa6
push str.Multiplexed_connection_found__n
push ebx
call fcn.0043c490
add esp, 8
jmp 0x437aa6
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x437ac5
push ebx
mov dword [edi], ebx
call fcn.00435740
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.00435740
add esp, 4
cmp byte [esp + 0x12], 0
je 0x437af3
cmp byte [ebx + 0xb25], 0
je 0x437af3
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.0043c490
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