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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x593e38
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
xor edx, edx
jmp 0x593920
inc rdx
nop
cmp rbx, rdx
jle 0x593969
movzx esi, byte [rax + rdx]
cmp sil, 0x20
jb 0x593935
cmp sil, 0x7f
jne 0x59391b
nop
lea rax, [0x006870a0]
nop dword [rax]
call fcn.0040d480
mov qword [rax + 8], 0x29
lea rcx, [0x006d2715]
mov qword [rax], rcx
lea rbx, [0x00741740]
mov rcx, rax
xor eax, eax
add rsp, 0x48
pop rbp
ret
mov byte [rsp + 0x68], cl
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rax
test rbx, rbx
jne 0x5939b5
nop dword [rax]
test cl, cl
je 0x5939b5
nop
lea rax, [0x006870a0]
call fcn.0040d480
mov qword [rax + 8], 9
lea rcx, [0x006c584c]
mov qword [rax], rcx
lea rbx, [0x00741740]
mov rcx, rax
xor eax, eax
add rsp, 0x48
pop rbp
ret
lea rax, [0x006b37e0]
nop dword [rax]
call fcn.0040d480
mov qword [rsp + 0x40], rax
mov rbx, qword [rsp + 0x60]
cmp rbx, 1
jne 0x5939fc
mov rdx, qword [rsp + 0x58]
cmp byte [rdx], 0x2a
jne 0x593a01
mov qword [rax + 0x40], 1
lea rdx, [0x0073e3e8]
mov qword [rax + 0x38], rdx
xor ebx, ebx
xor ecx, ecx
add rsp, 0x48
pop rbp
ret
mov rdx, qword [rsp + 0x58]
mov rax, rdx
call fcn.00593600
mov rdx, qword [rsp + 0x40]
mov qword [rdx + 8], rbx
cmp dword [0x0092d940], 0
je 0x593a2f
nop dword [rax + rax]
call fcn.0045fe40
mov qword [r11], rax
mov r9, qword [rdx]
mov qword [r11 + 8], r9
mov qword [rdx], rax
test rsi, rsi
jne 0x593e09
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x38], rcx
call fcn.00475da0
mov rcx, qword [rsp + 0x40]
mov qword [rcx + 8], rbx
cmp dword [0x0092d940], 0
je 0x593a6f
nop dword [rax]
call fcn.0045fe40
mov qword [r11], rax
mov rsi, qword [rcx]
mov qword [r11 + 8], rsi
mov qword [rcx], rax
mov rbx, qword [rsp + 0x28]
test rbx, rbx
jne 0x593a82
xor edx, edx
nop
jmp 0x593ae3
mov rdx, qword [rsp + 0x38]
lea rax, [rbx + rdx]
lea rax, [rax - 1]
mov ecx, 1
lea rbx, [0x0073e690]
nop dword [rax + rax]
call fcn.004035a0
test al, al
jne 0x593ab7
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x28]
xor edx, edx
jmp 0x593ae3
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x28]
lea rcx, [0x0073e690]
mov edi, 1
call fcn.00474aa0
cmp rax, 1
sete dl
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x28]
test dl, dl
je 0x593b05
mov byte [rcx + 0x59], 1
lea rsi, [rbx - 1]
cmp rbx, rsi
jb 0x593e2c
mov rdx, rcx
mov rbx, rsi
mov rax, qword [rsp + 0x38]
jmp 0x593b41
mov rax, qword [rsp + 0x38]
lea rcx, [0x0073e690]
mov edi, 1
call fcn.00477840
mov rdx, qword [rsp + 0x40]
mov qword [rdx + 0x68], rdi
cmp dword [0x0092d940], 0
je 0x593b3d
call fcn.0045fe40
mov qword [r11], rcx
mov rsi, qword [rdx + 0x60]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x60], rcx
test rbx, rbx
je 0x593b4f
cmp byte [rax], 0x2f
sete sil
jmp 0x593b51
xor esi, esi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rbx
nop dword [rax + rax]
test sil, sil
jne 0x593be3
cmp qword [rdx + 8], 0
je 0x593b9a
mov qword [rdx + 0x18], rbx
cmp dword [0x0092d940], 0
je 0x593b89
call fcn.0045fe40
mov qword [r11], rax
mov rsi, qword [rdx + 0x10]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x10], rax
mov rax, rdx
xor ebx, ebx
xor ecx, ecx
add rsp, 0x48
pop rbp
ret
movzx esi, byte [rsp + 0x68]
nop
test sil, sil
jne 0x593dd3
lea rcx, [0x006c49dc]
mov edi, 1
call fcn.00477840
lea rcx, [0x0073e628]
mov edi, 1
call fcn.004771a0
test rax, rax
jge 0x593da2
mov rax, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x28]
cmp qword [rdx + 8], 0
je 0x593bf1
mov ecx, 1
jmp 0x593c2f
movzx esi, byte [rsp + 0x68]
test sil, sil
je 0x593bff
xor ecx, ecx
jmp 0x593c2f
nop
cmp rbx, 3
jge 0x593c0a
xor ecx, ecx
jmp 0x593c2c
lea rbx, [0x006c4baa]
mov ecx, 3
call fcn.004035a0
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x28]
mov ecx, eax
mov rax, qword [rsp + 0x38]
xor ecx, 1
test cl, cl
je 0x593c49
nop
cmp rbx, 2
jl 0x593c45
cmp word [rax], 0x2f2f
sete sil
jmp 0x593c4b
xor esi, esi
jmp 0x593c4b
xor esi, esi
test sil, sil
je 0x593d4c
cmp rbx, 2
jb 0x593e1f
lea rdx, [rbx - 2]
mov qword [rsp + 0x20], rdx
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and edx, 2
add rax, rdx
mov qword [rsp + 0x30], rax
lea rcx, [0x006c49dc]
mov edi, 1
mov rbx, rsi
call fcn.004771a0
test rax, rax
jl 0x593ccc
mov rdx, qword [rsp + 0x20]
nop word [rax + rax]
cmp rax, rdx
ja 0x593e17
mov rcx, qword [rsp + 0x28]
sub rcx, rax
add rcx, 0xfffffffffffffffe
mov rsi, rcx
neg rcx
sar rcx, 0x3f
and rcx, rax
mov rdi, qword [rsp + 0x30]
add rcx, rdi
jmp 0x593cda
mov rdi, qword [rsp + 0x30]
mov rax, qword [rsp + 0x20]
xor esi, esi
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x28], rsi
mov rbx, rax
mov rax, rdi
call fcn.00593e60
cmp dword [0x0092d940], 0
jne 0x593d00
mov rdx, qword [rsp + 0x40]
jmp 0x593d21
call fcn.0045fe80
mov qword [r11], rax
mov rdx, qword [rsp + 0x40]
mov r8, qword [rdx + 0x20]
mov qword [r11 + 8], r8
mov qword [r11 + 0x10], rbx
mov r8, qword [rdx + 0x28]
mov qword [r11 + 0x18], r8
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rcx
mov qword [rdx + 0x28], rbx
test rdi, rdi
jne 0x593d3e
mov rbx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
jmp 0x593d6d
xor eax, eax
mov rbx, rdi
mov rcx, rsi
add rsp, 0x48
pop rbp
ret
cmp qword [rdx + 8], 0
je 0x593d6d
test rbx, rbx
je 0x593d62
cmp byte [rax], 0x2f
sete sil
nop
jmp 0x593d64
xor esi, esi
test sil, sil
je 0x593d6d
mov byte [rdx + 0x58], 1
mov rcx, rbx
mov rbx, rax
mov rax, rdx
call fcn.00594760
nop dword [rax + rax]
test rax, rax
je 0x593d93
mov rcx, rbx
mov rbx, rax
xor eax, eax
add rsp, 0x48
pop rbp
ret
mov rax, qword [rsp + 0x40]
xor ebx, ebx
xor ecx, ecx
add rsp, 0x48
pop rbp
ret
nop
lea rax, [0x006870a0]
call fcn.0040d480
mov qword [rax + 8], 0x2e
lea rcx, [0x006d404f]
mov qword [rax], rcx
lea rbx, [0x00741740]
mov rcx, rax
xor eax, eax
add rsp, 0x48
pop rbp
ret
nop
lea rax, [0x006870a0]
nop dword [rax + rax]
call fcn.0040d480
mov qword [rax + 8], 0x17
lea rcx, [0x006ca8e7]
mov qword [rax], rcx
lea rbx, [0x00741740]
mov rcx, rax
xor eax, eax
add rsp, 0x48
pop rbp
ret
xor eax, eax
mov rbx, rsi
mov rcx, r8
add rsp, 0x48
pop rbp
ret
mov rcx, rax
call fcn.00460220
mov eax, 2
mov rcx, rbx
call fcn.004602a0
mov rcx, rsi
mov rdx, rbx
call fcn.00460220
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
jmp fcn.00593900