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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x424905
sub rsp, 0x58
mov qword [rsp + 0x50], rbp
lea rbp, [rsp + 0x50]
mov rcx, qword [0x00833b50]
test rcx, rcx
je 0x424883
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
xor eax, eax
xor ebx, ebx
jmp 0x424637
mov rsi, qword [rcx + rax*8]
inc rax
add rsi, rbx
mov rdi, rsi
shl rsi, 0xa
lea rbx, [rdi + rsi]
mov rsi, rbx
shr rbx, 6
xor rbx, rsi
cmp rax, rdx
jl 0x424618
mov rsi, qword [0x00833b50]
test byte [rsi], al
mov rdi, qword [rsp + 0x68]
add rbx, rdi
mov r8, rbx
shl rbx, 0xa
add rbx, r8
mov r8, rbx
shr rbx, 6
xor r8, rbx
lea rbx, [r8 + r8*8]
mov r8, rbx
shr rbx, 0xb
xor r8, rbx
movabs rax, 0xba6a1fbc53191a92
mov rbx, rdx
mul r8
shr rdx, 0x11
imul rdx, rdx, 0x2bf1f
mov r9, r8
sub r8, rdx
cmp r8, 0x2bf1f
jae 0x4248e3
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r8
mov rax, qword [rsi + r8*8]
jmp 0x4246b0
mov rax, qword [rax]
test rax, rax
je 0x424764
mov rdx, qword [rax + 0x10]
mov rsi, qword [rsp + 0x60]
cmp rdx, rsi
jne 0x4246ad
mov rdx, qword [rax + 0x18]
cmp r9, rdx
jne 0x4246ad
mov rdx, qword [rax + 0x20]
cmp rdi, rdx
jne 0x4246ad
lea rdx, [rax + 0x30]
test byte [rdx], al
mov r10, qword [rax + 0x28]
cmp r10, 0x20
ja 0x4248dc
mov qword [rsp + 0x48], rax
mov qword [rsp], rdx
mov qword [rsp + 8], r10
mov qword [rsp + 0x10], r10
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rbx
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x28], rax
call fcn.00424910
movzx eax, byte [rsp + 0x30]
test al, al
jne 0x42474d
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x4246ad
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x90], rax
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
movzx eax, byte [rsp + 0x88]
test al, al
je 0x42486d
mov rax, qword [rsp + 0x60]
mov qword [rsp], rax
mov qword [rsp + 8], rbx
call fcn.00424400
mov rax, qword [rsp + 0x10]
lea rcx, [rax + 0x30]
test byte [rcx], al
mov rdx, qword [rax + 0x28]
cmp rdx, 0x20
ja 0x4248d5
mov qword [rsp + 0x48], rax
mov rbx, qword [rsp + 0x78]
cmp rdx, rbx
jle 0x424865
mov qword [rsp], rcx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 8], rax
shl rbx, 3
mov qword [rsp + 0x10], rbx
call fcn.00455c10
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
mov qword [rcx + 0x18], rax
mov rax, qword [rsp + 0x68]
mov qword [rcx + 0x20], rax
mov rax, qword [0x00833b50]
test byte [rax], al
mov rdx, qword [rsp + 0x38]
mov rax, qword [rax + rdx*8]
mov qword [rcx], rax
mov rax, qword [0x00833b50]
test byte [rax], al
mov qword [rax + rdx*8], rcx
mov rax, qword [rsp + 0x60]
cmp rax, 1
jne 0x424837
mov rax, qword [0x00833b90]
mov qword [rcx + 8], rax
mov qword [0x00833b90], rcx
mov qword [rsp + 0x90], rcx
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
cmp rax, 3
jne 0x424851
mov rax, qword [0x00833bb8]
mov qword [rcx + 8], rax
mov qword [0x00833bb8], rcx
jmp 0x424825
mov rax, qword [0x00833b48]
mov qword [rcx + 8], rax
mov qword [0x00833b48], rcx
jmp 0x424825
mov rbx, rdx
jmp 0x4247b3
mov qword [rsp + 0x90], 0
mov rbp, qword [rsp + 0x50]
add rsp, 0x58
ret
mov qword [rsp], 0x15f8f8
lea rax, [0x00852950]
mov qword [rsp + 8], rax
call fcn.00414e20
mov eax, dword [0x00850df0]
mov rcx, qword [rsp + 0x10]
test eax, eax
jne 0x4248c4
mov qword [0x00833b50], rcx
mov rcx, qword [0x00833b50]
test rcx, rcx
jne 0x424608
jmp 0x4248ea
lea rdi, [0x00833b50]
mov rax, rcx
call fcn.004553b0
jmp 0x4248b2
call fcn.00429bc0
ud2
call fcn.00429bc0
ud2
call fcn.00429b50
ud2
lea rax, [0x006b42e3]
mov qword [rsp], rax
mov qword [rsp + 8], 0x1f
call fcn.0042b3a0
ud2
call fcn.00452950
jmp fcn.004245d0