Function at 0x414d50
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 0x41555a
sub rsp, 0xe0
mov qword [rsp + 0xd8], rbp
lea rbp, [rsp + 0xd8]
mov eax, dword [0x008b4470]
test eax, eax
jne 0x41554a
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x90], rax
test rax, rax
je 0x41552f
movzx ecx, byte [rax + 0x17]
and ecx, 0x1f
cmp cl, 0x16
jne 0x4154c1
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x4154a6
mov rcx, qword [rsp + 0xf0]
mov qword [rsp], rcx
call fcn.00415570
mov rax, qword [rsp + 0x10]
test rax, rax
je 0x4153de
mov rcx, qword [rsp + 0xf0]
cmp rax, rcx
je 0x4153d1
mov rax, qword [rsp + 0x90]
mov rdx, qword [rax + 0x30]
test rdx, rdx
je 0x4153b6
movzx ebx, byte [rdx + 0x17]
test bl, 0x80
je 0x4153b6
mov rdx, qword [rdx]
cmp rdx, 0x10
jae 0x4153b6
mov rdx, qword [rsp + 0xf8]
mov qword [rsp + 0x88], rdx
test rdx, rdx
je 0x41536a
movzx ebx, byte [rdx + 0x17]
and ebx, 0x1f
cmp bl, 0x13
jne 0x4152fc
movzx ebx, word [rdx + 0x32]
test bx, 0x8000
jne 0x415240
movzx ebx, word [rdx + 0x30]
cmp bx, 1
jne 0x415199
movzx esi, byte [rdx + 0x14]
test sil, 1
je 0x41518d
mov rsi, 0x48
lea rdi, [rdx + rsi]
test byte [rdi], al
movzx ebx, bx
test rbx, rbx
jbe 0x415186
mov rbx, qword [rdx + rsi]
mov qword [rsp + 0x80], rbx
cmp rax, rbx
jne 0x414ffb
movzx ecx, byte [rdx + 0x14]
test cl, 1
je 0x414fef
mov rcx, 0x48
add rcx, rdx
test byte [rcx], al
movzx esi, word [rdx + 0x32]
movzx edx, word [rdx + 0x30]
and esi, 0x7fff
add esi, edx
movzx edx, dx
movzx esi, si
cmp rdx, rsi
ja 0x414fe8
sub rsi, rdx
lea rdi, [rdx - 0x100000]
neg rdi
dec rdi
sar rdi, 0x3f
shl rdx, 3
xor rdi, 0xffffffffffffffff
and rdx, rdi
add rcx, rdx
xor edx, edx
xor edi, edi
cmp rdx, rsi
jge 0x414f37
mov r8, qword [rcx]
add rcx, 8
inc rdx
movzx r9d, byte [r8 + 0x15]
lea r10, [r9 + rdi - 1]
dec r9
not r9
and r10, r9
mov r8, qword [r8]
lea rdi, [r10 + r8]
cmp rdx, rsi
jl 0x414f0e
mov qword [rsp + 0x68], rdi
call fcn.00414790
lea rdi, [rsp + 0xa8]
xorps xmm0, xmm0
add rdi, 0xfffffffffffffff0
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00454e40
mov rbp, qword [rbp]
lea rax, [0x0044f940]
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.004520b0
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
call fcn.00429450
ud2
mov rcx, 0x38
jmp 0x414ebf
movzx esi, byte [rbx + 0x17]
and esi, 0x1f
cmp sil, 0x16
je 0x415110
cmp sil, 0x14
jne 0x415061
mov rsi, qword [rbx + 0x40]
test rsi, rsi
jne 0x415020
jmp 0x414eab
mov rsi, qword [rsp + 0xe8]
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rcx
mov qword [rsp], rbx
call fcn.0040d360
movzx eax, byte [rsp + 0x28]
test al, al
je 0x415061
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
jmp 0x414eab
mov rax, qword [rsp + 0x90]
mov qword [rsp], rax
call fcn.0044c4c0
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.0044c4c0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
mov qword [rsp], 0
lea rdx, [0x006d9742]
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, [0x006d1f0a]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 0xe
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
call fcn.004425a0
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.0042aea0
ud2
mov qword [rsp], rbx
call fcn.0044c580
mov rax, qword [rsp + 8]
test rax, rax
jne 0x41515c
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x30]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rdx + 0x30]
cmp rcx, rbx
jne 0x415061
mov rax, rdx
mov rdx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
jmp 0x414eab
mov rax, qword [rsp + 0x90]
mov qword [rsp], rax
call fcn.0044c580
mov rax, qword [rsp + 8]
test rax, rax
jne 0x415179
jmp 0x415123
mov rdx, qword [rsp + 0x90]
jmp 0x415061
call fcn.004293e0
ud2
mov rsi, 0x38
jmp 0x414e84
mov qword [rsp], rax
call fcn.0044c4c0
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.0044c4c0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], 0
lea rdx, [0x006d9742]
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, [0x006d1f0a]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 0xe
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rcx
call fcn.004425a0
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.0042aea0
ud2
mov qword [rsp], rax
call fcn.0044c4c0
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.0044c4c0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], 0
lea rdx, [0x006d9742]
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, [0x006d1f0a]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 0xe
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rcx
lea rax, [0x006d3336]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0x12
call fcn.00442620
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0042aea0
ud2
mov qword [rsp], rdx
call fcn.0044c4c0
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], 0
lea rdx, [0x006db259]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x29
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
lea rax, [0x006d2859]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0x10
call fcn.00442520
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0042aea0
ud2
mov qword [rsp + 0x98], 0
lea rax, [0x0044f8f0]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x98]
mov qword [rsp], rax
call fcn.004520b0
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
lea rax, [0x006de9fd]
mov qword [rsp], rax
mov qword [rsp + 8], 0x41
call fcn.0042aea0
ud2
mov rax, qword [rsp + 0x90]
jmp 0x414e29
mov rax, qword [rsp + 0xf0]
lea rcx, [0x008b4258]
cmp rax, rcx
je 0x415496
lea rcx, [0x007ee720]
test rcx, rcx
je 0x41546b
mov rdx, qword [rcx + 0x70]
mov rbx, rax
cmp rdx, rbx
ja 0x415417
mov rdx, qword [rcx + 0x78]
cmp rbx, rdx
jb 0x415486
mov rdx, qword [rcx + 0x80]
cmp rdx, rbx
ja 0x41542f
mov rdx, qword [rcx + 0x88]
cmp rbx, rdx
jb 0x415486
mov rdx, qword [rcx + 0x90]
cmp rdx, rbx
ja 0x415447
mov rdx, qword [rcx + 0x98]
cmp rbx, rdx
jb 0x415486
mov rdx, qword [rcx + 0xa0]
cmp rdx, rbx
ja 0x41545f
mov rdx, qword [rcx + 0xa8]
cmp rbx, rdx
jb 0x415486
mov rcx, qword [rcx + 0x1b0]
test rcx, rcx
jne 0x415402
lea rax, [0x006dd57a]
mov qword [rsp], rax
mov qword [rsp + 8], 0x34
call fcn.0042aea0
ud2
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
lea rax, [0x006d2298]
mov qword [rsp], rax
mov qword [rsp + 8], 0xe
call fcn.0042aea0
ud2
mov qword [rsp], rax
call fcn.0044c4c0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
mov qword [rsp], 0
lea rdx, [0x006dae8b]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x28
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
lea rax, [0x006d1ad0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0xd
call fcn.00442520
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0042aea0
ud2
lea rax, [0x006dba8f]
mov qword [rsp], rax
mov qword [rsp + 8], 0x2b
call fcn.0042aea0
ud2
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
call fcn.00452210
jmp fcn.00414d50