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

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x48180d
sub rsp, 0x90
mov qword [rsp + 0x88], rbp
lea rbp, [rsp + 0x88]
mov qword [rsp + 0x98], rax
lea rdx, [rsi - 2]
cmp rdx, 0x22
ja 0x4817f9
movups xmmword [rsp + 0x3f], xmm15
movups xmmword [rsp + 0x40], xmm15
movups xmmword [rsp + 0x50], xmm15
movups xmmword [rsp + 0x60], xmm15
movups xmmword [rsp + 0x70], xmm15
test r8b, r8b
je 0x4813a2
neg rdi
cmp rsi, 0xa
jne 0x4813b2
mov edx, 0x41
jmp 0x481660
lea rdx, [rsi - 1]
test rsi, rdx
jne 0x4813d1
bsf rdx, rsi
and edx, 7
lea r10, [rsi - 1]
mov r11d, 0x41
jmp 0x4815d3
mov edx, 0x41
jmp 0x4813e6
mov byte [rsp + r11 + 0x3e], r12b
mov rdi, rdx
mov rdx, rax
mov rax, r10
cmp rsi, rdi
ja 0x48142b
mov r10, rax
mov rax, rdi
mov r11, rdx
xor edx, edx
div rsi
mov rdx, rax
imul rax, rsi
sub rdi, rax
cmp rdi, 0x24
jae 0x4815af
lea rax, [r11 - 1]
lea r12, [0x006d63e1]
movzx r12d, byte [rdi + r12]
nop dword [rax]
cmp rax, 0x41
jb 0x4813d8
jmp 0x4815a5
lea r10, [rdx - 1]
lea r11, [0x006d63e1]
movzx r11d, byte [rdi + r11]
nop dword [rax + rax]
cmp r10, 0x41
jae 0x481596
mov byte [rsp + rdx + 0x3e], r11b
test r8b, r8b
je 0x481472
lea rdx, [r10 - 1]
nop dword [rax + rax]
cmp rdx, 0x41
jae 0x481589
mov byte [rsp + r10 + 0x3e], 0x2d
jmp 0x481475
mov rdx, r10
test r9b, r9b
je 0x48152c
nop
cmp rdx, 0x41
ja 0x48157c
mov r8, rbx
sub rbx, rdx
add rbx, 0x41
lea rdi, [rdx - 0x41]
mov r9, rdi
sar rdi, 0x3f
and rdx, rdi
lea rdx, [rsp + rdx + 0x3f]
neg r9
cmp rcx, rbx
jae 0x4814e2
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x28], r8
mov rdi, r9
lea rsi, [0x006796c0]
call fcn.0044a920
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x28]
mov r9, qword [rsp + 0x30]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x28], rcx
lea rsi, [rax + r8]
mov rax, rsi
mov rbx, rdx
mov rcx, r9
call fcn.00466740
mov rax, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
xor edi, edi
xor esi, esi
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
cmp rdx, 0x41
ja 0x48156f
lea rcx, [rdx - 0x41]
mov rsi, rcx
sar rcx, 0x3f
and rdx, rcx
lea rbx, [rsp + rdx + 0x3f]
neg rsi
xor eax, eax
mov rcx, rsi
call fcn.0044eb00
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
mov rbx, rcx
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, rdx
mov ecx, 0x41
call fcn.00465e60
mov rax, rdx
mov ecx, 0x41
call fcn.00465e60
mov rax, rdx
mov ecx, 0x41
call fcn.00465da0
mov rax, r10
mov ecx, 0x41
nop
call fcn.00465da0
mov ecx, 0x41
call fcn.00465da0
mov rax, rdi
mov ecx, 0x24
call fcn.00465dc0
mov byte [rsp + r11 + 0x3e], r15b
mov rdi, rcx
mov rcx, rdx
shr r12, cl
mov rcx, rdi
mov rdi, r12
mov r11, r13
cmp rsi, rdi
ja 0x4815fe
mov r12, rdi
and rdi, r10
nop
cmp rdi, 0x24
jae 0x48163f
lea r13, [r11 - 1]
lea r15, [0x006d63e1]
movzx r15d, byte [rdi + r15]
cmp r13, 0x41
jb 0x4815bc
jmp 0x481632
lea rdx, [r11 - 1]
lea r10, [0x006d63e1]
movzx r10d, byte [rdi + r10]
cmp rdx, 0x41
jae 0x481625
mov byte [rsp + r11 + 0x3e], r10b
test r8b, r8b
mov r10, rdx
nop
jmp 0x481452
mov rax, rdx
mov ecx, 0x41
call fcn.00465da0
mov rax, r13
mov ecx, 0x41
call fcn.00465da0
mov rax, rdi
mov ecx, 0x24
call fcn.00465dc0
mov byte [rsp + r11 + 0x3d], r10b
mov rdi, rdx
mov rdx, rax
mov rax, rsi
nop word [rax + rax]
cmp rdi, 0x64
jb 0x48170f
mov r10, rdi
shr rdi, 1
mov rsi, rax
movabs rax, 0xa3d70a3d70a3d70b
mov r11, rdx
mul rdi
shr rdx, 5
imul r12, rdx, 0x64
sub r10, r12
lea rax, [r10 + r10]
lea rax, [rax + 1]
nop word [rax + rax]
nop
cmp rax, 0xc8
jae 0x4817ef
lea rax, [r11 - 1]
lea r12, [0x006df1df]
lea r13, [r12 + r10*2]
lea r13, [r13 + 1]
movzx r13d, byte [r13]
cmp rax, 0x41
jae 0x4817e5
mov byte [rsp + r11 + 0x3e], r13b
mov rax, r10
shl rax, 1
nop dword [rax]
cmp rax, 0xc8
jae 0x4817d6
lea rax, [r11 - 2]
lea r10, [r12 + r10*2]
movzx r10d, byte [r10]
nop dword [rax + rax]
cmp rax, 0x41
jb 0x48164c
jmp 0x4817cc
lea r10, [rdi + rdi]
lea r10, [r10 + 1]
nop word [rax + rax]
cmp r10, 0xc8
jae 0x4817bf
lea r10, [rdx - 1]
lea r11, [0x006df1df]
lea r12, [r11 + rdi*2]
lea r12, [r12 + 1]
movzx r12d, byte [r12]
cmp r10, 0x41
jae 0x4817b2
mov byte [rsp + rdx + 0x3e], r12b
cmp rdi, 0xa
jb 0x481785
mov r10, rdi
shl rdi, 1
nop dword [rax]
cmp rdi, 0xc8
jae 0x4817a5
lea r12, [rdx - 2]
lea r10, [r11 + r10*2]
movzx r10d, byte [r10]
cmp r12, 0x41
jae 0x481793
mov byte [rsp + rdx + 0x3d], r10b
test r8b, r8b
jmp 0x48178b
test r8b, r8b
mov r12, r10
mov r10, r12
jmp 0x481452
mov rax, r12
mov ecx, 0x41
nop dword [rax + rax]
call fcn.00465da0
mov rax, rdi
mov ecx, 0xc8
call fcn.00465dc0
mov rax, r10
mov ecx, 0x41
call fcn.00465da0
mov rax, r10
mov ecx, 0xc8
call fcn.00465dc0
mov ecx, 0x41
call fcn.00465da0
mov ecx, 0xc8
nop dword [rax + rax]
call fcn.00465dc0
mov ecx, 0x41
call fcn.00465da0
mov ecx, 0xc8
call fcn.00465dc0
lea rax, [0x00679500]
lea rbx, [0x00742690]
call fcn.00436420
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], r8b
mov byte [rsp + 0x31], r9b
call fcn.00463740
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
movzx r8d, byte [rsp + 0x30]
movzx r9d, byte [rsp + 0x31]
jmp fcn.00481340