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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x47c4d7
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov rax, qword [rsp + 0x68]
mov rdx, qword [rax]
test rdx, rdx
je 0x47c432
mov rbx, qword [rsp + 0x78]
nop
test rbx, rbx
je 0x47c4ba
bsr rbx, rdx
mov rsi, 0xffffffffffffffff
cmove rbx, rsi
lea rsi, [rbx - 0x3f]
neg rsi
cmp rsi, 0x40
sbb rsi, rsi
nop
nop
lea rcx, [rbx + 1]
neg rcx
shl rdx, cl
and rdx, rsi
mov qword [rax], rdx
mov rdx, qword [rax + 8]
lea rdx, [rbx + rdx]
lea rdx, [rdx - 0x3f]
mov qword [rax + 8], rdx
mov qword [rsp], rax
call fcn.0047bf00
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 8]
neg rcx
cmp rcx, 0x40
sbb rdx, rdx
mov rbx, qword [rsp + 8]
mov rax, qword [rax]
mov rsi, rax
shr rax, cl
and rax, rdx
mov edi, eax
mov r8, rdi
shl rdi, cl
and rdi, rdx
sub rsi, rdi
xor edi, edi
mov r9d, 1
jmp 0x47c1c0
inc rdi
lea r9, [r9 + r9*4]
shl r9, 1
nop word [rax + rax]
cmp rdi, 0x14
jge 0x47c42b
cmp r8, r9
jae 0x47c1ad
mov r8, qword [rsp + 0x78]
cmp r8, rdi
jge 0x47c415
mov r9, rdi
sub rdi, r8
cmp rdi, 0x14
jae 0x47c4ad
lea r10, [0x007a87c0]
mov rdi, qword [r10 + rdi*8]
nop dword [rax + rax]
test edi, edi
je 0x47c4a8
mov r10, rax
mov r11, rdx
xor edx, edx
div edi
mov edx, eax
imul eax, edi
sub r10d, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
movups xmmword [rsp + 0x48], xmm0
mov eax, 0x20
jmp 0x47c240
lea r15d, [rdx + 0x30]
mov byte [rsp + rax + 0x37], r15b
mov rdx, r12
mov rax, r14
nop dword [rax]
test edx, edx
jbe 0x47c26e
mov r12d, edx
mov r13d, 0xcccccccd
imul r12, r13
shr r12, 0x23
lea r14d, [r12 + r12*4]
shl r14d, 1
sub edx, r14d
lea r14, [rax - 1]
cmp r14, 0x20
jb 0x47c22e
jmp 0x47c49b
mov qword [rsp + 0x30], r11
mov rdx, qword [rsp + 0x70]
mov r12, rax
jmp 0x47c28a
mov byte [r15 + rax], r11b
lea rax, [r13 + 1]
mov r11, qword [rsp + 0x30]
cmp rax, 0x20
jge 0x47c2c5
mov r13, rax
sub rax, r12
nop word [rax + rax]
nop
cmp r13, 0x20
jae 0x47c48e
mov r14, qword [rdx + 8]
mov r15, qword [rdx]
movzx r11d, byte [rsp + r13 + 0x38]
cmp r14, rax
ja 0x47c27d
nop dword [rax]
jmp 0x47c486
lea r13, [r12 - 0x20]
neg r13
mov qword [rdx + 0x18], r13
add rbx, r9
mov qword [rdx + 0x20], rbx
lea rbx, [r12 + r8]
lea rbx, [rbx - 0x20]
test rbx, rbx
jle 0x47c40b
test r10d, r10d
jne 0x47c46a
cmp rdi, 1
jne 0x47c46a
mov eax, 1
jmp 0x47c320
lea r12, [rsi + 0x30]
mov byte [r14 + r13], r12b
shl rsi, cl
and rsi, r11
sub r8, rsi
inc r13
dec rbx
mov rsi, r8
mov rax, r9
test rbx, rbx
jle 0x47c377
lea rsi, [rsi + rsi*4]
lea r8, [rax + rax*4]
shl r8, 1
mov r9, r8
shl r8, 1
mov r12d, 1
shl r12, cl
and r12, r11
cmp r8, r12
ja 0x47c365
shl rsi, 1
mov r8, rsi
shr rsi, cl
and rsi, r11
mov r12, qword [rdx + 8]
mov r14, qword [rdx]
cmp r12, r13
ja 0x47c303
nop
jmp 0x47c45f
mov byte [rsp + 0x80], 0
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov qword [rdx + 0x18], r13
mov qword [rsp], rdx
shl r10, cl
and r10, r11
or r10, rsi
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], rdi
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
nop dword [rax]
call fcn.0047c500
cmp byte [rsp + 0x28], 0
je 0x47c3f9
mov rdx, qword [rsp + 0x70]
mov rbx, qword [rdx + 0x18]
dec rbx
jmp 0x47c3c0
dec rbx
nop dword [rax]
test rbx, rbx
jl 0x47c3e7
mov rcx, qword [rdx + 8]
mov rsi, qword [rdx]
cmp rcx, rbx
jbe 0x47c457
movzx esi, byte [rsi + rbx]
cmp sil, 0x30
je 0x47c3ba
lea rax, [rbx + 1]
mov qword [rdx + 0x18], rax
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 eax, 1
jmp 0x47c37b
mov r9, rdi
mov r11, rdx
mov rdx, rax
xor r10d, r10d
mov edi, 1
jmp 0x47c21a
xor edi, edi
jmp 0x47c1cf
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
mov rax, rbx
call fcn.0046cdc0
mov rax, r13
mov rcx, r12
call fcn.0046cdc0
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a19a0]
mov qword [rsp + 8], rax
call fcn.00438920
mov rcx, r14
call fcn.0046cdc0
mov rax, r13
mov ecx, 0x20
call fcn.0046cdc0
mov rax, r14
mov ecx, 0x20
call fcn.0046cdc0
call fcn.00436e20
mov rax, rdi
mov ecx, 0x14
call fcn.0046cdc0
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a1990]
mov qword [rsp + 8], rax
call fcn.00438920
nop
call fcn.0046abe0
nop dword [rax]
jmp fcn.0047c0e0