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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x10]
cmp rax, qword [rcx + 0x10]
jbe 0x54d937
sub rsp, 0x90
mov qword [rsp + 0x88], rbp
lea rbp, [rsp + 0x88]
mov rax, qword [rsp + 0xa0]
test rax, rax
jne 0x54d133
movzx ecx, byte [rsp + 0xa8]
test cl, cl
jne 0x54d8b0
lea rax, [0x00696fc0]
mov qword [rsp], rax
call fcn.00410b80
mov rax, qword [rsp + 8]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0xa0]
cmp rcx, 1
jne 0x54d8a3
mov rdx, qword [rsp + 0x98]
movzx ebx, byte [rdx]
cmp bl, 0x2a
jne 0x54d1c7
mov qword [rax + 0x40], 1
mov ecx, dword [0x00850df0]
lea rdi, [rax + 0x38]
test ecx, ecx
jne 0x54d1b3
lea rcx, [0x006aaf97]
mov qword [rax + 0x38], rcx
mov qword [rsp + 0xb0], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xb8], xmm0
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rcx, rax
lea rax, [0x006aaf97]
call fcn.004553b0
mov rax, rcx
jmp 0x54d190
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
call fcn.0054ca80
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
mov r8, qword [rsp + 0x68]
mov qword [r8 + 8], rdi
mov edi, dword [0x00850df0]
test edi, edi
jne 0x54d88d
mov qword [r8], rsi
test rcx, rcx
jne 0x54d861
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x78], rbx
mov rax, qword [r8 + 8]
mov qword [rsp], rsi
mov qword [rsp + 8], rax
call fcn.004c6540
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x68]
mov qword [rdi + 8], rax
mov eax, dword [0x00850df0]
test eax, eax
jne 0x54d854
mov qword [rdi], rcx
mov rax, qword [rsp + 0x48]
cmp rax, 1
jl 0x54d845
lea rcx, [rax - 1]
cmp rcx, rax
ja 0x54d930
mov rdx, rax
sub rax, rcx
mov rbx, rax
neg rax
sar rax, 0x3f
and rax, rcx
mov rcx, qword [rsp + 0x78]
add rax, rcx
cmp rbx, 1
je 0x54d812
xor eax, eax
test al, al
jne 0x54d7aa
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
lea rax, [0x006aafa5]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov byte [rsp + 0x20], 1
call fcn.0054cc20
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x68]
mov qword [rsi + 0x68], rbx
mov ebx, dword [0x00850df0]
lea rdi, [rsi + 0x60]
test ebx, ebx
jne 0x54d797
mov qword [rsi + 0x60], rdx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x50], rcx
cmp rcx, 1
jge 0x54d760
xor edx, edx
test dl, dl
je 0x54d5a0
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x54d530
cmp rcx, 2
jge 0x54d4f9
xor edx, edx
test dl, dl
je 0x54d4e9
cmp rcx, 2
jb 0x54d922
add rcx, 0xfffffffffffffffe
mov rdx, rcx
neg rcx
sar rcx, 0x3f
and rcx, 2
add rax, rcx
mov qword [rsp], rax
mov qword [rsp + 8], rdx
lea rax, [0x006aaf9c]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
mov byte [rsp + 0x20], 0
call fcn.0054cc20
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x58], rax
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x80], rcx
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
mov qword [rsp], rbx
mov qword [rsp + 8], rdx
call fcn.0054d950
mov eax, dword [0x00850df0]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x68]
lea r9, [r8 + 0x20]
test eax, eax
jne 0x54d4d0
mov qword [r8 + 0x20], rsi
mov qword [r8 + 0x30], rdx
mov edx, dword [0x00850df0]
lea rsi, [r8 + 0x28]
test edx, edx
jne 0x54d4b7
mov qword [r8 + 0x28], rbx
test rcx, rcx
jne 0x54d48b
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
mov qword [rsp], r8
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
call fcn.0054e4a0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
test rax, rax
je 0x54d463
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rcx
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xb0], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0xb8], xmm0
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rdi
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rax, rdi
mov rdi, rsi
mov rdx, rax
mov rax, rbx
call fcn.004553b0
mov rdi, rdx
jmp 0x54d3ff
mov rax, rdi
mov rdi, r9
mov r10, rax
mov rax, rsi
call fcn.004553b0
mov rdi, r10
jmp 0x54d3e5
mov r8, rsi
mov rax, rcx
mov rcx, qword [rsp + 0x70]
jmp 0x54d415
mov qword [rsp], rax
lea rcx, [0x006aafe8]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 2
call fcn.00454910
movzx edx, byte [rsp + 0x18]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
jmp 0x54d333
movzx edx, byte [rsp + 0xa8]
test dl, dl
je 0x54d54c
mov r8, rsi
mov rax, rcx
mov rcx, qword [rsp + 0x70]
jmp 0x54d415
cmp rcx, 3
jge 0x54d56c
xor edx, edx
test dl, dl
je 0x54d327
mov r8, rsi
mov rax, rcx
mov rcx, qword [rsp + 0x70]
jmp 0x54d415
mov qword [rsp], rax
lea rcx, [0x006ab115]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 3
call fcn.00454910
movzx edx, byte [rsp + 0x18]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
jmp 0x54d554
mov rdx, qword [rsi + 8]
test rdx, rdx
je 0x54d5e9
mov qword [rsi + 0x18], rcx
mov ecx, dword [0x00850df0]
lea rdi, [rsi + 0x10]
test ecx, ecx
jne 0x54d5e2
mov qword [rsi + 0x10], rax
mov qword [rsp + 0xb0], rsi
xorps xmm0, xmm0
movups xmmword [rsp + 0xb8], xmm0
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
call fcn.004553b0
jmp 0x54d5bf
movzx edx, byte [rsp + 0xa8]
test dl, dl
je 0x54d667
lea rax, [0x00667920]
mov qword [rsp], rax
call fcn.00410b80
mov rdi, qword [rsp + 8]
mov qword [rdi + 8], 0x17
mov eax, dword [0x00850df0]
test eax, eax
jne 0x54d659
lea rax, [0x006b0ef2]
mov qword [rdi], rax
mov qword [rsp + 0xb0], 0
lea rax, [0x006f7600]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rdi
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
lea rax, [0x006b0ef2]
call fcn.004553b0
jmp 0x54d626
mov qword [rsp], rax
mov qword [rsp + 8], rcx
lea rdx, [0x006aafa0]
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], 1
call fcn.004c77b0
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x70]
mov qword [rsp], rcx
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 8], rdx
lea rbx, [0x006aaf9c]
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], 1
call fcn.004c77b0
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
jl 0x54d74c
test rax, rax
jge 0x54d747
lea rax, [0x00667920]
mov qword [rsp], rax
call fcn.00410b80
mov rdi, qword [rsp + 8]
mov qword [rdi + 8], 0x2e
mov eax, dword [0x00850df0]
test eax, eax
jne 0x54d739
lea rax, [0x006b8194]
mov qword [rdi], rax
mov qword [rsp + 0xb0], 0
lea rax, [0x006f7600]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rdi
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
lea rax, [0x006b8194]
call fcn.004553b0
jmp 0x54d706
cmp rcx, rax
jl 0x54d6d5
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
jmp 0x54d31a
mov qword [rsp], rax
lea rcx, [0x006aaf9c]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], 1
call fcn.00454910
movzx edx, byte [rsp + 0x18]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
jmp 0x54d312
mov rbx, rax
mov rax, rdx
call fcn.004553b0
mov rax, rbx
jmp 0x54d2fc
mov qword [rsp], rcx
mov qword [rsp + 8], rdx
lea rax, [0x006aafa5]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], 1
call fcn.004c7b90
mov rax, qword [rsp + 0x20]
cmp rax, 1
jne 0x54d803
mov rcx, qword [rsp + 0x68]
mov byte [rcx + 0x58], 1
mov rdx, qword [rsp + 0x48]
lea rbx, [rdx - 1]
cmp rbx, rdx
ja 0x54d929
mov rsi, rcx
mov rax, qword [rsp + 0x78]
mov rcx, rbx
jmp 0x54d2fc
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x48]
jmp 0x54d2a1
mov qword [rsp], rax
lea rax, [0x006aafa5]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00454910
movzx eax, byte [rsp + 0x18]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x68]
jmp 0x54d299
mov rcx, qword [rsp + 0x78]
mov rdx, rax
xor eax, eax
jmp 0x54d299
mov rax, rcx
call fcn.004553b0
jmp 0x54d256
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], rax
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov rdi, r8
mov r9, rax
mov rax, rsi
call fcn.004553b0
mov rax, r9
jmp 0x54d20d
mov rdx, qword [rsp + 0x98]
jmp 0x54d1c7
lea rax, [0x00667920]
mov qword [rsp], rax
call fcn.00410b80
mov rdi, qword [rsp + 8]
mov qword [rdi + 8], 9
mov eax, dword [0x00850df0]
test eax, eax
jne 0x54d914
lea rax, [0x006ac326]
mov qword [rdi], rax
mov qword [rsp + 0xb0], 0
lea rax, [0x006f7600]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rdi
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
lea rax, [0x006ac326]
call fcn.004553b0
jmp 0x54d8e1
call fcn.00429bc0
ud2
call fcn.00429bc0
ud2
call fcn.00429bc0
ud2
call fcn.00452950
jmp fcn.0054d0e0