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

Disassembly:
lea r12, [rsp - 0x60]
cmp r12, qword [r14 + 0x10]
jbe 0x580aa5
sub rsp, 0xe0
mov qword [rsp + 0xd8], rbp
lea rbp, [rsp + 0xd8]
mov qword [rsp + 0xe8], rax
call fcn.00580ba0
test rax, rax
jg 0x5806be
xor ecx, ecx
xor edx, edx
jmp 0x5806f0
cmp rax, 0x3e8
mov edx, 0x3e8
cmovg rax, rdx
mov qword [rsp + 0x78], rax
mov rbx, rax
mov rcx, rbx
lea rax, [0x005fe120]
nop
call fcn.00448e60
mov rcx, qword [rsp + 0x78]
mov rdx, rax
mov rax, rcx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0xa0], rdx
mov rbx, rax
lea rax, [0x00627c60]
xor ecx, ecx
call fcn.0040dec0
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0xe8]
mov rsi, qword [rdx]
mov ebx, 1
mov rax, rsi
call fcn.0057e0e0
test rdi, rdi
jne 0x5807b5
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x580745
nop
cmp cl, 9
jne 0x5807b5
mov rax, qword [rsp + 0xe8]
call fcn.0057fc60
test rdi, rdi
je 0x580775
mov rax, qword [rsp + 0xd0]
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov ecx, 0x24
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x00651f59]
call fcn.0044c9c0
call fcn.0040a840
lea rbx, [0x00686060]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x58]
jmp 0x5807c7
mov rcx, rsi
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xa0], rax
lea rbx, [0x00674fb0]
mov rax, qword [rsp + 0xe8]
call fcn.0057fe40
test rbx, rbx
je 0x580a87
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xc8], rdi
mov qword [rsp + 0x68], rbx
mov rdi, qword [0x007d5430]
mov rsi, qword [0x007d5438]
mov r8, qword [0x007d5440]
call fcn.004d2a80
test r9b, r9b
je 0x580a3c
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x50], rsi
nop
call fcn.00580e20
test rbx, rbx
jne 0x58085c
mov rsi, qword [rsp + 0x60]
mov rax, qword [rsp + 0xa0]
jmp 0x5807c4
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x70], rbx
xor eax, eax
mov rbx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x50]
call fcn.0044cd60
lea rcx, [0x006443c3]
mov edi, 2
call fcn.004cef80
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x48], rbx
mov rcx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x70]
lea rax, [0x00627c60]
mov rbx, qword [rsp + 0xd0]
call fcn.00412ae0
mov rbx, qword [rax]
mov rcx, qword [rax + 8]
mov rdi, qword [rax + 0x10]
test rbx, rbx
je 0x5808d3
mov rdx, qword [rsp + 0x60]
jmp 0x5808e9
mov rdx, qword [rsp + 0x60]
nop dword [rax + rax]
test rdx, rdx
jne 0x580999
lea rsi, [rcx + 1]
cmp rdi, rsi
jae 0x580914
mov qword [rsp + 0x40], rcx
lea rax, [0x005fe120]
nop
call fcn.00448f20
lea rsi, [rbx + 1]
mov rbx, rax
mov rdi, rcx
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x80], rdi
shl rcx, 4
mov rdx, qword [rsp + 0x48]
mov qword [rbx + rcx + 8], rdx
mov rdx, qword [rsp + 0x90]
mov qword [rbx + rcx], rdx
lea rax, [0x00627c60]
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0x70]
call fcn.00413780
mov rdx, qword [rsp + 0x88]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x80]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0xc0]
mov qword [rax], rdx
mov rsi, qword [rsp + 0x60]
mov rax, qword [rsp + 0xa0]
jmp 0x580a0b
mov rdx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0xa0]
mov qword [rsi + 8], rdx
mov rdx, qword [rsp + 0x90]
mov qword [rsi], rdx
lea rax, [0x00627c60]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x70]
call fcn.00413780
mov qword [rax + 8], 1
mov qword [rax + 0x10], 1
mov rdx, qword [rsp + 0xa0]
mov qword [rax], rdx
mov rsi, qword [rsp + 0x60]
lea rcx, [rsi - 1]
mov rsi, rcx
neg rcx
sar rcx, 0x3f
and ecx, 0x10
lea rax, [rdx + rcx]
mov rbx, qword [rsp + 0xc8]
test rbx, rbx
je 0x5807c4
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
xor eax, eax
lea rbx, [0x0064e5e6]
mov ecx, 0x1c
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x68]
call fcn.0044c9c0
nop dword [rax]
call fcn.0040a840
lea rbx, [0x00686060]
mov rcx, rax
mov rax, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rax, qword [rsp + 0xd0]
mov rbx, rdi
mov rcx, rsi
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov qword [rsp + 8], rax
call fcn.0045f280
mov rax, qword [rsp + 8]
jmp fcn.00580680