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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x40be24
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x40be03
mov rcx, qword [rax]
test rcx, rcx
je 0x40be03
movzx ecx, byte [rax + 8]
test cl, 4
jne 0x40bde8
movzx ecx, byte [rax + 9]
test cl, cl
jne 0x40bbe8
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x48], rcx
mov rbx, qword [rsp + 0x78]
cmp rbx, 0x20
jge 0x40ba42
xor eax, eax
mov qword [rsp + 0x28], rax
cmp rax, 8
jae 0x40b98c
lea rdx, [rcx + rax]
test byte [rdx], al
movzx edx, byte [rcx + rax]
test dl, dl
jne 0x40b9ad
inc rax
mov qword [rsp + 0x28], rax
cmp rax, 8
jb 0x40b970
lea rax, [0x008b4ae0]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 0
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
mov rdx, rax
shl rax, 4
lea rbx, [rcx + rax + 8]
test byte [rbx], al
mov rbx, qword [rcx + rax + 0x10]
mov rsi, qword [rsp + 0x78]
cmp rbx, rsi
je 0x40b9cf
mov rax, rdx
jmp 0x40b97e
mov rax, qword [rcx + rax + 8]
mov rbx, qword [rsp + 0x70]
cmp rax, rbx
je 0x40ba09
mov qword [rsp + 0x10], rsi
mov qword [rsp], rax
mov qword [rsp + 8], rbx
call fcn.00454300
movzx eax, byte [rsp + 0x18]
test al, al
jne 0x40ba09
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x48]
jmp 0x40b97e
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0x52]
mov rcx, qword [rsp + 0x28]
imul rcx, rax
mov rax, qword [rsp + 0x48]
lea rax, [rax + rcx + 0x88]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 1
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
xor edx, edx
mov rsi, 8
cmp rdx, 8
jae 0x40ba6d
lea rdi, [rcx + rdx]
test byte [rdi], al
movzx edi, byte [rcx + rdx]
test dil, dil
jne 0x40bb05
inc rdx
cmp rdx, 8
jb 0x40ba51
mov qword [rsp + 0x38], rsi
cmp rsi, 8
jne 0x40ba99
lea rax, [0x008b4ae0]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 0
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
shl rsi, 4
lea rdx, [rcx + rsi + 8]
test byte [rdx], al
mov rdx, qword [rcx + rsi + 8]
mov rsi, qword [rsp + 0x70]
mov qword [rsp + 0x10], rbx
mov qword [rsp], rdx
mov qword [rsp + 8], rsi
call fcn.00454300
movzx eax, byte [rsp + 0x18]
test al, al
jne 0x40bacc
jmp 0x40ba78
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0x52]
mov rcx, qword [rsp + 0x38]
imul rax, rcx
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + rax + 0x88]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 1
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
mov rdi, rdx
shl rdx, 4
lea r8, [rcx + rdx + 8]
test byte [r8], al
mov r8, qword [rcx + rdx + 0x10]
cmp r8, rbx
je 0x40bb26
mov rdx, rdi
jmp 0x40ba64
mov r8, qword [rcx + rdx + 8]
mov r9, qword [rsp + 0x70]
cmp r8, r9
je 0x40bdb9
movzx r10d, byte [r9]
movzx r11d, byte [r8]
cmp r10b, r11b
je 0x40bb4e
mov rdx, rdi
jmp 0x40ba64
movzx r10d, byte [r9 + 1]
movzx r11d, byte [r8 + 1]
cmp r10b, r11b
jne 0x40bb46
movzx r10d, byte [r9 + 2]
movzx r11d, byte [r8 + 2]
cmp r10b, r11b
jne 0x40bb46
movzx r10d, byte [r9 + 3]
movzx r11d, byte [r8 + 3]
cmp r10b, r11b
jne 0x40bb46
lea r10, [rbx + r9 - 4]
test byte [r10], al
lea r10, [rbx + r8 - 4]
test byte [r10], al
movzx r10d, byte [rbx + r9 - 4]
movzx r11d, byte [rbx + r8 - 4]
cmp r10b, r11b
je 0x40bba4
mov rdx, rdi
jmp 0x40ba64
movzx r10d, byte [rbx + r9 - 3]
movzx r11d, byte [rbx + r8 - 3]
cmp r10b, r11b
jne 0x40bb9c
movzx r10d, byte [rbx + r9 - 2]
movzx r11d, byte [rbx + r8 - 2]
cmp r10b, r11b
jne 0x40bb9c
movzx r9d, byte [rbx + r9 - 1]
movzx r8d, byte [rbx + r8 - 1]
cmp r9b, r8b
jne 0x40bb9c
cmp rsi, 8
jne 0x40bbe8
mov rdx, rdi
mov rsi, rdx
jmp 0x40ba64
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x30]
mov rcx, qword [rcx + 0x18]
mov rdx, qword [rcx]
mov ecx, dword [rax + 0xc]
mov qword [rsp + 8], rcx
lea rcx, [rsp + 0x70]
mov qword [rsp], rcx
mov rcx, qword [rdx]
call rcx
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x68]
movzx esi, byte [rbx + 9]
mov rdx, rcx
mov ecx, esi
mov rdi, 1
shl rdi, cl
cmp cl, 0x40
sbb rcx, rcx
and rcx, rdi
dec rcx
mov rsi, rdx
and rdx, rcx
movzx eax, word [rax + 0x54]
imul rdx, rax
mov rdi, qword [rbx + 0x10]
add rdi, rdx
mov r8, qword [rbx + 0x18]
test r8, r8
je 0x40bc84
movzx edx, byte [rbx + 8]
test dl, 8
je 0x40bdb1
and rcx, rsi
imul rcx, rax
lea rax, [r8 + rcx]
test byte [rax], al
movzx ecx, byte [r8 + rcx]
dec ecx
cmp cl, 3
jae 0x40bda9
shr rsi, 0x38
cmp sil, 4
jae 0x40bda1
lea eax, [rsi + 4]
mov byte [rsp + 0x27], al
mov qword [rsp + 0x40], rdi
xor ecx, ecx
mov qword [rsp + 0x30], rcx
cmp rcx, 8
jae 0x40bcc7
lea rdx, [rcx + rdi]
test byte [rdx], al
movzx edx, byte [rcx + rdi]
cmp dl, al
je 0x40bd07
inc rcx
mov qword [rsp + 0x30], rcx
cmp rcx, 8
jb 0x40bcab
mov rcx, qword [rsp + 0x60]
movzx ecx, word [rcx + 0x54]
lea rdx, [rcx + rdi - 8]
test byte [rdx], al
mov rcx, qword [rcx + rdi - 8]
test rcx, rcx
je 0x40bce6
mov rdi, rcx
jmp 0x40bc99
lea rax, [0x008b4ae0]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 0
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
mov rdx, rcx
shl rcx, 4
lea rbx, [rcx + rdi + 8]
test byte [rbx], al
mov rbx, qword [rcx + rdi + 0x10]
mov rsi, qword [rsp + 0x78]
cmp rbx, rsi
je 0x40bd29
mov rcx, rdx
jmp 0x40bcb9
mov rcx, qword [rcx + rdi + 8]
mov rbx, qword [rsp + 0x70]
cmp rcx, rbx
je 0x40bd68
mov qword [rsp + 0x10], rsi
mov qword [rsp], rcx
mov qword [rsp + 8], rbx
call fcn.00454300
movzx eax, byte [rsp + 0x18]
test al, al
jne 0x40bd68
movzx eax, byte [rsp + 0x27]
mov rcx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x40]
jmp 0x40bcb9
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0x52]
mov rcx, qword [rsp + 0x30]
imul rcx, rax
mov rax, qword [rsp + 0x40]
lea rax, [rcx + rax + 0x88]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 1
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
mov rax, rsi
jmp 0x40bc95
mov rdi, rax
jmp 0x40bc84
shr rcx, 1
jmp 0x40bc67
mov rax, qword [rsp + 0x60]
movzx eax, byte [rax + 0x52]
imul rdi, rax
lea rax, [rcx + rdi + 0x88]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 1
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
lea rax, [0x006d8f70]
mov qword [rsp], rax
mov qword [rsp + 8], 0x21
call fcn.0042aea0
ud2
lea rax, [0x008b4ae0]
mov qword [rsp + 0x80], rax
mov byte [rsp + 0x88], 0
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
call fcn.00452210
jmp fcn.0040b8f0