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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x46e7bf
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
test rcx, rcx
je 0x46e734
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x46e7a1
mov qword [rsp], rax
call fcn.0046de00
mov rax, qword [rsp + 0x68]
mov qword [rsp], rax
call fcn.0046e210
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rcx + 8]
neg rdx
mov rcx, qword [rcx]
mov rbx, rcx
mov rcx, rdx
mov rsi, rbx
shr rbx, cl
cmp rcx, 0x40
sbb rdi, rdi
and rbx, rdi
mov r8d, ebx
mov r9, r8
shl r8, cl
and r8, rdi
sub rsi, r8
xor r8d, r8d
mov r10d, 1
jmp 0x46e4dc
inc r8
lea r10, [r10 + r10*4]
shl r10, 1
cmp r8, 0x14
jge 0x46e72c
cmp r10, r9
jbe 0x46e4d2
mov r9, qword [rsp + 0x78]
cmp r8, r9
jle 0x46e716
mov r10, r8
sub r8, r9
cmp r8, 0x14
jae 0x46e79a
lea r11, [0x007fb340]
mov r8, qword [r11 + r8*8]
test r8d, r8d
je 0x46e793
mov r11, rax
mov rax, rbx
xor edx, edx
div r8d
mov edx, eax
imul eax, r8d
sub ebx, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
mov eax, 0x20
jmp 0x46e558
lea r14d, [rdx + 0x30]
lea r15, [rsp + 0x38]
mov byte [rax + r15 - 1], r14b
mov rdx, r12
mov rax, r13
test edx, edx
jbe 0x46e586
mov r12d, edx
mov r13d, 0xcccccccd
imul r13, r12
shr r13, 0x23
mov r12, r13
imul r13d, r13d, 0xa
sub edx, r13d
lea r13, [rax - 1]
cmp r13, 0x20
jb 0x46e544
jmp 0x46e78c
mov qword [rsp + 0x30], rdi
mov rdx, qword [rsp + 0x70]
mov r12, rax
jmp 0x46e5a2
mov byte [r15 + rax], dil
lea rax, [r13 + 1]
mov rdi, qword [rsp + 0x30]
cmp rax, 0x20
jge 0x46e5cf
mov r13, rax
sub rax, r12
cmp r13, 0x20
jae 0x46e785
mov r14, qword [rdx + 8]
mov r15, qword [rdx]
movzx edi, byte [rsp + r13 + 0x38]
cmp rax, r14
jb 0x46e595
jmp 0x46e785
lea rax, [r12 - 0x20]
neg rax
mov qword [rdx + 0x18], rax
add r10, r11
mov qword [rdx + 0x20], r10
lea r9, [r12 + r9 - 0x20]
test r9, r9
jle 0x46e70b
test ebx, ebx
jne 0x46e767
cmp r8, 1
jne 0x46e767
mov r10d, 1
jmp 0x46e628
lea r12, [rsi + 0x30]
mov byte [r13 + rax], r12b
shl rsi, cl
and rsi, rdi
sub r10, rsi
inc rax
dec r9
mov rsi, r10
mov r10, r11
test r9, r9
jle 0x46e67e
lea r10, [r10 + r10*4]
shl r10, 1
mov r11, r10
shl r10, 1
mov r12d, 1
shl r12, cl
and r12, rdi
cmp r10, r12
ja 0x46e66c
lea rsi, [rsi + rsi*4]
shl rsi, 1
mov r10, rsi
shr rsi, cl
and rsi, rdi
mov r12, qword [rdx + 8]
mov r13, qword [rdx]
cmp rax, r12
jb 0x46e60a
jmp 0x46e760
mov byte [rsp + 0x80], 0
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rdx + 0x18], rax
mov qword [rsp], rdx
shl rbx, cl
and rbx, rdi
or rbx, rsi
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], r10
call fcn.0046e7d0
movzx eax, byte [rsp + 0x28]
test al, al
je 0x46e6f9
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x18]
dec rcx
jmp 0x46e6c2
dec rcx
test rcx, rcx
jl 0x46e6e7
mov rdx, qword [rax]
mov rbx, qword [rax + 8]
cmp rcx, rbx
jae 0x46e759
movzx edx, byte [rdx + rcx]
cmp dl, 0x30
je 0x46e6bf
inc rcx
mov qword [rax + 0x18], rcx
mov byte [rsp + 0x80], 1
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov byte [rsp + 0x80], 0
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov r10d, 1
jmp 0x46e682
mov r10, r8
mov r11, rax
mov rdx, rbx
mov r8d, 1
xor ebx, ebx
jmp 0x46e530
xor r8d, r8d
jmp 0x46e4eb
xorps xmm0, xmm0
mov rcx, qword [rsp + 0x70]
movups xmmword [rcx + 0x18], xmm0
movzx eax, byte [rax + 0x10]
mov byte [rcx + 0x28], al
mov byte [rsp + 0x80], 1
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
call fcn.00429b50
ud2
call fcn.00429b50
ud2
lea rax, [0x00649960]
mov qword [rsp], rax
lea rax, [0x006f6e80]
mov qword [rsp + 8], rax
call fcn.0042aba0
ud2
call fcn.00429b50
ud2
call fcn.00429b50
ud2
call fcn.00429c30
ud2
call fcn.00429b50
ud2
lea rax, [0x00649960]
mov qword [rsp], rax
lea rax, [0x006f6e70]
mov qword [rsp + 8], rax
call fcn.0042aba0
ud2
call fcn.00452950
jmp fcn.0046e430