Function at 0x4c38e0
Capabilities:
Reference http user-agent string

Disassembly:
lea r12, [rsp - 0x78]
cmp r12, qword [r14 + 0x10]
jbe 0x4c4645
push rbp
mov rbp, rsp
sub rsp, 0xf0
mov qword [rsp + 0x138], r8
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x150], r11
mov qword [rsp + 0x148], r10
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x128], rdi
mov rax, rbx
mov rbx, rcx
mov rcx, r8
mov rdi, r9
mov esi, 1
call sym.net.parseNetwork
test rdi, rdi
jne 0x4c3f41
mov rdx, qword [rsp + 0x130]
cmp rdx, 4
jne 0x4c39ad
mov r10, qword [rsp + 0x128]
cmp dword [r10], 0x6c616964
jne 0x4c39a3
mov r9, qword [rsp + 0x150]
test r9, r9
jne 0x4c39c0
mov rdi, qword [0x008f5000]
mov rsi, qword [0x008f5008]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0xf0
pop rbp
ret
mov r9, qword [rsp + 0x150]
jmp 0x4c39c0
mov r9, qword [rsp + 0x150]
mov r10, qword [rsp + 0x128]
nop dword [rax]
cmp rbx, 4
jne 0x4c39d8
cmp dword [rax], 0x78696e75
jne 0x4c3c98
cmp rbx, 4
jmp 0x4c3a2d
cmp rbx, 8
jne 0x4c3a00
movabs r11, 0x6d61726778696e75
cmp qword [rax], r11
jne 0x4c3c98
cmp rbx, 4
jmp 0x4c3a2d
cmp rbx, 0xa
jne 0x4c3c98
movabs r11, 0x6b63617078696e75
cmp qword [rax], r11
jne 0x4c3c98
cmp word [rax + 8], 0x7465
jne 0x4c3c98
cmp rbx, 4
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0xc0], rax
jne 0x4c3a49
cmp dword [rax], 0x78696e75
je 0x4c3a82
jmp 0x4c3ae7
cmp rbx, 8
jne 0x4c3a65
movabs rcx, 0x6d61726778696e75
cmp qword [rax], rcx
je 0x4c3a82
nop
jmp 0x4c3ae7
cmp rbx, 0xa
jne 0x4c3ae7
movabs rcx, 0x6b63617078696e75
cmp qword [rax], rcx
jne 0x4c3ae7
cmp word [rax + 8], 0x7465
jne 0x4c3ae7
lea rax, [0x0069b2e0]
call sym.runtime.newobject
mov rcx, qword [rsp + 0x150]
mov qword [rax + 8], rcx
cmp dword [0x0098c4d0], 0
jne 0x4c3ab5
mov rdx, qword [rsp + 0x148]
mov r8, qword [rsp + 0xc0]
jmp 0x4c3ad1
call sym.runtime.gcWriteBarrier2
mov rdx, qword [rsp + 0x148]
mov qword [r11], rdx
mov r8, qword [rsp + 0xc0]
mov qword [r11 + 8], r8
mov qword [rax], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rax + 0x18], rdx
mov qword [rax + 0x10], r8
xor ecx, ecx
xor edx, edx
jmp 0x4c3b00
call sym.runtime.convTstring
lea rcx, [0x007580a0]
mov rdx, rax
xor eax, eax
nop dword [rax + rax]
test rcx, rcx
jne 0x4c3c82
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x130]
nop dword [rax]
cmp rcx, 4
jne 0x4c3c30
mov rcx, qword [rsp + 0x128]
cmp dword [rcx], 0x6c616964
jne 0x4c3c30
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x4c3c30
mov rdx, qword [rcx + 0x18]
mov rbx, qword [rax + 0x18]
mov qword [rsp + 0x48], rbx
mov rsi, qword [rax + 0x10]
mov qword [rsp + 0x90], rsi
mov rax, qword [rsp + 0x108]
call rdx
mov rcx, qword [rsp + 0x48]
cmp rbx, rcx
je 0x4c3b83
mov eax, 1
jmp 0x4c3b96
mov rbx, rax
mov rax, qword [rsp + 0x90]
call sym.runtime.memequal
xor eax, 1
test al, al
je 0x4c3c30
mov rcx, qword [rsp + 0x100]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rsp + 0x108]
call rcx
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0xe8], rax
lea rax, [0x0069b560]
call sym.runtime.newobject
mov qword [rax + 8], 0x1d
lea rcx, [0x006db757]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0x18], rcx
cmp dword [0x0098c4d0], 0
jne 0x4c3c02
mov rdx, qword [rsp + 0xe8]
nop
jmp 0x4c3c12
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0xe8]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x00758200]
mov rsi, rax
xor eax, eax
add rsp, 0xf0
pop rbp
ret
lea rax, [0x0067e640]
call sym.runtime.newobject
lea rcx, [0x00758f88]
mov qword [rax], rcx
cmp dword [0x0098c4d0], 0
jne 0x4c3c59
mov rdx, qword [rsp + 0x98]
jmp 0x4c3c69
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0x98]
mov qword [r11], rdx
mov qword [rax + 8], rdx
mov ebx, 1
mov rcx, rbx
xor edi, edi
xor esi, esi
add rsp, 0xf0
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rdi, rcx
mov rsi, rdx
mov rcx, rbx
add rsp, 0xf0
pop rbp
ret
mov rcx, qword [rsp + 0x120]
mov rdi, rax
mov rsi, rbx
mov r8, qword [rsp + 0x148]
mov rax, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x118]
nop
call sym.net._Resolver_.internetAddrList
test rdi, rdi
jne 0x4c3f37
mov rdx, qword [rsp + 0x130]
nop word [rax + rax]
nop
cmp rdx, 4
jne 0x4c3f37
mov rdx, qword [rsp + 0x128]
cmp dword [rdx], 0x6c616964
jne 0x4c3f37
mov rdx, qword [rsp + 0x100]
test rdx, rdx
je 0x4c3f37
je 0x4c3ef8
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0xc8], rax
mov r8d, dword [rdx + 0x10]
cmp r8d, 0xaeb1564
jne 0x4c3dc0
lea r8, [0x00758fd8]
nop
cmp rdx, r8
jne 0x4c3daa
mov r9, qword [rsp + 0x108]
test r9, r9
je 0x4c3d97
mov r10, qword [r9]
test r10, r10
je 0x4c3d97
mov rbx, qword [r9 + 8]
mov rcx, qword [r9 + 0x10]
mov rax, r10
call sym.net.IP.IsUnspecified
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x68]
lea r8, [0x00758fd8]
mov r9, qword [rsp + 0x108]
mov esi, eax
mov rax, qword [rsp + 0xc8]
jmp 0x4c3d9c
mov esi, 1
mov rdi, r9
xor r10d, r10d
xor r11d, r11d
jmp 0x4c3f12
lea r8, [0x00759000]
jmp 0x4c3edc
cmp r8d, 0x13991ce1
jne 0x4c3e54
lea r8, [0x00758fb0]
cmp rdx, r8
jne 0x4c3e48
mov r9, qword [rsp + 0x108]
test r9, r9
je 0x4c3e2b
mov r10, qword [r9]
test r10, r10
je 0x4c3e2b
mov rbx, qword [r9 + 8]
mov rcx, qword [r9 + 0x10]
mov rax, r10
call sym.net.IP.IsUnspecified
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x68]
lea r8, [0x00758fb0]
mov r9, qword [rsp + 0x108]
mov esi, eax
mov rax, qword [rsp + 0xc8]
jmp 0x4c3e30
mov esi, 1
mov rdi, r9
lea r8, [0x00758fd8]
xor r9d, r9d
mov r10, rdi
xor r11d, r11d
jmp 0x4c3f12
lea r8, [0x00759000]
jmp 0x4c3edc
cmp r8d, 0x6d095bf6
jne 0x4c3ed5
lea r8, [0x00759000]
cmp rdx, r8
jne 0x4c3edc
mov r9, qword [rsp + 0x108]
test r9, r9
je 0x4c3ebb
mov r10, qword [r9]
test r10, r10
je 0x4c3ebb
mov rbx, qword [r9 + 8]
mov rcx, qword [r9 + 0x10]
mov rax, r10
call sym.net.IP.IsUnspecified
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x68]
lea r8, [0x00759000]
mov r9, qword [rsp + 0x108]
mov esi, eax
mov rax, qword [rsp + 0xc8]
jmp 0x4c3ec0
mov esi, 1
mov rdi, r9
lea r8, [0x00758fd8]
xor r9d, r9d
xor r10d, r10d
mov r11, rdi
jmp 0x4c3f12
lea r8, [0x00759000]
mov rdi, qword [rsp + 0x108]
lea r8, [0x00758fd8]
xor r9d, r9d
xor r10d, r10d
xor esi, esi
xor r11d, r11d
jmp 0x4c3f12
mov rdi, qword [rsp + 0x108]
lea r8, [0x00758fd8]
xor r9d, r9d
xor r10d, r10d
xor esi, esi
xor r11d, r11d
mov qword [rsp + 0xb8], r11
mov byte [rsp + 0x47], sil
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0xa8], r9
mov r12, rax
xor r13d, r13d
jmp 0x4c3fa2
add rsp, 0xf0
pop rbp
nop
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0xf0
pop rbp
ret
mov r12, qword [rsp + 0xe0]
add r12, 0x10
mov r15, qword [rsp + 0x88]
dec r15
mov rdx, qword [rsp + 0x100]
movzx esi, byte [rsp + 0x47]
mov rdi, qword [rsp + 0x108]
lea r8, [0x00758fd8]
mov r9, qword [rsp + 0xa8]
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0xb8]
mov r13, rbx
mov rbx, r15
test rbx, rbx
jle 0x4c4564
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], r13
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0xe0], r12
mov rax, qword [r12 + 8]
mov qword [rsp + 0xd0], rax
mov rcx, qword [r12]
mov qword [rsp + 0x78], rcx
mov rdx, qword [rcx + 0x18]
call rdx
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0xe8], rax
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x108]
call rdx
mov rcx, qword [rsp + 0x80]
nop word [rax + rax]
cmp rcx, rbx
jne 0x4c44d3
mov rbx, rax
mov rax, qword [rsp + 0xe8]
call sym.runtime.memequal
nop dword [rax]
test al, al
je 0x4c44d3
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x4c44b0
mov r9d, dword [rdx + 0x10]
nop word [rax + rax]
cmp r9d, 0xaeb1564
jne 0x4c41c5
lea r9, [0x00758fd8]
cmp rdx, r9
jne 0x4c41b4
movzx edx, byte [rsp + 0x47]
test dl, dl
je 0x4c4095
mov r10, qword [rsp + 0xd0]
xor eax, eax
jmp 0x4c4120
mov r10, qword [rsp + 0xd0]
nop dword [rax]
test r10, r10
je 0x4c40d0
mov rax, qword [r10]
test rax, rax
je 0x4c40d0
mov rbx, qword [r10 + 8]
mov rcx, qword [r10 + 0x10]
call sym.net.IP.IsUnspecified
movzx edx, byte [rsp + 0x47]
lea r9, [0x00758fd8]
mov r10, qword [rsp + 0xd0]
jmp 0x4c40d5
mov eax, 1
test al, al
je 0x4c40dd
xor eax, eax
jmp 0x4c4120
mov rax, qword [r10]
mov rbx, qword [r10 + 8]
mov rcx, qword [r10 + 0x10]
mov rdx, qword [rsp + 0xa8]
mov rdi, qword [rdx]
mov rsi, qword [rdx + 8]
mov r8, qword [rdx + 0x10]
nop dword [rax + rax]
call sym.net.IP.matchAddrFamily
xor eax, 1
movzx edx, byte [rsp + 0x47]
lea r9, [0x00758fd8]
mov r10, qword [rsp + 0xd0]
nop dword [rax]
test al, al
je 0x4c413b
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0xb0]
jmp 0x4c3f51
mov rbx, qword [rsp + 0x50]
inc rbx
mov rcx, qword [rsp + 0x58]
cmp rcx, rbx
jb 0x4c4157
mov rax, qword [rsp + 0xb0]
jmp 0x4c4184
mov rax, qword [rsp + 0xb0]
mov edi, 1
lea rsi, [0x00692080]
call sym.runtime.growslice
movzx edx, byte [rsp + 0x47]
lea r9, [0x00758fd8]
mov r10, qword [rsp + 0xd0]
lea r8, [rbx - 1]
shl r8, 4
mov qword [rax + r8], r9
cmp dword [0x0098c4d0], 0
je 0x4c41aa
call sym.runtime.gcWriteBarrier2
mov qword [r11], r10
mov r12, qword [rax + r8 + 8]
mov qword [r11 + 8], r12
mov qword [rax + r8 + 8], r10
jmp 0x4c3f51
lea r9, [0x00759000]
nop dword [rax + rax]
jmp 0x4c448d
cmp r9d, 0x13991ce1
jne 0x4c4332
lea r9, [0x00758fb0]
nop dword [rax]
cmp rdx, r9
jne 0x4c4326
movzx edx, byte [rsp + 0x47]
test dl, dl
je 0x4c4205
mov r10, qword [rsp + 0xd0]
xor eax, eax
nop dword [rax]
jmp 0x4c4284
mov r10, qword [rsp + 0xd0]
test r10, r10
je 0x4c423d
mov rax, qword [r10]
test rax, rax
je 0x4c423d
mov rbx, qword [r10 + 8]
mov rcx, qword [r10 + 0x10]
call sym.net.IP.IsUnspecified
movzx edx, byte [rsp + 0x47]
lea r9, [0x00758fb0]
mov r10, qword [rsp + 0xd0]
jmp 0x4c4242
mov eax, 1
test al, al
je 0x4c424a
xor eax, eax
jmp 0x4c4284
mov rax, qword [r10]
mov rbx, qword [r10 + 8]
mov rcx, qword [r10 + 0x10]
mov rdx, qword [rsp + 0xa0]
mov rdi, qword [rdx]
mov rsi, qword [rdx + 8]
mov r8, qword [rdx + 0x10]
call sym.net.IP.matchAddrFamily
xor eax, 1
movzx edx, byte [rsp + 0x47]
lea r9, [0x00758fb0]
mov r10, qword [rsp + 0xd0]
test al, al
je 0x4c42a6
lea r9, [0x00758fd8]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0xb0]
jmp 0x4c3f51
mov rbx, qword [rsp + 0x50]
inc rbx
mov rcx, qword [rsp + 0x58]
cmp rcx, rbx
jb 0x4c42c2
mov rax, qword [rsp + 0xb0]
jmp 0x4c42ef
mov rax, qword [rsp + 0xb0]
mov edi, 1
lea rsi, [0x00692080]
call sym.runtime.growslice
movzx edx, byte [rsp + 0x47]
lea r9, [0x00758fb0]
mov r10, qword [rsp + 0xd0]
lea r8, [rbx - 1]
shl r8, 4
mov qword [rax + r8], r9
cmp dword [0x0098c4d0], 0
je 0x4c4315
call sym.runtime.gcWriteBarrier2
mov qword [r11], r10
mov r12, qword [rax + r8 + 8]
mov qword [r11 + 8], r12
mov qword [rax + r8 + 8], r10
lea r9, [0x00758fd8]
jmp 0x4c3f51
lea r9, [0x00759000]
jmp 0x4c448d
cmp r9d, 0x6d095bf6
jne 0x4c4486
lea r9, [0x00759000]
cmp rdx, r9
jne 0x4c448d
movzx edx, byte [rsp + 0x47]
test dl, dl
je 0x4c4364
mov r10, qword [rsp + 0xd0]
xor eax, eax
jmp 0x4c43e3
mov r10, qword [rsp + 0xd0]
test r10, r10
je 0x4c439c
mov rax, qword [r10]
test rax, rax
je 0x4c439c
mov rbx, qword [r10 + 8]
mov rcx, qword [r10 + 0x10]
call sym.net.IP.IsUnspecified
movzx edx, byte [rsp + 0x47]
lea r9, [0x00759000]
mov r10, qword [rsp + 0xd0]
jmp 0x4c43a1
mov eax, 1
test al, al
je 0x4c43a9
xor eax, eax
jmp 0x4c43e3
mov rax, qword [r10]
mov rbx, qword [r10 + 8]
mov rcx, qword [r10 + 0x10]
mov rdx, qword [rsp + 0xb8]
mov rdi, qword [rdx]
mov rsi, qword [rdx + 8]
mov r8, qword [rdx + 0x10]
call sym.net.IP.matchAddrFamily
xor eax, 1
movzx edx, byte [rsp + 0x47]
lea r9, [0x00759000]
mov r10, qword [rsp + 0xd0]
test al, al
je 0x4c4405
lea r9, [0x00758fd8]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0xb0]
jmp 0x4c3f51
mov rbx, qword [rsp + 0x50]
inc rbx
mov rcx, qword [rsp + 0x58]
cmp rcx, rbx
jb 0x4c4422
mov rax, qword [rsp + 0xb0]
nop
jmp 0x4c444f
mov rax, qword [rsp + 0xb0]
mov edi, 1
lea rsi, [0x00692080]
call sym.runtime.growslice
movzx edx, byte [rsp + 0x47]
lea r9, [0x00759000]
mov r10, qword [rsp + 0xd0]
lea r8, [rbx - 1]
shl r8, 4
mov qword [rax + r8], r9
cmp dword [0x0098c4d0], 0
je 0x4c4475
call sym.runtime.gcWriteBarrier2
mov qword [r11], r10
mov r12, qword [rax + r8 + 8]
mov qword [r11 + 8], r12
mov qword [rax + r8 + 8], r10
lea r9, [0x00758fd8]
jmp 0x4c3f51
lea r9, [0x00759000]
movzx edx, byte [rsp + 0x47]
lea r9, [0x00758fd8]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0xb0]
jmp 0x4c3f51
movzx edx, byte [rsp + 0x47]
lea r9, [0x00758fd8]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0xb0]
jmp 0x4c3f51
mov rcx, qword [rsp + 0x100]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rsp + 0x108]
call rcx
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0xe8], rax
lea rax, [0x0069b560]
call sym.runtime.newobject
mov qword [rax + 8], 0x1d
lea rcx, [0x006db757]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x88]
mov qword [rax + 0x18], rcx
cmp dword [0x0098c4d0], 0
jne 0x4c4536
mov rdx, qword [rsp + 0xe8]
jmp 0x4c4546
call sym.runtime.gcWriteBarrier1
mov rdx, qword [rsp + 0xe8]
mov qword [r11], rdx
mov qword [rax + 0x10], rdx
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x00758200]
mov rsi, rax
xor eax, eax
add rsp, 0xf0
pop rbp
ret
test r13, r13
jne 0x4c4635
mov rcx, qword [0x008f4ff0]
mov rax, qword [0x008f4ff8]
mov rcx, qword [rcx + 0x18]
nop
call rcx
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0xe8], rax
mov rcx, qword [rsp + 0x100]
mov rcx, qword [rcx + 0x20]
mov rax, qword [rsp + 0x108]
call rcx
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x80], rbx
lea rax, [0x0069b560]
nop
call sym.runtime.newobject
mov rcx, qword [rsp + 0x88]
mov qword [rax + 8], rcx
cmp dword [0x0098c4d0], 0
jne 0x4c45ec
mov rdx, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xd8]
jmp 0x4c4608
call sym.runtime.gcWriteBarrier2
mov rdx, qword [rsp + 0xe8]
mov qword [r11], rdx
mov r8, qword [rsp + 0xd8]
mov qword [r11 + 8], r8
mov qword [rax], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rax + 0x18], rdx
mov qword [rax + 0x10], r8
xor ebx, ebx
mov rcx, rbx
lea rdi, [0x00758200]
mov rsi, rax
xor eax, eax
add rsp, 0xf0
pop rbp
ret
mov rbx, r13
xor edi, edi
xor esi, esi
add rsp, 0xf0
pop rbp
ret
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x58], r11
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 0x18]
mov rbx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
jmp sym.net._Resolver_.resolveAddrList