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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x60]
cmp rax, qword [rcx + 0x10]
jbe 0x4164eb
sub rsp, 0xe0
mov qword [rsp + 0xd8], rbp
lea rbp, [rsp + 0xd8]
mov eax, dword [0x00850ee8]
test eax, eax
jne 0x41617b
mov rax, qword [rsp + 0xe8]
test rax, rax
je 0x4164d0
movzx ecx, byte [rax + 0x17]
and ecx, 0x1f
cmp cl, 0x16
jne 0x416462
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x416447
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp], rax
call fcn.00416500
mov rax, qword [rsp + 0x10]
test rax, rax
je 0x4160ca
mov rcx, qword [rsp + 0xf0]
cmp rcx, rax
je 0x4160bd
mov rax, qword [rsp + 0x90]
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x416411
movzx ebx, byte [rdx + 0x17]
test bl, 0x80
je 0x416411
mov rdx, qword [rdx]
cmp rdx, 0x10
jae 0x416411
mov rdx, qword [rsp + 0xf8]
test rdx, rdx
je 0x41607d
movzx ebx, byte [rdx + 0x17]
and ebx, 0x1f
cmp bl, 0x13
jne 0x4163a3
mov qword [rsp + 0x88], rdx
movzx ebx, word [rdx + 0x32]
test bx, 0x8000
jne 0x4162e7
movzx ebx, word [rdx + 0x30]
cmp bx, 1
jne 0x416240
movzx esi, byte [rdx + 0x14]
test sil, 1
je 0x416073
mov esi, 0x48
lea rdi, [rsi + rdx]
test byte [rdi], al
movzx ebx, bx
test rbx, rbx
jbe 0x416239
mov rbx, qword [rsi + rdx]
mov qword [rsp + 0x80], rbx
cmp rbx, rax
jne 0x415f89
movzx ecx, byte [rdx + 0x14]
test cl, 1
je 0x415f7f
mov ecx, 0x48
add rcx, rdx
test byte [rcx], al
movzx esi, word [rdx + 0x32]
and esi, 0x7fff
movzx edx, word [rdx + 0x30]
movzx edi, dx
add edx, esi
movzx edx, dx
cmp rdi, rdx
ja 0x41618b
sub rdx, rdi
lea rsi, [rdi - 0x100000]
neg rsi
neg rsi
shl rdi, 3
sar rsi, 0x3f
and rdi, rsi
add rcx, rdi
xor esi, esi
xor edi, edi
jmp 0x415ed0
mov r8, qword [rcx + rsi*8]
inc rsi
movzx r9d, byte [r8 + 0x15]
lea rdi, [rdi + r9 - 1]
dec r9
not r9
and rdi, r9
add rdi, qword [r8]
cmp rsi, rdx
jl 0x415eb3
mov qword [rsp + 0x68], rdi
call fcn.00415840
xorps xmm0, xmm0
movups xmmword [rsp + 0xa8], xmm0
movups xmmword [rsp + 0xb8], xmm0
movups xmmword [rsp + 0xc8], xmm0
lea rax, [0x0044ff40]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0xf8]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x68]
add rax, 7
and rax, 0xfffffffffffffff8
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0xa8]
mov qword [rsp], rax
call fcn.004527f0
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov ecx, 0x38
jmp 0x415e6b
movzx esi, byte [rbx + 0x17]
and esi, 0x1f
cmp sil, 0x16
je 0x415fff
cmp sil, 0x14
jne 0x415ff7
mov rsi, qword [rbx + 0x40]
test rsi, rsi
je 0x415e59
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp], rbx
call fcn.0040ea20
movzx eax, byte [rsp + 0x28]
test al, al
je 0x415fea
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
jmp 0x415e59
mov rdx, qword [rsp + 0x90]
jmp 0x416192
mov rdx, rax
jmp 0x416192
mov qword [rsp], rbx
call fcn.0044d060
mov rax, qword [rsp + 8]
test rax, rax
jne 0x41604b
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rdx + 0x30]
cmp rcx, rbx
jne 0x416192
mov rax, rdx
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
jmp 0x415e59
mov rax, qword [rsp + 0x90]
mov qword [rsp], rax
call fcn.0044d060
mov rax, qword [rsp + 8]
test rax, rax
je 0x416012
mov rdx, qword [rsp + 0x90]
jmp 0x416192
mov esi, 0x38
jmp 0x415e32
lea rax, [0x0044fef0]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x98]
mov qword [rsp], rax
call fcn.004527f0
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rax, qword [rsp + 0x90]
jmp 0x415dd9
mov rax, qword [rsp + 0xf0]
lea rcx, [0x00850ca8]
cmp rcx, rax
je 0x41616b
lea rcx, [0x007fe6c0]
jmp 0x4160f5
mov rcx, qword [rcx + 0x1c0]
mov rax, rbx
test rcx, rcx
je 0x41642c
mov rdx, qword [rcx + 0x70]
mov rbx, rax
cmp rdx, rax
ja 0x416113
mov rdx, qword [rcx + 0x78]
cmp rax, rdx
jb 0x41615b
mov rdx, qword [rcx + 0x80]
cmp rdx, rax
ja 0x41612b
mov rdx, qword [rcx + 0x88]
cmp rax, rdx
jb 0x41615b
mov rdx, qword [rcx + 0x90]
cmp rdx, rax
ja 0x416143
mov rdx, qword [rcx + 0x98]
cmp rax, rdx
jb 0x41615b
mov rdx, qword [rcx + 0xa0]
cmp rdx, rax
ja 0x4160eb
mov rdx, qword [rcx + 0xa8]
cmp rax, rdx
jae 0x4160eb
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
call fcn.00429bc0
ud2
mov qword [rsp], rdx
call fcn.0044cfa0
mov rax, qword [rsp + 8]
mov qword [rsp + 0x78], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x70], rcx
mov rdx, qword [rsp + 0x88]
mov qword [rsp], rdx
call fcn.0044cfa0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], 0
lea rdx, [0x006b537a]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x22
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x20], rdx
lea rdx, [0x006ad5a7]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 0xe
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rcx
call fcn.00441d40
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0042b3a0
ud2
call fcn.00429b50
ud2
mov qword [rsp], rax
call fcn.0044cfa0
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 8]
mov qword [rsp + 0x78], rcx
mov rdx, qword [rsp + 0x88]
mov qword [rsp], rdx
call fcn.0044cfa0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
mov qword [rsp], 0
lea rdx, [0x006b537a]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x22
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x20], rdx
lea rdx, [0x006ad5a7]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 0xe
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
call fcn.00441d40
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.0042b3a0
ud2
mov qword [rsp], rax
call fcn.0044cfa0
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 8]
mov qword [rsp + 0x78], rcx
mov rdx, qword [rsp + 0x88]
mov qword [rsp], rdx
call fcn.0044cfa0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
mov qword [rsp], 0
lea rdx, [0x006b537a]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x22
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x20], rdx
lea rdx, [0x006ad5a7]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 0xe
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
lea rax, [0x006aea66]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0x12
call fcn.00441dc0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.0042b3a0
ud2
mov qword [rsp], rdx
call fcn.0044cfa0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
mov qword [rsp], 0
lea rdx, [0x006b70e6]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x29
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
lea rax, [0x006adecb]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0x10
call fcn.00441cc0
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0042b3a0
ud2
lea rax, [0x006bad78]
mov qword [rsp], rax
mov qword [rsp + 8], 0x41
call fcn.0042b3a0
ud2
lea rax, [0x006b96d9]
mov qword [rsp], rax
mov qword [rsp + 8], 0x34
call fcn.0042b3a0
ud2
lea rax, [0x006ad8e1]
mov qword [rsp], rax
mov qword [rsp + 8], 0xe
call fcn.0042b3a0
ud2
mov qword [rsp], rax
call fcn.0044cfa0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
mov qword [rsp], 0
lea rdx, [0x006b6cf0]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x28
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
lea rax, [0x006ad16a]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0xd
call fcn.00441cc0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.0042b3a0
ud2
lea rax, [0x006b791a]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2b
call fcn.0042b3a0
ud2
call fcn.00452950
jmp fcn.00415d00