Function at 0x477a50
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 0x477aaa
cmp byte [ebp + 0x50d], 0
je 0x477a86
cmp byte [ebp + 0x500], 0
jne 0x477aaa
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.0046e350
add esp, 4
test al, al
je 0x477aae
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x477aae
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x477ad0
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x477ad0
mov al, 1
jmp 0x477ad2
xor al, al
cmp byte [ebp + 0x509], 0
mov byte [esp + 0x13], al
je 0x477afb
test byte [ebx + 0xd80], 0x28
je 0x477afb
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x477afb
mov byte [esp + 0x11], 1
jmp 0x477b01
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.00475a60
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x478325
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.0047ccf0
add esp, 0x14
test esi, esi
je 0x477be9
mov eax, dword [edi]
test eax, eax
jne 0x477ba6
cmp byte [ebx + 0xb25], al
je 0x477b90
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.0047ccf0
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.00475fa0
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.0047ccf0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x477bce
push dword [ebx + 0x78]
call fcn.0046e350
add esp, 4
test al, al
jne 0x477bce
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.0047ccf0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x477be9
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.0047ccf0
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x477bed
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x478325
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 0x4782bf
cmp byte [edi + 0x500], al
jne 0x4782bf
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x477c32
mov eax, dword [edi + 0x5d4]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x477c86
test eax, eax
jne 0x4782bf
cmp byte [edi + 0x2c4], al
jne 0x477c5f
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.0047ccf0
add esp, 0xc
jmp 0x4782bb
cmp dword [edi + 0x420], 0xffffffff
jne 0x477c86
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.0047ccf0
add esp, 0xc
jmp 0x4782bb
mov ecx, dword [ebp + 0x7dc]
mov eax, dword [edi + 0x7dc]
test ecx, ecx
je 0x477cdb
test eax, eax
je 0x4782bb
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x477cc0
test dl, dl
je 0x477cbc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x477cc0
add ecx, 2
add eax, 2
test dl, dl
jne 0x477ca0
xor eax, eax
jmp 0x477cc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4782bb
mov al, byte [ebp + 0x7e0]
cmp al, byte [edi + 0x7e0]
jmp 0x477cdd
test eax, eax
jne 0x4782bb
mov ecx, dword [edi + 0x540]
mov edx, dword [ebp + 0x540]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x477d1a
push dword [ecx + 0x40]
call fcn.0047adc0
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x4782bb
cmp byte [edi + 0x7e1], 0
je 0x4782bb
mov al, byte [ebp + 0x506]
cmp al, byte [edi + 0x506]
jne 0x4782bb
mov al, byte [ebp + 0x507]
cmp al, byte [edi + 0x507]
jne 0x4782bb
test al, al
je 0x477e3e
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x4782bb
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x4782bb
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.00481010
add esp, 8
test eax, eax
je 0x4782bb
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 0x4782b7
test edx, edx
je 0x477ddd
test esi, esi
je 0x477ddd
mov al, byte [edx]
cmp al, byte [esi]
jne 0x477dd0
test al, al
je 0x477dcc
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x477dd0
add edx, 2
add esi, 2
test al, al
jne 0x477db0
xor eax, eax
jmp 0x477dd5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4782b7
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 0x4782b7
test edx, edx
je 0x477e3a
test esi, esi
je 0x477e3a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x477e27
test al, al
je 0x477e23
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x477e27
add edx, 2
add esi, 2
test al, al
jne 0x477e07
xor eax, eax
jmp 0x477e2c
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x4782bb
jmp 0x477e3e
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x503]
cmp al, byte [edi + 0x503]
jne 0x4782bb
mov al, byte [ebp + 0x504]
cmp al, byte [edi + 0x504]
jne 0x4782bb
cmp byte [ebp + 0x506], 0
je 0x477f28
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x4782bb
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x4782bb
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.00481010
add esp, 8
test eax, eax
je 0x4782bb
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x4782bb
cmp dword [ebp + 0x358], 2
jne 0x477f28
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x477efd
lea eax, [edi + 0x4d0]
push eax
lea eax, [ebp + 0x4d0]
push eax
call fcn.00476e60
add esp, 8
test al, al
je 0x4782bb
cmp dword [edi + 0x480], 2
jmp 0x477f22
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00476e60
add esp, 8
test al, al
je 0x4782bb
cmp dword [edi + 0x460], 2
jne 0x4782bb
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x477f3c
test eax, eax
jne 0x4782bf
jmp 0x477f4f
test eax, eax
je 0x477f4f
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x4782bb
mov ecx, dword [ebp + 0x7c4]
test ecx, ecx
jne 0x477f62
cmp word [ebp + 0x7c8], cx
je 0x477fcd
mov ax, word [edi + 0x7c8]
cmp ax, word [ebp + 0x7c8]
jne 0x4782bb
mov eax, dword [edi + 0x7cc]
cmp eax, dword [ebp + 0x7cc]
jne 0x4782bb
test ecx, ecx
je 0x477fcd
mov eax, dword [edi + 0x7c4]
test eax, eax
je 0x4782bb
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x477fc0
test dl, dl
je 0x477fbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x477fc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x477fa0
xor eax, eax
jmp 0x477fc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4782bb
mov esi, dword [ebp + 0x540]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x47804d
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x478006
test dl, dl
je 0x478002
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x478006
add eax, 2
add ecx, 2
test dl, dl
jne 0x477fe6
xor eax, eax
jmp 0x47800b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4782b3
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x478040
test dl, dl
je 0x47803c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x478040
add eax, 2
add ecx, 2
test dl, dl
jne 0x478020
xor eax, eax
jmp 0x478045
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4782b3
cmp byte [ebp + 0x506], 0
je 0x478068
test bl, 1
jne 0x478068
cmp byte [ebp + 0x50f], 0
je 0x478156
mov eax, dword [edi + 0x540]
push dword [eax]
push dword [esi]
call fcn.00481040
add esp, 8
test eax, eax
jne 0x4780ab
mov eax, dword [edi + 0x540]
push dword [eax + 0x40]
call fcn.0047adc0
mov ecx, dword [ebp + 0x540]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x4782b3
cmp byte [edi + 0x7e1], 0
je 0x4782b3
cmp byte [ebp + 0x503], 0
je 0x4780d0
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.00481040
add esp, 8
test eax, eax
je 0x4782b3
cmp byte [ebp + 0x504], 0
je 0x4780eb
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x4782b3
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.00481040
add esp, 8
test eax, eax
je 0x4782b3
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x4782b3
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x478156
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00476e60
add esp, 8
test al, al
je 0x4782b3
cmp dword [edi + 0x460], 2
je 0x478156
mov byte [esp + 0x12], 1
jmp 0x4782b3
mov bh, byte [esp + 0x13]
test bh, bh
je 0x4781f0
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x478190
test dl, dl
je 0x47818c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x478190
add eax, 2
add ecx, 2
test dl, dl
jne 0x478170
xor eax, eax
jmp 0x478195
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4781ce
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4781c5
test dl, dl
je 0x4781c1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4781c5
add eax, 2
add ecx, 2
test dl, dl
jne 0x4781a5
xor eax, eax
jmp 0x4781ca
sbb eax, eax
or eax, 1
test eax, eax
je 0x4781fd
cmp dword [edi + 0x5e4], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x4782bf
mov dword [esp + 0x18], edi
jmp 0x4782bf
cmp dword [edi + 0x5e4], 0
jne 0x4782b3
mov al, byte [esp + 0x11]
test al, al
je 0x4782c9
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x4782b3
mov edx, dword [edi + 0x360]
test edx, edx
je 0x4782b3
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x478250
test bl, bl
je 0x47824c
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x478250
add ecx, 2
add eax, 2
test bl, bl
jne 0x478230
xor eax, eax
jmp 0x478255
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4782b3
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x478280
test cl, cl
je 0x47827c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x478280
add eax, 2
add edx, 2
test cl, cl
jne 0x478260
xor eax, eax
jmp 0x478285
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4782b3
mov al, byte [esp + 0x11]
test bh, bh
jne 0x478295
test al, al
je 0x4782d4
mov dword [esp + 0x18], edi
test bh, bh
je 0x4782a6
cmp dword [edi + 0x5e4], 0
jne 0x4782f7
test al, al
je 0x4782b3
cmp dword [edi + 0x5e8], 0
jne 0x4782f7
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x477bf8
jmp 0x478302
cmp dword [edi + 0x5e8], 0
jne 0x4782b3
jmp 0x47828d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x478306
cmp dword [esp + 0x1c], 0
je 0x478306
push str.Multiplexed_connection_found__n
push ebx
call fcn.0047ccf0
add esp, 8
jmp 0x478306
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x478325
push ebx
mov dword [edi], ebx
call fcn.00475fa0
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.00475fa0
add esp, 4
cmp byte [esp + 0x12], 0
je 0x478353
cmp byte [ebx + 0xb25], 0
je 0x478353
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.0047ccf0
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