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

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x5e8f06
push rbp
mov rbp, rsp
sub rsp, 0xe8
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0xf8], rax
call fcn.005e9040
test rax, rax
jg 0x5e8882
xor ecx, ecx
xor edx, edx
jmp 0x5e88b3
cmp rax, 0x3e8
mov edx, 0x3e8
cmovg rax, rdx
mov qword [rsp + 0x78], rax
mov rbx, rax
mov rcx, rbx
lea rax, [0x0065b7a0]
call fcn.0044b7a0
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, [0x0068e920]
xor ecx, ecx
call fcn.0040e180
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0xf8]
mov rsi, qword [rdx]
mov ebx, 1
mov rax, rsi
call fcn.004eeda0
test rdi, rdi
jne 0x5e896e
test rbx, rbx
jbe 0x5e8ef7
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x5e890c
cmp cl, 9
jne 0x5e896e
mov rax, qword [rsp + 0xf8]
call fcn.005e7ae0
test rdi, rdi
je 0x5e8935
mov rax, qword [rsp + 0xd0]
mov rbx, rdi
mov rcx, rsi
add rsp, 0xe8
pop rbp
ret
mov ecx, 0x24
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006bd5cb]
call fcn.0044f620
call fcn.0040ae40
lea rbx, [0x00729320]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
add rsp, 0xe8
pop rbp
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 0x5e89a0
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, [0x006e1430]
mov rax, qword [rsp + 0xf8]
call fcn.005e7cc0
test rbx, rbx
je 0x5e8dc5
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xc8], rsi
mov rdi, qword [0x008bf9e0]
mov rsi, qword [0x008bf9e8]
mov r8, qword [0x008bf9f0]
call fcn.0049af40
test r9b, r9b
je 0x5e8d81
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x50], r8
call fcn.005e9240
test cl, cl
je 0x5e8d3e
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rsp + 0x48]
xor ecx, ecx
jmp 0x5e8de0
test rbx, rbx
jne 0x5e8a74
mov rdx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xb0]
jmp 0x5e8994
mov r9, qword [rsp + 0x98]
dec r9
nop
test r9, r9
jl 0x5e8ec4
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, [0x006b0641]
mov esi, 2
call fcn.0049a4c0
mov rcx, rbx
mov rbx, rax
xor eax, eax
call fcn.0044f9a0
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x70]
lea rax, [0x0068e920]
mov rbx, qword [rsp + 0xd0]
call fcn.00412420
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 r9, qword [rsp + 0x40]
sub r8, r9
test r8, r8
jl 0x5e8e8b
mov qword [rsp + 0x80], r8
test rdx, rdx
je 0x5e8b45
mov r10, qword [rsp + 0x60]
nop dword [rax]
jmp 0x5e8c15
mov r10, qword [rsp + 0x60]
test r10, r10
je 0x5e8c15
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 [0x00921500], 0
jne 0x5e8b90
mov r10, qword [rsp + 0xa0]
jmp 0x5e8ba7
call fcn.004665c0
mov r10, qword [rsp + 0xa0]
mov qword [r11], r10
mov r12, qword [rdx]
mov qword [r11 + 8], r12
mov qword [rdx], r10
lea rax, [0x0068e920]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc0]
call fcn.00412bc0
mov qword [rax + 8], 1
mov qword [rax + 0x10], 1
cmp dword [0x00921500], 0
jne 0x5e8be9
mov rdx, qword [rsp + 0xb0]
jmp 0x5e8c00
call fcn.004665c0
mov rdx, qword [rsp + 0xb0]
mov qword [r11], rdx
mov rsi, qword [rax]
mov qword [r11 + 8], rsi
mov qword [rax], rdx
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0xd8]
jmp 0x5e8d17
mov rcx, qword [rax + 0x10]
mov rbx, qword [rax + 8]
inc rbx
cmp rcx, rbx
jae 0x5e8c53
mov rax, rdx
mov edi, 1
lea rsi, [0x0065b7a0]
call fcn.0044b880
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 + 0x90], rbx
mov qword [rsp + 0x88], rcx
lea rsi, [rbx - 1]
shl rsi, 4
mov qword [rdx + rsi + 8], r9
cmp dword [0x00921500], 0
jne 0x5e8c83
mov r9, qword [rsp + 0xa0]
jmp 0x5e8c9b
call fcn.004665c0
mov r9, qword [rsp + 0xa0]
mov qword [r11], r9
mov r12, qword [rdx + rsi]
mov qword [r11 + 8], r12
mov qword [rsp + 0xd8], rdx
mov qword [rdx + rsi], r9
lea rax, [0x0068e920]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc0]
nop
call fcn.00412bc0
mov rdx, qword [rsp + 0x90]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rax + 0x10], rdx
cmp dword [0x00921500], 0
jne 0x5e8cf0
mov rdx, qword [rsp + 0xd8]
jmp 0x5e8d07
call fcn.004665c0
mov rdx, qword [rsp + 0xd8]
mov qword [r11], rdx
mov rsi, qword [rax]
mov qword [r11 + 8], rsi
mov qword [rax], rdx
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xe0]
nop
test rbx, rbx
jne 0x5e8e72
mov rdx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x80]
jmp 0x5e8994
xor eax, eax
lea rbx, [0x006b9c98]
mov ecx, 0x1c
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x68]
call fcn.0044f620
nop
call fcn.0040ae40
lea rbx, [0x00729320]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
add rsp, 0xe8
pop rbp
nop
ret
xor eax, eax
lea rbx, [0x006b9c98]
mov ecx, 0x1c
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x68]
nop dword [rax]
call fcn.0044f620
call fcn.0040ae40
lea rbx, [0x00729320]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
add rsp, 0xe8
pop rbp
ret
mov rax, qword [rsp + 0xd0]
mov rbx, rdi
mov rcx, rsi
add rsp, 0xe8
pop rbp
ret
lea rcx, [rsi + 1]
cmp r8, rcx
jle 0x5e8a4d
movzx r9d, byte [rdx + rcx]
mov rsi, rcx
mov ecx, r9d
mov r10d, 1
shl r10, cl
lea r11d, [rcx - 0x40]
cmp cl, 0x40
sbb r9, r9
and r9, r10
mov r12d, 0xfffffdff
and r9, r12
cmp r11b, 0x40
sbb r11, r11
and r11, r10
movabs r10, 0x8000000000000000
and r11, r10
or r9, r11
test r9, r9
je 0x5e8ddc
xor eax, eax
lea rbx, [0x006b9c98]
mov ecx, 0x1c
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x68]
call fcn.0044f620
call fcn.0040ae40
lea rbx, [0x00729320]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
add rsp, 0xe8
pop rbp
ret
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
add rsp, 0xe8
pop rbp
ret
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x11
lea rcx, [0x006b4893]
mov qword [rax], rcx
lea rbx, [0x00728640]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
add rsp, 0xe8
pop rbp
ret
lea rax, [0x00673e00]
call fcn.0040d680
mov qword [rax + 8], 0x11
lea rcx, [0x006b4893]
mov qword [rax], rcx
lea rbx, [0x00728640]
mov rcx, rax
xor eax, eax
add rsp, 0xe8
pop rbp
ret
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00466960
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.004646a0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.005e8840