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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x42ca6b
push rbp
mov rbp, rsp
sub rsp, 0x70
mov qword [rsp + 0x80], rax
call fcn.00441a60
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x68]
mov qword [rsp + 0x38], rcx
movzx edx, word [rax + 0x30]
mov qword [rsp + 0x30], rdx
call fcn.00441a60
lea rax, [0x010bee90]
mov ebx, 0x24
call fcn.004422e0
mov rax, qword [rsp + 0x80]
mov rcx, rax
mov rax, rcx
nop dword [rax]
call fcn.004422a0
lea rax, [0x01090ee3]
mov ebx, 0xb
call fcn.004422e0
mov rax, qword [rsp + 0x38]
nop dword [rax + rax]
call fcn.00442020
lea rax, [0x01090eee]
mov ebx, 0xb
call fcn.004422e0
mov rax, qword [rsp + 0x30]
nop dword [rax + rax]
call fcn.00442020
lea rax, [0x010d7946]
mov ebx, 0x2e
call fcn.004422e0
call fcn.00441ac0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x48]
test byte [rcx], al
mov qword [rsp + 0x40], rcx
mov byte [rsp + 0x48], 1
mov qword [rsp + 0x50], 0
mov rcx, qword [rax + 0x40]
test byte [rcx], al
nop
mov qword [rsp + 0x58], rcx
mov byte [rsp + 0x60], 1
mov qword [rsp + 0x68], 0
xor ecx, ecx
jmp 0x42c88f
inc qword [rsp + 0x68]
mov rcx, qword [rsp + 0x20]
inc rcx
mov rax, qword [rsp + 0x80]
movzx edx, word [rax + 0x32]
cmp rcx, rdx
jae 0x42ca59
mov qword [rsp + 0x20], rcx
mov rdx, qword [rax + 0x68]
imul rdx, rcx
add rdx, qword [rax + 0x18]
mov qword [rsp + 0x28], rdx
call fcn.00441a60
mov rax, qword [rsp + 0x28]
nop dword [rax]
call fcn.00442160
call fcn.00441ac0
mov rax, qword [rsp + 0x80]
movzx ecx, word [rax + 0x30]
mov rdx, qword [rsp + 0x20]
nop dword [rax + rax]
cmp rdx, rcx
jae 0x42c8ec
mov ecx, 1
jmp 0x42c8fe
mov rcx, qword [rsp + 0x58]
movzx ebx, byte [rsp + 0x60]
movzx ecx, byte [rcx]
test cl, bl
setne cl
mov byte [rsp + 0x1f], cl
test cl, cl
je 0x42c927
call fcn.00441a60
lea rax, [0x0108abd8]
mov ebx, 6
call fcn.004422e0
nop dword [rax]
call fcn.00441ac0
jmp 0x42c945
call fcn.00441a60
lea rax, [0x0108abde]
mov ebx, 6
call fcn.004422e0
nop dword [rax]
call fcn.00441ac0
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rsp + 0x48]
movzx eax, byte [rax]
test al, cl
je 0x42c973
call fcn.00441a60
lea rax, [0x0108ed80]
mov ebx, 9
call fcn.004422e0
call fcn.00441ac0
jmp 0x42c98e
call fcn.00441a60
lea rax, [0x0108ed89]
mov ebx, 9
call fcn.004422e0
call fcn.00441ac0
mov rax, qword [rsp + 0x40]
movzx ecx, byte [rsp + 0x48]
movzx eax, byte [rax]
test al, cl
je 0x42c9a9
movzx eax, byte [rsp + 0x1f]
xor eax, 1
jmp 0x42c9ab
xor eax, eax
mov byte [rsp + 0x1e], al
test al, al
je 0x42c9ce
call fcn.00441a60
lea rax, [0x0108c276]
mov ebx, 7
call fcn.004422e0
call fcn.00441ac0
call fcn.00441a60
call fcn.00441ca0
call fcn.00441ac0
movzx eax, byte [rsp + 0x1e]
test al, al
je 0x42ca12
mov rdx, qword [rsp + 0x80]
mov rsi, qword [rdx + 0x68]
cmp rsi, 0x400
mov edi, 0x400
cmova rsi, rdi
mov rax, qword [rsp + 0x28]
lea rbx, [rsi + rax]
xor ecx, ecx
call fcn.00442440
movzx ecx, byte [rsp + 0x48]
nop
cmp cl, 0x80
jne 0x42ca29
inc qword [rsp + 0x40]
mov byte [rsp + 0x48], 1
jmp 0x42ca2f
shl ecx, 1
mov byte [rsp + 0x48], cl
inc qword [rsp + 0x50]
movzx ecx, byte [rsp + 0x60]
nop
cmp cl, 0x80
jne 0x42ca4e
inc qword [rsp + 0x58]
mov byte [rsp + 0x60], 1
jmp 0x42c87a
shl ecx, 1
mov byte [rsp + 0x60], cl
jmp 0x42c87a
lea rax, [0x010aadfc]
mov ebx, 0x1c
call fcn.0043ffc0
nop
mov qword [rsp + 8], rax
call fcn.00477be0
mov rax, qword [rsp + 8]
jmp fcn.0042c780