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

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x58d0d0
sub rsp, 0xf0
mov qword [rsp + 0xe8], rbp
lea rbp, [rsp + 0xe8]
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x138], r10
mov qword [rsp + 0x140], r11
mov rdx, qword [0x008932f0]
mov r12, qword [0x008932f8]
mov qword [rsp + 0x80], r12
xor r13d, r13d
xor r15d, r15d
xor r13d, r13d
mov qword [rsp + 0x68], r13
xor r13d, r13d
jmp 0x58cba3
add rdx, 0x40
inc r13
mov qword [rsp + 0x68], r12
mov r12, qword [rsp + 0x80]
cmp r13, r12
jge 0x58cc03
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0xa8], xmm0
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rsp + 0xb8], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rsp + 0xc8], xmm0
movups xmm0, xmmword [rdx + 0x30]
movups xmmword [rsp + 0xd8], xmm0
nop word [rax + rax]
cmp qword [rsp + 0xa8], rax
jne 0x58cbfc
mov r15, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xd8]
jmp 0x58cb8f
mov r12, qword [rsp + 0x68]
jmp 0x58cb8f
test r15, r15
jne 0x58cc35
mov rdx, qword [rsp + 0x68]
cmp rdx, 4
je 0x58ce02
mov rax, qword [0x0089d1f0]
mov rbx, qword [0x0089d1f8]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
cmp r15, 2
je 0x58d0a5
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x140], r11
mov qword [rsp + 0xa0], r10
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x130], r9
mov qword [rsp + 0x128], r8
mov qword [rsp + 0x70], r15
cmp r15, 3
jne 0x58cd33
movzx edx, byte [rsp + 0xf8]
nop
test dl, dl
jne 0x58cd33
mov rax, qword [0x0089c438]
call fcn.00505b80
cmp rbx, 1
jne 0x58ccbf
cmp byte [rax], 0x31
je 0x58cce6
mov rax, qword [rsp + 0x100]
call fcn.0040af40
mov rbx, rax
lea rax, [0x007198c0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x118]
mov r8, qword [rsp + 0x128]
mov r9, qword [rsp + 0x130]
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x140]
mov r15, qword [rsp + 0x70]
cmp r15, 0x14
jae 0x58d087
mov rdx, qword [0x0089de18]
mov r12, qword [0x0089de10]
cmp r15, rdx
jae 0x58d0c4
mov rdx, qword [r12 + r15*8]
nop dword [rax + rax]
test rdx, rdx
je 0x58d087
mov rax, r15
call fcn.004809e0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x98], rbx
mov rcx, qword [rax + 0x38]
mov rdi, qword [rsp + 0x118]
mov rax, rbx
mov rbx, qword [rsp + 0x108]
mov rsi, rcx
mov rcx, qword [rsp + 0x110]
call rsi
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x30]
mov rax, qword [rsp + 0x98]
xor ebx, ebx
xor edi, edi
mov rdx, rcx
mov rcx, rdi
call rdx
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x120]
mov r8, qword [rsp + 0x128]
mov r9, qword [rsp + 0x130]
mov r10, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x140]
mov r15, qword [rsp + 0x70]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x100]
test r10, r10
je 0x58d069
mov r12d, dword [r10 + 0x10]
cmp r12d, 0x4bcec15d
jne 0x58cee7
lea r12, [0x00666120]
cmp r10, r12
jne 0x58d069
cmp rdx, 1
jne 0x58cec9
nop
lea rdx, [rax - 0xd]
nop dword [rax + rax]
cmp rdx, 2
ja 0x58ce9c
movups xmmword [rsp + 0x88], xmm15
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x88], 0xffffffffffffffff
mov rax, r11
mov r10, r9
lea r11, [rsp + 0x88]
mov r9, r8
mov r8, rsi
mov rsi, rdi
mov rdi, rcx
mov rcx, rbx
mov rbx, r15
call fcn.0053c4e0
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, r11
mov r10, r9
mov r9, r8
mov r8, rsi
mov rsi, rdi
mov rdi, rcx
mov rcx, rbx
mov rbx, r15
call fcn.0053ba00
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, rdx
mov rbx, r12
mov rcx, r11
call fcn.0058ca40
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
cmp r12d, 0x8c7bd38d
jne 0x58cf85
lea r12, [0x006885a0]
nop dword [rax + rax]
cmp r10, r12
jne 0x58d069
cmp rdx, 3
jne 0x58cf67
mov rax, r11
call fcn.00533400
test al, al
je 0x58cf2f
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
lea rax, [0x0066df60]
call fcn.0040d960
mov qword [rax + 8], 0x20
lea rcx, [0x006af38b]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x007191c0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, rdx
mov rbx, r12
mov rcx, r11
call fcn.0058ca40
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
cmp r12d, 0xc0d9e4a4
jne 0x58d069
lea r12, [0x006620c0]
nop dword [rax]
cmp r10, r12
jne 0x58d069
mov r13, qword [r11 + 8]
mov r15, qword [r11 + 0x10]
mov rax, qword [r11]
cmp rdx, 4
jne 0x58d035
movups xmmword [rsp], xmm15
movups xmmword [rsp + 0x10], xmm15
mov r10, r8
mov r11, r9
mov r8, rdi
mov r9, rsi
mov rdi, rbx
mov rsi, rcx
mov rbx, r13
mov rcx, r15
nop dword [rax]
call fcn.0053afe0
test al, al
je 0x58cffd
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
lea rax, [0x0066df60]
call fcn.0040d960
mov qword [rax + 8], 0x22
lea rcx, [0x006b0264]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x007191c0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rbx, r13
mov rcx, r15
nop dword [rax + rax]
call fcn.0040b060
lea rbx, [0x006620c0]
mov rcx, rax
mov rax, qword [rsp + 0x68]
call fcn.0058ca40
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, qword [0x0089d1f0]
mov rbx, qword [0x0089d1f8]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, qword [0x0089d1f0]
mov rbx, qword [0x0089d1f8]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
call fcn.0040af40
mov rbx, rax
lea rax, [0x007198c0]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
mov rax, r15
mov rcx, rdx
call fcn.00465960
nop
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x50], r11
nop dword [rax]
call fcn.004632e0
mov rax, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
jmp fcn.0058cb20