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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x528]
cmp rax, qword [rcx + 0x10]
jbe 0x5a3a38
sub rsp, 0x5a8
mov qword [rsp + 0x5a0], rbp
lea rbp, [rsp + 0x5a0]
mov eax, dword [rsp + 0x5d0]
cmp eax, 0x10
jge 0x5a3a1a
mov rcx, qword [rsp + 0x5c0]
lea edx, [rcx + 1]
movsxd rdx, edx
mov rbx, qword [rsp + 0x5c8]
cmp rdx, rbx
ja 0x5a3a13
movsxd rbx, ecx
cmp rbx, rdx
jae 0x5a3a0c
shl rbx, 3
mov rsi, qword [rsp + 0x5b8]
mov word [rsi + rbx], 0xffff
mov dword [rsi + rbx + 4], 0x7fffffff
lea ebx, [rcx - 1]
cmp eax, ebx
jle 0x5a398c
lea rdi, [rsp + 0x60]
xorps xmm0, xmm0
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00455581
mov rbp, qword [rbp]
lea rdi, [rsp + 0x1a0]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004554b0
mov rbp, qword [rbp]
mov eax, 1
jmp 0x5a3638
inc eax
cmp eax, ebx
jg 0x5a36e3
mov qword [rsp + 0x4c], 0
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x4c], eax
cmp rdx, 1
jbe 0x5a3a05
mov edi, dword [rsi + 0xc]
mov dword [rsp + 0x50], edi
cmp rdx, 2
jbe 0x5a39fe
mov edi, dword [rsi + 0x14]
mov dword [rsp + 0x54], edi
lea rdi, [rsi + 4]
mov r8d, dword [rsi + 0xc]
add r8d, dword [rdi]
mov dword [rsp + 0x58], r8d
movsxd rdi, eax
cmp rdi, 0x10
jae 0x5a39f7
mov r8, qword [rsp + 0x4c]
lea r9, [rdi + rdi*4]
mov r10, r9
shl r9, 2
mov qword [rsp + r9 + 0x60], r8
lea r8, [rsp + r10*4 + 0x60]
movups xmm1, xmmword [rsp + 0x50]
movups xmmword [r8 + 4], xmm1
mov r8, rdi
shl rdi, 6
lea rdi, [rsp + rdi + 0x1a0]
mov dword [rdi + r8*4], 2
cmp eax, 1
jne 0x5a3636
mov dword [rsp + r10*4 + 0x6c], 0x7fffffff
jmp 0x5a3636
movsxd rax, ebx
cmp rax, 0x10
jae 0x5a39f0
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x24], ebx
lea rdi, [rax + rax*4]
shl rdi, 2
mov r8, rcx
shl ecx, 1
add ecx, 0xfffffffc
mov dword [rsp + rdi + 0x70], ecx
mov ecx, ebx
movsxd rdi, ebx
cmp rdi, 0x10
jae 0x5a39e9
lea r9, [rdi + rdi*4]
mov r10, r9
shl r9, 2
mov r11d, dword [rsp + r10*4 + 0x6c]
cmp r11d, 0x7fffffff
jne 0x5a3772
mov r12d, dword [rsp + r10*4 + 0x68]
cmp r12d, 0x7fffffff
jne 0x5a3772
mov dword [rsp + r10*4 + 0x70], 0
inc ebx
movsxd rdi, ebx
cmp rdi, 0x10
jae 0x5a39e2
lea rdi, [rdi + rdi*4]
shl rdi, 2
mov dword [rsp + rdi + 0x6c], 0x7fffffff
jmp 0x5a3714
mov r12d, dword [rsp + r10*4 + 0x64]
mov r13d, dword [rsp + r10*4 + 0x68]
cmp r13d, r11d
jge 0x5a38d5
mov r11, rdi
shl rdi, 6
lea rdi, [rsp + rdi + 0x1a0]
mov r14d, dword [rdi + r11*4]
mov dword [rsp + r9 + 0x64], r13d
lea r13d, [r14 + 1]
mov dword [rdi + r11*4], r13d
movsxd rdi, r13d
cmp rdi, rdx
jae 0x5a39db
mov edi, dword [rsi + rdi*8 + 4]
mov dword [rsp + r9 + 0x68], edi
mov edi, dword [rsp + r10*4 + 0x70]
lea r11d, [rdi - 1]
mov dword [rsp + r9 + 0x70], r11d
cmp edi, 1
jne 0x5a38b2
mov edi, dword [rsp + r10*4 + 0x60]
cmp ecx, edi
je 0x5a3805
inc edi
movsxd rdi, edi
mov r9d, dword [rsp + r10*4 + 0x64]
add r9d, r12d
cmp rdi, 0x10
jae 0x5a39c6
lea rdi, [rdi + rdi*4]
shl rdi, 2
mov dword [rsp + rdi + 0x6c], r9d
inc ebx
jmp 0x5a3714
mov rdx, rax
shl rax, 6
lea rax, [rsp + rax + 0x1a0]
mov edx, dword [rax + rdx*4]
cmp edx, r8d
jne 0x5a39a1
mov rdx, qword [rsp + 0x5b0]
test byte [rdx], al
lea rbx, [rdx + 0x30]
test byte [rbx], al
lea esi, [rcx + 1]
movsxd rsi, esi
cmp rsi, 0x11
ja 0x5a399a
mov edi, 1
jmp 0x5a384f
mov dword [rdx + rdi*4 + 0x30], r8d
inc rdi
test ecx, ecx
jle 0x5a3884
movsxd r8, ecx
cmp r8, 0x10
jae 0x5a3993
mov r8d, dword [rax + r8*4]
dec ecx
movsxd r9, ecx
cmp r9, 0x10
jae 0x5a3993
mov r9d, dword [rax + r9*4]
sub r8d, r9d
cmp rdi, rsi
jb 0x5a3847
jmp 0x5a3993
mov qword [rsp + 0x5d8], rbx
mov qword [rsp + 0x5e0], rsi
mov qword [rsp + 0x5e8], 0x11
mov rbp, qword [rsp + 0x5a0]
add rsp, 0x5a8
ret
mov ebx, edi
lea edi, [rbx - 1]
movsxd r9, edi
cmp r9, 0x10
jae 0x5a39bf
lea r9, [r9 + r9*4]
mov r9d, dword [rsp + r9*4 + 0x70]
test r9d, r9d
jg 0x5a38b0
jmp 0x5a3714
mov dword [rsp + r9 + 0x64], r11d
lea r11d, [rbx - 1]
movsxd r11, r11d
cmp r11, 0x10
jae 0x5a39d4
mov dword [rsp + 0x1c], r12d
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], r9
mov dword [rsp + 0x20], ebx
mov rax, rdi
shl rdi, 6
lea rcx, [rsp + rdi + 0x1a0]
mov qword [rsp], rcx
shl r11, 6
lea rcx, [rsp + r11 + 0x1a0]
mov qword [rsp + 8], rcx
shl rax, 2
mov qword [rsp + 0x10], rax
call fcn.00455c10
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + rax*4 + 0x60]
dec ecx
movsxd rcx, ecx
cmp rcx, 0x10
jae 0x5a39cd
lea rdi, [rcx + rcx*4]
shl rdi, 2
mov dword [rsp + rdi + 0x70], 2
mov ecx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x40]
mov ebx, dword [rsp + 0x20]
mov rsi, qword [rsp + 0x5b8]
mov r8, qword [rsp + 0x5c0]
mov r9, qword [rsp + 0x28]
mov r10, rax
mov r12d, dword [rsp + 0x1c]
mov rax, qword [rsp + 0x38]
jmp 0x5a37ba
mov ebx, eax
jmp 0x5a35f9
call fcn.00429b50
ud2
call fcn.00429bc0
ud2
lea rax, [0x00649960]
mov qword [rsp], rax
lea rax, [0x006f6330]
mov qword [rsp + 8], rax
call fcn.0042aba0
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429bc0
ud2
lea rax, [0x00649960]
mov qword [rsp], rax
lea rax, [0x006f6320]
mov qword [rsp + 8], rax
call fcn.0042aba0
ud2
call fcn.00452950
jmp fcn.005a3560