Function at 0x50d9a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe0
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov eax, dword [0x7a9040]
xor eax, ebp
mov dword [esp + 0xd8], eax
mov byte [ecx], 0
mov ecx, dword [fcn.005464a0]
mov esi, dword [ebx + 0x124]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
xor esi, esi
mov dword [ebx + 0x124], esi
mov ecx, dword [fcn.005464a0]
mov edi, dword [ebx + 0x118]
call dword [0x7a29f4]
push edi
mov edi, ebx
call ecx
add esp, 4
mov dword [ebx + 0x118], esi
mov eax, dword [ebx + 0x128]
test eax, eax
je 0x50da30
add eax, 4
push eax
call fcn.0050c9a0
add esp, 4
mov eax, 0x220
add eax, dword [edi + 0x128]
push eax
call fcn.0050c9a0
add esp, 4
lea eax, [edi + 0x98]
push 0xb8
push 0
push eax
call fcn.006547d0
add esp, 0xc
pcmpeqd xmm0, xmm0
movdqu xmmword [edi + 0x88], xmm0
mov al, byte [edi + 0x682]
mov byte [edi + 0x14c], al
push dword [edi + 0x7c]
call fcn.004fd9c0
add esp, 4
mov esi, eax
push dword [edi + 0x7c]
call fcn.004fd9e0
add esp, 4
mov ebx, eax
mov eax, dword [ebp + 0xc]
mov byte [eax], 0
cmp dword [edi + 0xc34], 0
je 0x50de1c
mov dword [esp + 0x18], esi
mov ecx, dword [fcn.00546650]
call dword [0x7a29f4]
push 0x3c0
push 1
call ecx
add esp, 8
test eax, eax
je 0x50de15
mov esi, eax
mov dword [esp + 0x28], ebx
xor eax, eax
dec eax
mov dword [esi + 0x128], eax
mov dword [esi + 0x12c], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3a4], eax
mov dword [esi + 0x3a8], eax
push 1
push esi
call fcn.004e15b0
add esp, 8
lea ebx, [esp + 0x50]
push ebx
call fcn.0050a160
add esp, 4
movups xmm0, xmmword [ebx]
movups xmmword [esi + 0x108], xmm0
movdqu xmm0, xmmword [esi + 0x108]
movdqu xmmword [esi + 0x1f0], xmm0
mov cl, byte [edi + 0x492]
mov byte [esi + 0xa4], cl
mov byte [esi + 0x84], 4
mov eax, dword [edi + 0x51c]
test eax, eax
je 0x50dde0
cmp byte [eax], 0
setne byte [esi + 0x1cd]
setne al
cmp cl, 4
setb cl
and cl, al
mov byte [esi + 0x1c8], cl
xor cl, 1
and cl, al
mov byte [esi + 0x1c9], cl
mov eax, dword [edi + 0x520]
test eax, eax
je 0x50db6c
cmp byte [eax], 0
je 0x50db6c
mov al, 1
mov byte [esi + 0x1cd], al
mov byte [esi + 0x1c9], al
cmp dword [edi + 0xcd4], 0
setne byte [esi + 0x1ca]
mov al, byte [edi + 0x676]
mov byte [esi + 0x1cb], al
mov al, byte [edi + 0x3f7]
mov byte [esi + 0x183], al
mov al, byte [edi + 0x3f5]
mov byte [esi + 0x181], al
mov al, byte [edi + 0x3f6]
mov byte [esi + 0x182], al
mov al, byte [edi + 0x3ec]
mov byte [esi + 0x178], al
mov al, byte [edi + 0x45f]
mov byte [esi + 0x1c3], al
mov al, byte [edi + 0x45d]
mov byte [esi + 0x1c1], al
mov al, byte [edi + 0x45e]
mov byte [esi + 0x1c2], al
mov al, byte [edi + 0x454]
mov byte [esi + 0x1b8], al
mov al, byte [edi + 0x4b0]
mov byte [esi + 0x3bc], al
mov al, byte [edi + 0x66e]
mov byte [esi + 0x3be], al
mov byte [esi + 0x3bb], 3
lea eax, [esi + 0x23c]
push 0
push eax
call fcn.004f57d0
add esp, 8
mov ebx, dword [edi + 0x4e8]
test ebx, ebx
je 0x50dc40
mov ecx, dword [fcn.00666700]
call dword [0x7a29f4]
push ebx
call ecx
add esp, 4
mov dword [esi + 0x394], eax
test eax, eax
je 0x50ddf0
lea eax, [esi + 0x108]
movzx ecx, word [edi + 0x18a]
mov word [esi + 0x398], cx
movzx ecx, word [edi + 0x188]
mov word [esi + 0x3b4], cx
mov ecx, dword [edi + 0x1bc]
mov dword [esi + 0x30], ecx
mov ecx, dword [edi + 0x1c0]
mov dword [esi + 0x34], ecx
movdqu xmm0, xmmword [eax]
movdqu xmmword [esi + 0x118], xmm0
mov al, byte [edi + 0x638]
mov dword [esp + 4], esi
mov byte [esi + 0x3bf], al
xor esi, esi
cmp dword [edi + 0x660], 0
je 0x50ddd9
mov bl, byte [edi + 0xce1]
xor bl, 1
mov ecx, dword [fcn.005464a0]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0xc14]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0xc14], esi
mov ecx, dword [fcn.005464a0]
mov edi, dword [eax + 0xc18]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0xc18], esi
mov ecx, dword [fcn.005464a0]
mov edi, dword [eax + 0xc1c]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0xc1c], esi
mov ecx, dword [fcn.005464a0]
mov edi, dword [eax + 0xc20]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0xc20], esi
mov ecx, dword [fcn.005464a0]
mov edi, dword [eax + 0xc24]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0xc24], esi
mov ecx, dword [fcn.005464a0]
mov edi, dword [eax + 0xc28]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0xc28], esi
mov ecx, dword [fcn.005464a0]
mov edi, dword [eax + 0xc2c]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov eax, dword [ebp + 8]
mov dword [eax + 0xc2c], esi
mov ecx, dword [fcn.005464a0]
mov edi, dword [eax + 0xc30]
call dword [0x7a29f4]
push edi
mov edi, dword [ebp + 8]
call ecx
add esp, 4
mov dword [edi + 0xc30], esi
push dword [edi + 0xc10]
call fcn.00512040
add esp, 4
mov dword [edi + 0xc10], esi
test bl, bl
jne 0x50df00
call fcn.00512020
jmp 0x50df0e
xor ebx, ebx
jmp 0x50dca8
mov byte [esi + 0x1cd], 0
xor eax, eax
xor ecx, ecx
jmp 0x50db3e
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push 0
call ecx
add esp, 4
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov ebx, 0x1b
jmp 0x50de21
mov ebx, 3
mov ecx, dword [esp + 0xd8]
xor ecx, ebp
call fcn.00650d60
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, ecx
jmp 0x50de21
mov dword [esp + 0x50], 0xffffffff
movzx eax, byte [edi + 0x698]
shl eax, 5
movzx ecx, byte [edi + 0x692]
shl ecx, 4
add eax, ecx
add eax, 0x208
push eax
push dword [edi + 0xc34]
push 0
push esi
call fcn.00512bf0
add esp, 0x10
test eax, eax
je 0x50e067
mov ebx, eax
push eax
call fcn.00509220
add esp, 4
push eax
push str.URL_rejected:__s
push edi
call fcn.004e7570
add esp, 0xc
cmp ebx, 8
je case.0x50e2a9.8
cmp ebx, 7
je case.0x50e2a9.7
mov esi, 3
cmp ebx, 5
jne case.0x50e2a9.1
xor esi, esi
inc esi
jmp case.0x50e2a9.1
mov esi, 0x43
jmp case.0x50e2a9.1
mov esi, 0x1b
mov ecx, esi
test ecx, ecx
je 0x50de39
mov esi, dword [esp + 4]
test esi, esi
je 0x50de39
push edi
mov dword [esp + 0x1c], ecx
call fcn.004faf70
add esp, 4
mov ebx, esi
xor esi, esi
inc esi
push esi
push ebx
push edi
call fcn.004e0b20
add esp, 0xc
push esi
push ebx
push edi
call fcn.0050d240
add esp, 0xc
mov ebx, dword [esp + 0x18]
jmp 0x50de21
push dword [edi + 0x660]
call fcn.00512140
add esp, 4
mov esi, eax
mov dword [edi + 0xc10], eax
mov ecx, 0x1b
test eax, eax
je 0x50debb
cmp dword [edi + 0x4e4], 0
je 0x50df44
xor eax, eax
push 1
push eax
push eax
push dword [edi + 0xc34]
call fcn.005119e0
add esp, 0x10
test eax, eax
je 0x50dfd4
test bl, bl
je 0x50de3d
lea ebx, [edi + 0xc14]
push 0
push ebx
push 1
push esi
call fcn.005123c0
add esp, 0x10
cmp eax, 8
ja case.0x50e3a5.3115
jmp dword [eax*4 + 0x749798]
mov ecx, 0x43
jmp 0x50debb
push esi
push str.Protocol___s__not_supported_or_disabled_in_libcurl
push edi
call fcn.004e7570
add esp, 0xc
xor ecx, ecx
inc ecx
jmp 0x50debb
mov eax, esi
lea esi, [edi + 0xc18]
push 0
push esi
push 5
mov dword [esp + 0x18], eax
push eax
call fcn.005123c0
add esp, 0x10
test eax, eax
je 0x50e034
push dword [ebx]
push str.file
call fcn.00508c30
add esp, 8
test eax, eax
jne 0x50e0d3
mov ecx, 0x1b
jmp 0x50debb
mov dword [esp + 0xc], esi
push dword [edi + 0xc34]
push dword [edi + 0x4e4]
push str._s:___s
call fcn.004f8cc0
add esp, 0xc
test eax, eax
je case.0x50e3a5.3109
mov esi, eax
cmp byte [edi + 0xcef], 1
jne 0x50e01e
mov ecx, dword [fcn.005464a0]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0xc34]
call dword [0x7a29f4]
push edi
mov edi, dword [ebp + 8]
call ecx
add esp, 4
mov dword [edi + 0xc34], esi
mov byte [edi + 0xcef], 1
mov esi, dword [esp + 0xc]
jmp 0x50df44
mov esi, dword [esi]
push esi
call fcn.0066e590
add esp, 4
cmp eax, 0x10000
jb 0x50e0d5
push 0xffff
push str.Too_long_host_name__maximum_is__d_
push edi
call fcn.004e7570
add esp, 0xc
mov ecx, 3
jmp 0x50debb
xor eax, eax
mov edx, esi
mov esi, 3
push eax
lea ecx, [esp + 0x54]
push ecx
push eax
mov ebx, edx
push edx
call fcn.005123c0
add esp, 0x10
cmp eax, 8
ja case.0x50e2a9.1
jmp dword [eax*4 + 0x749774]
cmp byte [edi + 0xcef], 1
jne 0x50e0b3
mov ecx, dword [fcn.005464a0]
mov esi, dword [edi + 0xc34]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov eax, dword [esp + 0x50]
mov dword [edi + 0xc34], eax
mov byte [edi + 0xcef], 1
mov esi, ebx
jmp 0x50df4c
mov edi, dword [ebp + 8]
jmp case.0x50e3a5.3109
mov esi, dword [esi]
test esi, esi
je 0x50e115
cmp byte [esi], 0x5b
jne 0x50e117
mov eax, dword [esp + 4]
mov byte [eax + 0x1d3], 1
lea eax, [esi + 1]
mov dword [esp + 8], eax
push eax
call fcn.0066e590
add esp, 4
mov byte [esi + eax], 0
mov ecx, dword [esp + 0xc]
mov edx, edi
push dword [esp + 4]
call fcn.00511180
add esp, 4
mov esi, dword [esp + 8]
jmp 0x50e117
xor esi, esi
mov ecx, dword [fcn.00666700]
test esi, esi
mov edi, 0x736aef
cmovne edi, esi
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov esi, dword [esp + 4]
mov dword [esi + 0x48], eax
test eax, eax
je case.0x50ef24.7
mov dword [esp + 8], ebx
lea ebx, [esi + 0x48]
mov dword [esi + 0x50], eax
push ebx
call fcn.004f57c0
add esp, 4
test eax, eax
mov edi, dword [ebp + 8]
je 0x50e1ca
mov ebx, 0x59
mov ecx, eax
cmp eax, 0x59
jne 0x50debb
jmp 0x50de21
mov ebx, eax
mov ecx, dword [fcn.005464a0]
mov edi, dword [esp + 0x50]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
cmp ebx, 8
je 0x50e1a7
cmp ebx, 7
je 0x50e1a0
cmp ebx, 5
mov edi, dword [ebp + 8]
jne case.0x50e2a9.1
jmp case.0x50e2a9.5
mov esi, 0x1b
jmp 0x50e1ac
mov esi, 0x43
mov edi, dword [ebp + 8]
jmp case.0x50e2a9.1
push eax
push str.Switched_from_HTTP_to_HTTPS_due_to_HSTS____s
push dword [ebp + 8]
call fcn.004e7630
add esp, 0xc
jmp 0x50e2f1
mov dword [esp + 0x44], ebx
cmp dword [edi + 0x6a4], 0
mov ebx, dword [esp + 8]
je 0x50e2f5
push dword [ebx]
push str.http
call fcn.00508c30
add esp, 8
test eax, eax
je 0x50e2f5
push 1
push dword [esi + 0x50]
push dword [edi + 0x6a4]
call fcn.004ed360
add esp, 0xc
test eax, eax
je 0x50e2f5
mov dword [esp + 0x50], 0xffffffff
mov ecx, dword [fcn.005464a0]
mov esi, dword [ebx]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
xor eax, eax
mov dword [ebx], eax
mov esi, 3
push eax
push str.https
push 1
push dword [esp + 0x18]
call fcn.00512bf0
add esp, 0x10
cmp eax, 8
ja case.0x50e2a9.1
jmp dword [eax*4 + 0x7497bc]
cmp byte [edi + 0xcef], 1
jne 0x50e28b
mov ecx, dword [fcn.005464a0]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0xc34]
call dword [0x7a29f4]
push edi
mov edi, dword [ebp + 8]
call ecx
add esp, 4
mov dword [edi + 0xc34], 0
xor eax, eax
push eax
lea ecx, [esp + 0x54]
push ecx
push eax
push dword [esp + 0x18]
call fcn.005123c0
add esp, 0x10
cmp eax, 8
ja case.0x50e2a9.1
jmp dword [eax*4 + 0x7497e0]
push 0
push dword [esp + 0xc]
push 1
push dword [esp + 0x18]
call fcn.005123c0
add esp, 0x10
test eax, eax
jne 0x50e16d
mov eax, dword [esp + 0x50]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc34], eax
mov byte [ecx + 0xcef], 1
test ecx, ecx
je 0x50e2f1
cmp byte [ecx + 0x683], 1
je 0x50e1b4
mov ebx, dword [esp + 8]
mov esi, dword [ebx]
push 0xffffffffffffffff
push esi
call fcn.0050d5e0
add esp, 8
test eax, eax
je 0x50df7a
mov ecx, dword [eax + 0x44]
test dword [edi + 0x62c], ecx
je 0x50df7a
cmp byte [edi + 0xce1], 1
jne 0x50e32e
test dword [edi + 0x630], ecx
je 0x50df7a
mov ecx, dword [esp + 4]
mov dword [ecx + 0x1e8], eax
mov dword [ecx + 0x1e4], eax
cmp dword [edi + 0x574], 0
je 0x50e3ed
cmp dword [edi + 0x570], 0
je 0x50e44a
lea esi, [edi + 0xc28]
push 0x40
push esi
push 4
push dword [esp + 0x18]
call fcn.005123c0
add esp, 0x10
lea ecx, [eax - 5]
cmp ecx, 8
ja case.default.0x50e37b
jmp dword [ecx*4 + 0x749854]
lea eax, [edi + 0xc2c]
push 0x80
push eax
push 7
push dword [esp + 0x18]
call fcn.005123c0
add esp, 0x10
cmp eax, 8
ja case.0x50e3a5.3115
jmp dword [eax*4 + 0x749878]
mov eax, dword [ebp + 8]
add eax, 0xc1c
push 1
push eax
push 6
push dword [esp + 0x18]
call fcn.005123c0
add esp, 0x10
test eax, eax
je 0x50e55f
mov eax, dword [esp + 8]
push dword [eax]
push str.file
call fcn.00508c30
add esp, 8
test eax, eax
jne 0x50e5aa
jmp case.0x50e3a5.3109
lea esi, [edi + 0xc24]
push 0
push esi
push 3
push dword [esp + 0x18]
call fcn.005123c0
add esp, 0x10
lea ecx, [eax - 5]
cmp ecx, 7
ja case.default.0x50e410
jmp dword [ecx*4 + 0x749804]
test eax, eax
jne case.0x50e3a5.3115
mov ecx, dword [fcn.00666700]
mov esi, dword [esi]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov ecx, dword [esp + 4]
mov dword [ecx + 0xe8], eax
test eax, eax
jne case.0x50e37b.13
jmp case.0x50e3a5.3109
lea esi, [edi + 0xc20]
push 0
push esi
push 2
push dword [esp + 0x18]
call fcn.005123c0
add esp, 0x10
cmp eax, 0xb
ja case.0x50e3a5.3115
jmp dword [eax*4 + 0x749824]
cmp dword [edi + 0xcd0], 0
je 0x50e358
lea eax, [edi + 0xccc]
push 0x736aef
push eax
call fcn.005017e0
add esp, 8
test eax, eax
jne 0x50e158
jmp 0x50e358
lea eax, [esp + 0x50]
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x1e4]
xor edx, edx
bt dword [ecx + 0x4c], 0xd
mov ecx, 0
adc ecx, 3
push ecx
push edx
push eax
push edx
push dword [esi]
call fcn.004e9670
add esp, 0x14
test eax, eax
jne 0x50e158
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 4]
mov dword [ecx + 0xe0], eax
mov ecx, dword [ebp + 8]
add ecx, 0xccc
push eax
push ecx
jmp 0x50e48a
test eax, eax
jne case.0x50e3a5.3115
lea eax, [esp + 0x50]
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x1e4]
xor edx, edx
bt dword [ecx + 0x4c], 0xd
mov ecx, 0
adc ecx, 3
push ecx
push edx
push eax
push edx
push dword [esi]
call fcn.004e9670
add esp, 0x14
test eax, eax
jne 0x50e158
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 4]
mov dword [ecx + 0xe4], eax
lea ecx, [edi + 0xcd0]
push eax
push ecx
call fcn.005017e0
add esp, 8
test eax, eax
jne 0x50e158
jmp case.0x50e410.12
push 0xa
push 0
mov esi, dword [ebp + 8]
push dword [esi + 0xc1c]
call fcn.00667589
add esp, 0xc
mov ecx, eax
movzx eax, word [esi + 0x168]
test ax, ax
je 0x50e58e
mov edx, dword [ebp + 8]
cmp byte [edx + 0xce4], 0
jne 0x50e597
push ecx
call fcn.0051ed20
add esp, 4
movzx eax, ax
mov ecx, dword [esp + 4]
mov dword [ecx + 0x3a8], eax
mov dword [ecx + 0x3a4], eax
mov esi, dword [ebp + 8]
lea eax, [esi + 0xc30]
push 0
push eax
push 8
push dword [esp + 0x18]
call fcn.005123c0
add esp, 0x10
mov eax, dword [esi + 0x628]
test eax, eax
je 0x50e5d8
mov ecx, dword [esp + 4]
mov dword [ecx + 0x3b0], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x5e0]
test esi, esi
je 0x50e609
mov ecx, dword [fcn.00666700]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov ecx, dword [esp + 4]
mov dword [ecx + 0xec], eax
test eax, eax
je case.0x50e3a5.3109
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x5c8]
test esi, esi
je 0x50e63a
mov ecx, dword [fcn.00666700]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov ecx, dword [esp + 4]
mov dword [ecx + 0xf0], eax
test eax, eax
je case.0x50e3a5.3109
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x5cc]
test esi, esi
je 0x50e67e
mov ecx, dword [fcn.00666700]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov ecx, dword [esp + 4]
mov dword [ecx + 0x390], eax
test eax, eax
je case.0x50e3a5.3109
mov eax, dword [ebp + 8]
mov al, byte [eax + 0x697]
mov ecx, dword [esp + 4]
mov byte [ecx + 0x1df], al
mov byte [esp + 0x48], 0
mov eax, dword [esp + 4]
cmp byte [eax + 0x1ca], 1
jne 0x50e883
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xcd4]
mov esi, dword [ecx + 0xcd8]
test eax, eax
mov ecx, 0x736aef
cmove eax, ecx
test esi, esi
cmove esi, ecx
mov ecx, dword [esp + 4]
lea ebx, [ecx + 0xa8]
xor edi, edi
push 4
push edi
push ebx
push edi
push eax
call fcn.004e9670
add esp, 0x14
mov dword [esp + 0xc], eax
test eax, eax
je 0x50e815
xor ebx, ebx
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push ebx
call ecx
add esp, 4
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
cmp dword [esp + 0xc], 0
je 0x50ed11
mov edi, dword [ebp + 8]
mov eax, dword [esp + 0xc]
jmp 0x50e158
lea esi, [esp + 0x50]
push esi
push str.http_proxy
call fcn.00508c30
add esp, 8
test eax, eax
je 0x50e748
push str.all_proxy
call fcn.004ea6b0
add esp, 4
test eax, eax
je 0x50e76c
mov edi, eax
mov esi, str.all_proxy
jmp 0x50e9c3
push 0x80
push esi
push esi
call fcn.00508d30
add esp, 0xc
push esi
call fcn.004ea6b0
add esp, 4
mov edi, eax
test eax, eax
jne 0x50e9c3
jmp 0x50e72b
mov esi, str.ALL_PROXY
push str.ALL_PROXY
call fcn.004ea6b0
add esp, 4
mov edi, eax
jmp 0x50e9c3
mov esi, str.NO_PROXY
push str.NO_PROXY
call fcn.004ea6b0
add esp, 4
mov dword [esp + 0xc], eax
jmp 0x50e7b7
push str.no_proxy
call fcn.004ea6b0
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
je 0x50e785
mov esi, str.no_proxy
cmp dword [esp + 0xc], 0
sete al
cmp dword [ebp + 8], 0
sete cl
or cl, al
jne 0x50e8f4
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x50e8f4
push dword [esp + 0xc]
push esi
push str.Uses_proxy_env_variable__s___s
push dword [ebp + 8]
call fcn.004e7630
add esp, 0x10
jmp 0x50e8f4
push str.memory_shortage
push dword [ebp + 8]
call fcn.004e7570
add esp, 8
mov dword [esp + 0xc], 0x1b
jmp 0x50e6d8
mov eax, dword [ebp + 8]
add eax, 0xcd4
push dword [ebx]
push eax
call fcn.005017e0
add esp, 8
mov ebx, 0
mov dword [esp + 0xc], eax
test eax, eax
jne 0x50e6da
mov eax, dword [esp + 4]
lea ebx, [eax + 0xac]
xor edi, edi
push 4
push edi
push ebx
push edi
push esi
call fcn.004e9670
add esp, 0x14
mov dword [esp + 0xc], eax
test eax, eax
jne 0x50e6d8
mov eax, dword [ebp + 8]
add eax, 0xcd8
push dword [ebx]
push eax
call fcn.005017e0
add esp, 8
mov ebx, 0
mov dword [esp + 0xc], eax
test eax, eax
jne 0x50e6da
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x51c]
xor ebx, ebx
mov edi, 0
test esi, esi
je 0x50e8b3
mov ecx, dword [fcn.00666700]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov edi, eax
test eax, eax
je 0x50eb88
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x520]
test esi, esi
je 0x50e8dc
mov ecx, dword [fcn.00666700]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov ebx, eax
test eax, eax
je 0x50e7f8
mov dword [esp + 0xc], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x584], 0
je 0x50e79d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x584]
test eax, eax
cmove eax, dword [esp + 0xc]
lea ecx, [esp + 0x48]
push ecx
push eax
mov eax, dword [esp + 0xc]
push dword [eax + 0x50]
call fcn.004fe4c0
add esp, 0xc
test al, al
jne 0x50e9f3
mov eax, edi
or eax, ebx
jne 0x50ea1b
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xc0], xmm0
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x70], xmm0
movdqa xmmword [esp + 0x60], xmm0
movdqa xmmword [esp + 0x50], xmm0
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
mov esi, dword [eax]
mov al, byte [esi]
lea ebx, [esp + 0x50]
test al, al
je 0x50e99f
inc esi
lea ebx, [esp + 0x50]
movsx eax, al
push eax
call fcn.00508c20
add esp, 4
mov byte [ebx], al
inc ebx
mov al, byte [esi]
inc esi
test al, al
jne 0x50e989
mov dword [ebx + 3], 0x79786f
mov dword [ebx], 0x6f72705f
lea esi, [esp + 0x50]
push esi
call fcn.004ea6b0
add esp, 4
mov edi, eax
test eax, eax
je 0x50e715
test edi, edi
sete al
cmp dword [ebp + 8], 0
sete cl
or cl, al
jne 0x50ea19
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x50ea19
push edi
push esi
push str.Uses_proxy_env_variable__s___s
push dword [ebp + 8]
call fcn.004e7630
add esp, 0x10
jmp 0x50ea19
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push ebx
call ecx
add esp, 4
xor edi, edi
xor ebx, ebx
cmp dword [ebp + 8], 0
je 0x50ea44
cmp byte [esp + 0x48], 0
je 0x50ea44
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x50ea44
push str.space_separated_NOPROXY_patterns_are_deprecated
push dword [ebp + 8]
call fcn.004e7630
add esp, 8
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push dword [esp + 0xc]
call ecx
add esp, 4
xor esi, esi
test edi, edi
je 0x50ea82
mov eax, dword [esp + 4]
cmp dword [eax + 0x390], 0
je 0x50eb33
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
test ebx, ebx
je 0x50ead5
cmp byte [ebx], 0
je 0x50eac3
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
test byte [eax + 0x4c], 0x10
jne 0x50eac3
mov eax, dword [esp + 4]
lea ecx, [eax + 0x90]
mov dword [esp + 0x14], ecx
movzx eax, byte [eax + 0xa4]
mov dword [esp + 8], eax
mov al, 1
mov dword [esp + 0x10], eax
test esi, esi
jne 0x50eafc
jmp 0x50ebae
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push ebx
call ecx
add esp, 4
test esi, esi
je 0x50eb57
mov eax, dword [esp + 4]
lea ecx, [eax + 0x90]
mov dword [esp + 0x14], ecx
movzx eax, byte [eax + 0xa4]
mov dword [esp + 8], eax
xor ebx, ebx
mov dword [esp + 0x10], 0
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 4]
push dword [esp + 8]
push esi
call fcn.005112a0
add esp, 8
mov edi, eax
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov dword [esp + 0xc], edi
test edi, edi
je 0x50eba7
xor edi, edi
jmp 0x50e6da
cmp byte [edi], 0
je 0x50ea70
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
test byte [eax + 0x4c], 0x10
jne 0x50ea70
mov esi, edi
jmp 0x50ea82
mov eax, dword [esp + 4]
mov byte [eax + 0x1cd], 0
xor ecx, ecx
mov eax, dword [esp + 4]
mov byte [eax + 0x1cd], cl
mov dword [esp + 0xc], 0
mov byte [eax + 0xa4], cl
mov dword [eax + 0x1c8], 0
jmp 0x50eba0
push str.memory_shortage
push dword [ebp + 8]
call fcn.004e7570
add esp, 8
mov dword [esp + 0xc], 0x1b
xor edi, edi
jmp 0x50e6d8
cmp byte [esp + 0x10], 0
je 0x50ebde
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 4]
push dword [esp + 8]
push ebx
call fcn.005112a0
add esp, 8
mov esi, eax
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push ebx
call ecx
add esp, 4
mov dword [esp + 0xc], esi
test esi, esi
jne 0x50eba0
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x50eca4
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
test byte [eax + 0x44], 3
jne 0x50ec29
test byte [eax + 0x4d], 8
je 0x50ec1e
mov eax, dword [esp + 4]
cmp byte [eax + 0x1cb], 0
jne 0x50ec1e
mov eax, dword [esp + 4]
mov dword [eax + str.HTTP], 0x742e48
jmp 0x50ec29
mov eax, dword [esp + 4]
mov byte [eax + 0x1cb], 1
mov eax, dword [esp + 4]
mov byte [eax + 0x1c8], 1
mov al, 1
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x70], 0
je 0x50ecbb
mov bl, 1
mov ecx, dword [esp + 0x14]
cmp dword [ecx], 0
jne 0x50ecbd
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x88], 0
jne 0x50ecbd
mov esi, dword [esp + 4]
mov edi, dword [esi + 0x8c]
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x88], eax
xor eax, eax
mov dword [esi + 0xa8], eax
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov eax, dword [esi + 0xac]
mov dword [esi + 0x8c], eax
xor eax, eax
mov dword [esi + 0xac], eax
mov al, byte [esi + 0x1c8]
jmp 0x50ecbd
xor eax, eax
mov ecx, dword [esp + 4]
mov byte [ecx + 0x1c8], al
mov byte [ecx + 0x1cb], al
jmp 0x50ec36
xor ebx, ebx
mov ecx, dword [esp + 4]
mov edx, ebx
mov byte [ecx + 0x1c9], dl
test al, 1
jne 0x50ecf5
mov eax, dword [esp + 4]
mov ecx, ebx
mov byte [eax + 0x1cd], cl
xor edi, edi
mov ebx, 0
mov dword [esp + 0xc], 0
test cl, cl
je 0x50eb62
jmp 0x50e6da
mov eax, dword [esp + 4]
mov byte [eax + 0x1cd], 1
xor edi, edi
xor ebx, ebx
mov dword [esp + 0xc], 0
jmp 0x50e6da
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e8]
test byte [eax + 0x4c], 1
je 0x50ed39
mov eax, dword [esp + 4]
cmp byte [eax + 0x1c8], 1
jne 0x50ed39
mov eax, dword [esp + 4]
mov byte [eax + 0x1cb], 1
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x168]
test eax, eax
je 0x50ed9a
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0xce4], 1
jne 0x50ed9a
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
mov ecx, dword [esp + 4]
mov dword [ecx + 0x3a8], eax
push eax
push 0x73997f
push 0x10
lea esi, [esp + 0x5c]
push esi
call fcn.004f8ae0
add esp, 0x10
push 0
push esi
push 6
mov eax, dword [ebp + 8]
push dword [eax + 0xc10]
call fcn.00512bf0
add esp, 0x10
test eax, eax
jne case.0x50ef24.7
mov eax, dword [ebp + 8]
cmp dword [eax + 0x578], 0
je 0x50edeb
mov ecx, dword [fcn.005464a0]
mov edi, dword [esp + 4]
mov esi, dword [edi + 0xe8]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov ecx, dword [fcn.00666700]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x578]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov dword [edi + 0xe8], eax
test eax, eax
je case.0x50ef24.7
mov eax, dword [esp + 4]
lea ecx, [eax + 0xe0]
mov dword [esp + 0xc], ecx
add eax, 0xe4
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
cmp byte [eax + 0x4c0], 2
jne 0x50ee44
mov ecx, dword [fcn.005464a0]
mov edi, dword [esp + 0xc]
mov esi, dword [edi]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
xor esi, esi
mov dword [edi], esi
mov ecx, dword [fcn.005464a0]
mov ebx, dword [esp + 0x14]
mov edi, dword [ebx]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov dword [ebx], esi
mov eax, dword [esp + 4]
mov byte [eax + 0x1d9], 0
mov eax, dword [ebp + 8]
cmp byte [eax + 0x4c0], 0
je 0x50ee68
cmp dword [eax + 0x570], 0
je 0x50ef44
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
test eax, eax
je 0x50ee99
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xccc], eax
je 0x50ee99
add ecx, 0xccc
push eax
push ecx
call fcn.005017e0
add esp, 8
test eax, eax
je 0x50ee99
mov edi, dword [ebp + 8]
jmp 0x50e158
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xccc]
test eax, eax
je 0x50eed4
push 0x80
push eax
push 2
mov eax, dword [ebp + 8]
push dword [eax + 0xc10]
call fcn.00512bf0
add esp, 0x10
cmp eax, 8
ja case.0x50ef24.1
jmp dword [eax*4 + 0x74989c]
cmp dword [esi], 0
je 0x50f039
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x50eef5
mov ecx, dword [ebp + 8]
add ecx, 0xcd0
push eax
push ecx
call fcn.005017e0
add esp, 8
test eax, eax
jne 0x50ee91
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xcd0]
test eax, eax
je 0x50f103
push 0x80
push eax
push 3
mov eax, dword [ebp + 8]
push dword [eax + 0xc10]
call fcn.00512bf0
add esp, 0x10
cmp eax, 8
ja case.0x50ef24.1
jmp dword [eax*4 + 0x7498c0]
mov ecx, 0x43
jmp 0x50ef3c
mov ecx, 3
jmp 0x50ef3c
xor ecx, ecx
inc ecx
mov edi, dword [ebp + 8]
jmp 0x50debb
lea esi, [eax + 0xccc]
mov ebx, dword [eax + 0xccc]
test ebx, ebx
mov dword [esp + 8], esi
cmove esi, dword [esp + 0xc]
push dword [eax + 0x518]
push dword [esp + 0x18]
push esi
mov eax, dword [esp + 0x10]
push dword [eax + 0x50]
call fcn.004fdd10
add esp, 0x10
test eax, eax
jle 0x50efa8
cmp dword [ebp + 8], 0
je 0x50efb9
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x50efb9
push dword [eax + 0x518]
mov ecx, dword [esp + 8]
push dword [ecx + 0x50]
push str.Couldnt_find_host__s_in_the__s_file__using_defaults
push eax
call fcn.004e7630
add esp, 0x10
jmp 0x50efb9
js 0x50f063
mov eax, dword [esp + 4]
mov byte [eax + 0x1d9], 1
test ebx, ebx
je 0x50effd
mov ecx, dword [fcn.005464a0]
mov ebx, dword [esp + 0xc]
mov edi, dword [ebx]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov dword [ebx], 0
mov ecx, dword [fcn.00666700]
mov eax, dword [esp + 8]
mov edi, dword [eax]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov dword [ebx], eax
test eax, eax
je case.0x50ef24.7
mov eax, dword [esi]
test eax, eax
jne 0x50ee72
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x50ee99
mov ecx, dword [fcn.00666700]
call dword [0x7a29f4]
push 0x736aef
call ecx
add esp, 4
mov dword [esi], eax
test eax, eax
jne 0x50ee72
jmp case.0x50ef24.7
mov ecx, dword [fcn.00666700]
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0xccc]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
mov dword [esi], eax
test eax, eax
jne 0x50eed4
jmp case.0x50ef24.7
push str..netrc_parser_error
mov edi, dword [ebp + 8]
push edi
call fcn.004e7570
add esp, 8
mov ecx, 0x1a
jmp 0x50debb
mov ecx, dword [fcn.00666700]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0xcd0]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
test eax, eax
jne 0x50f103
jmp case.0x50ef24.7
mov ecx, dword [fcn.00666700]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
test eax, eax
jne 0x50f13f
jmp case.0x50ef24.7
mov ecx, dword [fcn.00666700]
call dword [0x7a29f4]
push ebx
call ecx
add esp, 4
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
test eax, eax
jne 0x50f132
jmp case.0x50ef24.7
mov esi, str.ftp_example.com
mov ebx, str.anonymous
jmp 0x50f129
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x50f07e
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
test byte [eax + 0x4c], 0x20
je 0x50f11f
mov eax, dword [ebp + 8]
cmp dword [eax + 0xccc], 0
je 0x50f0ea
mov ebx, 0x736aef
mov esi, 0x736aef
mov eax, dword [esp + 0xc]
cmp dword [eax], 0
je 0x50f0c9
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
je 0x50f0a8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x3ac]
mov dword [esp + 8], eax
test eax, eax
jne 0x50f376
mov al, 1
xor ecx, ecx
test cl, cl
jne 0x50f1b2
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x6a8]
test ecx, ecx
je 0x50f1b2
test al, al
je 0x50f1b2
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
cmp dword [eax + 0x44], 2
jne 0x50f1b2
mov dword [esp + 0x50], 0xffffffff
mov eax, dword [ecx + 0x14]
and eax, 8
mov edx, dword [esp + 4]
mov esi, dword [edx + 0x48]
push eax
lea eax, [esp + 0x54]
push eax
push dword [edx + 0x3a8]
push esi
push 8
push ecx
call fcn.004d9760
add esp, 0x18
test al, al
jne 0x50f6bd
mov eax, dword [esp + 4]
cmp byte [eax + 0x1c8], 1
jne 0x50f1d9
mov eax, dword [esp + 4]
add eax, 0x90
push eax
call fcn.004f57c0
add esp, 4
test eax, eax
jne 0x50ee91
mov eax, dword [esp + 4]
cmp byte [eax + 0x1c9], 1
jne 0x50f1fe
mov eax, dword [esp + 4]
add eax, 0x70
push eax
call fcn.004f57c0
add esp, 4
test eax, eax
jne 0x50ee91
mov eax, dword [esp + 4]
mov al, byte [eax + 0x1d1]
cmp al, 1
jne 0x50f22e
mov eax, dword [esp + 4]
add eax, 0x60
push eax
call fcn.004f57c0
add esp, 4
test eax, eax
jne 0x50ee91
mov eax, dword [esp + 4]
mov al, byte [eax + 0x1d1]
test al, 1
je 0x50f253
mov eax, dword [esp + 4]
push dword [eax + 0x50]
push dword [eax + 0x68]
call fcn.00508c30
add esp, 8
test eax, eax
je 0x50f253
mov eax, dword [esp + 4]
mov byte [eax + 0x1d1], 0
mov eax, dword [esp + 4]
mov al, byte [eax + 0x1d2]
cmp al, 1
jne 0x50f280
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x3ac]
cmp ecx, dword [edx + 0x3a8]
jne 0x50f280
mov eax, dword [esp + 4]
mov byte [eax + 0x1d2], 0
xor eax, eax
mov ecx, dword [esp + 4]
cmp byte [ecx + 0x1d1], 0
jne 0x50f291
test al, al
je 0x50f2a9
mov eax, dword [esp + 4]
cmp byte [eax + 0x1c8], 1
jne 0x50f2a9
mov eax, dword [esp + 4]
mov byte [eax + 0x1cb], 1
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x50f8f8
call dword [0x7a29f4]
push dword [esp + 4]
push dword [ebp + 8]
call ecx
add esp, 8
test eax, eax
jne 0x50ee91
jmp 0x50f8ee
xor edi, edi
xor ebx, ebx
dec ebx
mov eax, dword [esp + 4]
mov byte [eax + 0x1d1], 0
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
xor edi, edi
test ebx, ebx
js 0x50f33b
mov eax, dword [esp + 4]
mov dword [eax + 0x3ac], ebx
mov byte [eax + 0x1d2], 1
cmp dword [ebp + 8], 0
je 0x50f349
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x50f349
push ebx
push str.Connecting_to_port:__d
push dword [ebp + 8]
call fcn.004e7630
add esp, 0xc
jmp 0x50f349
mov eax, dword [esp + 4]
mov byte [eax + 0x1d2], 0
xor ebx, ebx
dec ebx
cmp ebx, 0xffffffff
sete al
test edi, edi
setne cl
jne 0x50f158
mov edx, dword [esp + 8]
mov edx, dword [edx + 4]
mov dword [esp + 8], edx
test edx, edx
je 0x50f158
cmp ebx, 0xffffffff
jne 0x50f158
mov eax, dword [esp + 8]
mov esi, dword [eax]
cmp byte [esi], 0x3a
je 0x50f413
mov edx, dword [esp + 4]
cmp byte [edx + 0x1d3], 0
mov eax, 0x736aef
mov ecx, 0x73991d
cmovne eax, ecx
mov ecx, 0x736aef
mov ebx, 0x73a073
cmovne ecx, ebx
push eax
push dword [edx + 0x50]
push ecx
push str._s_s_s
call fcn.004f8cc0
add esp, 0x10
test eax, eax
je case.0x50ef24.7
mov edi, eax
push eax
call fcn.0066e590
add esp, 4
mov dword [esp + 0x10], eax
push eax
push edi
push esi
call fcn.00508ca0
add esp, 0xc
mov ebx, eax
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
xor edi, edi
test ebx, ebx
je 0x50f2df
mov eax, dword [esp + 0x10]
cmp byte [esi + eax], 0x3a
mov ebx, 0xffffffff
jne 0x50f2e2
add esi, dword [esp + 0x10]
cmp byte [esi + 1], 0x3a
je 0x50f464
inc esi
push 0x3a
push esi
call fcn.00654930
add esp, 8
test eax, eax
je 0x50f2dd
mov edi, eax
mov dword [esp + 0x50], 0
push 0xa
lea eax, [esp + 0x54]
push eax
push esi
call fcn.006674f7
add esp, 0xc
cmp dword [esp + 0x50], edi
je 0x50f451
xor eax, eax
jmp 0x50f469
inc edi
mov ecx, dword [esp + 4]
cmp eax, dword [ecx + 0x3a8]
sete al
cmove esi, edi
jmp 0x50f469
add esi, 2
mov al, 1
xor edi, edi
test al, al
je 0x50f2df
test esi, esi
je 0x50f2df
cmp byte [esi], 0
mov ebx, 0xffffffff
je 0x50f2e2
mov ecx, dword [fcn.00666700]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je case.0x50ef24.7
mov ebx, dword [esp + 0x10]
cmp byte [ebx], 0x5b
mov dword [esp + 0x34], ebx
jne 0x50f52e
mov eax, dword [esp + 0x10]
mov ebx, eax
inc ebx
mov al, byte [eax + 1]
mov dword [esp + 0x34], ebx
test al, al
je 0x50f50c
mov ebx, dword [esp + 0x34]
jmp 0x50f4de
mov esi, 0x1f81001
bt esi, edx
jae 0x50f4f3
mov al, byte [ebx + 1]
inc ebx
test al, al
je 0x50f50c
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
jb 0x50f4d6
movzx ecx, al
lea edx, [ecx - 0x2e]
cmp edx, 0x18
jbe 0x50f4cc
lea edx, [ecx - 0x61]
cmp edx, 6
jb 0x50f4d6
cmp ecx, 0x25
je 0x50f63b
cmp al, 0x5d
je 0x50f7b5
cmp dword [ebp + 8], 0
je 0x50f52e
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x50f52e
push str.Invalid_IPv6_address_format
push dword [ebp + 8]
call fcn.004e7630
add esp, 8
push 0x3a
push ebx
call fcn.00654930
add esp, 8
xor ebx, ebx
dec ebx
test eax, eax
je 0x50f588
mov esi, eax
mov dword [esp + 0x50], 0
mov byte [eax], 0
cmp byte [eax + 1], 0
mov ebx, 0xffffffff
je 0x50f588
inc esi
push 0xa
lea eax, [esp + 0x54]
push eax
push esi
call fcn.006674f7
add esp, 0xc
mov ebx, eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x50f57c
cmp byte [eax], 0
jne 0x50f79a
cmp ebx, 0xffff
ja 0x50f79a
mov ecx, dword [fcn.00666700]
call dword [0x7a29f4]
push dword [esp + 0x34]
call ecx
add esp, 4
test eax, eax
je 0x50f61c
mov edi, eax
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push dword [esp + 0x10]
call ecx
add esp, 4
cmp byte [edi], 0
je 0x50f2e2
mov eax, dword [esp + 4]
mov dword [eax + 0x60], edi
mov dword [eax + 0x68], edi
mov byte [eax + 0x1d1], 1
cmp dword [ebp + 8], 0
je 0x50f5fe
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x50f301
push edi
push str.Connecting_to_hostname:__s
push dword [ebp + 8]
call fcn.004e7630
add esp, 0xc
jmp 0x50f301
test ebx, ebx
js 0x50f33b
mov eax, dword [esp + 4]
mov dword [eax + 0x3ac], ebx
mov byte [eax + 0x1d2], 1
jmp 0x50f349
mov esi, 0x1b
mov ecx, dword [fcn.005464a0]
call dword [0x7a29f4]
push dword [esp + 0x10]
call ecx
add esp, 4
jmp 0x50e1ac
movzx eax, byte [ebx + 1]
mov ecx, eax
sub ecx, 0x32
je 0x50f64a
neg ecx
jmp 0x50f655
movzx edx, byte [ebx + 2]
mov ecx, 0x35
sub ecx, edx
inc ebx
cmp dword [ebp + 8], 0
je 0x50f684
test ecx, ecx
je 0x50f684
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x683], 1
jne 0x50f684
push str.Please_URL_encode____as___25__see_RFC_6874.
push dword [ebp + 8]
call fcn.004e7630
add esp, 8
mov al, byte [ebx]
jmp 0x50f684
mov al, byte [ebx + 1]
inc ebx
test al, al
je 0x50f50c
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
jb 0x50f680
mov ecx, eax
and cl, 0xdf
add cl, 0xbf
cmp cl, 0x1a
jb 0x50f680
movzx ecx, al
lea edx, [ecx - 0x2d]
cmp edx, 2
jb 0x50f680
cmp ecx, 0x7e
je 0x50f680
cmp ecx, 0x5f
je 0x50f680
jmp 0x50f504
mov ecx, dword [fcn.00666700]
mov eax, dword [esp + 0x50]
mov edi, dword [eax + 0xc]
call dword [0x7a29f4]
push edi
call ecx
add esp, 4
test eax, eax
je case.0x50ef24.7
mov ebx, eax
mov edi, dword [esp + 4]
mov dword [edi + 0x60], ebx
mov dword [edi + 0x68], ebx
mov cl, 1
mov byte [edi + 0x1d1], cl
mov eax, dword [esp + 0x50]
movzx edx, word [eax + 0x10]
mov dword [edi + 0x3ac], edx
mov byte [edi + 0x1d2], cl
mov byte [edi + 0x1d0], cl
cmp dword [ebp + 8], 0
je 0x50f769
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x683], 1
jne 0x50f769
movzx ecx, word [eax + 0x10]
mov dword [esp + 8], ecx
push dword [eax + 0x14]
call fcn.004d8550
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [esp + 4]
mov edi, dword [eax + 0x3a8]
push 8
call fcn.004d8550
add esp, 4
push dword [esp + 8]
push ebx
push dword [esp + 0x18]
push edi
push esi
push eax
push str.Alt_svc_connecting_from___s__s:_d_to___s__s:_d
push dword [ebp + 8]
call fcn.004e7630
add esp, 0x20
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x14]
cmp eax, 0x10
je 0x50f789
cmp eax, 0x20
jne 0x50f1b2
mov eax, dword [esp + 4]
mov byte [eax + 0x3bb], 5
mov al, 0x1e
jmp 0x50f78b
mov al, 0x14
mov ecx, dword [esp + 4]
mov byte [ecx + 0x3bd], al
jmp 0x50f1b2
push esi
push str.No_valid_port_number_in_connect_to_host_string___s_
push dword [ebp + 8]
call fcn.004e7570
add esp, 0xc
mov esi, 0x31
jmp 0x50f621
mov byte [ebx], 0
inc ebx
jmp 0x50f52e
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
mov ecx, dword [eax + 0xc]
call dword [0x7a29f4]
push 0
push 0x1b
push dword [ebp + 8]
call ecx
add esp, 0xc
mov eax, 0x1b
jmp 0x50f967
mov ecx, dword [fcn.00666700]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x524]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
jmp 0x50f8a5
mov edx, dword [ebp + 8]
cmp dword [edx + 0x524], 0
jne 0x50f859
xor ecx, ecx
jmp 0x50f8bf
push dword [esp + 4]
push esi
call fcn.004fb010
add esp, 8
push esi
call fcn.004e0950
add esp, 4
test eax, eax
jne 0x50f967
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x228]
mov ecx, dword [edx + 0x22c]
mov dword [edx + 0xbfc], ecx
mov dword [edx + 0xbf8], eax
mov edx, eax
or edx, ecx
je 0x50f807
mov edx, dword [ebp + 8]
cmp byte [edx + 0xcea], 1
jne 0x50f88c
mov ecx, dword [fcn.005464a0]
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0xbf4]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
mov eax, dword [edi + 0xbf8]
mov ecx, dword [edi + 0xbfc]
mov edx, eax
or edx, ecx
je 0x50f7e7
push ecx
push eax
push str._I64d_
call fcn.004f8cc0
add esp, 0xc
mov edx, dword [ebp + 8]
mov dword [edx + 0xbf4], eax
mov cl, 1
test eax, eax
setne byte [edx + 0xcea]
je 0x50f7be
mov eax, dword [ebp + 8]
mov byte [eax + 0xce9], cl
sub esp, 0x18
movdqa xmm0, xmmword [0x73d830]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0x14], 0xffffffff
call fcn.0050c630
add esp, 0x18
jmp 0x50f956
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x3a4], 0
jns 0x50f912
mov ecx, dword [eax + 0x40]
mov edx, dword [esp + 4]
mov dword [edx + 0x3a4], ecx
test byte [eax + 0x4c], 0x10
je 0x50f98d
mov byte [esp + 0x50], 0xff
push 0xffffffffffffffff
push 0
mov edi, dword [esp + 0xc]
push edi
mov esi, dword [ebp + 8]
push esi
call fcn.004e1340
add esp, 0x10
mov eax, dword [edi + 0x1e4]
mov ecx, dword [eax + 0x14]
call dword [0x7a29f4]
lea eax, [esp + 0x50]
push eax
push esi
call ecx
add esp, 8
mov ebx, eax
test eax, eax
je 0x50f81a
push dword [esp + 4]
push dword [ebp + 8]
call fcn.005110a0
add esp, 8
mov eax, ebx
test eax, eax
jne 0x50ee91
mov esi, dword [ebp + 0x10]
mov eax, dword [esp + 4]
cmp dword [eax + 0x248], 2
jb 0x50fc30
mov byte [esi], 1
xor ebx, ebx
jmp 0x50de21
mov eax, 0x4dfc00
mov edi, dword [esp + 4]
mov dword [edi + 0x130], eax
mov ecx, fcn.004dfc60
mov dword [edi + 0x138], ecx
mov dword [edi + 0x134], eax
mov dword [edi + 0x13c], ecx
mov esi, dword [ebp + 8]
mov al, byte [esi + 0x690]
mov byte [edi + 0x1dc], al
lea eax, [esi + 0x3bc]
mov ecx, dword [esi + 0x530]
mov edx, dword [esi + 0x538]
mov dword [esi + 0x3bc], ecx
mov dword [esi + 0x3c0], edx
mov ecx, dword [esi + 0x564]
mov dword [esi + 0x3c4], ecx
mov ecx, dword [esi + 0x618]
mov dword [esi + 0x3e4], ecx
mov ecx, dword [esi + 0x548]
mov dword [esi + 0x3cc], ecx
mov ecx, dword [esi + 0x550]
mov dword [esi + 0x3d0], ecx
mov ecx, dword [esi + 0x540]
mov dword [esi + 0x3d4], ecx
mov ecx, dword [esi + 0x608]
mov dword [esi + 0x3dc], ecx
mov ecx, dword [esi + 0x620]
mov dword [esi + 0x3e0], ecx
mov ecx, dword [esi + 0x5f4]
mov dword [esi + 0x3e8], ecx
mov ecx, dword [esi + 0x534]
mov edx, dword [esi + 0x53c]
mov dword [esi + 0x424], ecx
mov dword [esi + 0x428], edx
mov ecx, dword [esi + 0x54c]
mov dword [esi + 0x434], ecx
mov ecx, dword [esi + 0x554]
mov dword [esi + 0x438], ecx
mov ecx, dword [esi + 0x544]
mov dword [esi + 0x43c], ecx
mov ecx, dword [esi + 0x60c]
mov dword [esi + 0x444], ecx
mov ecx, dword [esi + 0x624]
mov dword [esi + 0x448], ecx
mov ecx, dword [esi + 0x568]
mov dword [esi + 0x42c], ecx
mov ecx, dword [esi + 0x61c]
mov dword [esi + 0x44c], ecx
mov ecx, dword [esi + 0x560]
mov dword [esi + 0x440], ecx
mov ecx, dword [esi + 0x4d4]
mov dword [esi + 0x470], ecx
mov ecx, dword [esi + 0x500]
mov dword [esi + 0x474], ecx
mov ecx, dword [esi + 0x510]
mov dword [esi + 0x47c], ecx
mov ecx, dword [esi + 0x508]
mov dword [esi + 0x480], ecx
mov ecx, dword [esi + 0x4cc]
mov edx, dword [esi + 0x4d0]
mov dword [esi + 0x430], ecx
mov ecx, dword [esi + 0x614]
mov dword [esi + 0x478], ecx
mov ecx, dword [esi + 0x55c]
mov dword [esi + 0x3d8], ecx
mov dword [esi + 0x408], edx
mov ecx, dword [esi + 0x4fc]
mov dword [esi + 0x40c], ecx
mov ecx, dword [esi + 0x50c]
mov dword [esi + 0x414], ecx
mov ecx, dword [esi + 0x504]
mov dword [esi + 0x418], ecx
mov ecx, dword [esi + 0x4c8]
mov dword [esi + 0x3c8], ecx
mov ecx, dword [esi + 0x610]
mov dword [esi + 0x410], ecx
lea ecx, [edi + 0x148]
mov dword [esp + 0x10], ecx
push ecx
push eax
call fcn.0051a4e0
add esp, 8
test al, al
je case.0x50ef24.7
mov eax, dword [ebp + 8]
add eax, 0x424
mov ecx, dword [esp + 4]
add ecx, 0x188
mov dword [esp + 0x34], ecx
push ecx
push eax
call fcn.0051a4e0
add esp, 8
test al, al
je case.0x50ef24.7
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
lea eax, [esp + 0x50]
push eax
call fcn.0050a160
add esp, 4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x84], 0
je 0x50fbca
push 2
push 5
push dword [ebp + 8]
call fcn.005058f0
add esp, 0xc
mov eax, dword [esi + 0x838]
sub esp, 0x20
movups xmm0, xmmword [eax + 0x30]
movups xmmword [esp + 0x10], xmm0
movdqa xmm0, xmmword [esp + 0x70]
movdqu xmmword [esp], xmm0
call fcn.0050a240
add esp, 0x20
mov ebx, eax
mov edi, edx
cmp dword [esi + 0x84], 0
je 0x50fc09
push 5
push dword [ebp + 8]
call fcn.00505950
add esp, 8
cmp ebx, 0x3e8
sbb edi, 0
jl 0x50fd48
lea esi, [esp + 0x48]
mov eax, dword [ebp + 8]
mov dword [esi], eax
mov dword [esi + 4], 0
xor ebx, ebx
inc ebx
jmp 0x50fce7
xor ebx, ebx
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
mov eax, dword [ebp + 8]
jne 0x50de21
mov ebx, dword [eax + 0x18]
push 3
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00500430
add esp, 0xc
mov eax, dword [ebx + 0x1e4]
test byte [eax + 0x4c], 0x10
jne 0x50fcb5
mov byte [ebx + 0x1cc], 0
lea eax, [esp + 0x50]
push eax
call fcn.0050a160
add esp, 4
movdqu xmm0, xmmword [esp + 0x50]
movdqu xmmword [ebx + 0xf8], xmm0
mov dword [esp + 0x18], 0
cmp byte [ebx + 0x1cf], 0
mov eax, 0
jne 0x50fcbd
mov dword [esp + 0x18], 0
push 0xffffffffffffffff
push dword [ebx + 0x40]
push 0
push ebx
push dword [ebp + 8]
call fcn.004e2c70
add esp, 0x14
jmp 0x50fcbd
xor eax, eax
mov cl, 1
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x18]
mov byte [esi], cl
jmp 0x50ee91
push ebx
push dword [esp + 0x50]
mov edi, dword [ebp + 8]
push edi
call fcn.004e0b20
add esp, 0xc
push ebx
push dword [esp + 0x50]
push edi
call fcn.0050d240
add esp, 0xc
push 0x5117b0
push esi
mov eax, dword [ebp + 8]
push dword [eax + 0x838]
push eax
call fcn.004e0c30
add esp, 0x10
test al, al
jne 0x50fcc8
mov eax, dword [ebp + 8]
cmp dword [eax + 0x84], 0
je 0x50fd1e
push 2
push 5
push dword [ebp + 8]
call fcn.005058f0
add esp, 0xc
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x838]
movdqa xmm0, xmmword [esp + 0x50]
movdqu xmmword [eax + 0x30], xmm0
cmp dword [ecx + 0x84], 0
je 0x50fd48
push 5
push dword [ebp + 8]
call fcn.00505950
add esp, 8
mov eax, dword [ebp + 8]
cmp byte [eax + 0x686], 1
jne 0x50fd5d
cmp dword [eax + 0x8e0], 0
je 0x50fd6a
cmp byte [eax + 0x66e], 0
je 0x50ffb2
xor ebx, ebx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
test byte [eax + 0x4d], 1
je 0x50fd93
mov eax, dword [ebp + 8]
cmp byte [eax + 0x691], 1
jne 0x50fd93
mov eax, dword [esp + 4]
mov byte [eax + 0x1dd], 1
test bl, bl
je 0x50fe35
cmp dword [ebp + 8], 0
je 0x50fdbd
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x50fdbd
push str.No_connections_available.
push dword [ebp + 8]
call fcn.004e7630
add esp, 8
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 4]
call fcn.0050d320
mov ebx, 0x59
jmp 0x50de21
xor ebx, ebx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x84], 0
je 0x50fdee
push 5
push dword [ebp + 8]
call fcn.00505950
add esp, 8
test bl, 1
je 0x50fd6a
mov eax, dword [ebp + 8]
cmp byte [eax + 0x693], 1
jne 0x50fd6a
mov bl, 1
cmp dword [ebp + 8], 0
je 0x50fd6c
cmp byte [eax + 0x683], 1
jne 0x50fd6c
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set
push dword [ebp + 8]
call fcn.004e7630
add esp, 8
jmp 0x50fd6c
mov eax, dword [ebp + 8]
push dword [eax + 0x838]
push dword [esp + 8]
push eax
call fcn.004e0840
add esp, 0xc
cmp dword [esp + 0x18], 0
setne cl
test eax, eax
setne dl
and dl, cl
cmp dl, 1
jne 0x50fea5
mov ecx, dword [esp + 0x18]
cmp dword [eax + 4], ecx
jb 0x50fea5
push eax
mov esi, dword [ebp + 8]
push esi
call fcn.004e0fc0
add esp, 8
mov ebx, eax
cmp dword [esi + 0x84], 0
je 0x50fe8d
push 5
push dword [ebp + 8]
call fcn.00505950
add esp, 8
test ebx, ebx
je 0x510847
push 0
push ebx
push dword [ebp + 8]
call fcn.0050d240
add esp, 0xc
jmp 0x50febe
mov eax, dword [ebp + 8]
cmp dword [eax + 0x84], 0
je 0x50febe
push 5
push dword [ebp + 8]
call fcn.00505950
add esp, 8
cmp dword [esp + 0x28], 0
je 0x50fef7
push dword [ebp + 8]
call fcn.004e07f0
add esp, 4
cmp eax, dword [esp + 0x28]
jb 0x50fef7
push dword [ebp + 8]
call fcn.004e0e20
add esp, 4
test eax, eax
je 0x510818
push 0
push eax
push dword [ebp + 8]
call fcn.0050d240
add esp, 0xc
push dword [esp + 4]
mov esi, dword [ebp + 8]
push esi
call fcn.004fb010
add esp, 8
push esi
call fcn.004e0950
add esp, 4
test eax, eax
jne 0x50ee91
mov eax, dword [ebp + 8]
test byte [eax + 0x918], 0x28
je 0x50ff60
cmp byte [eax + 0x920], 1
jne 0x50ff60
cmp dword [ebp + 8], 0
je 0x50ff4c
cmp byte [eax + 0x683], 1
jne 0x50ff4c
push str.NTLM_picked_AND_auth_done_set__clear_picked
push dword [ebp + 8]
call fcn.004e7630
add esp, 8
mov eax, dword [ebp + 8]
mov dword [eax + 0x918], 0
mov byte [eax + 0x920], 0
test byte [eax + 0x928], 0x28
je 0x51057c
cmp byte [eax + 0x930], 1
jne 0x51057c
cmp dword [ebp + 8], 0
je 0x50ff99
cmp byte [eax + 0x683], 1
jne 0x50ff99
mov eax, dword [ebp + 8]
mov dword [eax + 0x928], 0
mov byte [eax + 0x930], 0
jmp 0x51057c
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
test byte [eax + 0x44], 3
je 0x510007
mov eax, dword [esp + 4]
cmp byte [eax + 0x1d6], 1
jne 0x50ffdc
mov eax, dword [esp + 4]
cmp byte [eax + 0x1ce], 0
jne 0x510007
mov eax, dword [ebp + 8]
push dword [eax + 0x7c]
call fcn.004faff0
add esp, 4
test al, al
je 0x510007
mov eax, dword [ebp + 8]
cmp byte [eax + 0xcdc], 3
setae bl
jmp 0x510009
mov dword [esp + 0x3c], 0
jmp 0x51002a
xor ebx, ebx
mov eax, dword [ebp + 8]
test byte [eax + 0x914], 0x28
je 0x50fffd
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
test byte [eax + 0x44], 3
setne al
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 4]
cmp byte [eax + 0x1ca], 1
jne 0x51005a
mov eax, dword [ebp + 8]
test byte [eax + 0x924], 0x28
je 0x51005a
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
test byte [eax + 0x44], 3
setne al
mov dword [esp + 0x30], eax
jmp 0x510062
mov dword [esp + 0x30], 0
mov eax, dword [ebp + 8]
cmp byte [eax + 0xcdc], 3
je 0x510078
mov dword [esp + 0x40], 0
jmp 0x51008b
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x1e4]
mov al, byte [eax + 0x44]
and al, 1
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 8]
push dword [eax + 0x838]
push dword [esp + 8]
push eax
call fcn.004e0840
add esp, 0xc
mov dword [esp + 0x24], eax
test eax, eax
je 0x50fdd3
cmp dword [ebp + 8], 0
je 0x5100e5
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x5100e5
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
mov eax, str.can_multiplex
mov ecx, str.serially
cmove ecx, eax
push ecx
push edx
push str.Found_bundle_for_host:__p___s_
push dword [ebp + 8]
call fcn.004e7630
add esp, 0x10
test bl, bl
je 0x510186
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
mov eax, esi
test esi, esi
setne cl
mov edi, ecx
je 0x51087a
cmp eax, 2
jne 0x510141
test esi, esi
setne bl
mov eax, dword [ebp + 8]
test eax, eax
sete bh
push dword [eax + 0x7c]
call fcn.004faff0
add esp, 4
or bh, al
jne 0x510162
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x51013f
push str.Could_multiplex__but_not_asked_to
push dword [ebp + 8]
call fcn.004e7630
add esp, 8
xor edi, edi
cmp dword [ebp + 8], 0
sete al
mov ecx, dword [esp + 0x24]
cmp dword [ecx], 0xffffffff
setne dl
or al, dl
je 0x51016a
mov ecx, edx
mov eax, edi
and cl, al
mov dword [esp + 0x20], ecx
jmp 0x51018e
mov ecx, eax
and cl, bl
mov edi, ecx
jmp 0x510141
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x510186
push str.Can_not_multiplex__even_if_we_wanted_to
push dword [ebp + 8]
call fcn.004e7630
add esp, 8
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
mov dword [esp + 8], 0
test eax, eax
je 0x50fdd3
mov esi, eax
mov eax, dword [esp + 0x3c]
or al, byte [esp + 0x30]
mov byte [esp + 0x1f], al
xor ebx, ebx
jmp 0x5101d5
push 1
push edi
push dword [ebp + 8]
call fcn.0050d240
add esp, 0xc
mov edi, dword [esp + 8]
mov dword [esp + 8], edi
test esi, esi
je 0x5102fe
mov eax, dword [esi]
mov esi, dword [esi + 8]
cmp byte [eax + 0x3be], 0
jne 0x5101c5
mov edi, eax
cmp byte [eax + 0x1ce], 0
jne 0x5101c5
mov ecx, edi
mov edx, dword [ebp + 8]
call fcn.005117e0
test al, al
jne 0x5101b7
mov eax, dword [ebp + 8]
mov al, byte [eax + 0x4b0]
test al, al
je 0x510211
cmp al, byte [edi + 0x3bc]
jne 0x5101c5
mov eax, dword [esp + 0x24]
cmp dword [eax], 2
jne 0x510256
mov eax, dword [edi + 0x248]
mov dword [esp + 0x38], eax
mov al, 1
mov dword [esp + 0x2c], eax
cmp byte [esp + 0x20], 0
jne 0x51026b
cmp dword [esp + 0x38], 0
jne 0x5101c5
mov dword [esp + 0x2c], 0
cmp byte [edi + 0xb0], 0
mov dword [esp + 0x38], 0
jne 0x51026b
jmp 0x5101c5
cmp byte [esp + 0x20], 0
je 0x510238
mov dword [esp + 0x38], 0
mov al, 1
mov dword [esp + 0x2c], eax
push 0
push edi
call fcn.004e00d0
add esp, 8
test al, al
jne 0x5102b1
mov bl, 1
cmp dword [ebp + 8], 0
je 0x5101c5
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x390]
mov ecx, dword [edi + 0x390]
test eax, eax
je 0x5108f8
test edi, edi
je 0x50fdd5
push edi
mov esi, dword [ebp + 8]
push esi
call fcn.004fb010
add esp, 8
cmp dword [esi + 0x84], 0
je 0x510329
push 5
push dword [ebp + 8]
call fcn.00505950
add esp, 8
mov eax, dword [esp + 0xc]
cmp dword [eax], 0
je 0x510390
mov ecx, dword [fcn.005464a0]
mov esi, dword [edi + 0xe0]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
xor eax, eax
mov dword [edi + 0xe0], eax
mov ecx, dword [fcn.005464a0]
mov esi, dword [edi + 0xe4]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
xor eax, eax
mov dword [edi + 0xe4], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov dword [edi + 0xe0], eax
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov dword [edi + 0xe4], eax
xor eax, eax
mov dword [ecx], eax
mov dword [edx], eax
mov eax, dword [esp + 4]
mov al, byte [eax + 0x1ca]
mov byte [edi + 0x1ca], al
cmp al, 1
jne 0x510476
mov ecx, dword [fcn.005464a0]
mov esi, dword [edi + 0xa8]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
xor eax, eax
mov dword [edi + 0xa8], eax
mov ecx, dword [fcn.005464a0]
mov esi, dword [edi + 0x88]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
xor eax, eax
mov dword [edi + 0x88], eax
mov ecx, dword [fcn.005464a0]
mov esi, dword [edi + 0xac]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
xor eax, eax
mov dword [edi + 0xac], eax
mov ecx, dword [fcn.005464a0]
mov esi, dword [edi + 0x8c]
call dword [0x7a29f4]
push esi
call ecx
add esp, 4
xor eax, eax
mov dword [edi + 0x8c], eax
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0xa8]
mov dword [edi + 0xa8], eax
mov eax, dword [ecx + 0x88]
mov dword [edi + 0x88], eax
mov eax, dword [ecx + 0xac]
mov dword [edi + 0xac], eax
mov eax, dword [ecx + 0x8c]
mov dword [edi + 0x8c], eax
xor eax, eax
mov dword [ecx + 0xa8], eax
mov dword [ecx + 0x88], eax
mov dword [ecx + 0xac], eax
mov dword [ecx + 0x8c], eax
mov ecx, dword [fcn.005464a0]
mov ebx, dword [edi + 0x48]
call dword [0x7a29f4]
push ebx
call ecx
add esp, 4
xor eax, eax
mov dword [edi + 0x48], eax
mov ecx, dword [fcn.005464a0]
mov ebx, dword [edi + 0x60]
call dword [0x7a29f4]
push ebx
call ecx
add esp, 4
xor ecx, ecx
mov dword [edi + 0x60], ecx
mov eax, dword [esp + 0x44]
movups xmm0, xmmword [eax]
movups xmmword [edi + 0x48], xmm0
mov ebx, dword [esp + 4]
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], ecx
movdqu xmm0, xmmword [ebx + 0x60]
movdqu xmmword [edi + 0x60], xmm0
mov dword [ebx + 0x60], ecx
mov eax, dword [ebx + 0x3ac]
mov dword [edi + 0x3ac], eax
mov eax, dword [ebx + 0x3a8]
mov dword [edi + 0x3a8], eax
mov ecx, dword [fcn.005464a0]
mov eax, dword [edi + 0x58]
mov dword [esp + 0x18], eax
call dword [0x7a29f4]
push dword [esp + 0x18]
call ecx
add esp, 4
xor ecx, ecx
mov dword [edi + 0x58], ecx
mov eax, dword [ebx + 0x58]
mov dword [edi + 0x58], eax
mov dword [ebx + 0x58], ecx
mov byte [edi + 0x1cf], 1
mov esi, dword [ebp + 8]
mov ecx, esi
mov edx, ebx
call fcn.0050d320
test esi, esi
je 0x510578
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x510578
mov eax, 0x7c
cmp dword [edi + 0x78], 0
jne 0x510550
mov dword [esp + 4], edi
push dword [esp + 4]
push esi
call fcn.005110a0
add esp, 8
mov eax, dword [esi + 0x228]
mov ecx, dword [esi + 0x22c]
mov dword [esi + 0xbfc], ecx
mov dword [esi + 0xbf8], eax
mov edx, eax
or edx, ecx
je 0x51064e
mov edx, dword [ebp + 8]
cmp byte [edx + 0xcea], 1
jne 0x5105de
mov edx, dword [ebp + 8]
cmp dword [edx + 0x524], 0
jne 0x5105ab
xor ecx, ecx
jmp 0x51060d
cmp dword [ebp + 8], 0
je 0x50fdbd
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x50fda1
push str.No_connections_available_in_cache
push dword [ebp + 8]
call fcn.004e7630
add esp, 8
jmp 0x50fda1
cmp dword [ebp + 8], 0
je 0x50fdbd
mov eax, dword [ebp + 8]
cmp byte [eax + 0x683], 1
jne 0x50fda1
push dword [esp + 0x18]
push str.No_more_connections_allowed_to_host:__zu
push dword [ebp + 8]
call fcn.004e7630
add esp, 0xc
jmp 0x50fda1
mov eax, dword [ebp + 8]
cmp byte [eax + 0x693], 1
je 0x5108b8
cmp dword [ebp + 8], 0
je 0x510186
cmp byte [eax + 0x683], 1
jne 0x51013f
push str.Server_doesnt_support_multiplex__yet_
push dword [ebp + 8]
call fcn.004e7630
add esp, 8
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
jmp 0x510102
cmp dword [ebp + 8], 0
je 0x5108d7
cmp byte [eax + 0x683], 1
jne 0x5108d7
push str.Server_doesnt_support_multiplex_yet__wait
push dword [ebp + 8]
call fcn.004e7630
add esp, 8
mov bl, 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x84], 0
je 0x50fd6c
push 5
push dword [ebp + 8]
call fcn.00505950
jmp 0x50fe2d