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

Disassembly:
lea r12, [rsp - 0x68]
cmp r12, qword [r14 + 0x10]
jbe 0x59fecb
sub rsp, 0xe8
mov qword [rsp + 0xe0], rbp
lea rbp, [rsp + 0xe0]
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0x100], rcx
test rdi, rdi
jne 0x59f7a3
mov rdi, rbx
mov rcx, rax
jmp 0x59f816
cmp byte [rcx], 0x2f
je 0x59f816
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], rbx
mov qword [rsp + 0x100], rcx
lea rcx, [0x006c935b]
mov edi, 1
call fcn.004d5520
lea rcx, [rax + 1]
mov rdx, qword [rsp + 0xf8]
cmp rdx, rcx
jb 0x59fec5
lea rax, [rsp + 0x78]
mov rbx, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x108]
call fcn.0044e760
mov rdi, rbx
mov rcx, rax
test rdi, rdi
je 0x59f8c9
movups xmmword [rsp + 0xc0], xmm15
movups xmmword [rsp + 0xd0], xmm15
nop
lea rdx, [rsp + 0xc0]
mov qword [rsp + 0xc0], rdx
mov rbx, qword [rsp + 0xd0]
inc rbx
mov rax, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xd8]
nop dword [rax]
cmp r8, rbx
jae 0x59f8ab
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x58], rdi
mov rcx, r8
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xa8]
lea rdx, [rsp + 0xc0]
mov rdi, qword [rsp + 0x58]
mov qword [rsp + 0xd0], rbx
mov byte [rbx + rax - 1], 0x2f
mov eax, 1
mov ebx, 1
xor esi, esi
xor r8d, r8d
jmp 0x59f8ef
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
mov r8, rax
mov eax, esi
mov rsi, rbx
mov ebx, edx
lea rdx, [rsp + 0xc0]
test al, al
je 0x59fb60
mov byte [rsp + 0x47], bl
mov rax, rcx
mov rbx, rdi
lea rcx, [0x006c935b]
mov edi, 1
call fcn.004d8fa0
cmp rbx, 1
jne 0x59f922
cmp byte [rax], 0x2e
jne 0x59f922
xor edx, edx
nop
jmp 0x59f8dd
mov byte [rsp + 0x46], sil
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x50], rdi
cmp rbx, 2
jne 0x59f995
cmp word [rax], 0x2e2e
jne 0x59f995
mov r8, qword [rsp + 0xc8]
mov r9, r8
neg r8
mov rdx, qword [rsp + 0xd0]
cmp rdx, r8
ja 0x59feb1
cmp rdx, 1
jb 0x59fea5
lea r8, [rdx - 1]
mov r10, r8
neg r8
sar r8, 0x3f
and r8d, 1
add r8, r9
lea r9, [rdx - 2]
jmp 0x59fc88
movzx edx, byte [rsp + 0x47]
test dl, dl
je 0x59f9ab
lea r8, [rsp + 0xc0]
jmp 0x59fa6a
nop
nop
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x59f9cc
lea r8, [rsp + 0xc0]
cmp rdx, r8
je 0x59f9e4
jmp 0x59fc70
lea rdx, [rsp + 0xc0]
mov qword [rsp + 0xc0], rdx
lea r8, [rsp + 0xc0]
mov rdx, qword [rsp + 0xd0]
inc rdx
mov r9, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xd8]
nop
cmp r10, rdx
jae 0x59fa5c
mov rax, r9
mov rbx, rdx
mov rcx, r10
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xa0]
movzx esi, byte [rsp + 0x46]
mov rdi, qword [rsp + 0x50]
lea r8, [rsp + 0xc0]
mov rdx, rbx
mov r9, rax
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0xd0], rdx
mov byte [rdx + r9 - 1], 0x2f
nop
nop
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x59fa85
cmp rdx, r8
je 0x59fa8d
nop
jmp 0x59fc5d
mov qword [rsp + 0xc0], r8
mov rdx, qword [rsp + 0xd0]
lea r9, [rdx + rbx]
mov r10, qword [rsp + 0xd8]
mov r11, qword [rsp + 0xc8]
cmp r10, r9
jae 0x59fae6
mov qword [rsp + 0x70], rdx
mov rax, r11
mov rcx, r10
mov rdi, rbx
lea rsi, [0x006796c0]
mov rbx, r9
call fcn.0044a920
mov rdx, qword [rsp + 0x70]
mov r11, rax
mov r9, rbx
mov r10, rcx
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x70], r9
mov qword [rsp + 0xb8], r11
mov qword [rsp + 0x68], r10
add rdx, r11
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.00466740
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xd0], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xd8], rdx
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0xc8], rdx
xor eax, eax
mov rcx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x46]
mov rdi, qword [rsp + 0x50]
mov edx, eax
mov rax, qword [rsp + 0xb0]
jmp 0x59f8dd
cmp rsi, 1
jne 0x59fb6c
cmp byte [r8], 0x2e
je 0x59fb7a
cmp rsi, 2
jne 0x59fbe9
cmp word [r8], 0x2e2e
jne 0x59fbe9
nop
nop
mov r8, qword [rsp + 0xc0]
test r8, r8
je 0x59fb93
cmp r8, rdx
je 0x59fb9b
jmp 0x59fc4a
mov qword [rsp + 0xc0], rdx
mov rbx, qword [rsp + 0xd0]
inc rbx
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
cmp rcx, rbx
jae 0x59fbdc
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rbx
mov byte [rbx + rax - 1], 0x2f
nop
mov rcx, qword [rsp + 0xc8]
mov rdx, rcx
neg rcx
mov rsi, qword [rsp + 0xd0]
cmp rsi, rcx
ja 0x59fc38
cmp rsi, 1
jle 0x59fc1f
cmp byte [rdx + 1], 0x2f
jne 0x59fc1a
lea rcx, [rdx + 1]
dec rsi
jmp 0x59fc22
mov rcx, rdx
jmp 0x59fc22
mov rcx, rdx
mov rax, rcx
mov rbx, rsi
mov rbp, qword [rsp + 0xe0]
add rsp, 0xe8
ret
test rdx, rdx
je 0x59fc45
nop dword [rax]
call fcn.0045cf80
call fcn.0045cfc0
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
dec r9
test r9, r9
jl 0x59fc9a
movzx r11d, byte [r8 + r9]
cmp r11b, 0x2f
jne 0x59fc85
jmp 0x59fca1
mov r9, 0xffffffffffffffff
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x48], r9
nop
movups xmmword [rsp + 0xc0], xmm15
movups xmmword [rsp + 0xd0], xmm15
nop
nop
lea r11, [rsp + 0xc0]
mov qword [rsp + 0xc0], r11
mov r12, qword [rsp + 0xd0]
inc r12
mov r13, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xd8]
cmp r15, r12
jae 0x59fd61
mov qword [rsp + 0x70], r10
mov rax, r13
mov rbx, r12
mov rcx, r15
mov edi, 1
lea rsi, [0x006796c0]
call fcn.0044a920
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xa0]
movzx esi, byte [rsp + 0x46]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x70]
lea r11, [rsp + 0xc0]
mov r12, rbx
mov r13, rax
mov rax, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0xd0], r12
mov byte [r12 + r13 - 1], 0x2f
cmp r9, 0xffffffffffffffff
jne 0x59fd80
mov edx, 1
jmp 0x59fe7e
cmp r9, r10
ja 0x59fe98
nop
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x59fda5
cmp rdx, r11
je 0x59fdad
nop dword [rax]
jmp 0x59fe85
mov qword [rsp + 0xc0], r11
mov rdx, qword [rsp + 0xd0]
lea r10, [r9 + rdx]
mov r12, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xc8]
cmp r12, r10
jae 0x59fe06
mov qword [rsp + 0x70], rdx
mov rax, r13
mov rbx, r10
mov rcx, r12
mov rdi, r9
lea rsi, [0x006796c0]
call fcn.0044a920
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0x48]
mov r13, rax
mov r12, rcx
mov r10, rbx
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x68], r10
mov qword [rsp + 0xb8], r13
lea rax, [r13 + rdx]
mov rbx, r8
mov rcx, r9
call fcn.00466740
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0xd0], rdx
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xd8], rdx
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0xc8], rdx
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x46]
mov rdi, qword [rsp + 0x50]
lea r11, [rsp + 0xc0]
movzx edx, byte [rsp + 0x47]
mov eax, edx
jmp 0x59fb35
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
mov rcx, r9
mov rdx, r10
nop
call fcn.00465de0
mov eax, 1
xor ecx, ecx
call fcn.00465e60
test r9, r9
je 0x59fec0
call fcn.0045cf80
nop dword [rax + rax]
call fcn.0045cfc0
call fcn.00465de0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
nop
call fcn.00463740
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0059f760