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

Disassembly:
lea r12, [rsp - 0x590]
cmp r12, qword [r14 + 0x10]
jbe 0x492486
sub rsp, 0x610
mov qword [rsp + 0x608], rbp
lea rbp, [rsp + 0x608]
mov r12, qword [r14 + 0x20]
test r12, r12
jne 0x4924b8
mov qword [rsp + 0x618], rax
mov qword [rsp + 0x620], rbx
mov qword [rsp + 0x628], rcx
mov qword [rsp + 0x630], rdi
mov rdx, qword [rax + 0x30]
mov qword [rsp + 0x2c8], rdx
mov r9, qword [rax + 0x28]
mov qword [rsp + 0x2c0], r9
mov rsi, qword [rax + 0x38]
mov qword [rsp + 0xf0], rsi
mov r8, qword [rax + 0x20]
lea rax, [0x00abc5e7]
mov ebx, 4
mov rcx, r9
mov rdi, rdx
call fcn.004912a0
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x288], rbx
mov qword [rsp + 0x2b0], rcx
mov qword [rsp + 0x440], 0
lea rdi, [rsp + 0x448]
lea rdi, [rdi - 0x10]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465e2f
mov rbp, qword [rbp]
mov rax, rbx
xor ebx, ebx
nop dword [rax]
call fcn.0048d080
mov rdx, qword [rsp]
mov qword [rsp + 0x440], rdx
lea rdi, [rsp + 0x448]
lea rsi, [rsp + 8]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466166
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x440]
mov qword [rsp + 0x2d0], rdx
lea rdi, [rsp + 0x2d8]
lea rsi, [rsp + 0x448]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466166
mov rbp, qword [rbp]
mov qword [rsp + 0x440], 0
lea rdi, [rsp + 0x448]
lea rdi, [rdi - 0x10]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465e2f
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x288]
mov rbx, qword [rsp + 0x290]
call fcn.0048d080
mov qword [rsp + 0x298], rax
mov qword [rsp + 0x2a0], rbx
mov rdx, qword [rsp]
mov qword [rsp + 0x440], rdx
lea rdi, [rsp + 0x448]
lea rsi, [rsp + 8]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466166
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x440]
mov qword [rsp + 0x388], rdx
lea rdi, [rsp + 0x390]
lea rsi, [rsp + 0x448]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466166
mov rbp, qword [rbp]
mov rax, rbx
call fcn.0047cb20
lea rdx, [0x009e4e80]
cmp rax, rdx
jne 0x492472
lea rdi, [rsp + 0x4f8]
lea rdi, [rdi - 0x30]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465e0b
mov rbp, qword [rbp]
mov r10, qword [rsp + 0x388]
mov rcx, qword [rsp + 0x390]
test rcx, rcx
jbe 0x49246b
movups xmm0, xmmword [r10]
movups xmmword [rsp + 0x188], xmm0
movups xmm0, xmmword [r10 + 0x10]
movups xmmword [rsp + 0x198], xmm0
movups xmm0, xmmword [r10 + 0x20]
movups xmmword [rsp + 0x1a8], xmm0
cmp qword [rsp + 0x188], 1
nop dword [rax + rax]
jne 0x491907
nop
mov r10, qword [rsp + 0x2c0]
movzx r10d, byte [r10 + 0x17]
mov r11d, r10d
and r10d, 0x1f
nop dword [rax + rax]
cmp r10, 0x14
jne 0x491895
test byte [rbx], al
mov r10, qword [rsp + 0x2c8]
mov r10, qword [r10 + 8]
cmp dword [0x011546d0], 0
jne 0x491885
mov qword [rbx], r10
jmp 0x491976
mov rdi, rbx
mov rax, r10
call fcn.004656c0
jmp 0x491976
mov r10, qword [rsp + 0xf0]
bt r10d, 7
jae 0x4918da
test r11b, 0x20
je 0x4918da
test byte [rbx], al
mov r10, qword [rsp + 0x2c8]
mov r10, qword [r10]
cmp dword [0x011546d0], 0
nop
jne 0x4918ca
mov qword [rbx], r10
jmp 0x491976
mov rdi, rbx
mov rax, r10
call fcn.004656c0
jmp 0x491976
test byte [rbx], al
cmp dword [0x011546d0], 0
jne 0x4918f5
mov r10, qword [rsp + 0x2c8]
mov qword [rbx], r10
jmp 0x491976
mov rdi, rbx
mov rax, qword [rsp + 0x2c8]
call fcn.004656c0
jmp 0x491976
nop
mov r10, qword [rsp + 0x2c0]
movzx r10d, byte [r10 + 0x17]
mov r11d, r10d
and r10d, 0x1f
nop dword [rax]
cmp r10, 0x14
jne 0x49193c
mov r10, qword [rsp + 0x2c8]
mov r10, qword [r10 + 8]
mov qword [rsp + 0x4f8], r10
jmp 0x491976
mov r10, qword [rsp + 0xf0]
bt r10d, 7
jae 0x491966
test r11b, 0x20
je 0x491966
mov r10, qword [rsp + 0x2c8]
mov r10, qword [r10]
mov qword [rsp + 0x4f8], r10
jmp 0x491976
mov r10, qword [rsp + 0x2c8]
mov qword [rsp + 0x4f8], r10
mov r10, qword [rsp + 0x288]
movzx r11d, byte [r10 + 0x14]
test r11b, 1
je 0x491990
mov eax, 0x48
jmp 0x491995
mov eax, 0x38
movzx r11d, word [r10 + 0x30]
nop word [rax + rax]
test r11w, r11w
jne 0x4919ae
xor r11d, r11d
xor r10d, r10d
jmp 0x4919be
add r10, rax
cmp r11, 0x100000
ja 0x49245e
mov qword [rsp + 0x280], r10
mov qword [rsp + 0x2a8], rbx
mov qword [rsp + 0xc8], r11
xor eax, eax
jmp 0x4919e0
mov r10, rcx
mov r11, rdi
cmp r11, rax
jle 0x491d29
mov r12, qword [r10 + rax*8]
nop
mov rcx, qword [rsp + 0x2f0]
mov r13, qword [rsp + 0x2e8]
nop
cmp rax, rcx
jae 0x492459
mov r15, qword [r13 + rax*8]
mov rsi, r12
lea r12, [rcx - 1]
cmp rax, r12
jne 0x491a24
mov r12, qword [rsp + 0x2d8]
jmp 0x491a36
lea r12, [rax + 1]
cmp rcx, r12
jbe 0x492451
mov r12, qword [r13 + rax*8 + 8]
mov r13, qword [rsp + 0x2d0]
mov rcx, r10
mov r10, qword [rsp + 0x2e0]
cmp r12, r10
ja 0x492446
cmp r12, r15
jb 0x49243b
mov rdi, r11
lea r11, [rax + 1]
sub r12, r15
mov r8, r15
sub r15, r10
lea r10, [r8 + r8*2]
shl r10, 4
sar r15, 0x3f
and r15, r10
lea r10, [r13 + r15]
mov r8, r13
mov r13, qword [rsp + 0x3a8]
mov r9, r15
mov r15, qword [rsp + 0x3a0]
cmp r13, r11
jbe 0x492430
mov qword [rsp + 0xd0], r12
mov qword [rsp + 0x278], r10
mov r10, qword [r15 + rax*8 + 8]
lea r12, [r13 - 1]
cmp r12, r11
jne 0x491ac6
mov r12, qword [rsp + 0x390]
jmp 0x491ad8
lea r12, [rax + 2]
cmp r13, r12
jbe 0x492425
mov r12, qword [r15 + rax*8 + 0x10]
mov r13, qword [rsp + 0x388]
mov r15, qword [rsp + 0x398]
cmp r12, r15
ja 0x49241a
cmp r12, r10
jb 0x49240f
sub r12, r10
mov rax, r10
sub r10, r15
lea r15, [rax + rax*2]
shl r15, 4
sar r10, 0x3f
and r10, r15
lea r15, [r10 + r13]
mov rax, r11
mov r11, qword [rsp + 0xd0]
test r11, r11
jne 0x491b34
test r12, r12
je 0x4919da
jmp 0x4923fc
mov qword [rsp + 0xe8], rax
mov r11, qword [rsp + 0x278]
movups xmm0, xmmword [r11]
movups xmmword [rsp + 0x158], xmm0
lea r11, [r8 + r9]
lea r11, [r11 + 0x10]
movups xmm0, xmmword [r11]
movups xmmword [rsp + 0x168], xmm0
lea r11, [r8 + r9]
lea r11, [r11 + 0x20]
movups xmm0, xmmword [r11]
movups xmmword [rsp + 0x178], xmm0
cmp qword [rsp + 0x158], 1
je 0x491c25
test r12, r12
jbe 0x4923f2
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x218], xmm0
lea r11, [r13 + r10]
lea r11, [r11 + 0x10]
movups xmm0, xmmword [r11]
movups xmmword [rsp + 0x228], xmm0
lea r10, [r13 + r10]
lea r10, [r10 + 0x20]
movups xmm0, xmmword [r10]
movups xmmword [rsp + 0x238], xmm0
cmp qword [rsp + 0x218], 1
jne 0x491bf0
mov r11, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x630]
mov r10, qword [rsp + 0x278]
xor esi, esi
jmp 0x4921e2
mov r10, qword [rsp + 0xd0]
nop dword [rax + rax]
cmp r12, r10
jne 0x4921c5
mov r11, qword [rsp + 0x630]
mov r12, qword [rsp + 0x278]
xor esi, esi
nop dword [rax + rax]
jmp 0x492000
test r12, r12
jbe 0x491fec
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x1b8], xmm0
lea r8, [r13 + r10]
lea r8, [r8 + 0x10]
movups xmm0, xmmword [r8]
movups xmmword [rsp + 0x1c8], xmm0
lea r8, [r13 + r10]
lea r8, [r8 + 0x20]
movups xmm0, xmmword [r8]
movups xmmword [rsp + 0x1d8], xmm0
cmp qword [rsp + 0x1b8], 1
jne 0x491ce5
mov r8, qword [rsp + 0x168]
nop word [rax + rax]
cmp qword [rsp + 0x1c8], r8
jne 0x491fd9
mov rdx, qword [rsp + 0x1d0]
mov rdi, qword [rsp + 0x170]
add rdx, rbx
mov r8, qword [rsp + 0x620]
lea rcx, [rdi + r8]
mov rax, rsi
mov rbx, rdx
call fcn.0045eca0
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x280]
lea rdx, [0x009e4e80]
mov rbx, qword [rsp + 0x2a8]
mov rdi, qword [rsp + 0xc8]
nop
jmp 0x4919da
mov qword [rsp + 0xd8], r12
mov rsi, qword [rsp + 0x620]
xor r8d, r8d
jmp 0x491ea2
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x280]
lea rdx, [0x009e4e80]
mov rbx, qword [rsp + 0x2a8]
mov rdi, qword [rsp + 0xc8]
jmp 0x4919da
mov rax, qword [rsp + 0x298]
mov rdx, qword [rax]
nop
lea r8, [rdx + 7]
and r8, 0xfffffffffffffff8
add r8, qword [rsp + 0x428]
movzx edx, word [rsp + 0x43a]
mov word [rsp + 0x600], dx
mov rdi, qword [rax]
mov rsi, qword [rsp + 0x420]
mov rcx, rbx
lea r9, [rsp + 0x4f8]
mov rbx, qword [rsp + 0x2b0]
call fcn.00467ba0
mov rdi, qword [rsp + 0x630]
test rdi, rdi
je 0x491dd4
cmp dword [0x011546d0], 0
jne 0x491db5
lea rsi, [rsp + 0x4f8]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466112
mov rbp, qword [rbp]
jmp 0x491dcc
lea rax, [0x00a79ea0]
mov rbx, rdi
lea rcx, [rsp + 0x4f8]
call fcn.00414a20
mov rdi, qword [rsp + 0x630]
mov rax, qword [rsp + 0x298]
mov rcx, qword [rax]
mov rdx, qword [rsp + 0x420]
sub rcx, rdx
test rcx, rcx
jbe 0x491e1d
mov rsi, qword [rsp + 0x368]
nop
mov rdi, qword [rsp + 0x620]
lea rax, [rsi + rdi]
mov rsi, qword [rsp + 0x2a8]
lea rbx, [rsi + rdx]
call fcn.00461020
mov rax, qword [rsp + 0x298]
mov rcx, qword [rsp + 0x628]
mov byte [rcx], 1
mov rbx, qword [rsp + 0x2a8]
call fcn.0045ee20
mov rax, qword [rsp + 0x2a0]
lea rbx, [0x009e4e80]
mov rcx, qword [rsp + 0x2a8]
call fcn.0047ca40
mov rbp, qword [rsp + 0x608]
add rsp, 0x610
ret
mov r9, qword [rsp + 0x2b8]
lea r15, [r9 + 0x30]
mov rsi, qword [rsp + 0x620]
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x280]
lea rdx, [0x009e4e80]
mov rbx, qword [rsp + 0x2a8]
mov rdi, qword [rsp + 0xc8]
mov r12, r11
mov r8, r10
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0x2b8], r15
movups xmm0, xmmword [r15]
movups xmmword [rsp + 0x1e8], xmm0
movups xmm0, xmmword [r15 + 0x10]
movups xmmword [rsp + 0x1f8], xmm0
movups xmm0, xmmword [r15 + 0x20]
movups xmmword [rsp + 0x208], xmm0
mov r9, qword [rsp + 0x1f0]
add r9, qword [rsp + 0x170]
mov r10, qword [rsp + 0x1e8]
lea r11, [r9 + rsi]
cmp r10, 2
je 0x491f24
nop word [rax + rax]
cmp r10, 3
jne 0x491f50
mov r10, qword [rsp + 0x208]
mov r9, qword [rsi + r9]
cmp r10, 9
jae 0x491fcc
mov qword [rsp + r10*8 + 0x5b8], r9
mov r9, qword [rsp + 0x208]
cmp r9, 9
jae 0x491fbf
lea rax, [rsp + r9*8 + 0x4f8]
mov rcx, qword [rsp + 0x1f8]
mov rbx, r11
call fcn.00461020
jmp 0x491f7e
cmp r10, 4
jne 0x491fac
mov r9, qword [rsp + 0x210]
nop
cmp r9, 0xf
jae 0x491f9f
lea rax, [rsp + r9*8 + 0x540]
mov rcx, qword [rsp + 0x1f8]
mov rbx, r11
call fcn.00461020
mov r10, qword [rsp + 0xe0]
inc r10
mov r11, qword [rsp + 0xd8]
cmp r11, r10
jg 0x491e61
jmp 0x491cfd
mov rax, r9
mov ecx, 0xf
call fcn.00465b60
lea rax, [0x009e4c00]
lea rbx, [0x00db5610]
call fcn.004373c0
mov rax, r9
mov ecx, 9
call fcn.00465b60
mov rax, r10
mov ecx, 9
call fcn.00465b60
lea rax, [0x009e4c00]
lea rbx, [0x00db55f0]
call fcn.004373c0
xor eax, eax
mov rcx, r12
call fcn.00465b60
lea r13, [r8 + 0x30]
mov rsi, r12
mov r12, r13
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0xf8], xmm0
movups xmm0, xmmword [r12 + 0x10]
movups xmmword [rsp + 0x108], xmm0
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [rsp + 0x118], xmm0
lea r13, [rsi + rsi*2]
shl r13, 4
mov r8, r12
lea r12, [r15 + r13]
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x248], xmm0
lea r12, [r13 + r15]
lea r12, [r12 + 0x10]
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x258], xmm0
lea r12, [r15 + r13]
lea r12, [r12 + 0x20]
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x268], xmm0
mov r12, qword [rsp + 0xf8]
nop word [rax + rax]
cmp qword [rsp + 0x248], r12
jne 0x4921b2
cmp r12, 2
je 0x4920d2
cmp r12, 3
jne 0x492106
test byte [r11], al
mov r12, qword [rsp + 0x118]
cmp r12, 9
jae 0x4921a5
mov r13, qword [rsp + 0x268]
mov r12, qword [r11 + r12*8 + 0xc0]
nop
cmp r13, 9
jae 0x492195
mov qword [rsp + r13*8 + 0x5b8], r12
test byte [r11], al
mov r12, qword [rsp + 0x118]
nop dword [rax]
cmp r12, 9
jae 0x492188
mov r13, qword [rsp + 0x268]
mov r12, qword [r11 + r12*8]
cmp r13, 9
jae 0x49217b
mov qword [rsp + r13*8 + 0x4f8], r12
jmp 0x492138
cmp r12, 4
jne 0x492168
test byte [r11], al
mov r12, qword [rsp + 0x120]
cmp r12, 0xf
jae 0x49215b
mov r13, qword [rsp + 0x270]
mov r12, qword [r11 + r12*8 + 0x48]
cmp r13, 0xf
jae 0x49214e
mov qword [rsp + r13*8 + 0x540], r12
lea r12, [rsi + 1]
nop dword [rax]
cmp r10, r12
jg 0x491ff6
jmp 0x4919da
mov rax, r13
mov ecx, 0xf
call fcn.00465b60
mov rax, r12
mov ecx, 0xf
call fcn.00465b60
lea rax, [0x009e4c00]
lea rbx, [0x00db5620]
call fcn.004373c0
mov rax, r13
mov ecx, 9
call fcn.00465b60
mov rax, r12
mov ecx, 9
call fcn.00465b60
mov rax, r13
mov ecx, 9
nop dword [rax]
call fcn.00465b60
mov rax, r12
mov ecx, 9
call fcn.00465b60
lea rax, [0x009e4c00]
lea rbx, [0x00db5630]
call fcn.004373c0
lea rax, [0x009e4c00]
lea rbx, [0x00db5630]
call fcn.004373c0
lea r13, [r8 + 0x30]
mov rsi, r10
mov r10, r13
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0x2b8], r10
movups xmm0, xmmword [r10]
movups xmmword [rsp + 0x128], xmm0
movups xmm0, xmmword [r10 + 0x10]
movups xmmword [rsp + 0x138], xmm0
movups xmm0, xmmword [r10 + 0x20]
movups xmmword [rsp + 0x148], xmm0
mov r13, qword [rsp + 0x130]
add r13, qword [rsp + 0x230]
mov r15, qword [rsp + 0x128]
mov r8, r10
lea r10, [r13 + rbx]
nop dword [rax + rax]
cmp r15, 2
je 0x49232e
cmp r15, 3
jne 0x4922a5
test byte [r12], al
mov r15, qword [rsp + 0x148]
nop dword [rax]
cmp r15, 9
jae 0x4923e5
mov r15, qword [r12 + r15*8 + 0xc0]
cmp dword [0x011546d0], 0
jne 0x492285
mov qword [rbx + r13], r15
nop
jmp 0x4923a1
mov r9, rdi
mov rdi, r10
mov rdx, r15
call fcn.004657e0
lea rdx, [0x009e4e80]
mov rdi, r9
nop dword [rax]
jmp 0x4923a1
cmp r15, 4
jne 0x4923d2
test byte [r12], al
mov r9, qword [rsp + 0x150]
nop dword [rax + rax]
cmp r9, 0xf
jae 0x4923c5
lea rbx, [r12 + r9*8]
lea rbx, [rbx + 0x48]
mov rcx, qword [rsp + 0x138]
mov rax, r10
nop dword [rax]
call fcn.00461020
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x280]
lea rdx, [0x009e4e80]
mov rbx, qword [rsp + 0x2a8]
mov rsi, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xc8]
mov r8, qword [rsp + 0x2b8]
mov r11, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x630]
jmp 0x4923a1
test byte [r12], al
mov r9, qword [rsp + 0x148]
nop word [rax + rax]
cmp r9, 9
jae 0x4923b3
lea rbx, [r12 + r9*8]
mov rcx, qword [rsp + 0x138]
mov rax, r10
call fcn.00461020
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x280]
lea rdx, [0x009e4e80]
mov rbx, qword [rsp + 0x2a8]
mov rsi, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xc8]
mov r8, qword [rsp + 0x2b8]
mov r11, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x630]
lea r10, [rsi + 1]
cmp r11, r10
jg 0x4921d8
jmp 0x4919da
mov rax, r9
mov ecx, 9
nop dword [rax + rax]
call fcn.00465b60
mov rax, r9
mov ecx, 0xf
call fcn.00465b60
lea rax, [0x009e4c00]
lea rbx, [0x00db5620]
call fcn.004373c0
mov rax, r15
mov ecx, 9
call fcn.00465b60
xor eax, eax
mov rcx, r12
call fcn.00465b60
lea rax, [0x009e4c00]
lea rbx, [0x00db55f0]
call fcn.004373c0
mov rax, r10
mov rcx, r12
call fcn.00465c20
mov rcx, r12
mov rdx, r15
call fcn.00465be0
mov rax, r12
mov rcx, r13
call fcn.00465b60
mov rax, r11
mov rcx, r13
call fcn.00465b60
mov rax, r15
mov rcx, r12
call fcn.00465c20
mov rcx, r12
mov rdx, r10
call fcn.00465be0
mov rax, r12
call fcn.00465b60
call fcn.00465b60
mov edx, r11d
mov ebx, 0x100000
call fcn.00465c60
xor eax, eax
call fcn.00465b60
mov rbx, rdx
lea rcx, [0x00a00040]
nop dword [rax]
call fcn.0040b860
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004915a0
lea r13, [rsp + 0x618]
cmp qword [r12], r13
jne 0x4915d6
mov qword [r12], rsp
jmp 0x4915d6