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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 8]
cmp rax, qword [rcx + 0x10]
jbe 0x4900ca
sub rsp, 0x88
mov qword [rsp + 0x80], rbp
lea rbp, [rsp + 0x80]
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax]
test rcx, rcx
je 0x490093
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x49004a
mov qword [rsp], rax
call fcn.0048f910
mov rax, qword [rsp + 0x90]
mov qword [rsp], rax
call fcn.0048fa50
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x90]
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
mov qword [rsp + 0x38], rdi
and rbx, rdi
mov r8d, ebx
mov r9, r8
shl r8, cl
and r8, rdi
sub rsi, r8
xor r8d, r8d
mov r10, 1
cmp r8, 0x14
jge 0x48fd4b
cmp r10, r9
ja 0x48fd4e
inc r8
lea r10, [r10 + r10*4]
shl r10, 1
cmp r8, 0x14
jl 0x48fd36
xor r8d, r8d
mov r9, qword [rsp + 0xa0]
cmp r8, r9
jle 0x490033
mov r10, r8
sub r8, r9
cmp r8, 0x14
jae 0x49002c
lea r11, [0x007eb060]
mov r8, qword [r11 + r8*8]
test r8d, r8d
je 0x490025
mov r11, rax
mov rax, rbx
xor edx, edx
div r8d
mov rdx, r8
imul r8d, eax
sub ebx, r8d
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov r8, 0x20
mov dword [rsp + 0x34], eax
test eax, eax
jbe 0x48fe10
mov r12d, 0xcccccccd
mov r13, rdx
mul r12d
shr edx, 3
mov r14d, edx
imul edx, edx, 0xa
mov r15d, dword [rsp + 0x34]
sub r15d, edx
lea rdx, [r8 - 1]
cmp rdx, 0x20
jae 0x49001e
add r15d, 0x30
mov byte [rsp + r8 + 0x3f], r15b
mov eax, r14d
mov r8, rdx
mov rdx, r13
mov dword [rsp + 0x34], eax
test eax, eax
ja 0x48fdcb
mov rax, qword [rsp + 0x98]
mov r12, r8
cmp r8, 0x20
jge 0x48fe5a
mov r13, r8
sub r8, r12
cmp r13, 0x20
jae 0x490017
movzx r14d, byte [rsp + r13 + 0x40]
mov r15, qword [rax]
mov rdi, qword [rax + 8]
cmp r8, rdi
jae 0x490017
mov byte [r15 + r8], r14b
lea r8, [r13 + 1]
mov rdi, qword [rsp + 0x38]
cmp r8, 0x20
jl 0x48fe21
lea r8, [r12 - 0x20]
neg r8
mov qword [rax + 0x18], r8
add r10, r11
mov qword [rax + 0x20], r10
sub r9, r8
test r9, r9
jle 0x49000b
test ebx, ebx
jne 0x48ffc2
cmp rdx, 1
jne 0x48ffc2
mov r10, 1
test r9, r9
jle 0x48fefd
lea r10, [r10 + r10*4]
shl r10, 1
mov r11, 1
shl r11, cl
and r11, rdi
mov r12, r10
shl r10, 1
cmp r10, r11
ja 0x48ffaa
lea rsi, [rsi + rsi*4]
shl rsi, 1
mov r10, rsi
shr rsi, cl
and rsi, rdi
mov r11, qword [rax + 8]
mov r13, qword [rax]
cmp r8, r11
jae 0x48ffa3
lea r11, [rsi + 0x30]
mov byte [r13 + r8], r11b
shl rsi, cl
and rsi, rdi
sub r10, rsi
inc r8
dec r9
mov rsi, r10
mov r10, r12
test r9, r9
jg 0x48fe97
mov qword [rax + 0x18], r8
mov qword [rsp], rax
mov ebx, ebx
shl rbx, cl
and rdi, rbx
or rdi, rsi
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], r10
call fcn.004900e0
movzx eax, byte [rsp + 0x28]
test al, al
je 0x48ff8b
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + 0x18]
dec rcx
test rcx, rcx
jl 0x48ff63
mov rdx, qword [rax]
mov rbx, qword [rax + 8]
cmp rcx, rbx
jae 0x48ff84
movzx edx, byte [rdx + rcx]
cmp dl, 0x30
jne 0x48ff7b
dec rcx
test rcx, rcx
jge 0x48ff46
mov byte [rsp + 0xa8], 1
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
inc rcx
mov qword [rax + 0x18], rcx
jmp 0x48ff63
call fcn.004293e0
ud2
mov byte [rsp + 0xa8], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
call fcn.004293e0
ud2
mov byte [rsp + 0xa8], 0
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
lea rax, [0x006dce38]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 0x31
lea rax, [0x0066fb00]
mov qword [rsp], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 8], rax
call fcn.0040ccd0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0042a540
ud2
mov r10, 1
jmp 0x48ff01
call fcn.004293e0
ud2
call fcn.004293e0
ud2
call fcn.004294c0
ud2
call fcn.004293e0
ud2
mov r10, r8
mov r11, rax
mov rax, rbx
mov rdx, 1
xor ebx, ebx
jmp 0x48fd98
lea rax, [0x006dea3e]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x41
lea rax, [0x0066fb00]
mov qword [rsp], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 8], rax
call fcn.0040ccd0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0042a540
ud2
mov rcx, qword [rsp + 0x98]
mov qword [rcx + 0x18], 0
mov qword [rcx + 0x20], 0
movzx eax, byte [rax + 0x10]
mov byte [rcx + 0x28], al
mov byte [rsp + 0xa8], 1
mov rbp, qword [rsp + 0x80]
add rsp, 0x88
ret
call fcn.00452210
jmp fcn.0048fc70