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

Disassembly:
lea r12, [rsp - 0xc0]
cmp r12, qword [r14 + 0x10]
jbe 0x5ab23d
sub rsp, 0x140
mov qword [rsp + 0x138], rbp
lea rbp, [rsp + 0x138]
mov rcx, qword [rax + 0x48]
cmp qword [rcx + 0x88], 0
jne 0x5aa49e
cmp byte [rcx + 0xa0], 0
nop
jne 0x5aa49e
lea rax, [0x0066df60]
call fcn.0040d960
mov qword [rax + 8], 0x50
lea rcx, [0x006b84d5]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007191c0]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov rdx, qword [rcx + 0x68]
mov rsi, qword [rcx + 0x70]
xor ebx, ebx
xor edi, edi
jmp 0x5aa4c0
add r8, 0x10
inc rbx
lea rdi, [rdi + rdx]
lea rdi, [rdi + 1]
mov rdx, r8
nop
cmp rbx, rsi
jge 0x5aa520
mov r8, rdx
mov rdx, qword [rdx + 8]
test rdx, rdx
je 0x5aa4da
cmp rdx, 0xff
jle 0x5aa4ac
lea rax, [0x0066df60]
call fcn.0040d960
mov qword [rax + 8], 0x1d
lea rcx, [0x006ade8b]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007191c0]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
cmp rdi, 0xffff
jg 0x5aaa39
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x100], rcx
mov rax, rcx
mov ebx, 1
call fcn.005a0660
test rbx, rbx
je 0x5aa9fd
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x80], rbx
mov rax, qword [rsp + 0x100]
mov ebx, 1
call fcn.005a0660
nop dword [rax]
test rbx, rbx
jne 0x5aa589
xor edx, edx
jmp 0x5aa58c
movzx edx, word [rax]
mov word [rsp + 0x40], dx
lea rax, [0x006578a0]
mov ebx, 0x20
mov rcx, rbx
call fcn.0044a840
mov qword [rsp + 0x130], rax
mov ebx, 0x20
mov rcx, rbx
lea rax, [0x006578a0]
nop dword [rax]
call fcn.0044a840
mov qword [rsp + 0x128], rax
mov rdx, qword [rsp + 0x100]
mov rsi, qword [rdx + 0x80]
mov rbx, qword [rdx + 0x88]
mov rax, rsi
call fcn.005b0200
mov qword [rsp + 0x120], rax
mov qword [rsp + 0xa8], rbx
movzx edx, word [rsp + 0x40]
cmp dx, 0x303
mov esi, 0x303
cmova dx, si
mov word [rsp + 0x46], dx
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsi + 0x108]
mov r8, qword [rsi + 0x110]
mov r9, qword [rsi + 0x100]
test rdi, rdi
jne 0x5aa64a
mov r9, qword [0x00892f10]
mov rdi, qword [0x00892f18]
mov r8, qword [0x00892f20]
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x58], rdi
lea rax, [0x0069d6a0]
call fcn.0040d960
mov qword [rsp + 0xf8], rax
movzx ecx, word [rsp + 0x46]
mov word [rax + 0x18], cx
lea rax, [0x00658c80]
call fcn.0040d960
mov rdi, qword [rsp + 0xf8]
mov qword [rdi + 0x70], 1
mov qword [rdi + 0x78], 1
cmp dword [0x008f2cf0], 0
jne 0x5aa6ac
mov qword [rdi + 0x68], rax
jmp 0x5aa6be
lea rcx, [rdi + 0x68]
mov rdx, rdi
mov rdi, rcx
call fcn.004654a0
mov rdi, rdx
mov qword [rdi + 0x28], 0x20
mov qword [rdi + 0x30], 0x20
cmp dword [0x008f2cf0], 0
jne 0x5aa6e5
mov rcx, qword [rsp + 0x130]
mov qword [rdi + 0x20], rcx
jmp 0x5aa6ff
lea rcx, [rdi + 0x20]
mov rax, rdi
mov rdi, rcx
mov rdx, qword [rsp + 0x130]
call fcn.004655c0
mov rdi, rax
mov qword [rdi + 0x40], 0x20
mov qword [rdi + 0x48], 0x20
cmp dword [0x008f2cf0], 0
jne 0x5aa726
mov rcx, qword [rsp + 0x128]
mov qword [rdi + 0x38], rcx
jmp 0x5aa740
lea rcx, [rdi + 0x38]
mov rax, rdi
mov rdi, rcx
mov rdx, qword [rsp + 0x128]
call fcn.004655c0
mov rdi, rax
mov byte [rdi + 0x90], 1
mov byte [rdi + 0x150], 1
mov rcx, qword [rsp + 0xa8]
mov qword [rdi + 0x88], rcx
cmp dword [0x008f2cf0], 0
jne 0x5aa777
mov rcx, qword [rsp + 0x120]
mov qword [rdi + 0x80], rcx
jmp 0x5aa794
lea rcx, [rdi + 0x80]
mov rax, rdi
mov rdi, rcx
mov rdx, qword [rsp + 0x120]
call fcn.004655c0
mov rdi, rax
mov rcx, qword [rsp + 0x58]
mov qword [rdi + 0xa0], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rdi + 0xa8], rcx
cmp dword [0x008f2cf0], 0
jne 0x5aa7c6
mov rcx, qword [rsp + 0xc0]
mov qword [rdi + 0x98], rcx
jmp 0x5aa7dd
lea rcx, [rdi + 0x98]
mov rdi, rcx
mov rdx, qword [rsp + 0xc0]
call fcn.004655c0
lea rax, [0x00658c80]
call fcn.0040d960
mov rdi, qword [rsp + 0xf8]
mov qword [rdi + 0xb8], 1
mov qword [rdi + 0xc0], 1
cmp dword [0x008f2cf0], 0
jne 0x5aa819
mov qword [rdi + 0xb0], rax
jmp 0x5aa82e
lea rdx, [rdi + 0xb0]
mov rcx, rdi
mov rdi, rdx
call fcn.004654a0
mov rdi, rcx
mov byte [rdi + 0x118], 1
mov rdx, qword [rsp + 0x100]
mov rsi, qword [rdx + 0x68]
mov r8, qword [rdx + 0x70]
mov r9, qword [rdx + 0x78]
mov qword [rdi + 0x140], r8
mov qword [rdi + 0x148], r9
cmp dword [0x008f2cf0], 0
nop
jne 0x5aa86b
mov qword [rdi + 0x138], rsi
jmp 0x5aa880
lea r8, [rdi + 0x138]
mov rax, rdi
mov rdi, r8
call fcn.00465600
mov rdi, rax
mov rsi, qword [rsp + 0x80]
mov qword [rdi + 0x160], rsi
mov rsi, qword [rsp + 0x88]
mov qword [rdi + 0x168], rsi
cmp dword [0x008f2cf0], 0
jne 0x5aa8b8
mov rsi, qword [rsp + 0xd8]
mov qword [rdi + 0x158], rsi
jmp 0x5aa8d5
lea rsi, [rdi + 0x158]
mov rax, rdi
mov rdi, rsi
mov r8, qword [rsp + 0xd8]
call fcn.00465620
mov rdi, rax
mov rsi, qword [rsp + 0x148]
cmp qword [rsi + 0x50], 0
jle 0x5aa928
mov qword [rdi + 0x128], 0xc
mov qword [rdi + 0x130], 0xc
add rsi, 0x141
cmp dword [0x008f2cf0], 0
jne 0x5aa913
mov qword [rdi + 0x120], rsi
jmp 0x5aa928
lea r8, [rdi + 0x120]
mov rax, rdi
mov rdi, r8
call fcn.00465600
mov rdi, rax
mov rsi, qword [0x00892e50]
mov r8, qword [0x00892e58]
cmp byte [0x008f2845], 0
jne 0x5aa94d
mov rsi, qword [0x00892e70]
mov r8, qword [0x00892e78]
mov qword [rsp + 0x90], r8
mov qword [rsp + 0xe0], rsi
mov r9, qword [rdx + 0xa8]
mov r10, qword [rdx + 0xb0]
test r9, r9
jne 0x5aa97e
mov r9, qword [0x0089de30]
mov r10, qword [0x0089de38]
mov qword [rsp + 0x50], r10
mov qword [rsp + 0xb8], r9
lea rax, [0x006577e0]
xor ebx, ebx
mov rcx, r10
call fcn.0044a840
mov rdi, qword [rsp + 0xf8]
mov qword [rdi + 0x58], 0
mov rdx, qword [rsp + 0x50]
mov qword [rdi + 0x60], rdx
lea rsi, [rdi + 0x50]
cmp dword [0x008f2cf0], 0
jne 0x5aa9c8
mov qword [rdi + 0x50], rax
jmp 0x5aa9d6
mov rcx, rdi
mov rdi, rsi
call fcn.004654a0
mov rdi, rcx
mov qword [rsp + 0x118], rsi
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0xe0]
mov r11, qword [rsp + 0xb8]
xor eax, eax
jmp 0x5aaa80
lea rax, [0x0066df60]
call fcn.0040d960
mov qword [rax + 8], 0x3c
lea rcx, [0x006b6e86]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007191c0]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
lea rax, [0x0066df60]
call fcn.0040d960
mov qword [rax + 8], 0x20
lea rcx, [0x006af30b]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007191c0]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
inc rax
nop dword [rax + rax]
cmp rax, r9
jge 0x5aab85
movzx r12d, word [r10 + rax*2]
xor ecx, ecx
jmp 0x5ab1f2
nop
mov r15, qword [0x00892e30]
mov rcx, r11
mov r11, qword [0x00892e38]
xor ebx, ebx
jmp 0x5ab211
xor ecx, ecx
test rcx, rcx
je 0x5aaa75
cmp word [rdi + 0x18], 0x303
jae 0x5aaac8
mov r13, qword [rcx + 0x28]
bt r13d, 2
jb 0x5aaa75
mov rbx, qword [rdi + 0x58]
inc rbx
mov r13, qword [rdi + 0x50]
mov rcx, qword [rdi + 0x60]
nop word [rax + rax]
cmp rcx, rbx
jae 0x5aab76
mov qword [rsp + 0xa8], rax
mov word [rsp + 0x42], r12w
mov rax, r13
mov edi, 1
lea rsi, [0x006577e0]
call fcn.0044a920
mov rdx, qword [rsp + 0xf8]
mov qword [rdx + 0x60], rcx
cmp dword [0x008f2cf0], 0
nop
jne 0x5aab30
mov qword [rdx + 0x50], rax
mov rdi, qword [rsp + 0x118]
jmp 0x5aab3d
mov rdi, qword [rsp + 0x118]
call fcn.004654a0
mov rdx, qword [rsp + 0x50]
mov rsi, rdi
mov rdi, qword [rsp + 0xf8]
mov r9, qword [rsp + 0x90]
mov r10, qword [rsp + 0xe0]
mov r11, qword [rsp + 0xb8]
movzx r12d, word [rsp + 0x42]
mov r13, rax
mov rax, qword [rsp + 0xa8]
mov qword [rdi + 0x58], rbx
mov word [r13 + rbx*2 - 2], r12w
jmp 0x5aaa75
mov rdx, qword [rsp + 0x100]
mov r9, qword [rdx]
mov r10, qword [rdx + 8]
test r9, r9
jne 0x5aaba7
mov r9, qword [0x0089d120]
mov r10, qword [0x0089d128]
mov r8, qword [rdi + 0x28]
mov rcx, qword [rdi + 0x20]
mov rsi, qword [rdi + 0x30]
mov rax, r9
mov rbx, r10
mov rdi, r8
nop dword [rax]
call fcn.0046ff40
test rbx, rbx
jne 0x5ab152
mov rdx, qword [rsp + 0x100]
mov r9, qword [rdx]
mov r10, qword [rdx + 8]
nop dword [rax]
test r9, r9
jne 0x5aabf3
mov r9, qword [0x0089d120]
mov r10, qword [0x0089d128]
mov rdx, qword [rsp + 0xf8]
mov r8, qword [rdx + 0x40]
mov rcx, qword [rdx + 0x38]
mov rsi, qword [rdx + 0x48]
mov rax, r9
mov rbx, r10
mov rdi, r8
call fcn.0046ff40
test rbx, rbx
jne 0x5ab0c6
mov rax, qword [rsp + 0xf8]
cmp word [rax + 0x18], 0x303
jb 0x5aac6f
mov rdx, qword [0x00892f30]
mov r8, qword [0x00892f38]
mov r9, qword [0x00892f40]
mov qword [rax + 0xf0], r8
mov qword [rax + 0xf8], r9
cmp dword [0x008f2cf0], 0
jne 0x5aac63
mov qword [rax + 0xe8], rdx
jmp 0x5aac6f
lea rdi, [rax + 0xe8]
call fcn.004655c0
mov rdx, qword [0x0089de50]
mov r8, qword [0x0089de58]
mov r9, qword [0x0089de60]
test rdx, rdx
je 0x5aacb7
mov qword [rax + 0xf0], r8
mov qword [rax + 0xf8], r9
cmp dword [0x008f2cf0], 0
nop
jne 0x5aacab
mov qword [rax + 0xe8], rdx
jmp 0x5aacb7
lea rdi, [rax + 0xe8]
call fcn.004655c0
mov rdx, qword [rax + 0x158]
cmp qword [rax + 0x160], 0
jbe 0x5ab1e5
cmp word [rdx], 0x304
jne 0x5ab0ad
cmp byte [0x008f2845], 0
nop
je 0x5aadbf
mov rdi, qword [0x00892ed8]
mov rdx, qword [rax + 0x58]
lea rbx, [rdi + rdx]
mov rcx, qword [rax + 0x60]
mov rdx, qword [rax + 0x50]
nop dword [rax]
cmp rcx, rbx
jb 0x5aad0a
mov rsi, rbx
jmp 0x5aad30
mov qword [rsp + 0xa0], rbx
mov rax, rdx
lea rsi, [0x006577e0]
nop dword [rax]
call fcn.0044a920
mov rsi, qword [rsp + 0xa0]
mov rdx, rax
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0x110], rdx
mov qword [rsp + 0xa0], rcx
mov rdi, qword [0x00892ed8]
sub rsi, rdi
lea rax, [rdx + rsi*2]
mov rsi, qword [0x00892ed0]
shl rdi, 1
mov rbx, rsi
mov rcx, rdi
call fcn.004662e0
mov rdx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xf8]
mov qword [rsi + 0x58], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsi + 0x60], rdx
cmp dword [0x008f2cf0], 0
jne 0x5aada5
mov rdx, qword [rsp + 0x110]
mov qword [rsi + 0x50], rdx
jmp 0x5aae8b
mov rdi, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
call fcn.004655c0
jmp 0x5aae8b
mov rdi, qword [0x00892ef8]
mov rdx, qword [rax + 0x58]
lea rbx, [rdi + rdx]
mov rcx, qword [rax + 0x60]
mov rdx, qword [rax + 0x50]
cmp rcx, rbx
jb 0x5aade2
mov rsi, rbx
nop
jmp 0x5aae04
mov qword [rsp + 0xa0], rbx
mov rax, rdx
lea rsi, [0x006577e0]
call fcn.0044a920
mov rsi, qword [rsp + 0xa0]
mov rdx, rax
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x110], rdx
mov rdi, qword [0x00892ef8]
sub rsi, rdi
mov r8, qword [0x00892ef0]
lea rax, [rdx + rsi*2]
shl rdi, 1
mov rbx, r8
mov rcx, rdi
call fcn.004662e0
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xf8]
mov qword [rsi + 0x58], rdx
mov rdx, qword [rsp + 0xa8]
mov qword [rsi + 0x60], rdx
cmp dword [0x008f2cf0], 0
jne 0x5aae76
mov rdx, qword [rsp + 0x110]
mov qword [rsi + 0x50], rdx
jmp 0x5aae8b
mov rdi, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x110]
call fcn.004655c0
mov rdx, qword [rsp + 0x100]
mov rdi, qword [rdx + 0x108]
mov r8, qword [rdx + 0x100]
test rdi, rdi
jne 0x5aaeb4
mov r8, qword [0x00892f10]
mov rdi, qword [0x00892f18]
test rdi, rdi
jbe 0x5ab1da
movzx ecx, word [r8]
nop
cmp cx, 0x18
ja 0x5aaed9
cmp cx, 0x17
je 0x5aaeea
cmp cx, 0x18
je 0x5aaeea
jmp 0x5ab071
cmp cx, 0x19
je 0x5aaeea
nop
cmp cx, 0x1d
jne 0x5ab071
mov rdi, qword [rdx]
mov rdx, qword [rdx + 8]
test rdi, rdi
jne 0x5aaf04
mov rdi, qword [0x0089d120]
mov rdx, qword [0x0089d128]
mov word [rsp + 0x44], cx
mov rax, rdi
mov rbx, rdx
call fcn.005cb8a0
test rbx, rbx
jne 0x5ab057
mov qword [rsp + 0xe8], rax
call fcn.004e6480
mov qword [rsp + 0xf0], rax
lea rax, [0x00657fc0]
call fcn.0040d960
mov rcx, qword [rsp + 0xf0]
mov rdi, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
cmp rdi, 0x85
ja 0x5aaf62
mov rcx, rdi
mov edx, 0x85
nop
jmp 0x5aaf9c
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x108], rbx
mov rbx, rdi
mov ecx, 0x85
lea rsi, [0x006578a0]
call fcn.0044a920
mov rdi, rbx
mov rdx, rcx
mov rcx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x108]
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x60], rdx
call fcn.004662e0
lea rax, [0x00658800]
call fcn.0040d960
movzx edx, word [rsp + 0x44]
mov word [rax], dx
mov rdx, qword [rsp + 0x48]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rax + 0x18], rdx
cmp dword [0x008f2cf0], 0
jne 0x5aaff0
mov rdx, qword [rsp + 0xb0]
mov qword [rax + 8], rdx
jmp 0x5ab005
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0xb0]
nop dword [rax]
call fcn.004655c0
mov rdi, qword [rsp + 0xf8]
mov qword [rdi + 0x190], 1
mov qword [rdi + 0x198], 1
cmp dword [0x008f2cf0], 0
jne 0x5ab035
mov qword [rdi + 0x188], rax
jmp 0x5ab04a
lea rdx, [rdi + 0x188]
mov rcx, rdi
mov rdi, rdx
call fcn.004654a0
mov rdi, rcx
mov rax, rdi
mov rcx, qword [rsp + 0xe8]
jmp 0x5ab0af
xor eax, eax
mov rdi, rcx
mov rcx, rbx
xor ebx, ebx
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
lea rax, [0x0066df60]
call fcn.0040d960
mov qword [rax + 8], 0x30
lea rcx, [0x006b4bda]
mov qword [rax], rcx
xor ebx, ebx
lea rcx, [0x007191c0]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
xor ecx, ecx
mov rbx, rcx
xor ecx, ecx
xor edi, edi
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov rdx, qword [rbx + 0x18]
mov rax, rcx
call rdx
mov ecx, 0x1b
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006acfa8]
call fcn.0044e760
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x70], rbx
lea rax, [0x0066df60]
nop dword [rax]
call fcn.0040d960
mov rcx, qword [rsp + 0x70]
mov qword [rax + 8], rcx
cmp dword [0x008f2cf0], 0
jne 0x5ab124
mov rdx, qword [rsp + 0xc8]
mov qword [rax], rdx
jmp 0x5ab134
mov rdi, rax
mov rdx, qword [rsp + 0xc8]
call fcn.004655c0
xor ebx, ebx
lea rcx, [0x007191c0]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov rdx, qword [rbx + 0x18]
mov rax, rcx
call rdx
mov ecx, 0x1b
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006acfa8]
call fcn.0044e760
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x78], rbx
lea rax, [0x0066df60]
call fcn.0040d960
mov rcx, qword [rsp + 0x78]
mov qword [rax + 8], rcx
cmp dword [0x008f2cf0], 0
jne 0x5ab1ac
mov rdx, qword [rsp + 0xd0]
mov qword [rax], rdx
jmp 0x5ab1bc
mov rdi, rax
mov rdx, qword [rsp + 0xd0]
call fcn.004655c0
xor ebx, ebx
lea rcx, [0x007191c0]
mov rdi, rax
xor eax, eax
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
xor eax, eax
mov rcx, rax
nop
call fcn.00465940
xor eax, eax
mov rcx, rax
call fcn.00465940
inc rcx
cmp rcx, rdx
jge 0x5aaaae
movzx r13d, word [r11 + rcx*2]
cmp r13w, r12w
jne 0x5ab1ef
jmp 0x5aaa95
inc rbx
mov r12d, r8d
cmp rbx, r11
jge 0x5ab229
mov r8d, r12d
mov r12, qword [r15 + rbx*8]
nop dword [rax]
cmp word [r12], r13w
jne 0x5ab20b
jmp 0x5ab22f
mov r8d, r12d
xor r12d, r12d
mov r11, rcx
mov rcx, r12
mov r12d, r8d
jmp 0x5aaab0
mov qword [rsp + 8], rax
call fcn.004632e0
mov rax, qword [rsp + 8]
jmp fcn.005aa420