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

Disassembly:
lea r12, [rsp - 0xc8]
cmp r12, qword [r14 + 0x10]
jbe 0x59c2ee
sub rsp, 0x148
mov qword [rsp + 0x140], rbp
lea rbp, [rsp + 0x140]
mov qword [rsp + 0x158], rbx
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x178], r8
mov qword [rsp + 0x70], rax
test rbx, rbx
je 0x59c2b9
cmp qword [rax + 0x10], 0
je 0x59c284
cmp qword [rax + 0xc8], 0
jne 0x59c24b
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x158], rbx
mov qword [rsp + 0x150], rax
movups xmmword [rsp + 0xb8], xmm15
mov qword [rsp + 0xc8], 0
lea r9, [0x0059c340]
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0xc0], rax
lea r9, [rsp + 0x70]
mov qword [rsp + 0xc8], r9
mov r9, qword [rsp + 0x70]
cmp qword [r9 + 0x38], 0
jne 0x59bd61
mov rax, qword [rsp + 0xb8]
lea rdx, [rsp + 0xb8]
call rax
call fcn.0040de60
mov rcx, qword [rsp + 0x70]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov r8, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x70]
mov r9, qword [rdx + 0x10]
mov r9, qword [r9 + 0x20]
test r9, r9
je 0x59be85
mov qword [rsp + 0x60], r9
mov rax, qword [rdx + 0x38]
lea rbx, [0x00646daa]
mov ecx, 0xd
call fcn.005b6740
test rbx, rbx
je 0x59bdbd
mov rcx, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov r8, qword [rsp + 0xa0]
jmp 0x59be85
mov rax, qword [rsp + 0x60]
call fcn.0054a380
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x30], rbx
mov rax, qword [rsp + 0x60]
call fcn.0054a3a0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x38], rbx
mov rcx, qword [rsp + 0xb8]
lea rdx, [rsp + 0xb8]
call rcx
mov rcx, qword [rsp + 0x150]
mov rax, qword [rcx + 0x38]
call fcn.0059ec20
mov rcx, qword [rsp + 0x70]
mov qword [rcx + 0x38], rax
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x38]
call fcn.0059cce0
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 0x38]
mov qword [rsp + 0x98], rcx
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x00644b9b]
mov ecx, 6
call fcn.0044c9c0
mov ecx, 0xd
mov rdi, rax
mov rsi, rbx
mov rax, qword [rsp + 0x98]
lea rbx, [0x00646daa]
call fcn.005b66c0
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov r8, qword [rsp + 0xa0]
mov rax, rdi
mov rbx, rsi
mov rcx, r8
call fcn.0049bd40
test al, al
jne 0x59bea9
mov rax, qword [rsp + 0xb8]
lea rdx, [rsp + 0xb8]
call rax
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x160]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov r8, qword [rsp + 0xa0]
call fcn.0059c600
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x90], rbx
mov rdx, qword [rsp + 0x70]
mov r9, qword [rsp + 0x158]
mov r10, qword [r9 + 0x18]
mov rax, qword [rsp + 0x160]
mov rbx, rdx
nop
call r10
mov qword [rsp + 0x88], rax
test rbx, rbx
jne 0x59c127
test rax, rax
je 0x59c0ae
cmp qword [rax + 0x40], 0
jne 0x59c026
cmp qword [rax + 0x50], 0
jle 0x59bffe
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rcx]
cmp qword [rcx + 8], 4
je 0x59bf4f
mov rcx, qword [rsp + 0x158]
test rcx, rcx
jmp 0x59bf66
cmp dword [rdx], 0x44414548
je 0x59bffe
mov rcx, qword [rsp + 0x158]
test rcx, rcx
movups xmmword [rsp + 0xd0], xmm15
movups xmmword [rsp + 0xe0], xmm15
je 0x59bf82
mov rbx, qword [rcx + 8]
nop
jmp 0x59bf85
mov rbx, rcx
mov qword [rsp + 0xd0], rbx
mov rcx, qword [rsp + 0x160]
mov qword [rsp + 0xd8], rcx
mov rax, qword [rax + 0x50]
call fcn.0040a7c0
lea rcx, [0x005fda20]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
lea rax, [0x006595a8]
mov ebx, 0x61
lea rcx, [rsp + 0xd0]
mov edi, 2
mov rsi, rdi
call fcn.004acb60
mov rcx, rax
mov rdi, rbx
xor eax, eax
mov rbx, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
xor eax, eax
xor ebx, ebx
call fcn.004cb320
mov rbx, rax
lea rax, [0x00685980]
call fcn.004879a0
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0x40], rax
mov qword [rcx + 0x48], rbx
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xa0]
call fcn.0049bd40
nop dword [rax]
test al, al
je 0x59c04e
mov rcx, qword [rsp + 0x88]
jmp 0x59c095
lea rax, [0x006211e0]
call fcn.0040d1e0
mov rcx, qword [rsp + 0x68]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rcx + 0x40]
mov rbx, qword [rcx + 0x48]
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rbx
mov rdx, qword [rsp + 0x90]
mov qword [rax + 0x18], rdx
lea rdx, [0x006868b0]
mov qword [rcx + 0x40], rdx
mov qword [rcx + 0x48], rax
mov rax, rcx
xor ebx, ebx
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
movups xmmword [rsp + 0xa8], xmm15
mov rdx, qword [rsp + 0x158]
nop
test rdx, rdx
je 0x59c0cb
mov rbx, qword [rdx + 8]
jmp 0x59c0ce
mov rbx, rdx
mov qword [rsp + 0xa8], rbx
mov rdx, qword [rsp + 0x160]
mov qword [rsp + 0xb0], rdx
lea rax, [0x00658edd]
mov ebx, 0x50
lea rcx, [rsp + 0xa8]
mov edi, 1
mov rsi, rdi
call fcn.004acb60
mov rcx, rax
mov rdi, rbx
xor eax, eax
mov rbx, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x80], rcx
mov rdx, qword [rsp + 0x68]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x59c165
lea rax, [0x0065784d]
mov ebx, 0x3b
xor ecx, ecx
xor edi, edi
mov rsi, rdi
nop
call fcn.004d1140
mov rdx, qword [rsp + 0x40]
lea rsi, [0x00685b80]
cmp rdx, rsi
jne 0x59c1a3
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsi]
mov qword [rsp + 0x118], r8
movups xmm0, xmmword [rsi + 8]
movups xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [rsi + 0x18]
movups xmmword [rsp + 0x130], xmm0
jmp 0x59c1c6
movups xmmword [rsp + 0x118], xmm15
movups xmmword [rsp + 0x120], xmm15
movups xmmword [rsp + 0x130], xmm15
mov rsi, qword [rsp + 0x80]
mov r8, qword [rsp + 0x118]
mov qword [rsp + 0xf0], r8
movups xmm0, xmmword [rsp + 0x120]
movups xmmword [rsp + 0xf8], xmm0
movups xmm0, xmmword [rsp + 0x130]
movups xmmword [rsp + 0x108], xmm0
jne 0x59c22b
cmp dword [rsp + 0x100], 0x50545448
jne 0x59c22b
cmp byte [rsp + 0x104], 0x2f
jne 0x59c22b
lea rax, [0x006557e3]
mov ebx, 0x2f
nop dword [rax + rax]
call fcn.00468600
mov rdx, rax
mov rsi, rbx
xor eax, eax
mov rbx, qword [rsp + 0x90]
mov rcx, rdx
mov rdi, rsi
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
call fcn.005b9980
lea rax, [0x006574fa]
mov ebx, 0x38
nop dword [rax]
call fcn.00468600
mov rcx, rax
mov rdi, rbx
xor eax, eax
lea rbx, [0x00674ee8]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
call fcn.005b9980
lea rax, [0x0064a9ee]
mov ebx, 0x15
call fcn.00468600
mov rcx, rax
mov rdi, rbx
xor eax, eax
lea rbx, [0x00674ee8]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
call fcn.005b9980
lea rax, [0x00654cf1]
mov ebx, 0x2d
call fcn.00468600
mov rcx, rax
mov rdi, rbx
xor eax, eax
lea rbx, [0x00674ee8]
mov rbp, qword [rsp + 0x140]
add rsp, 0x148
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.0045f280
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.0059bc40