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

Disassembly:
lea r12, [rsp - 0x58]
cmp r12, qword [r14 + 0x10]
jbe 0x5d83c6
sub rsp, 0xd8
mov qword [rsp + 0xd0], rbp
lea rbp, [rsp + 0xd0]
mov qword [rsp + 0xe0], rax
call fcn.005d84e0
test rax, rax
jg 0x5d7e5e
xor ecx, ecx
xor edx, edx
jmp 0x5d7e80
mov qword [rsp + 0x70], rax
mov rbx, rax
mov rcx, rbx
lea rax, [0x00667a40]
call fcn.0044a620
mov rcx, qword [rsp + 0x70]
mov rdx, rax
mov rax, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x98], rdx
mov rbx, rax
lea rax, [0x00697e00]
xor ecx, ecx
call fcn.0040e5e0
mov qword [rsp + 0xc8], rax
mov rdx, qword [rsp + 0xe0]
mov rsi, qword [rdx]
mov ebx, 1
mov rax, rsi
call fcn.005c8840
nop
test rdi, rdi
jne 0x5d7f4f
test rbx, rbx
jbe 0x5d83bb
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x5d7edf
cmp cl, 9
jne 0x5d7f4f
mov rax, qword [rsp + 0xe0]
call fcn.005d7080
test rdi, rdi
je 0x5d7f0f
mov rax, qword [rsp + 0xc8]
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov ecx, 0x24
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006c523c]
call fcn.0044e540
call fcn.0040b080
lea rbx, [0x0072f360]
mov rcx, rax
mov rax, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x58]
jmp 0x5d7f67
mov rdx, rax
mov rax, rcx
mov rcx, rdx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x98], rax
lea rbx, [0x006e9668]
mov rax, qword [rsp + 0xe0]
call fcn.005d7260
test rbx, rbx
je 0x5d82dd
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xb0], rsi
mov rdi, qword [0x008b75c0]
mov rsi, qword [0x008b75c8]
mov r8, qword [0x008b75d0]
call fcn.004a8460
test r9b, r9b
je 0x5d8296
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x90], rdi
nop
call fcn.005d86a0
test cl, cl
je 0x5d824f
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x90]
xor esi, esi
nop dword [rax]
jmp 0x5d8301
test rbx, rbx
jne 0x5d801c
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x98]
jmp 0x5d7f5e
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0xa8], rax
xor eax, eax
mov rbx, rdx
call fcn.0044e8e0
lea rcx, [0x006b8633]
mov edi, 2
nop
call fcn.004ff5a0
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x40], rbx
mov rcx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x68]
lea rax, [0x00697e00]
mov rbx, qword [rsp + 0xc8]
call fcn.00412a60
mov rdx, qword [rax]
mov rcx, qword [rax + 0x10]
mov rbx, qword [rax + 8]
nop
test rdx, rdx
je 0x5d808f
mov r8, qword [rsp + 0x50]
jmp 0x5d8158
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x5d8158
mov rdx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x98]
mov qword [rdi + 8], rdx
lea rdx, [r8 - 1]
mov qword [rsp + 0x50], rdx
neg rdx
sar rdx, 0x3f
and edx, 0x10
add rdx, rdi
mov qword [rsp + 0xb8], rdx
cmp dword [0x00918a90], 0
jne 0x5d80e2
mov r8, qword [rsp + 0x88]
mov qword [rdi], r8
jmp 0x5d80ef
mov r8, qword [rsp + 0x88]
call fcn.00465780
lea rax, [0x00697e00]
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x68]
call fcn.00413280
mov qword [rax + 8], 1
mov qword [rax + 0x10], 1
cmp dword [0x00918a90], 0
jne 0x5d8136
mov rdx, qword [rsp + 0x98]
mov qword [rax], rdx
jmp 0x5d8146
mov rdi, rax
mov rdx, qword [rsp + 0x98]
call fcn.00465720
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xb8]
jmp 0x5d8239
inc rbx
nop dword [rax + rax]
cmp rcx, rbx
jae 0x5d8181
mov rax, rdx
mov edi, 1
lea rsi, [0x00667a40]
call fcn.0044a700
mov r8, qword [rsp + 0x50]
mov rdx, rax
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x78], rcx
lea rsi, [rbx - 1]
shl rsi, 4
mov r9, qword [rsp + 0x40]
mov qword [rdx + rsi + 8], r9
lea rdi, [rdx + rsi]
cmp dword [0x00918a90], 0
jne 0x5d81c3
mov r9, qword [rsp + 0x88]
mov qword [rdx + rsi], r9
jmp 0x5d81d0
mov rsi, qword [rsp + 0x88]
call fcn.00465760
lea rax, [0x00697e00]
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x68]
call fcn.00413280
mov rdx, qword [rsp + 0x80]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x78]
mov qword [rax + 0x10], rdx
cmp dword [0x00918a90], 0
jne 0x5d821c
mov rdx, qword [rsp + 0xb8]
mov qword [rax], rdx
jmp 0x5d822c
mov rdi, rax
mov rdx, qword [rsp + 0xb8]
call fcn.00465720
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xc0]
test rbx, rbx
je 0x5d7f5e
jmp 0x5d839b
xor eax, eax
lea rbx, [0x006c1ab8]
mov ecx, 0x1c
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x60]
call fcn.0044e540
call fcn.0040b080
lea rbx, [0x0072f360]
mov rcx, rax
mov rax, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
xor eax, eax
lea rbx, [0x006c1ab8]
mov ecx, 0x1c
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x60]
call fcn.0044e540
call fcn.0040b080
lea rbx, [0x0072f360]
mov rcx, rax
mov rax, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rax, qword [rsp + 0xc8]
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
inc rsi
mov rcx, rdi
cmp rcx, rsi
jle 0x5d8005
movzx r8d, byte [rdx + rsi]
cmp r8b, 0x40
sbb r9, r9
lea r10d, [r8 - 0x40]
cmp r10b, 0x40
sbb r10, r10
mov rdi, rcx
mov ecx, r8d
mov r11d, 1
shl r11, cl
and r9, r11
mov r8d, 0xfffffdff
and r9, r8
and r10, r11
movabs r11, 0x8000000000000000
and r10, r11
or r9, r10
test r9, r9
je 0x5d82fb
xor eax, eax
lea rbx, [0x006c1ab8]
mov ecx, 0x1c
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x60]
call fcn.0044e540
call fcn.0040b080
lea rbx, [0x0072f360]
mov rcx, rax
mov rax, qword [rsp + 0xc8]
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
xor eax, eax
mov rcx, rax
call fcn.00465aa0
nop
mov qword [rsp + 8], rax
call fcn.00463440
mov rax, qword [rsp + 8]
jmp fcn.005d7e20