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

Disassembly:
lea r12, [rsp - 0xa8]
cmp r12, qword [r14 + 0x10]
jbe 0x593e2a
sub rsp, 0x128
mov qword [rsp + 0x120], rbp
lea rbp, [rsp + 0x120]
mov qword [rsp + 0x170], rdi
mov qword [rsp + 0x180], r8
mov qword [rsp + 0x190], r10
mov qword [rsp + 0x198], r11
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x59360c
nop
cmp byte [0x009b00e0], 0
je 0x5935b7
mov r12, qword [rsp + 0x148]
mov qword [0x009b00e8], r12
cmp dword [0x00a04ed0], 0
jne 0x59358d
mov r12, qword [rsp + 0x150]
mov qword [0x009b00f0], r12
jmp 0x5935bf
mov r12, rdi
lea rdi, [0x009b00f0]
mov r13, r8
mov r8, qword [rsp + 0x150]
call fcn.00465ba0
mov rdi, r12
mov r8, r13
mov r12, qword [rsp + 0x150]
jmp 0x5935bf
mov r12, qword [rsp + 0x150]
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], r12
mov rdx, qword [rsp + 0xa0]
test rdx, rdx
je 0x593602
movzx r13d, byte [rdx + 0x17]
mov r15d, r13d
and r13d, 0x1f
mov qword [rsp + 0x40], r13
bts r13, 7
test r15b, 0x20
mov r15, qword [rsp + 0x40]
cmove r15, r13
nop
jmp 0x593614
xor r15d, r15d
xor edx, edx
xor r12d, r12d
jmp 0x593614
xor r12d, r12d
xor r15d, r15d
xor edx, edx
mov qword [rsp + 0x160], rbx
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x198], r11
mov qword [rsp + 0x190], r10
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x188], r9
mov qword [rsp + 0x180], r8
mov qword [rsp + 0x178], rsi
mov qword [rsp + 0x170], rdi
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x38], r15
mov r13, r15
and r15d, 0x1f
mov qword [rsp + 0x58], r15
cmp r15, 0x17
jne 0x593684
mov r8, qword [r12 + 8]
jmp 0x5936e9
mov rax, rdx
mov rbx, r12
mov rcx, r13
call fcn.0048f300
mov rcx, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x160]
mov rsi, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x170]
mov r9, qword [rsp + 0x188]
mov r10, qword [rsp + 0x190]
mov r11, qword [rsp + 0x198]
mov r12, qword [rsp + 0x78]
mov r13, qword [rsp + 0x38]
mov r15, qword [rsp + 0x58]
mov r8, rax
mov rax, qword [rsp + 0x158]
add r8, qword [rbx]
mov qword [rbx], r8
cmp rcx, r8
jl 0x593705
cmp r15, 0x17
mov r8d, 0
nop
jmp 0x5937c2
movups xmmword [rsp + 0xd0], xmm15
movups xmmword [rsp + 0xe0], xmm15
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 8
movups xmmword [rsp + 0xe0], xmm15
lea rax, [0x006f5600]
lea rbx, [rsp + 0xd0]
call fcn.0040ae80
mov rbx, rax
lea rax, [0x007f2320]
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov r8, qword [rsp + 0x50]
inc r8
mov r15, qword [rsp + 0x58]
cmp r15, 0x17
mov rdx, qword [rsp + 0x68]
mov r12, qword [rsp + 0x78]
mov r13, qword [rsp + 0x38]
mov rax, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x168]
mov rbx, qword [rsp + 0x160]
mov rsi, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x170]
mov r9, qword [rsp + 0x188]
mov r10, qword [rsp + 0x190]
mov r11, qword [rsp + 0x198]
mov qword [rsp + 0x50], r8
jne 0x5937d0
mov r9, qword [r12 + 8]
jmp 0x593832
mov rax, rdx
mov rbx, r12
mov rcx, r13
call fcn.0048f300
mov rcx, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x160]
mov rsi, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x170]
mov r8, qword [rsp + 0x50]
mov r10, qword [rsp + 0x190]
mov r11, qword [rsp + 0x198]
mov r12, qword [rsp + 0x78]
mov r13, qword [rsp + 0x38]
mov r15, qword [rsp + 0x58]
mov r9, rax
mov rax, qword [rsp + 0x158]
cmp r8, r9
jge 0x593a0b
mov rax, rdx
mov rbx, r12
mov rcx, r13
mov rdi, r8
call fcn.0048ef40
mov edi, 1
call fcn.0048f100
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], rbx
mov rdx, qword [rsp + 0x130]
mov rsi, qword [rdx]
mov rcx, rax
mov rdi, rbx
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x198]
call rsi
test rbx, rbx
jne 0x5939a8
test al, al
je 0x593762
movups xmmword [rsp + 0xf0], xmm15
movups xmmword [rsp + 0x100], xmm15
movups xmmword [rsp + 0x110], xmm15
mov rax, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x178]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x188]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x110], rcx
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x118], rcx
lea rax, [0x00727e21]
mov ebx, 0x22
lea rcx, [rsp + 0xf0]
mov edi, 3
mov rsi, rdi
call fcn.004c51a0
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rbx
lea rax, [0x006f5600]
lea rbx, [rsp + 0xd0]
call fcn.0040ae80
mov rbx, rax
lea rax, [0x007f2320]
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov rdx, qword [rbx + 0x18]
mov rax, rcx
call rdx
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rbx
lea rax, [0x006f5600]
lea rbx, [rsp + 0xd0]
call fcn.0040ae80
mov rbx, rax
lea rax, [0x007f2320]
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov rdx, qword [rsp + 0x138]
test rdx, rdx
je 0x593abc
nop
cmp byte [0x009b00e0], 0
je 0x593a6e
mov r8, qword [rsp + 0x138]
mov qword [0x009b00e8], r8
cmp dword [0x00a04ed0], 0
jne 0x593a4f
mov r8, qword [rsp + 0x140]
mov qword [0x009b00f0], r8
jmp 0x593a76
mov r8, rdi
lea rdi, [0x009b00f0]
mov r9, qword [rsp + 0x140]
call fcn.00465bc0
mov rdi, r8
mov r8, r9
jmp 0x593a76
mov r8, qword [rsp + 0x140]
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], r8
mov rdx, qword [rsp + 0x90]
test rdx, rdx
je 0x593ab2
movzx r9d, byte [rdx + 0x17]
mov r12d, r9d
and r9d, 0x1f
mov r13, r9
bts r9, 7
test r12b, 0x20
cmove r13, r9
nop
jmp 0x593ac4
xor r13d, r13d
xor edx, edx
xor r8d, r8d
jmp 0x593ac4
xor r8d, r8d
xor r13d, r13d
xor edx, edx
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x70], r8
mov r9, r13
and r13d, 0x1f
mov qword [rsp + 0x58], r13
nop
cmp r13, 0x17
jne 0x593aec
mov r12, qword [r8 + 8]
jmp 0x593b49
mov rax, rdx
mov rbx, r8
mov rcx, r9
call fcn.0048f300
mov rcx, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x160]
mov rsi, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x170]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x190]
mov r11, qword [rsp + 0x198]
mov r13, qword [rsp + 0x58]
mov r12, rax
mov rax, qword [rsp + 0x158]
add r12, qword [rbx]
mov qword [rbx], r12
cmp rcx, r12
jl 0x593b67
cmp r13, 0x17
mov ecx, 0
mov ebx, 1
jmp 0x593bfc
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 8
movups xmmword [rsp + 0xe0], xmm15
lea rax, [0x006f5600]
lea rbx, [rsp + 0xd0]
call fcn.0040ae80
mov rbx, rax
lea rax, [0x007f2320]
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov rcx, qword [rsp + 0x48]
inc rcx
mov r13, qword [rsp + 0x58]
cmp r13, 0x17
mov r9, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x170]
mov r10, qword [rsp + 0x190]
mov r11, qword [rsp + 0x198]
mov ebx, eax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x48], rcx
jne 0x593c09
mov r12, qword [r8 + 8]
jmp 0x593c64
mov byte [rsp + 0x2f], bl
mov rax, rdx
mov rbx, r8
mov rcx, r9
call fcn.0048f300
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x60]
movzx ebx, byte [rsp + 0x2f]
mov rsi, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x170]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x190]
mov r11, qword [rsp + 0x198]
mov r13, qword [rsp + 0x58]
mov r12, rax
mov rax, qword [rsp + 0x158]
cmp rcx, r12
jge 0x593d37
mov rax, rdx
mov rbx, r8
mov rdi, rcx
mov rcx, r9
call fcn.0048ef40
mov edi, 1
call fcn.0048f100
mov rdx, qword [rsp + 0x130]
mov rsi, qword [rdx]
mov rcx, rax
mov rdi, rbx
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x198]
call rsi
test rbx, rbx
jne 0x593cd4
test al, al
je 0x593bb2
mov rsi, qword [rsp + 0x178]
mov rdi, qword [rsp + 0x170]
mov ebx, eax
mov rax, qword [rsp + 0x158]
jmp 0x593d37
mov rdx, qword [rbx + 0x18]
mov rax, rcx
call rdx
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rbx
lea rax, [0x006f5600]
lea rbx, [rsp + 0xd0]
call fcn.0040ae80
mov rbx, rax
lea rax, [0x007f2320]
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
test bl, bl
je 0x593d4f
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
movups xmmword [rsp + 0xb0], xmm15
movups xmmword [rsp + 0xc0], xmm15
mov rax, rdi
mov rbx, rsi
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x188]
call fcn.0040b100
lea rcx, [0x006bb4c0]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xc8], rax
lea rax, [0x0072a979]
mov ebx, 0x28
lea rcx, [rsp + 0xb0]
mov edi, 2
mov rsi, rdi
call fcn.004c51a0
mov rcx, qword [rsp + 0x158]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], rbx
lea rax, [0x006f5600]
lea rbx, [rsp + 0xd0]
call fcn.0040ae80
mov rbx, rax
lea rax, [0x007f2320]
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x70], r11
call fcn.00463860
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x68]
mov r11, qword [rsp + 0x70]
jmp fcn.00593500