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

Disassembly:
lea r12, [rsp - 8]
cmp r12, qword [r14 + 0x10]
jbe 0x4806d6
sub rsp, 0x88
mov qword [rsp + 0x80], rbp
lea rbp, [rsp + 0x80]
test rbx, rbx
je 0x48043b
test rcx, rcx
jg 0x480255
bsf rdx, rbx
mov r9, rcx
neg rcx
nop
cmp rdx, rcx
jl 0x480258
cmp rcx, 0x40
sbb rdi, rdi
shr rbx, cl
and rdi, rbx
mov rbx, rdi
mov rcx, rbx
mov esi, 1
xor r8d, r8d
call fcn.00480720
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov r9, rcx
mov rcx, qword [rdi]
cmp rcx, 0x40
sbb rdx, rdx
mov r10d, 1
shl r10, cl
and r10, rdx
cmp rbx, r10
jne 0x480285
mov rdx, qword [rdi + 0x10]
sub rdx, rcx
inc rdx
nop dword [rax]
cmp r9, rdx
jne 0x4802a2
mov rdx, rbx
shl rbx, 1
lea r10, [rdx + rdx]
lea r10, [r10 - 1]
lea r11, [rdx + rdx]
lea r11, [r11 + 1]
dec r9
nop
jmp 0x4802c1
mov r10, rbx
shl r10, 2
lea rdx, [r10 - 1]
lea r11, [r10 + 2]
add r9, 0xfffffffffffffffe
mov rcx, rdx
mov rdx, rbx
mov rbx, r10
mov r10, rcx
test r9, r9
je 0x480415
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x90], rax
imul rcx, r9, 0xfffffffffffecbbf
sar rcx, 0x12
mov qword [rsp + 0x38], rcx
lea rsi, [rcx + 1]
mov qword [rsp + 0x48], rsi
lea r8, [0x00899b00]
cmp rdi, r8
jne 0x480371
mov rax, r10
mov rbx, r9
mov rcx, rsi
call fcn.00480c20
mov dword [rsp + 0x30], eax
mov byte [rsp + 0x2e], cl
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
call fcn.00480c20
mov dword [rsp + 0x34], eax
mov byte [rsp + 0x2f], cl
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
call fcn.00480c20
mov edx, dword [rsp + 0x30]
mov edx, edx
mov esi, dword [rsp + 0x34]
mov esi, esi
mov edi, eax
movzx eax, byte [rsp + 0x2f]
movzx r8d, byte [rsp + 0x2e]
jmp 0x4803d1
mov rax, r10
mov rbx, r9
mov rcx, rsi
call fcn.00480d00
mov qword [rsp + 0x60], rax
mov byte [rsp + 0x2e], cl
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
call fcn.00480d00
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x2f], cl
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
call fcn.00480d00
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rdi, rax
movzx eax, byte [rsp + 0x2f]
movzx r8d, byte [rsp + 0x2e]
test rbx, rbx
jge 0x4806c2
mov r9, qword [rsp + 0x48]
nop
cmp r9, 0x37
jle 0x4803ed
xor ecx, ecx
xor eax, eax
xor r8d, r8d
mov r10, qword [rsp + 0x38]
lea r11, [r10 + 0x19]
cmp r11, 0x18
jae 0x480450
neg r9
mov r11, qword [rsp + 0x50]
test r11, r11
je 0x480606
xor r12d, r12d
jmp 0x4805d4
mov rcx, rbx
mov rdi, r11
mov esi, 1
xor r8d, r8d
mov rbx, r10
call fcn.00480720
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
movups xmmword [rax + 0x18], xmm15
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
mov qword [rsp + 0x68], rsi
mov r9, rbx
neg rbx
cmp rbx, 0x40
sbb r11, r11
mov r12d, ecx
mov rcx, rbx
mov r13d, 1
shl r13, cl
and r13, r11
dec r13
mov r15, rdx
shr rdx, cl
and rdx, r11
shr rsi, cl
and rsi, r11
mov r10, qword [rsp + 0x68]
and r10, r13
mov rbx, rdi
shr rdi, cl
and rdi, r11
and rbx, r13
test r12b, r12b
je 0x4804ab
test rbx, rbx
seta r11b
test r12b, r12b
jmp 0x4804b1
mov r11d, 1
je 0x4804c8
test rbx, rbx
jne 0x4804c8
mov r12, qword [rsp + 0x78]
bt r12d, 0
setae r11b
jmp 0x4804cd
mov r12, qword [rsp + 0x78]
mov rcx, r12
lea r12, [rdi - 1]
movzx r11d, r11b
test r11, r11
cmovne r12, rdi
nop
test al, al
je 0x480526
inc r9
neg r9
cmp r9, 0x40
sbb r11, r11
mov rbx, rcx
mov rcx, r9
mov rdi, r12
mov r12d, 1
shl r12, cl
and r12, r11
cmp r12, r10
jae 0x480515
mov rcx, rsi
mov esi, 1
jmp 0x480556
jne 0x48051f
mov rcx, rsi
and esi, 1
jmp 0x480556
mov rcx, rsi
xor esi, esi
jmp 0x480556
inc r9
neg r9
cmp r9, 0x40
sbb r11, r11
mov rbx, rcx
mov rcx, r9
mov rdi, r10
shr r10, cl
and r10, r11
cmp r10, 1
sete r9b
mov rcx, rsi
mov r10, rdi
mov esi, r9d
mov rdi, r12
test r8b, r8b
je 0x48056f
nop dword [rax + rax]
test r13, r15
jne 0x48056f
bt ebx, 0
jb 0x48056f
test al, al
jmp 0x480574
inc rdx
test al, al
je 0x48057f
test r10, r10
sete r9b
jmp 0x480582
xor r9d, r9d
mov rax, qword [rsp + 0x90]
mov rbx, rdx
mov r8d, esi
mov esi, r9d
call fcn.00480720
mov rdx, qword [rsp + 0x90]
mov r9, qword [rdx + 0x20]
mov r10, qword [rsp + 0x38]
sub r9, r10
dec r9
mov qword [rdx + 0x20], r9
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
inc r12
mov eax, r13d
mov r10, qword [rsp + 0x38]
mov r11, rdx
mov rdx, r15
cmp r12, r9
jge 0x480606
mov r13d, eax
movabs rax, 0xcccccccccccccccd
mov r15, rdx
mul r11
shr rdx, 2
lea r10, [rdx + rdx*4]
cmp r11, r10
je 0x4805c3
mov eax, r13d
mov rdx, r15
mov r10, qword [rsp + 0x38]
jmp 0x48060c
mov r8d, 1
mov r11, qword [rsp + 0x70]
test r11, r11
je 0x48065c
xor r12d, r12d
jmp 0x48062c
inc r12
mov eax, r13d
mov r10, qword [rsp + 0x38]
mov r11, rdx
mov rdx, r15
cmp r12, r9
jge 0x48065c
mov r13d, eax
movabs rax, 0xcccccccccccccccd
mov r15, rdx
mul r11
shr rdx, 2
mov rax, r10
lea r10, [rdx + rdx*4]
cmp r11, r10
je 0x48061b
mov rdx, r15
mov r10, rax
jmp 0x480662
mov r13d, 1
mov r11, qword [rsp + 0x40]
test r11, r11
je 0x480670
xor eax, eax
jmp 0x48068e
mov eax, 1
mov ecx, eax
mov eax, r13d
jmp 0x480450
inc r12
mov r10, rax
mov rax, r12
mov r11, rdx
mov rdx, r15
cmp rax, r9
jge 0x480670
mov r12, rax
movabs rax, 0xcccccccccccccccd
mov r15, rdx
mul r11
shr rdx, 2
mov rax, r10
lea r10, [rdx + rdx*4]
cmp r11, r10
je 0x48067f
mov rdx, r15
mov r10, rax
mov eax, ecx
nop
jmp 0x480675
lea rax, [0x00679500]
lea rbx, [0x00742660]
call fcn.00436420
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00463740
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004801e0