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

Disassembly:
lea r12, [rsp - 0x30]
cmp r12, qword [r14 + 0x10]
jbe 0x4a9846
sub rsp, 0xb0
mov qword [rsp + 0xa8], rbp
lea rbp, [rsp + 0xa8]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc8], rcx
nop word [rax + rax]
nop
cmp rbx, 0x20000000
jge 0x4a9805
cmp rdi, 0x20000000
jge 0x4a97c5
mov qword [rsp + 0x8e], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x84], 0
mov qword [rsp + 0x86], 0
nop
mov rdx, rbx
xor r9d, r9d
jmp 0x4a94a4
or ebx, 0xffffff80
mov byte [rsp + r9 + 0x8e], bl
inc r9
mov rbx, r10
mov r10, rbx
and ebx, 0x7f
sar r10, 7
test r10, r10
je 0x4a94c0
cmp r9, 0xa
jb 0x4a9493
jmp 0x4a97b8
cmp r9, 0xa
jae 0x4a97ab
mov byte [rsp + r9 + 0x8e], bl
nop
mov rbx, rdi
xor r10d, r10d
jmp 0x4a94ec
or edi, 0xffffff80
mov byte [rsp + r10 + 0x84], dil
inc r10
mov rdi, r11
mov r11, rdi
and edi, 0x7f
sar r11, 7
test r11, r11
je 0x4a950b
nop dword [rax + rax]
cmp r10, 0xa
jb 0x4a94db
jmp 0x4a979e
cmp r10, 0xa
jae 0x4a9791
mov byte [rsp + r10 + 0x84], dil
lea rdi, [r9 + rdx]
lea rdi, [rdi + 2]
lea r11, [rdx + r9]
test rbx, rbx
je 0x4a9542
lea r12, [rbx + r10]
lea r12, [r12 + r11]
lea r12, [r12 + 3]
or esi, 2
nop
jmp 0x4a9545
mov r12, rdi
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x50], r9
test r8b, r8b
je 0x4a957b
or esi, 8
mov byte [rsp + 0x3f], sil
mov qword [rsp + 0x60], r12
lea rax, [0x006799a0]
mov rbx, r12
mov rcx, rbx
call fcn.0044a800
mov rcx, qword [rsp + 0x60]
nop dword [rax]
test rcx, rcx
jbe 0x4a9787
mov qword [rsp + 0xa0], rax
lea rdx, [rcx - 1]
mov rsi, qword [rsp + 0x50]
lea rdi, [rsi + 1]
cmp rdi, rdx
mov r8, rdx
cmovl rdx, rdi
movzx edi, byte [rsp + 0x3f]
mov byte [rax], dil
neg r8
sar r8, 0x3f
and r8d, 1
lea rdi, [r8 + rax]
lea rbx, [rsp + 0x8e]
cmp rbx, rdi
je 0x4a9609
mov rax, rdi
mov rcx, rdx
call fcn.004663c0
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x50]
lea rdx, [rsi + 2]
cmp rcx, rdx
jb 0x4a977f
mov rdi, rcx
sub rcx, rsi
add rcx, 0xfffffffffffffffe
mov rsi, qword [rsp + 0x78]
cmp rsi, rcx
mov r8, rcx
cmovl rcx, rsi
neg r8
sar r8, 0x3f
and rdx, r8
add rdx, rax
mov rbx, qword [rsp + 0xb8]
cmp rbx, rdx
jne 0x4a9653
mov rdx, qword [rsp + 0x70]
test rdx, rdx
jmp 0x4a9670
mov rax, rdx
call fcn.004663c0
mov rdx, qword [rsp + 0x70]
test rdx, rdx
mov rax, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x60]
je 0x4a9759
mov rsi, qword [rsp + 0x58]
nop dword [rax + rax]
cmp rdi, rsi
jb 0x4a9774
mov r8, qword [rsp + 0x68]
sub rdi, r8
lea rcx, [rdi - 2]
mov r8, qword [rsp + 0x48]
lea r9, [r8 + 1]
cmp r9, rcx
mov r10, rcx
cmovl rcx, r9
mov r11, r10
neg r10
sar r10, 0x3f
and rsi, r10
add rsi, rax
lea rbx, [rsp + 0x84]
cmp rbx, rsi
jne 0x4a96ca
cmp r9, r11
jmp 0x4a971b
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x68], r11
mov qword [rsp + 0x98], rsi
mov rax, rsi
call fcn.004663c0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x68]
cmp rax, rcx
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x48]
mov r9, rax
mov r11, rcx
mov rax, qword [rsp + 0xa0]
ja 0x4a9769
sub rdi, r8
lea rcx, [rdi - 3]
cmp rdx, rcx
mov rdi, rcx
cmovl rcx, rdx
neg rdi
sar rdi, 0x3f
and rdi, r9
lea rdx, [rsi + rdi]
mov rbx, qword [rsp + 0xc8]
cmp rbx, rdx
je 0x4a9759
mov rax, rdx
call fcn.004663c0
mov rax, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov rax, r9
mov rcx, r11
call fcn.00465ae0
mov rax, rsi
mov rcx, rdi
call fcn.00465ae0
mov rax, rdx
call fcn.00465ae0
xor eax, eax
mov rcx, rax
call fcn.00465a20
mov rax, r10
mov ecx, 0xa
call fcn.00465a20
mov rax, r10
mov ecx, 0xa
call fcn.00465a20
mov rax, r9
mov ecx, 0xa
call fcn.00465a20
mov rax, r9
mov ecx, 0xa
call fcn.00465a20
xor eax, eax
lea rbx, [0x006d67d0]
mov rdi, rcx
mov esi, 0x400
lea r8, [0x006cb6e3]
mov r9d, 3
mov ecx, 0x20
call fcn.0044e7e0
call fcn.0040af60
mov rbx, rax
lea rax, [0x006797e0]
nop dword [rax]
call fcn.004363c0
lea rbx, [0x006d6fce]
mov ecx, 0x21
mov rdi, rax
mov esi, 0x400
lea r8, [0x006cb6e3]
mov r9d, 3
xor eax, eax
call fcn.0044e7e0
call fcn.0040af60
mov rbx, rax
lea rax, [0x006797e0]
nop dword [rax]
call fcn.004363c0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov byte [rsp + 0x28], sil
mov byte [rsp + 0x29], r8b
call fcn.004633c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
movzx esi, byte [rsp + 0x28]
movzx r8d, byte [rsp + 0x29]
jmp fcn.004a9400