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

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x5d423f
sub rsp, 0xf0
mov qword [rsp + 0xe8], rbp
lea rbp, [rsp + 0xe8]
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0xf8], rax
nop
call fcn.005d4380
test rax, rax
jg 0x5d3b90
xor ecx, ecx
xor edx, edx
jmp 0x5d3bc1
cmp rax, 0x3e8
mov edx, 0x3e8
cmovg rax, rdx
mov qword [rsp + 0x78], rax
mov rbx, rax
mov rcx, rbx
lea rax, [0x006576e0]
call fcn.0044a840
mov rcx, qword [rsp + 0x78]
mov rdx, rax
mov rax, rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xb0], rdx
mov rbx, rax
lea rax, [0x00684fa0]
xor ecx, ecx
call fcn.0040e520
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rdx]
mov ebx, 1
mov rax, rsi
call fcn.005d1060
nop
test rdi, rdi
jne 0x5d3c8f
test rbx, rbx
jbe 0x5d4234
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x5d3c1f
cmp cl, 9
jne 0x5d3c8f
mov rax, qword [rsp + 0xf8]
call fcn.005d2da0
test rdi, rdi
je 0x5d3c4f
mov rax, qword [rsp + 0xd0]
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov ecx, 0x24
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006b0c71]
call fcn.0044e760
call fcn.0040afc0
lea rbx, [0x00719d00]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rsi, qword [rsp + 0x100]
add rsi, 0xfffffffffffffe70
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x60]
jmp 0x5d3cc1
mov rsi, rbx
mov rdi, rax
mov rax, rdx
mov rdx, rdi
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x98], rax
lea rbx, [0x006d47f8]
mov rax, qword [rsp + 0xf8]
call fcn.005d2f80
test rbx, rbx
je 0x5d40d8
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0xc8], rsi
mov qword [rsp + 0xe0], rdi
mov rdi, qword [0x00893630]
mov rsi, qword [0x00893638]
mov r8, qword [0x00893640]
call fcn.00478220
test r9b, r9b
je 0x5d4091
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], r8
mov qword [rsp + 0xa8], rdi
call fcn.005d45a0
test cl, cl
je 0x5d404a
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x48]
xor ecx, ecx
jmp 0x5d4100
test rbx, rbx
jne 0x5d3d95
mov rdx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xb0]
jmp 0x5d3cb5
mov r9, qword [rsp + 0x98]
dec r9
test r9, r9
jl 0x5d41fa
mov qword [rsp + 0x98], r9
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0xc0], rax
mov rax, rdx
mov rbx, r8
mov rcx, qword [rsp + 0x50]
lea rdi, [0x006a41f2]
mov esi, 2
call fcn.00477700
mov rcx, rbx
mov rbx, rax
xor eax, eax
call fcn.0044eb00
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x40], rbx
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x70]
lea rax, [0x00684fa0]
mov rbx, qword [rsp + 0xd0]
call fcn.004129c0
mov rdx, qword [rax]
mov r8, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x70]
mov r9, r8
sub r8, rdi
add r8, 0xffffffffffffff38
test rdx, rdx
cmovne r8, r9
mov rcx, qword [rax + 0x10]
mov rbx, qword [rax + 8]
mov r9, qword [rsp + 0x40]
sub r8, r9
test r8, r8
jl 0x5d41ba
mov qword [rsp + 0x80], r8
test rdx, rdx
je 0x5d3e69
mov r10, qword [rsp + 0x60]
jmp 0x5d3f31
mov r10, qword [rsp + 0x60]
test r10, r10
je 0x5d3f31
mov rdx, qword [rsp + 0xb0]
mov qword [rdx + 8], r9
lea rsi, [r10 - 1]
mov qword [rsp + 0x58], rsi
neg rsi
sar rsi, 0x3f
and esi, 0x10
add rsi, rdx
mov qword [rsp + 0xd8], rsi
cmp dword [0x008f2cf0], 0
jne 0x5d3eb7
mov r10, qword [rsp + 0xa0]
mov qword [rdx], r10
jmp 0x5d3ecd
mov rax, rdi
mov rdi, rdx
mov r8, qword [rsp + 0xa0]
call fcn.00465620
mov rdi, rax
lea rax, [0x00684fa0]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc0]
call fcn.004131e0
mov qword [rax + 8], 1
mov qword [rax + 0x10], 1
cmp dword [0x008f2cf0], 0
jne 0x5d3f0f
mov rdx, qword [rsp + 0xb0]
mov qword [rax], rdx
jmp 0x5d3f1f
mov rdi, rax
mov rdx, qword [rsp + 0xb0]
call fcn.004655c0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xd8]
jmp 0x5d4024
inc rbx
cmp rcx, rbx
jae 0x5d3f67
mov rax, rdx
mov edi, 1
lea rsi, [0x006576e0]
call fcn.0044a920
mov rdi, qword [rsp + 0x70]
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x60]
mov rdx, rax
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], rcx
lea rsi, [rbx - 1]
shl rsi, 4
mov qword [rdx + rsi + 8], r9
lea r9, [rdx + rsi]
cmp dword [0x008f2cf0], 0
jne 0x5d3fa7
mov r9, qword [rsp + 0xa0]
mov qword [rdx + rsi], r9
jmp 0x5d3fbd
mov rax, rdi
mov rdi, r9
mov rsi, qword [rsp + 0xa0]
call fcn.00465600
mov rdi, rax
lea rax, [0x00684fa0]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc0]
call fcn.004131e0
mov rdx, qword [rsp + 0x90]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rax + 0x10], rdx
cmp dword [0x008f2cf0], 0
jne 0x5d4007
mov rdx, qword [rsp + 0xd8]
mov qword [rax], rdx
jmp 0x5d4017
mov rdi, rax
mov rdx, qword [rsp + 0xd8]
call fcn.004655c0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xe0]
test rbx, rbx
jne 0x5d419a
mov rdx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x80]
jmp 0x5d3cb5
xor eax, eax
lea rbx, [0x006ad4e2]
mov ecx, 0x1c
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x68]
call fcn.0044e760
call fcn.0040afc0
lea rbx, [0x00719d00]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
xor eax, eax
lea rbx, [0x006ad4e2]
mov ecx, 0x1c
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x68]
call fcn.0044e760
call fcn.0040afc0
lea rbx, [0x00719d00]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, qword [rsp + 0xd0]
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
lea rcx, [rsi + 1]
nop word [rax + rax]
cmp r8, rcx
jle 0x5d3d6e
movzx r9d, byte [rdx + rcx]
cmp r9b, 0x40
sbb r10, r10
lea r11d, [r9 - 0x40]
cmp r11b, 0x40
sbb r11, r11
mov rsi, rcx
mov ecx, r9d
mov r12d, 1
shl r12, cl
and r10, r12
mov r9d, 0xfffffdff
and r10, r9
and r11, r12
movabs r12, 0x8000000000000000
and r11, r12
or r10, r11
test r10, r10
je 0x5d40f6
xor eax, eax
lea rbx, [0x006ad4e2]
mov ecx, 0x1c
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x68]
call fcn.0044e760
call fcn.0040afc0
lea rbx, [0x00719d00]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
lea rax, [0x0066df60]
call fcn.0040d960
mov qword [rax + 8], 0x11
lea rcx, [0x006a8304]
mov qword [rax], rcx
lea rbx, [0x007191c0]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
lea rax, [0x0066df60]
call fcn.0040d960
mov qword [rax + 8], 0x11
lea rcx, [0x006a8304]
mov qword [rax], rcx
lea rbx, [0x007191c0]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
xor eax, eax
mov rcx, rax
call fcn.00465940
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.004632e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.005d3b40