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

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x46e28a
sub rsp, 0x90
mov qword [rsp + 0x88], rbp
lea rbp, [rsp + 0x88]
test rbx, rbx
je 0x46e261
mov qword [rsp + 0x98], rax
test rcx, rcx
jg 0x46debb
bsf rdx, rbx
mov r9, rcx
neg rcx
cmp rdx, rcx
jl 0x46debe
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.0046e380
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov r9, rcx
mov qword [rsp + 0xb0], rdi
mov qword [rsp + 0xa0], rbx
mov rax, rbx
mov rbx, r9
mov rcx, rdi
call fcn.0046e300
nop dword [rax]
test rdi, rdi
je 0x46e233
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x58], rdi
mov rax, rdi
neg rax
call fcn.0046e2c0
mov qword [rsp + 0x80], rax
lea rcx, [rax + 1]
mov qword [rsp + 0x38], rcx
mov rdx, qword [rsp + 0xb0]
lea rbx, [0x007a3bc0]
cmp rdx, rbx
jne 0x46df8f
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
call fcn.0046e760
mov dword [rsp + 0x30], eax
mov byte [rsp + 0x2a], cl
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
call fcn.0046e760
mov dword [rsp + 0x34], eax
mov byte [rsp + 0x2b], cl
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
call fcn.0046e760
mov edx, dword [rsp + 0x30]
mov edx, edx
mov esi, dword [rsp + 0x34]
mov esi, esi
mov edi, eax
movzx eax, byte [rsp + 0x2b]
movzx r8d, byte [rsp + 0x2a]
jmp 0x46dff0
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x58]
call fcn.0046e860
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x2a], cl
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
call fcn.0046e860
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x2b], cl
mov rbx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
call fcn.0046e860
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, rax
movzx eax, byte [rsp + 0x2b]
movzx r8d, byte [rsp + 0x2a]
test rbx, rbx
jge 0x46e276
mov r9, qword [rsp + 0x38]
nop
cmp r9, 0x37
jle 0x46e00d
xor ecx, ecx
xor eax, eax
xor r8d, r8d
mov qword [rsp + 0x60], rdi
mov r10, qword [rsp + 0x80]
lea r11, [r10 + 0x19]
nop
cmp r11, 0x18
jae 0x46e0c2
mov qword [rsp + 0x58], rbx
mov byte [rsp + 0x2f], r8b
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x29], cl
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rdx
neg r9
mov qword [rsp + 0x78], r9
mov rax, qword [rsp + 0x48]
mov rbx, r9
call fcn.0046e9a0
mov byte [rsp + 0x2d], al
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x50]
call fcn.0046e9a0
mov byte [rsp + 0x2c], al
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x40]
nop dword [rax]
call fcn.0046e9a0
movzx ecx, byte [rsp + 0x29]
or ecx, eax
movzx eax, byte [rsp + 0x2e]
movzx edx, byte [rsp + 0x2c]
or eax, edx
movzx r8d, byte [rsp + 0x2f]
movzx edx, byte [rsp + 0x2d]
or r8d, edx
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x60]
mov r10, qword [rsp + 0x80]
neg rbx
cmp rbx, 0x40
sbb r9, r9
mov r11d, ecx
mov rcx, rbx
mov r12d, 1
shl r12, cl
and r12, r9
dec r12
mov r13, rdx
shr rdx, cl
and rdx, r9
mov r15, rsi
shr rsi, cl
and rsi, r9
and r15, r12
shr rdi, cl
and rdi, r9
mov r9, qword [rsp + 0x60]
and r9, r12
test r11b, r11b
je 0x46e122
test r9, r9
seta r10b
test r11b, r11b
mov r11d, r10d
mov r10, qword [rsp + 0x80]
nop
jmp 0x46e128
mov r11d, 1
je 0x46e142
test r9, r9
jne 0x46e142
mov r9, qword [rsp + 0xa0]
bt r9d, 0
setae r11b
jmp 0x46e14a
mov r9, qword [rsp + 0xa0]
lea r10, [rdi - 1]
movzx r11d, r11b
test r11, r11
cmovne r10, rdi
test al, al
je 0x46e196
dec rcx
cmp rcx, 0x40
sbb r11, r11
mov rbx, r10
mov r10d, 1
shl r10, cl
and r10, r11
cmp r10, r15
jae 0x46e185
mov rcx, rsi
mov esi, 1
jmp 0x46e1c0
jne 0x46e18f
mov rcx, rsi
and esi, 1
jmp 0x46e1c0
mov rcx, rsi
xor esi, esi
jmp 0x46e1c0
dec rcx
cmp rcx, 0x40
sbb r11, r11
mov rbx, r15
shr r15, cl
and r15, r11
cmp r15, 1
sete r11b
mov rcx, rsi
mov r15, rbx
mov esi, r11d
mov rbx, r10
nop dword [rax]
test r8b, r8b
je 0x46e1d5
test r13, r12
jne 0x46e1d5
bt r9d, 0
jb 0x46e1d5
test al, al
jmp 0x46e1da
inc rdx
test al, al
je 0x46e1e5
test r15, r15
sete r9b
jmp 0x46e1e8
xor r9d, r9d
mov rax, qword [rsp + 0x98]
mov rdi, rbx
mov r8d, esi
mov rbx, rdx
mov esi, r9d
nop dword [rax]
call fcn.0046e380
mov rdx, qword [rsp + 0x98]
mov r9, qword [rdx + 0x20]
mov r10, qword [rsp + 0x80]
sub r9, r10
dec r9
mov qword [rdx + 0x20], r9
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rdi, rcx
mov esi, 1
xor r8d, r8d
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x98]
call fcn.0046e380
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
movups xmmword [rax + 0x18], xmm15
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
lea rax, [0x005fe120]
lea rbx, [0x00685060]
call fcn.00436780
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
nop
call fcn.0045f280
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0046de40