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

Disassembly:
lea r12, [rsp - 0x58]
cmp r12, qword [r14 + 0x10]
jbe 0x59f72c
sub rsp, 0xd8
mov qword [rsp + 0xd0], rbp
lea rbp, [rsp + 0xd0]
mov qword [rsp + 0xe0], rax
movups xmmword [rsp + 0xb0], xmm15
movups xmmword [rsp + 0xc0], xmm15
mov rdi, qword [rax + 8]
mov rbx, qword [rax]
test rdi, rdi
je 0x59ebb0
nop
nop
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
mov r8, qword [rsp + 0xc0]
lea r9, [rdi + r8]
mov rcx, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xb8]
nop
cmp rcx, r9
jae 0x59eae1
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x68], rdi
mov rax, r10
mov rbx, r9
lea rsi, [0x006796c0]
call fcn.0044a920
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov r10, rax
mov r9, rbx
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0x68], r9
lea rax, [r10 + r8]
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xc0], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0xb8], rdx
nop
nop
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x59eb4a
lea r8, [rsp + 0xb0]
cmp rdx, r8
je 0x59eb5a
jmp 0x59f718
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
mov rbx, qword [rsp + 0xc0]
inc rbx
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rbx
jae 0x59eb9b
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rbx
mov byte [rbx + rax - 1], 0x3a
mov rax, qword [rsp + 0xe0]
mov rdi, qword [rax + 0x18]
mov rbx, qword [rax + 0x10]
nop dword [rax + rax]
test rdi, rdi
je 0x59eca5
nop
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x59ebea
lea r8, [rsp + 0xb0]
nop
cmp rdx, r8
je 0x59ebfa
jmp 0x59f705
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
mov rdx, qword [rsp + 0xc0]
lea r8, [rdi + rdx]
mov rcx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xb8]
cmp rcx, r8
jae 0x59ec57
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0xa8], rbx
mov rax, r9
mov rbx, r8
lea rsi, [0x006796c0]
call fcn.0044a920
mov rdx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x68]
mov r9, rax
mov r8, rbx
mov rbx, qword [rsp + 0xa8]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], r8
mov qword [rsp + 0xa0], r9
lea rax, [r9 + rdx]
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xc0], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0xb8], rdx
nop
jmp 0x59f2dc
cmp qword [rax + 8], 0
jne 0x59ecbe
cmp qword [rax + 0x30], 0
jne 0x59ecbe
cmp qword [rax + 0x20], 0
je 0x59f028
cmp byte [rax + 0x58], 0
je 0x59ecd6
cmp qword [rax + 0x30], 0
jne 0x59ecd6
cmp qword [rax + 0x20], 0
je 0x59f028
cmp qword [rax + 0x30], 0
jne 0x59ecef
cmp qword [rax + 0x40], 0
jne 0x59ecef
cmp qword [rax + 0x20], 0
je 0x59ed97
nop
nop
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x59ed10
lea r8, [rsp + 0xb0]
cmp rdx, r8
je 0x59ed20
jmp 0x59f6f1
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
mov rbx, qword [rsp + 0xc0]
lea rdx, [rbx + 2]
mov rcx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xb8]
nop dword [rax]
cmp rcx, rdx
jae 0x59ed78
mov qword [rsp + 0x70], rbx
mov rax, r8
mov rbx, rdx
mov edi, 2
lea rsi, [0x006796c0]
nop dword [rax]
call fcn.0044a920
mov r8, rax
mov rdx, rbx
mov rax, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x70]
mov word [r8 + rbx], 0x2f2f
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xb8], r8
mov rdx, qword [rax + 0x20]
nop dword [rax + rax]
test rdx, rdx
je 0x59ef1f
mov rax, rdx
call fcn.0059d100
nop
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x59edd1
lea rdx, [rsp + 0xb0]
cmp rcx, rdx
je 0x59ede1
jmp 0x59f6de
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
mov r8, qword [rsp + 0xc0]
lea r9, [r8 + rbx]
mov rcx, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xb8]
nop dword [rax]
cmp rcx, r9
jae 0x59ee44
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x70], r8
mov rax, r10
mov rdi, rbx
lea rsi, [0x006796c0]
mov rbx, r9
call fcn.0044a920
mov r8, qword [rsp + 0x70]
mov r10, rax
mov r9, rbx
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], r9
mov qword [rsp + 0xa0], r10
lea rdx, [r10 + r8]
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xc0], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0xb8], rdx
nop
nop
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x59eeb9
lea r8, [rsp + 0xb0]
cmp rdx, r8
je 0x59eec9
jmp 0x59f6cb
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
mov rbx, qword [rsp + 0xc0]
inc rbx
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rbx
jae 0x59ef0a
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rbx
mov byte [rbx + rax - 1], 0x40
mov rax, qword [rsp + 0xe0]
mov rbx, qword [rax + 0x30]
mov rdx, qword [rax + 0x28]
test rbx, rbx
je 0x59f028
mov rax, rdx
mov ecx, 3
call fcn.0059cd20
nop
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x59ef5d
lea r8, [rsp + 0xb0]
cmp rdx, r8
je 0x59ef6d
jmp 0x59f6b8
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
mov rdx, qword [rsp + 0xc0]
lea r8, [rdx + rbx]
mov rcx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xb8]
cmp rcx, r8
jae 0x59efcd
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x70], rdx
mov rax, r9
mov rdi, rbx
lea rsi, [0x006796c0]
mov rbx, r8
call fcn.0044a920
mov rdx, qword [rsp + 0x70]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], r8
mov qword [rsp + 0xa0], r9
add rdx, r9
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xc0], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0xb8], rdx
mov rax, qword [rsp + 0xe0]
call fcn.0059e5a0
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x60], rbx
nop word [rax + rax]
test rbx, rbx
je 0x59f116
cmp byte [rax], 0x2f
je 0x59f10c
mov rdx, qword [rsp + 0xe0]
cmp qword [rdx + 0x30], 0
nop
je 0x59f11e
nop
nop
mov r8, qword [rsp + 0xb0]
test r8, r8
je 0x59f08a
lea r9, [rsp + 0xb0]
nop dword [rax]
cmp r8, r9
je 0x59f09a
jmp 0x59f6a5
lea r8, [rsp + 0xb0]
mov qword [rsp + 0xb0], r8
mov r8, qword [rsp + 0xc0]
inc r8
mov r9, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc8]
cmp rcx, r8
jae 0x59f0fc
mov rax, r9
mov rbx, r8
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xb8], rax
mov rdx, qword [rsp + 0xe0]
mov r8, rbx
mov r9, rax
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0xc0], r8
mov byte [r8 + r9 - 1], 0x2f
jmp 0x59f11e
mov rdx, qword [rsp + 0xe0]
jmp 0x59f11e
mov rdx, qword [rsp + 0xe0]
cmp qword [rsp + 0xc0], 0
jne 0x59f200
lea rcx, [0x006c935b]
mov edi, 1
call fcn.004d8fa0
lea rcx, [0x00740158]
mov edi, 1
call fcn.004d88e0
test rax, rax
jl 0x59f1eb
nop
nop
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x59f179
lea r8, [rsp + 0xb0]
cmp rdx, r8
je 0x59f189
jmp 0x59f691
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
mov rbx, qword [rsp + 0xc0]
lea rdx, [rbx + 2]
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xb8]
cmp rcx, rdx
jae 0x59f1cd
mov qword [rsp + 0x70], rbx
mov rbx, rdx
mov edi, 2
lea rsi, [0x006796c0]
nop
call fcn.0044a920
mov rdx, rbx
mov rbx, qword [rsp + 0x70]
mov word [rax + rbx], 0x2f2e
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x60]
nop
nop
mov r8, qword [rsp + 0xb0]
test r8, r8
je 0x59f225
lea r9, [rsp + 0xb0]
cmp r8, r9
je 0x59f235
nop dword [rax]
jmp 0x59f67e
lea r8, [rsp + 0xb0]
mov qword [rsp + 0xb0], r8
mov r8, qword [rsp + 0xc0]
lea r9, [rbx + r8]
mov rcx, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xb8]
cmp rcx, r9
jae 0x59f288
mov qword [rsp + 0x70], r8
mov rax, r10
mov rdi, rbx
lea rsi, [0x006796c0]
mov rbx, r9
call fcn.0044a920
mov r8, qword [rsp + 0x70]
mov r10, rax
mov r9, rbx
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], r9
mov qword [rsp + 0xa0], r10
lea rdx, [r10 + r8]
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xc0], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0xb8], rdx
mov rax, qword [rsp + 0xe0]
cmp byte [rax + 0x59], 0
jne 0x59f2f5
cmp qword [rax + 0x68], 0
je 0x59f46d
nop
mov rdx, qword [rsp + 0xb0]
nop
test rdx, rdx
je 0x59f317
lea r8, [rsp + 0xb0]
cmp rdx, r8
je 0x59f32f
jmp 0x59f66b
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
lea r8, [rsp + 0xb0]
mov rbx, qword [rsp + 0xc0]
inc rbx
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rbx
jae 0x59f388
mov rax, rdx
mov edi, 1
lea rsi, [0x006796c0]
nop
call fcn.0044a920
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xb8], rax
lea r8, [rsp + 0xb0]
mov rdx, rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xc0], rbx
mov byte [rbx + rdx - 1], 0x3f
mov rdi, qword [rax + 0x68]
mov rbx, qword [rax + 0x60]
nop
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x59f3b5
cmp rdx, r8
je 0x59f3bd
jmp 0x59f658
mov qword [rsp + 0xb0], r8
mov rdx, qword [rsp + 0xc0]
lea r8, [rdi + rdx]
mov rcx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xb8]
cmp rcx, r8
jae 0x59f41d
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x80], rbx
mov rax, r9
mov rbx, r8
lea rsi, [0x006796c0]
nop dword [rax]
call fcn.0044a920
mov rdx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x48]
mov r9, rax
mov r8, rbx
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x68], r8
lea rax, [r9 + rdx]
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xc0], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0xb8], rdx
mov rax, qword [rsp + 0xe0]
cmp qword [rax + 0x78], 0
je 0x59f5f4
nop
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x59f498
lea r8, [rsp + 0xb0]
cmp rdx, r8
je 0x59f4b0
jmp 0x59f645
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
lea r8, [rsp + 0xb0]
mov rbx, qword [rsp + 0xc0]
inc rbx
mov rdx, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xc8]
cmp rcx, rbx
jae 0x59f500
mov rax, rdx
mov edi, 1
lea rsi, [0x006796c0]
nop
call fcn.0044a920
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xb8], rax
mov rdx, rax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xc0], rbx
mov byte [rbx + rdx - 1], 0x23
call fcn.0059e920
nop
mov rcx, qword [rsp + 0xb0]
nop dword [rax + rax]
test rcx, rcx
je 0x59f537
lea rdx, [rsp + 0xb0]
cmp rcx, rdx
je 0x59f547
jmp 0x59f631
lea rdx, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdx
mov rdx, qword [rsp + 0xc0]
lea r8, [rdx + rbx]
mov rcx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xb8]
cmp rcx, r8
jae 0x59f5a1
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x70], rdx
mov rax, r9
mov rdi, rbx
lea rsi, [0x006796c0]
mov rbx, r8
call fcn.0044a920
mov rdx, qword [rsp + 0x70]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x40]
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xa0], r9
add rdx, r9
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xc0], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xc8], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0xb8], rdx
mov rax, qword [rsp + 0xb8]
mov rcx, rax
neg rax
mov rbx, qword [rsp + 0xc0]
cmp rbx, rax
ja 0x59f622
mov rax, rcx
mov rbp, qword [rsp + 0xd0]
add rsp, 0xd8
ret
test rcx, rcx
je 0x59f62c
call fcn.0045cf80
call fcn.0045cfc0
lea rax, [0x00679500]
lea rbx, [0x007420c0]
nop
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
nop
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
nop
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
nop
mov qword [rsp + 8], rax
call fcn.00463740
mov rax, qword [rsp + 8]
nop dword [rax + rax]
jmp fcn.0059ea20