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

Disassembly:
lea r12, [rsp - 0x60]
cmp r12, qword [r14 + 0x10]
jbe 0x5a1bc7
sub rsp, 0xe0
mov qword [rsp + 0xd8], rbp
lea rbp, [rsp + 0xd8]
mov qword [rsp + 0xe8], rax
jmp 0x5a1338
mov rax, qword [rsp + 0xe8]
mov r8, qword [rax + 0x2e0]
mov rcx, qword [rax + 0x2e8]
mov r9, qword [rax + 0x2f0]
mov r10, qword [rax + 0x2f8]
mov r11, rcx
sub rcx, r10
nop word [rax + rax]
cmp rcx, 4
jge 0x5a138c
xor ebx, ebx
call fcn.0059d4e0
test rax, rax
je 0x5a1330
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
nop
cmp r11, r10
jb 0x5a1bbb
mov r11, r10
sub r10, r9
sar r10, 0x3f
and r11, r10
movzx edi, byte [r8 + r11 + 1]
shl rdi, 0x10
movzx ebx, byte [r8 + r11 + 2]
shl rbx, 8
or rdi, rbx
movzx ebx, byte [r8 + r11 + 3]
or rdi, rbx
mov qword [rsp + 0x30], rdi
cmp rdi, 0x10000
jle 0x5a1581
mov ebx, 0x50
call fcn.005a0180
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc8], xmm15
mov rax, qword [rsp + 0x30]
call fcn.0040b000
lea rcx, [0x00667280]
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rcx
lea rcx, [0x0072d548]
mov qword [rsp + 0xd0], rcx
lea rax, [0x006cc6f8]
mov ebx, 0x45
lea rcx, [rsp + 0xb8]
mov edi, 2
mov rsi, rdi
call fcn.004f0a80
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x80], rbx
mov rcx, rbx
mov rbx, rax
lea rax, [0x00680060]
call fcn.0040b320
test rax, rax
jne 0x5a14c7
mov rdx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x178], rdx
cmp dword [0x00918a90], 0
jne 0x5a14a5
mov rdx, qword [rsp + 0x80]
mov qword [rdi + 0x180], rdx
jmp 0x5a1552
lea rdx, [rdi + 0x180]
mov rax, rdi
mov rdi, rdx
mov rsi, qword [rsp + 0x80]
call fcn.00465760
mov rdi, rax
jmp 0x5a1552
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x98], rbx
lea rax, [0x0067fc60]
nop dword [rax + rax]
call fcn.0040da20
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
cmp dword [0x00918a90], 0
jne 0x5a1504
mov rdx, qword [rsp + 0x98]
mov qword [rax + 8], rdx
jmp 0x5a1515
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0x98]
call fcn.00465720
lea rdx, [0x0072e7a0]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x178], rdx
cmp dword [0x00918a90], 0
jne 0x5a153d
mov qword [rdi + 0x180], rax
jmp 0x5a1552
lea rdx, [rdi + 0x180]
mov rcx, rdi
mov rdi, rdx
call fcn.00465600
mov rdi, rcx
mov rcx, qword [rdi + 0x178]
mov rdi, qword [rdi + 0x180]
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rax, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0x30]
lea rbx, [rdi + 4]
mov r8, qword [rax + 0x2e8]
sub r8, qword [rax + 0x2f8]
cmp r8, rbx
jge 0x5a15bf
xor ebx, ebx
call fcn.0059d4e0
nop
test rax, rax
je 0x5a1574
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
nop
mov byte [rax + 0x300], 0
mov r8, qword [rax + 0x2e8]
mov r9, qword [rax + 0x2f8]
sub r8, r9
cmp r8, rbx
cmovl rbx, r8
nop
lea rcx, [rbx + r9]
mov rdx, qword [rax + 0x2f0]
mov r8, qword [rax + 0x2e0]
cmp rdx, rcx
jb 0x5a1bb6
nop dword [rax + rax]
cmp r9, rcx
ja 0x5a1bae
mov qword [rax + 0x2f8], rcx
mov r10, r9
sub r9, rdx
sar r9, 0x3f
and r10, r9
lea rdx, [r8 + r10]
test rbx, rbx
jle 0x5a162d
mov byte [rax + 0x300], 0xff
jbe 0x5a1ba4
movzx r8d, byte [r8 + r10]
nop dword [rax + rax]
cmp r8, 0x18
ja 0x5a1a7d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0xa0], rdx
lea rcx, [0x00732240]
nop
jmp qword [rcx + r8*8]
mov ebx, 0xa
call fcn.005a0360
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x78], rbx
mov rcx, rbx
mov rbx, rax
lea rax, [0x00680060]
call fcn.0040b320
test rax, rax
jne 0x5a1afb
mov rdx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x178], rdx
cmp dword [0x00918a90], 0
jne 0x5a1adc
mov rdx, qword [rsp + 0x78]
mov qword [rdi + 0x180], rdx
jmp 0x5a1b82
lea rdx, [rdi + 0x180]
mov rax, rdi
mov rdi, rdx
mov rsi, qword [rsp + 0x78]
call fcn.00465760
mov rdi, rax
jmp 0x5a1b82
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x48], rax
lea rax, [0x0067fc60]
call fcn.0040da20
mov rcx, qword [rsp + 0x48]
mov qword [rax], rcx
cmp dword [0x00918a90], 0
jne 0x5a1b33
mov rdx, qword [rsp + 0x90]
mov qword [rax + 8], rdx
jmp 0x5a1b45
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0x90]
nop
call fcn.00465720
lea rdx, [0x0072e7a0]
mov rdi, qword [rsp + 0xe8]
mov qword [rdi + 0x178], rdx
cmp dword [0x00918a90], 0
jne 0x5a1b6d
mov qword [rdi + 0x180], rax
jmp 0x5a1b82
lea rdx, [rdi + 0x180]
mov rcx, rdi
mov rdi, rdx
call fcn.00465600
mov rdi, rcx
mov rcx, qword [rdi + 0x178]
mov rdi, qword [rdi + 0x180]
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
xor eax, eax
mov rcx, rax
call fcn.00465aa0
mov rax, r9
call fcn.00465b60
call fcn.00465b20
mov rax, r10
mov rcx, r11
call fcn.00465b60
nop
mov qword [rsp + 8], rax
call fcn.00463440
mov rax, qword [rsp + 8]
jmp fcn.005a1300