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

Disassembly:
lea r12, [rsp - 0xa50]
cmp r12, qword [r14 + 0x10]
jbe 0x5929cd
sub rsp, 0xad0
mov qword [rsp + 0xac8], rbp
lea rbp, [rsp + 0xac8]
mov qword [rsp + 0xae8], rcx
mov qword [rsp + 0xab8], rax
mov qword [rsp + 0xab0], rdi
mov qword [rsp + 0xaa8], rbx
mov qword [rsp + 0xac0], 0
mov qword [rsp + 0xac0], rcx
xor edx, edx
nop
jmp 0x5923c7
mov rax, qword [rsp + 0xab8]
mov rcx, qword [rsp + 0xae8]
mov rbx, qword [rsp + 0xaa8]
mov rdi, qword [rsp + 0xab0]
mov edx, 1
cmp rdx, 1
jge 0x59245a
mov rax, qword [rsp + 0xac0]
mov qword [rsp + 0xa98], rax
movups xmmword [rsp + 0x140], xmm15
movups xmmword [rsp + 0x148], xmm15
movups xmmword [rsp + 0x158], xmm15
test byte [rax], al
lea rbx, [rsp + 0x140]
mov ecx, 0x28
call fcn.00402d80
test al, al
je 0x5923a2
movups xmmword [rsp + 0x118], xmm15
movups xmmword [rsp + 0x120], xmm15
movups xmmword [rsp + 0x130], xmm15
mov rax, qword [rsp + 0xa98]
add rax, 0x28
lea rbx, [rsp + 0x118]
mov ecx, 0x28
call fcn.00402d80
test al, al
je 0x5923a2
jmp 0x5929b9
call fcn.005922e0
mov qword [rsp + 0xaa0], rax
lea rdi, [rsp + 0x598]
mov ecx, 0xa0
xor eax, eax
rep stosq qword [rdi], rax
lea rax, [rsp + 0x598]
mov rbx, qword [rsp + 0xae8]
call fcn.00592a00
mov rax, qword [rsp + 0xaa8]
mov ebx, 5
nop dword [rax + rax]
call fcn.00590460
lea rdi, [rsp + 0x498]
mov rsi, rsp
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466340
mov rbp, qword [rbp]
mov rax, qword [rsp + 0xab0]
mov ebx, 8
call fcn.00590460
lea rdi, [rsp + 0x398]
mov rsi, rsp
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466340
mov rbp, qword [rbp]
mov eax, 0xff
jmp 0x592520
dec rax
nop dword [rax]
test rax, rax
jl 0x59253d
movzx ecx, byte [rsp + rax + 0x498]
test cl, cl
jne 0x59253d
movzx ecx, byte [rsp + rax + 0x398]
test cl, cl
je 0x59251a
lea rdi, [rsp + 0x2f8]
lea rdi, [rdi - 0x20]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466054
mov rbp, qword [rbp]
movups xmmword [rsp + 0x1e0], xmm15
lea rdi, [rsp + 0x1e8]
lea rdi, [rdi - 0x10]
nop word [rax + rax]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466066
mov rbp, qword [rbp]
lea rdi, [rsp + 0x258]
lea rdi, [rdi - 0x20]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466054
mov rbp, qword [rbp]
movups xmmword [rsp + 0x168], xmm15
lea rdi, [rsp + 0x170]
lea rdi, [rdi - 0x10]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466066
mov rbp, qword [rbp]
mov rcx, qword [0x008ca500]
nop
mov rdx, qword [rcx]
mov qword [rsp + 0x168], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rsp + 0x170], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rsp + 0x180], xmm0
mov rcx, qword [0x008ca4f8]
nop
mov rdx, qword [rcx]
mov qword [rsp + 0x190], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rsp + 0x198], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rsp + 0x1a8], xmm0
mov rcx, qword [0x008ca4f8]
nop
mov rdx, qword [rcx]
mov qword [rsp + 0x1b8], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rsp + 0x1c0], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rsp + 0x1d0], xmm0
mov eax, 0xff
jmp 0x592683
lea rax, [rsp + 0x168]
lea rbx, [rsp + 0x258]
call fcn.0058e980
mov rax, qword [rsp + 0x110]
dec rax
test rax, rax
jl 0x59295f
mov qword [rsp + 0x110], rax
lea rax, [rsp + 0x258]
lea rbx, [rsp + 0x168]
call fcn.0058fca0
mov rcx, qword [rsp + 0x110]
movzx edx, byte [rsp + rcx + 0x498]
nop dword [rax]
test dl, dl
jg 0x592765
jge 0x5927fa
mov rax, qword [rsp + 0xab8]
lea rbx, [rsp + 0x258]
nop
call fcn.0058ea80
mov rcx, qword [rsp + 0x110]
movzx edx, byte [rsp + rcx + 0x498]
mov esi, edx
neg edx
shr dl, 7
sub edx, esi
sar dl, 1
movsx rax, dl
cmp rax, 8
jae 0x5929af
lea rdx, [rax + rax*4]
shl rdx, 5
lea rsi, [rsp + rdx + 0x598]
lea rdi, [rsp + 0x2f8]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466394
mov rbp, qword [rbp]
lea rax, [rsp + 0x258]
mov rbx, qword [rsp + 0xab8]
lea rcx, [rsp + 0x2f8]
call fcn.0058f440
mov rcx, qword [rsp + 0x110]
nop
jmp 0x5927fa
mov rax, qword [rsp + 0xab8]
lea rbx, [rsp + 0x258]
call fcn.0058ea80
mov rcx, qword [rsp + 0x110]
movzx edx, byte [rsp + rcx + 0x498]
mov esi, edx
shr dl, 7
add edx, esi
sar dl, 1
movsx rax, dl
nop word [rax + rax]
cmp rax, 8
jae 0x5929a5
lea rdx, [rax + rax*4]
shl rdx, 5
lea rsi, [rsp + rdx + 0x598]
lea rdi, [rsp + 0x2f8]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00466394
mov rbp, qword [rbp]
lea rax, [rsp + 0x258]
mov rbx, qword [rsp + 0xab8]
lea rcx, [rsp + 0x2f8]
call fcn.0058f160
mov rcx, qword [rsp + 0x110]
movzx edx, byte [rsp + rcx + 0x398]
test dl, dl
jg 0x5928bd
jge 0x592663
mov rax, qword [rsp + 0xab8]
lea rbx, [rsp + 0x258]
call fcn.0058ea80
mov rcx, qword [rsp + 0xaa0]
test byte [rcx], al
mov rdx, qword [rsp + 0x110]
movzx esi, byte [rsp + rdx + 0x398]
mov edi, esi
neg esi
shr sil, 7
sub esi, edi
sar sil, 1
movsx rax, sil
cmp rax, 0x40
jae 0x592996
imul rdx, rax, 0x78
mov r8, qword [rcx + rdx]
mov qword [rsp + 0x1e0], r8
lea rsi, [rdx + rcx]
lea rsi, [rsi + 8]
lea rdi, [rsp + 0x1e8]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004663be
mov rbp, qword [rbp]
lea rax, [rsp + 0x258]
mov rbx, qword [rsp + 0xab8]
lea rcx, [rsp + 0x1e0]
call fcn.0058f9e0
mov rcx, qword [rsp + 0x110]
jmp 0x592663
mov rax, qword [rsp + 0xab8]
lea rbx, [rsp + 0x258]
call fcn.0058ea80
mov rcx, qword [rsp + 0xaa0]
test byte [rcx], al
mov rdx, qword [rsp + 0x110]
movzx esi, byte [rsp + rdx + 0x398]
mov edi, esi
shr sil, 7
add esi, edi
sar sil, 1
movsx rax, sil
nop dword [rax + rax]
cmp rax, 0x40
jae 0x59298c
imul rdx, rax, 0x78
mov r8, qword [rcx + rdx]
mov qword [rsp + 0x1e0], r8
lea rsi, [rdx + rcx]
lea rsi, [rsi + 8]
lea rdi, [rsp + 0x1e8]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004663be
mov rbp, qword [rbp]
lea rax, [rsp + 0x258]
mov rbx, qword [rsp + 0xab8]
lea rcx, [rsp + 0x1e0]
call fcn.0058f720
jmp 0x592663
mov rax, qword [rsp + 0xab8]
lea rbx, [rsp + 0x168]
call fcn.0058ebc0
mov rax, qword [rsp + 0xab8]
mov rbp, qword [rsp + 0xac8]
add rsp, 0xad0
ret
mov ecx, 0x40
call fcn.00465da0
mov ecx, 0x40
nop dword [rax + rax]
call fcn.00465da0
mov ecx, 8
call fcn.00465da0
mov ecx, 8
call fcn.00465da0
lea rax, [0x00679500]
lea rbx, [0x00741c90]
call fcn.00436420
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
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.00592340