Function at 0x478d30
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 0x478d8a
cmp byte [ebp + 0x50d], 0
je 0x478d66
cmp byte [ebp + 0x500], 0
jne 0x478d8a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.0046f5f0
add esp, 4
test al, al
je 0x478d8e
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x478d8e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x478db0
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x478db0
mov al, 1
jmp 0x478db2
xor al, al
cmp byte [ebp + 0x509], 0
mov byte [esp + 0x13], al
je 0x478ddb
test byte [ebx + 0xd80], 0x28
je 0x478ddb
mov eax, dword [ebp + 0x540]
test byte [eax + 0x40], 3
je 0x478ddb
mov byte [esp + 0x11], 1
jmp 0x478de1
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.00476d40
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x479605
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.0047dfd0
add esp, 0x14
test esi, esi
je 0x478ec9
mov eax, dword [edi]
test eax, eax
jne 0x478e86
cmp byte [ebx + 0xb25], al
je 0x478e70
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.0047dfd0
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.00477280
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.0047dfd0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x478eae
push dword [ebx + 0x78]
call fcn.0046f5f0
add esp, 4
test al, al
jne 0x478eae
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.0047dfd0
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x478ec9
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.0047dfd0
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x478ecd
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x479605
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 0x47959f
cmp byte [edi + 0x500], al
jne 0x47959f
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x478f12
mov eax, dword [edi + 0x5d4]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x478f66
test eax, eax
jne 0x47959f
cmp byte [edi + 0x2c4], al
jne 0x478f3f
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.0047dfd0
add esp, 0xc
jmp 0x47959b
cmp dword [edi + 0x420], 0xffffffff
jne 0x478f66
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.0047dfd0
add esp, 0xc
jmp 0x47959b
mov ecx, dword [ebp + 0x7dc]
mov eax, dword [edi + 0x7dc]
test ecx, ecx
je 0x478fbb
test eax, eax
je 0x47959b
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x478fa0
test dl, dl
je 0x478f9c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x478fa0
add ecx, 2
add eax, 2
test dl, dl
jne 0x478f80
xor eax, eax
jmp 0x478fa5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47959b
mov al, byte [ebp + 0x7e0]
cmp al, byte [edi + 0x7e0]
jmp 0x478fbd
test eax, eax
jne 0x47959b
mov ecx, dword [edi + 0x540]
mov edx, dword [ebp + 0x540]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x478ffa
push dword [ecx + 0x40]
call fcn.0047c0a0
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x47959b
cmp byte [edi + 0x7e1], 0
je 0x47959b
mov al, byte [ebp + 0x506]
cmp al, byte [edi + 0x506]
jne 0x47959b
mov al, byte [ebp + 0x507]
cmp al, byte [edi + 0x507]
jne 0x47959b
test al, al
je 0x47911e
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x47959b
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x47959b
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.00482320
add esp, 8
test eax, eax
je 0x47959b
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 0x479597
test edx, edx
je 0x4790bd
test esi, esi
je 0x4790bd
mov al, byte [edx]
cmp al, byte [esi]
jne 0x4790b0
test al, al
je 0x4790ac
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x4790b0
add edx, 2
add esi, 2
test al, al
jne 0x479090
xor eax, eax
jmp 0x4790b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x479597
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 0x479597
test edx, edx
je 0x47911a
test esi, esi
je 0x47911a
mov al, byte [edx]
cmp al, byte [esi]
jne 0x479107
test al, al
je 0x479103
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x479107
add edx, 2
add esi, 2
test al, al
jne 0x4790e7
xor eax, eax
jmp 0x47910c
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x47959b
jmp 0x47911e
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x503]
cmp al, byte [edi + 0x503]
jne 0x47959b
mov al, byte [ebp + 0x504]
cmp al, byte [edi + 0x504]
jne 0x47959b
cmp byte [ebp + 0x506], 0
je 0x479208
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x47959b
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x47959b
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.00482320
add esp, 8
test eax, eax
je 0x47959b
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x47959b
cmp dword [ebp + 0x358], 2
jne 0x479208
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x4791dd
lea eax, [edi + 0x4d0]
push eax
lea eax, [ebp + 0x4d0]
push eax
call fcn.00478140
add esp, 8
test al, al
je 0x47959b
cmp dword [edi + 0x480], 2
jmp 0x479202
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00478140
add esp, 8
test al, al
je 0x47959b
cmp dword [edi + 0x460], 2
jne 0x47959b
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x47921c
test eax, eax
jne 0x47959f
jmp 0x47922f
test eax, eax
je 0x47922f
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x47959b
mov ecx, dword [ebp + 0x7c4]
test ecx, ecx
jne 0x479242
cmp word [ebp + 0x7c8], cx
je 0x4792ad
mov ax, word [edi + 0x7c8]
cmp ax, word [ebp + 0x7c8]
jne 0x47959b
mov eax, dword [edi + 0x7cc]
cmp eax, dword [ebp + 0x7cc]
jne 0x47959b
test ecx, ecx
je 0x4792ad
mov eax, dword [edi + 0x7c4]
test eax, eax
je 0x47959b
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4792a0
test dl, dl
je 0x47929c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4792a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x479280
xor eax, eax
jmp 0x4792a5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47959b
mov esi, dword [ebp + 0x540]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x47932d
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4792e6
test dl, dl
je 0x4792e2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4792e6
add eax, 2
add ecx, 2
test dl, dl
jne 0x4792c6
xor eax, eax
jmp 0x4792eb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x479593
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x479320
test dl, dl
je 0x47931c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x479320
add eax, 2
add ecx, 2
test dl, dl
jne 0x479300
xor eax, eax
jmp 0x479325
sbb eax, eax
or eax, 1
test eax, eax
jne 0x479593
cmp byte [ebp + 0x506], 0
je 0x479348
test bl, 1
jne 0x479348
cmp byte [ebp + 0x50f], 0
je 0x479436
mov eax, dword [edi + 0x540]
push dword [eax]
push dword [esi]
call fcn.00482350
add esp, 8
test eax, eax
jne 0x47938b
mov eax, dword [edi + 0x540]
push dword [eax + 0x40]
call fcn.0047c0a0
mov ecx, dword [ebp + 0x540]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x479593
cmp byte [edi + 0x7e1], 0
je 0x479593
cmp byte [ebp + 0x503], 0
je 0x4793b0
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.00482350
add esp, 8
test eax, eax
je 0x479593
cmp byte [ebp + 0x504], 0
je 0x4793cb
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x479593
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.00482350
add esp, 8
test eax, eax
je 0x479593
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x479593
mov eax, dword [ebp + 0x540]
test byte [eax + 0x44], 1
je 0x479436
lea eax, [edi + 0x4a4]
push eax
lea eax, [ebp + 0x4a4]
push eax
call fcn.00478140
add esp, 8
test al, al
je 0x479593
cmp dword [edi + 0x460], 2
je 0x479436
mov byte [esp + 0x12], 1
jmp 0x479593
mov bh, byte [esp + 0x13]
test bh, bh
je 0x4794d0
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x479470
test dl, dl
je 0x47946c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x479470
add eax, 2
add ecx, 2
test dl, dl
jne 0x479450
xor eax, eax
jmp 0x479475
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4794ae
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4794a5
test dl, dl
je 0x4794a1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4794a5
add eax, 2
add ecx, 2
test dl, dl
jne 0x479485
xor eax, eax
jmp 0x4794aa
sbb eax, eax
or eax, 1
test eax, eax
je 0x4794dd
cmp dword [edi + 0x5e4], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x47959f
mov dword [esp + 0x18], edi
jmp 0x47959f
cmp dword [edi + 0x5e4], 0
jne 0x479593
mov al, byte [esp + 0x11]
test al, al
je 0x4795a9
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x479593
mov edx, dword [edi + 0x360]
test edx, edx
je 0x479593
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x479530
test bl, bl
je 0x47952c
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x479530
add ecx, 2
add eax, 2
test bl, bl
jne 0x479510
xor eax, eax
jmp 0x479535
sbb eax, eax
or eax, 1
test eax, eax
jne 0x479593
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x479560
test cl, cl
je 0x47955c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x479560
add eax, 2
add edx, 2
test cl, cl
jne 0x479540
xor eax, eax
jmp 0x479565
sbb eax, eax
or eax, 1
test eax, eax
jne 0x479593
mov al, byte [esp + 0x11]
test bh, bh
jne 0x479575
test al, al
je 0x4795b4
mov dword [esp + 0x18], edi
test bh, bh
je 0x479586
cmp dword [edi + 0x5e4], 0
jne 0x4795d7
test al, al
je 0x479593
cmp dword [edi + 0x5e8], 0
jne 0x4795d7
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x478ed8
jmp 0x4795e2
cmp dword [edi + 0x5e8], 0
jne 0x479593
jmp 0x47956d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x4795e6
cmp dword [esp + 0x1c], 0
je 0x4795e6
push str.Multiplexed_connection_found__n
push ebx
call fcn.0047dfd0
add esp, 8
jmp 0x4795e6
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x479605
push ebx
mov dword [edi], ebx
call fcn.00477280
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.00477280
add esp, 4
cmp byte [esp + 0x12], 0
je 0x479633
cmp byte [ebx + 0xb25], 0
je 0x479633
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.0047dfd0
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