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

Disassembly:
lea r12, [rsp - 0x80]
cmp r12, qword [r14 + 0x10]
jbe 0x5abbf1
sub rsp, 0x100
mov qword [rsp + 0xf8], rbp
lea rbp, [rsp + 0xf8]
mov qword [rsp + 0x108], rax
mov rdx, qword [rax + 0x80]
mov rsi, qword [rax]
mov qword [rsp + 0xb8], rsi
mov r8, qword [rax + 0x88]
mov rdx, qword [rdx + 0x30]
xor ebx, ebx
xor ecx, ecx
mov rdi, rcx
mov rax, r8
call rdx
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x108]
mov rsi, qword [rdx + 0x80]
mov r8, qword [rdx + 0x88]
mov rsi, qword [rsi + 0x20]
mov rax, r8
call rsi
lea rax, [0x00669f80]
call fcn.0040da20
mov word [rax], 0xfe
mov byte [rax + 2], 0
mov rdx, qword [rsp + 0x60]
mov byte [rax + 3], dl
mov rsi, qword [rsp + 0x108]
mov r8, qword [rsi + 0x80]
mov r9, qword [rsi + 0x88]
mov r8, qword [r8 + 0x38]
mov rbx, rax
mov ecx, 4
mov rdi, rcx
mov rax, r9
call r8
mov rdx, qword [rsp + 0x108]
mov rsi, qword [rdx + 0x80]
mov rax, qword [rdx + 0x88]
mov rsi, qword [rsi + 0x38]
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
call rsi
mov rdx, qword [rsp + 0x108]
mov rax, qword [rdx + 0x18]
call fcn.005b60a0
mov rdx, qword [rsp + 0x108]
mov rsi, qword [rdx + 0x80]
mov r8, qword [rdx + 0x88]
mov rsi, qword [rsi + 0x38]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, r8
call rsi
mov rdx, qword [rsp + 0x108]
mov rsi, qword [rdx + 0x18]
cmp word [rsi + 0xf8], 0
jne 0x5ab1c1
cmp qword [rsi + 0xe0], 0
jne 0x5ab1c1
mov rax, qword [rsp + 0xb8]
mov ebx, 0x2f
call fcn.005a0360
lea rax, [0x0067fd60]
call fcn.0040da20
mov qword [rax + 8], 0x39
lea rcx, [0x006cb44e]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x0072e7e0]
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
mov r8, qword [rsi + 0xe0]
mov r9, qword [rsi + 0xe8]
mov rsi, qword [rsi + 0xf0]
test r8, r8
je 0x5ab20b
mov rdi, qword [rdx + 0x20]
mov qword [rdi + 0x178], r9
mov qword [rdi + 0x180], rsi
cmp dword [0x00918a90], 0
jne 0x5ab1ff
mov qword [rdi + 0x170], r8
jmp 0x5ab20b
add rdi, 0x170
call fcn.00465780
mov rsi, qword [rdx + 0x18]
cmp word [rsi + 0xa0], 0
jne 0x5ab23e
movzx ecx, word [rsi + 0xf8]
test cx, cx
je 0x5ab288
mov rsi, qword [rdx + 0x20]
mov rdi, qword [rsi + 0x98]
mov rsi, qword [rsi + 0xa0]
xor eax, eax
jmp 0x5ab7a8
mov rax, qword [rsp + 0xb8]
mov ebx, 0x32
call fcn.005a0360
lea rax, [0x0067fd60]
call fcn.0040da20
mov qword [rax + 8], 0x2b
lea rcx, [0x006c7d98]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x0072e7e0]
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
mov rdi, qword [rdx + 0x20]
movups xmmword [rdi + 8], xmm15
cmp dword [0x00918a90], 0
jne 0x5ab2a3
mov qword [rdi], 0
jmp 0x5ab2aa
xor ecx, ecx
call fcn.00465700
mov rdi, qword [rdx + 0x20]
cmp qword [rdi + 0x1c8], 0
je 0x5ab2d5
mov rcx, qword [rdx + 0x30]
movzx ecx, word [rcx + 0x1a]
mov rsi, qword [0x008b6de0]
mov r8, qword [0x008b6de8]
xor eax, eax
jmp 0x5ab4c0
mov rax, qword [rdx + 0x20]
call fcn.005ae680
mov rdx, qword [rsp + 0x108]
mov rsi, qword [rdx + 0x80]
mov rdi, qword [rdx + 0x88]
mov rsi, qword [rsi + 0x38]
mov r8, rax
mov rax, rdi
mov r9, rbx
mov rbx, r8
mov r10, rcx
mov rcx, r9
mov rdi, r10
call rsi
mov rcx, qword [rsp + 0x108]
mov rax, qword [rcx + 0x20]
nop dword [rax + rax]
call fcn.005ae680
mov rdi, rbx
mov rsi, rcx
mov ebx, 0x16
mov rcx, rax
mov rax, qword [rsp + 0xb8]
nop dword [rax + rax]
call fcn.005a1120
test rbx, rbx
jne 0x5ab4a3
mov rax, qword [rsp + 0xb8]
call fcn.005a1300
nop dword [rax + rax]
test rcx, rcx
jne 0x5ab48d
lea rcx, [0x00677fa0]
cmp rax, rcx
jne 0x5ab37a
mov rdx, rbx
jmp 0x5ab382
mov rdx, rbx
mov ebx, 0
jne 0x5ab3e1
cmp dword [0x00918a90], 0
jne 0x5ab39b
mov rax, qword [rsp + 0x108]
mov qword [rax + 0x18], rbx
jmp 0x5ab3b2
mov rdi, qword [rsp + 0x108]
lea rcx, [rdi + 0x18]
mov rax, rdi
mov rdi, rcx
call fcn.00465740
call fcn.005aabe0
test rax, rax
je 0x5ab3cc
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
nop
ret
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x98], rbx
mov rax, qword [rsp + 0xb8]
mov ebx, 0xa
call fcn.005a0360
movups xmmword [rsp + 0xd8], xmm15
movups xmmword [rsp + 0xe8], xmm15
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xd8], rcx
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0xe0], rcx
lea rcx, [0x00677fa0]
mov qword [rsp + 0xe8], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0xf0], rcx
lea rax, [0x006ccb1e]
mov ebx, 0x49
lea rcx, [rsp + 0xd8]
mov edi, 2
mov rsi, rdi
call fcn.004f0a80
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
mov rax, rcx
mov rbx, rdi
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
mov rax, rbx
mov rbx, rcx
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
inc rax
nop dword [rax]
cmp rax, r8
jge 0x5ab4d1
mov r9, qword [rsi + rax*8]
cmp word [r9], cx
jne 0x5ab4b9
jmp 0x5ab4d4
xor r9d, r9d
test r9, r9
je 0x5ab778
mov rcx, qword [rdx + 0x78]
mov rbx, qword [r9 + 0x18]
cmp qword [rcx + 0x18], rbx
jne 0x5ab713
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rax + 0x48]
mov rcx, qword [rcx + 0x10]
nop
test rcx, rcx
jne 0x5ab50c
lea rcx, fcn.00486420
mov rax, qword [rcx]
mov rdx, rcx
call rax
mov rsi, qword [rsp + 0x108]
mov rdi, qword [rsi + 0x30]
mov r8, qword [rdi + 0x68]
mov r9, qword [rdi + 0x70]
mov rdi, qword [rdi + 0x78]
mov rdx, rdi
mov rdi, r8
mov rsi, r9
mov r8, rdx
call fcn.00485cc0
mov rcx, qword [rsp + 0x108]
mov rbx, qword [rcx + 0x20]
mov rsi, qword [rcx + 0x30]
mov rdx, rax
movabs rax, 0x431bde82d7b634db
mov rdi, rdx
imul rdx
sar rdx, 0x12
sar rdi, 0x3f
sub rdx, rdi
mov rax, qword [rbx + 0x1c0]
add edx, dword [rsi + 0xe0]
cmp qword [rbx + 0x1c8], 0
jbe 0x5ab79a
mov dword [rax + 0x18], edx
mov rdx, qword [rcx + 0x78]
mov rax, qword [rdx + 0x18]
call fcn.004a8be0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x90], rbx
lea rax, [0x00669f80]
call fcn.0040da20
mov word [rax], 0xfe
mov byte [rax + 2], 0
mov rcx, qword [rsp + 0x60]
mov byte [rax + 3], cl
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rdx + 0x38]
mov edi, 4
mov rsi, rax
mov rax, qword [rsp + 0x90]
mov r8, rbx
mov rbx, rsi
mov rcx, rdi
call r8
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rcx + 0x38]
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
call rdx
mov rcx, qword [rsp + 0x108]
mov rax, qword [rcx + 0x18]
call fcn.005b60a0
mov rdx, qword [rsp + 0x50]
mov rsi, qword [rdx + 0x38]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x90]
call rsi
mov rcx, qword [rsp + 0x108]
mov rax, qword [rcx + 0x20]
call fcn.005b3e40
mov rdx, qword [rsp + 0x50]
mov rsi, qword [rdx + 0x38]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x90]
call rsi
mov rcx, qword [rsp + 0x108]
mov rax, qword [rcx + 0x78]
mov rbx, qword [rcx + 0x50]
mov rdx, qword [rcx + 0x58]
mov rdi, qword [rcx + 0x60]
mov rsi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x90]
mov rcx, rdx
call fcn.005c4800
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x70], rcx
lea rax, [0x00668c60]
call fcn.0040da20
mov rcx, qword [rsp + 0x78]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x70]
mov qword [rax + 0x10], rcx
cmp dword [0x00918a90], 0
jne 0x5ab6d7
mov rdx, qword [rsp + 0xc0]
mov qword [rax], rdx
jmp 0x5ab6e7
mov rdi, rax
mov rdx, qword [rsp + 0xc0]
call fcn.00465720
mov rdx, qword [rsp + 0x108]
mov rsi, qword [rdx + 0x20]
mov rbx, rax
mov ecx, 1
mov rdi, rcx
mov rax, rsi
call fcn.005b3ee0
mov rdx, qword [rsp + 0x108]
jmp 0x5ab2d5
movups xmmword [rdi + 0x1c8], xmm15
cmp dword [0x00918a90], 0
jne 0x5ab731
mov qword [rdi + 0x1c0], 0
jmp 0x5ab73f
add rdi, 0x1c0
xor ecx, ecx
call fcn.00465700
mov rdi, qword [rdx + 0x20]
movups xmmword [rdi + 0x1e0], xmm15
cmp dword [0x00918a90], 0
jne 0x5ab765
mov qword [rdi + 0x1d8], 0
nop
jmp 0x5ab2d5
add rdi, 0x1d8
xor ecx, ecx
call fcn.00465700
jmp 0x5ab2d5
mov rax, qword [rsp + 0xb8]
mov ebx, 0x50
call fcn.005a0360
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
xor eax, eax
mov rcx, rax
nop
call fcn.00465aa0
inc rax
cmp rax, rsi
jge 0x5abba7
movzx r8d, word [rdi + rax*2]
cmp r8w, cx
jne 0x5ab7a5
mov word [rsp + 0x36], cx
mov rsi, qword [rdx + 0x28]
mov rax, qword [rsi]
mov qword [rsp + 0x40], rax
mov rbx, qword [rsi + 8]
mov qword [rsp + 0x88], rbx
mov rsi, qword [0x008b4ee0]
lea rdi, [0x00730ad8]
cmp rax, rdi
jne 0x5ab829
mov rcx, rsi
call fcn.004040a0
test al, al
je 0x5ab80f
movzx ecx, word [rsp + 0x36]
mov rdx, qword [rsp + 0x108]
mov eax, 0x1d
jmp 0x5ab90e
mov rax, qword [rsp + 0x40]
movzx ecx, word [rsp + 0x36]
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [0x008b4ec8]
lea rdi, [0x00730a18]
cmp rax, rdi
jne 0x5ab87f
mov rcx, rsi
nop
call fcn.004040a0
test al, al
je 0x5ab865
movzx ecx, word [rsp + 0x36]
mov rdx, qword [rsp + 0x108]
mov eax, 0x17
nop dword [rax + rax]
jmp 0x5ab90e
mov rax, qword [rsp + 0x40]
movzx ecx, word [rsp + 0x36]
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [0x008b4ed0]
lea rdi, [0x00730a58]
cmp rax, rdi
jne 0x5ab8cc
mov rcx, rsi
call fcn.004040a0
test al, al
je 0x5ab8b2
movzx ecx, word [rsp + 0x36]
mov rdx, qword [rsp + 0x108]
mov eax, 0x18
jmp 0x5ab90e
mov rax, qword [rsp + 0x40]
movzx ecx, word [rsp + 0x36]
mov rdx, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [0x008b4ed8]
lea rdi, [0x00730a98]
cmp rax, rdi
jne 0x5ab90c
mov rcx, rsi
call fcn.004040a0
test al, al
je 0x5ab8ff
movzx ecx, word [rsp + 0x36]
mov rdx, qword [rsp + 0x108]
mov eax, 0x19
jmp 0x5ab90e
movzx ecx, word [rsp + 0x36]
mov rdx, qword [rsp + 0x108]
xor eax, eax
cmp ax, cx
je 0x5abb5d
nop
cmp cx, 0x18
ja 0x5ab931
nop
cmp cx, 0x17
je 0x5ab94a
cmp cx, 0x18
je 0x5ab94a
jmp 0x5abb12
cmp cx, 0x19
je 0x5ab94a
nop word [rax + rax]
cmp cx, 0x1d
jne 0x5abb12
mov rsi, qword [rsp + 0xb8]
mov rdi, qword [rsi + 0x48]
mov r8, qword [rdi]
mov rdi, qword [rdi + 8]
nop dword [rax]
test r8, r8
jne 0x5ab973
mov r8, qword [0x008c37c0]
mov rdi, qword [0x008c37c8]
mov rax, r8
mov rbx, rdi
call fcn.005c4c80
nop
test rbx, rbx
jne 0x5abad6
cmp dword [0x00918a90], 0
jne 0x5ab9a2
mov rcx, qword [rsp + 0x108]
mov qword [rcx + 0x28], rax
nop
jmp 0x5ab9b6
mov rdi, qword [rsp + 0x108]
lea rcx, [rdi + 0x28]
mov rdi, rcx
call fcn.00465600
call fcn.004ed0e0
mov qword [rsp + 0xa0], rax
lea rax, [0x00668480]
call fcn.0040da20
mov rcx, qword [rsp + 0xa0]
mov rdi, qword [rcx + 0x18]
mov rbx, qword [rcx + 0x10]
nop
cmp rdi, 0x85
ja 0x5ab9f3
mov rcx, rdi
mov edx, 0x85
jmp 0x5aba27
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0xc0], rbx
mov rbx, rdi
mov ecx, 0x85
lea rsi, [0x00667c00]
call fcn.0044a700
mov rdx, rcx
mov rdi, rbx
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xc0]
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x80], rax
call fcn.00466460
lea rax, [0x00668d80]
call fcn.0040da20
movzx edx, word [rsp + 0x36]
mov word [rax], dx
mov rdx, qword [rsp + 0x38]
mov qword [rax + 0x10], rdx
mov rdx, qword [rsp + 0x48]
mov qword [rax + 0x18], rdx
cmp dword [0x00918a90], 0
jne 0x5aba7b
mov rcx, qword [rsp + 0x80]
mov qword [rax + 8], rcx
jmp 0x5aba8c
lea rdi, [rax + 8]
mov rcx, qword [rsp + 0x80]
call fcn.00465700
mov rcx, qword [rsp + 0x108]
mov rdi, qword [rcx + 0x20]
mov qword [rdi + 0x190], 1
mov qword [rdi + 0x198], 1
cmp dword [0x00918a90], 0
jne 0x5abac2
mov qword [rdi + 0x188], rax
nop
jmp 0x5abace
add rdi, 0x188
call fcn.00465600
mov rdx, rcx
jmp 0x5ab288
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0x58], rbx
mov rax, qword [rsp + 0xb8]
mov ebx, 0x50
call fcn.005a0360
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
mov rax, qword [rsp + 0xb8]
mov ebx, 0x50
nop
call fcn.005a0360
lea rax, [0x0067fd60]
call fcn.0040da20
mov qword [rax + 8], 0x30
lea rcx, [0x006c9666]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x0072e7e0]
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
mov rax, qword [rsp + 0xb8]
mov ebx, 0x2f
call fcn.005a0360
lea rax, [0x0067fd60]
call fcn.0040da20
mov qword [rax + 8], 0x3b
lea rcx, [0x006cb746]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x0072e7e0]
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
mov rax, qword [rsp + 0xb8]
mov ebx, 0x2f
call fcn.005a0360
lea rax, [0x0067fd60]
call fcn.0040da20
mov qword [rax + 8], 0x26
lea rcx, [0x006c6332]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x0072e7e0]
mov rbp, qword [rsp + 0xf8]
add rsp, 0x100
ret
mov qword [rsp + 8], rax
call fcn.00463440
mov rax, qword [rsp + 8]
jmp fcn.005ab020