Function at 0x476bf0
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 0x476c4a
cmp byte [ebp + 0x50d], 0
je 0x476c26
cmp byte [ebp + 0x500], 0
jne 0x476c4a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.0046d4b0
add esp, 4
test al, al
je 0x476c4e
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x476c4e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x476c70
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x476c70
mov al, 1
jmp 0x476c72
xor al, al
cmp byte [ebp + 0x509], 0
mov byte [esp + 0x13], al
je 0x476c9b
test byte [ebx + 0xd80], 0x28
je 0x476c9b
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x476c9b
mov byte [esp + 0x11], 1
jmp 0x476ca1
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.00474c00
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x4774c5
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.0047be90
add esp, 0x14
test esi, esi
je 0x476d89
mov eax, dword [edi]
test eax, eax
jne 0x476d46
cmp byte [ebx + 0xb25], al
je 0x476d30
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.0047be90
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.00475140
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.0047be90
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x476d6e
push dword [ebx + 0x78]
call fcn.0046d4b0
add esp, 4
test al, al
jne 0x476d6e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.0047be90
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x476d89
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.0047be90
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x476d8d
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x4774c5
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 0x47745f
cmp byte [edi + 0x500], al
jne 0x47745f
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x476dd2
mov eax, dword [edi + 0x5d4]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x476e26
test eax, eax
jne 0x47745f
cmp byte [edi + 0x2c4], al
jne 0x476dff
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.0047be90
add esp, 0xc
jmp 0x47745b
cmp dword [edi + 0x420], 0xffffffff
jne 0x476e26
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.0047be90
add esp, 0xc
jmp 0x47745b
mov ecx, dword [ebp + 0x7dc]
mov eax, dword [edi + 0x7dc]
test ecx, ecx
je 0x476e7b
test eax, eax
je 0x47745b
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x476e60
test dl, dl
je 0x476e5c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x476e60
add ecx, 2
add eax, 2
test dl, dl
jne 0x476e40
xor eax, eax
jmp 0x476e65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47745b
mov al, byte [ebp + 0x7e0]
cmp al, byte [edi + 0x7e0]
jmp 0x476e7d
test eax, eax
jne 0x47745b
mov ecx, dword [edi + 0x540]
mov edx, dword [ebp + 0x540]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x476eba
push dword [ecx + 0x40]
call fcn.00479f60
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x47745b
cmp byte [edi + 0x7e1], 0
je 0x47745b
mov al, byte [ebp + 0x506]
cmp al, byte [edi + 0x506]
jne 0x47745b
mov al, byte [ebp + 0x507]
cmp al, byte [edi + 0x507]
jne 0x47745b
test al, al
je 0x476fde
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x47745b
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x47745b
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.00480200
add esp, 8
test eax, eax
je 0x47745b
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 0x477457
test edx, edx
je 0x476f7d
test esi, esi
je 0x476f7d
mov al, byte [edx]
cmp al, byte [esi]
jne 0x476f70
test al, al
je 0x476f6c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x476f70
add edx, 2
add esi, 2
test al, al
jne 0x476f50
xor eax, eax
jmp 0x476f75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x477457
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 0x477457
test edx, edx
je 0x476fda
test esi, esi
je 0x476fda
mov al, byte [edx]
cmp al, byte [esi]
jne 0x476fc7
test al, al
je 0x476fc3
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x476fc7
add edx, 2
add esi, 2
test al, al
jne 0x476fa7
xor eax, eax
jmp 0x476fcc
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x47745b
jmp 0x476fde
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x503]
cmp al, byte [edi + 0x503]
jne 0x47745b
mov al, byte [ebp + 0x504]
cmp al, byte [edi + 0x504]
jne 0x47745b
cmp byte [ebp + 0x506], 0
je 0x4770c8
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x47745b
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x47745b
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.00480200
add esp, 8
test eax, eax
je 0x47745b
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x47745b
cmp dword [ebp + 0x358], 2
jne 0x4770c8
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x47709d
lea eax, [edi + 0x4d0]
push eax
lea eax, [ebp + 0x4d0]
push eax
call fcn.00476000
add esp, 8
test al, al
je 0x47745b
cmp dword [edi + 0x480], 2
jmp 0x4770c2
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00476000
add esp, 8
test al, al
je 0x47745b
cmp dword [edi + 0x460], 2
jne 0x47745b
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x4770dc
test eax, eax
jne 0x47745f
jmp 0x4770ef
test eax, eax
je 0x4770ef
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x47745b
mov ecx, dword [ebp + 0x7c4]
test ecx, ecx
jne 0x477102
cmp word [ebp + 0x7c8], cx
je 0x47716d
mov ax, word [edi + 0x7c8]
cmp ax, word [ebp + 0x7c8]
jne 0x47745b
mov eax, dword [edi + 0x7cc]
cmp eax, dword [ebp + 0x7cc]
jne 0x47745b
test ecx, ecx
je 0x47716d
mov eax, dword [edi + 0x7c4]
test eax, eax
je 0x47745b
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x477160
test dl, dl
je 0x47715c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x477160
add eax, 2
add ecx, 2
test dl, dl
jne 0x477140
xor eax, eax
jmp 0x477165
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47745b
mov esi, dword [ebp + 0x540]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x4771ed
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4771a6
test dl, dl
je 0x4771a2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4771a6
add eax, 2
add ecx, 2
test dl, dl
jne 0x477186
xor eax, eax
jmp 0x4771ab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x477453
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4771e0
test dl, dl
je 0x4771dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4771e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4771c0
xor eax, eax
jmp 0x4771e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x477453
cmp byte [ebp + 0x506], 0
je 0x477208
test bl, 1
jne 0x477208
cmp byte [ebp + 0x50f], 0
je 0x4772f6
mov eax, dword [edi + 0x540]
push dword [eax]
push dword [esi]
call fcn.00480230
add esp, 8
test eax, eax
jne 0x47724b
mov eax, dword [edi + 0x540]
push dword [eax + 0x40]
call fcn.00479f60
mov ecx, dword [ebp + 0x540]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x477453
cmp byte [edi + 0x7e1], 0
je 0x477453
cmp byte [ebp + 0x503], 0
je 0x477270
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.00480230
add esp, 8
test eax, eax
je 0x477453
cmp byte [ebp + 0x504], 0
je 0x47728b
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x477453
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.00480230
add esp, 8
test eax, eax
je 0x477453
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x477453
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x4772f6
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00476000
add esp, 8
test al, al
je 0x477453
cmp dword [edi + 0x460], 2
je 0x4772f6
mov byte [esp + 0x12], 1
jmp 0x477453
mov bh, byte [esp + 0x13]
test bh, bh
je 0x477390
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x477330
test dl, dl
je 0x47732c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x477330
add eax, 2
add ecx, 2
test dl, dl
jne 0x477310
xor eax, eax
jmp 0x477335
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47736e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x477365
test dl, dl
je 0x477361
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x477365
add eax, 2
add ecx, 2
test dl, dl
jne 0x477345
xor eax, eax
jmp 0x47736a
sbb eax, eax
or eax, 1
test eax, eax
je 0x47739d
cmp dword [edi + 0x5e4], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x47745f
mov dword [esp + 0x18], edi
jmp 0x47745f
cmp dword [edi + 0x5e4], 0
jne 0x477453
mov al, byte [esp + 0x11]
test al, al
je 0x477469
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x477453
mov edx, dword [edi + 0x360]
test edx, edx
je 0x477453
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x4773f0
test bl, bl
je 0x4773ec
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x4773f0
add ecx, 2
add eax, 2
test bl, bl
jne 0x4773d0
xor eax, eax
jmp 0x4773f5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x477453
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x477420
test cl, cl
je 0x47741c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x477420
add eax, 2
add edx, 2
test cl, cl
jne 0x477400
xor eax, eax
jmp 0x477425
sbb eax, eax
or eax, 1
test eax, eax
jne 0x477453
mov al, byte [esp + 0x11]
test bh, bh
jne 0x477435
test al, al
je 0x477474
mov dword [esp + 0x18], edi
test bh, bh
je 0x477446
cmp dword [edi + 0x5e4], 0
jne 0x477497
test al, al
je 0x477453
cmp dword [edi + 0x5e8], 0
jne 0x477497
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x476d98
jmp 0x4774a2
cmp dword [edi + 0x5e8], 0
jne 0x477453
jmp 0x47742d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x4774a6
cmp dword [esp + 0x1c], 0
je 0x4774a6
push str.Multiplexed_connection_found__n
push ebx
call fcn.0047be90
add esp, 8
jmp 0x4774a6
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x4774c5
push ebx
mov dword [edi], ebx
call fcn.00475140
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.00475140
add esp, 4
cmp byte [esp + 0x12], 0
je 0x4774f3
cmp byte [ebx + 0xb25], 0
je 0x4774f3
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.0047be90
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