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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0x180]
cmp rax, qword [rcx + 0x10]
jbe 0x4a1e5a
sub rsp, 0x200
mov qword [rsp + 0x1f8], rbp
lea rbp, [rsp + 0x1f8]
mov rax, qword [rsp + 0x208]
movzx ecx, byte [rax + 0x17]
and ecx, 0x1f
cmp rcx, 0x13
jne 0x4a1e08
mov rcx, qword [rsp + 0x210]
test rcx, rcx
je 0x4a1230
movzx edx, byte [rcx + 0x17]
and edx, 0x1f
cmp rdx, 0x14
je 0x4a1d78
lea rdx, [0x00897a40]
mov qword [rsp], rdx
call fcn.0045b710
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x150], rax
mov rcx, qword [rsp + 0x210]
mov qword [rsp + 0x158], rcx
lea rdx, [0x00682c80]
mov qword [rsp], rdx
mov rbx, qword [0x00897a58]
mov qword [rsp + 8], rbx
lea rbx, [rsp + 0x150]
mov qword [rsp + 0x10], rbx
call fcn.00407e20
mov rax, qword [rsp + 0x18]
mov rcx, qword [rax]
mov qword [rsp + 0x1a8], rcx
lea rsi, [rax + 8]
lea rdi, [rsp + 0x1b0]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004551c4
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x1a8]
test rax, rax
jne 0x4a1d08
lea rax, [0x00897a40]
mov qword [rsp], rax
call fcn.0045b770
lea rax, [0x00897a40]
mov qword [rsp], rax
call fcn.0045b810
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x140], rax
mov rcx, qword [rsp + 0x210]
mov qword [rsp + 0x148], rcx
lea rdx, [0x00682c80]
mov qword [rsp], rdx
mov rbx, qword [0x00897a58]
mov qword [rsp + 8], rbx
lea rbx, [rsp + 0x140]
mov qword [rsp + 0x10], rbx
call fcn.00407e20
mov rax, qword [rsp + 0x18]
mov rcx, qword [rax]
mov qword [rsp + 0x180], rcx
lea rsi, [rax + 8]
lea rdi, [rsp + 0x188]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004551c4
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x180]
test rax, rax
jne 0x4a1c98
lea rax, [0x00696140]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xf0], rax
mov rcx, qword [rsp + 0x210]
test rcx, rcx
je 0x4a1c8e
movzx edx, byte [rcx + 0x17]
test dl, 0x20
jne 0x4a1c7d
mov edx, dword [rax]
test edx, 7
jne 0x4a13e8
mov rdx, qword [rax + 0x10]
mov rbx, qword [rax + 0x18]
mov rsi, qword [rax + 8]
lea rdi, [rax + 8]
mov qword [rsp + 0x128], rdi
lea r8, [rdx + 1]
cmp r8, rbx
jg 0x4a1be4
lea rbx, [rdx + 1]
mov qword [rax + 0x10], rbx
mov byte [rsi + rdx], 0
mov edx, dword [rax]
mov rbx, qword [rax + 8]
mov rsi, qword [rax + 0x10]
mov edi, edx
shr edx, 3
cmp rdx, rsi
jae 0x4a1bdd
movzx esi, byte [rbx + rdx]
and edi, 7
mov r8, rcx
mov ecx, edi
mov r9d, 1
shl r9d, cl
or esi, r9d
mov byte [rbx + rdx], sil
mov edx, dword [rax]
inc edx
mov dword [rax], edx
mov rcx, 8
mov rdx, qword [rsp + 0x208]
movzx ebx, byte [rdx + 0x14]
test bl, 1
je 0x4a1bd1
mov rbx, 0x48
add rbx, rdx
test byte [rbx], al
movzx esi, word [rdx + 0x30]
mov qword [rsp + 0x98], rsi
cmp rsi, 0x100000
ja 0x4a1bca
xor edi, edi
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0x78], rcx
cmp rdi, rsi
jge 0x4a150e
mov r9, qword [rbx]
mov qword [rsp + 0xf8], r9
movzx r10d, byte [r9 + 0x15]
mov qword [rsp], rax
mov r11, rcx
neg rcx
dec r10d
movzx r10d, r10b
and rcx, r10
add rcx, r11
mov qword [rsp + 0x78], rcx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], r9
call fcn.004a1e70
mov rax, qword [rsp + 0x120]
lea rbx, [rax + 8]
mov rax, qword [rsp + 0x90]
lea rdi, [rax + 1]
mov rax, qword [rsp + 0xf8]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x78]
add rcx, rax
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0x208]
mov rsi, qword [rsp + 0x98]
mov r8, qword [rsp + 0x210]
jmp 0x4a1465
mov ebx, dword [rax]
mov dword [rsp + 0x6c], ebx
mov rsi, rcx
neg rcx
and rcx, 7
add rcx, rsi
mov qword [rsp + 0x88], rcx
movzx edi, byte [rdx + 0x14]
test dil, 1
je 0x4a1bbe
mov rdi, 0x48
add rdi, rdx
test byte [rdi], al
movzx r9d, word [rdx + 0x32]
movzx r10d, word [rdx + 0x30]
and r9d, 0x7fff
add r9d, r10d
movzx r10d, r10w
movzx r9d, r9w
cmp r10, r9
ja 0x4a1bb7
sub r9, r10
mov qword [rsp + 0x70], r9
lea r11, [r10 - 0x100000]
neg r11
shl r10, 3
dec r11
sar r11, 0x3f
xor r11, 0xffffffffffffffff
and r10, r11
add rdi, r10
mov r10, rcx
xor r11d, r11d
mov qword [rsp + 0x98], r11
mov qword [rsp + 0x120], rdi
mov qword [rsp + 0x80], rcx
cmp r11, r9
jge 0x4a1656
mov r12, qword [rdi]
mov qword [rsp + 0xe8], r12
movzx r13d, byte [r12 + 0x15]
mov qword [rsp], rax
mov r14, rcx
neg rcx
dec r13d
movzx r13d, r13b
and rcx, r13
add rcx, r14
mov qword [rsp + 0x80], rcx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], r12
call fcn.004a1e70
mov rax, qword [rsp + 0x120]
lea rdi, [rax + 8]
mov rax, qword [rsp + 0x98]
lea r11, [rax + 1]
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0x208]
mov ebx, dword [rsp + 0x6c]
mov rsi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x210]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x88]
jmp 0x4a1595
lea rdi, [0x006bea40]
mov qword [rsp], rdi
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0xe0], rax
mov byte [rax + 0x15], 8
mov rcx, qword [rsp + 0x80]
mov rdx, rcx
neg rcx
and rcx, 7
add rcx, rdx
mov qword [rax], rcx
mov rcx, qword [rsp + 0xf0]
mov edx, dword [rcx]
shl rdx, 3
mov qword [rax + 8], rdx
mov edx, dword [rcx]
test edx, edx
jbe 0x4a1b9d
mov rdx, qword [rcx + 0x10]
mov rbx, qword [rcx + 8]
test rdx, rdx
jbe 0x4a1b96
mov edx, dword [0x008b4340]
lea rsi, [rax + 0x20]
test edx, edx
jne 0x4a1b68
mov qword [rax + 0x20], rbx
mov rdx, qword [rsp + 0x210]
test rdx, rdx
mov ebx, dword [rsp + 0x6c]
mov dword [rcx], ebx
je 0x4a1af9
mov qword [rsp], rdx
call fcn.00499490
mov rax, qword [rsp + 8]
mov qword [rsp + 0x118], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x98], rcx
mov rdx, qword [rsp + 0x208]
mov qword [rsp], rdx
call fcn.00499490
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
lea rdx, [rsp + 0xc0]
mov qword [rsp], rdx
lea rdx, [0x006d13bf]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0xb
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x20], rdx
lea rdx, [0x006cf2d5]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], 2
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rcx
lea rax, [0x006cf296]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 1
call fcn.00442620
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0
mov qword [rsp + 0x18], 0
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov byte [rsp + 0x30], 0
call fcn.00498dc0
mov rax, qword [rsp + 0x38]
mov qword [rsp], rax
call fcn.00499260
mov eax, dword [rsp + 8]
mov rcx, qword [rsp + 0xe0]
mov dword [rcx + 0x28], eax
mov rax, qword [0x00897a58]
test rax, rax
je 0x4a1a94
lea rax, [0x006a9720]
mov qword [rsp], rax
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x110], rax
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
lea rcx, [0x00690320]
mov qword [rsp], rcx
call fcn.0040f840
mov rax, qword [rsp + 8]
mov qword [rsp + 0x108], rax
lea rcx, [0x004a9150]
mov qword [rax], rcx
test byte [rax], al
mov ecx, dword [0x008b4340]
lea rdx, [rax + 8]
mov rbx, qword [rsp + 0x110]
lea rsi, [rbx + 0x10]
mov qword [rsp + 0x100], rsi
test ecx, ecx
jne 0x4a1a59
mov rcx, qword [rsp + 0xe0]
mov qword [rax + 8], rcx
test byte [rbx], al
mov edx, dword [0x008b4340]
test edx, edx
jne 0x4a1a36
mov qword [rbx + 0x10], rax
mov rax, qword [rsp + 0x208]
mov qword [rsp + 0x130], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x138], rax
mov rax, qword [0x006f1040]
mov qword [rsp + 0x1d0], rax
lea rdi, [rsp + 0x1d8]
lea rsi, [0x006f1048]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004551c4
mov rbp, qword [rbp]
mov qword [rsp + 0x1d0], rcx
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x1d8], rax
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x1e0], rdx
mov r8, qword [rsp + 0xf0]
mov qword [rsp + 0x1e8], r8
mov qword [rsp + 0x1f0], rbx
lea r9, [0x00682c80]
mov qword [rsp], r9
mov r9, qword [0x00897a58]
mov qword [rsp + 8], r9
lea r9, [rsp + 0x130]
mov qword [rsp + 0x10], r9
call fcn.00408570
mov rax, qword [rsp + 0x18]
test byte [rax], al
mov ecx, dword [0x008b4340]
test ecx, ecx
jne 0x4a1a0f
mov rcx, qword [rsp + 0x1d0]
mov qword [rax], rcx
lea rdi, [rax + 8]
lea rsi, [rsp + 0x1d8]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004551c4
mov rbp, qword [rbp]
lea rax, [0x00897a40]
mov qword [rsp], rax
call fcn.0045b890
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x218], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x228], rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x238], rax
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
lea rcx, [0x006ad800]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x10], rax
call fcn.004103b0
jmp 0x4a19a2
mov qword [rsp], rsi
mov qword [rsp + 8], rax
call fcn.00410240
mov rcx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x110]
jmp 0x4a18ac
mov qword [rsp], rdx
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 8], rcx
call fcn.00410240
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x100]
jmp 0x4a1898
lea rax, [0x00682c80]
mov qword [rsp], rax
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], 0
mov qword [rsp + 0x18], 0
call fcn.00407900
mov eax, dword [0x008b4340]
mov rcx, qword [rsp + 0x20]
test eax, eax
jne 0x4a1ae2
mov qword [0x00897a58], rcx
mov rcx, qword [rsp + 0xe0]
jmp 0x4a1809
lea rax, [0x00897a58]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.00410240
jmp 0x4a1ad5
mov rbx, qword [rsp + 0x208]
mov qword [rsp], rbx
call fcn.00499490
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
lea rdx, [rsp + 0xa0]
mov qword [rsp], rdx
lea rdx, [0x006d09c3]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 9
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
lea rax, [0x006cf296]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 1
call fcn.00442520
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
jmp 0x4a17a5
mov qword [rsp], rsi
mov qword [rsp + 8], rbx
call fcn.00410240
mov rdx, qword [rsp + 0x210]
test rdx, rdx
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xf0]
jmp 0x4a16dd
call fcn.004293e0
ud2
movzx ebx, byte [rax + 0x17]
or ebx, 0xffffff80
mov byte [rax + 0x17], bl
mov rdx, qword [rsp + 0x210]
test rdx, rdx
jmp 0x4a16dd
call fcn.00429450
ud2
mov rdi, 0x38
jmp 0x4a153e
call fcn.00429450
ud2
mov rbx, 0x38
jmp 0x4a1445
call fcn.004293e0
ud2
lea r9, [0x0066fcc0]
mov qword [rsp], r9
mov qword [rsp + 8], rsi
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r8
call fcn.0043e790
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x98], rcx
mov rdx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0xf0]
mov qword [rbx + 0x18], rdx
mov edx, dword [0x008b4340]
test edx, edx
jne 0x4a1c55
mov qword [rbx + 8], rax
mov rsi, qword [rbx + 8]
mov rax, rbx
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0x98]
jmp 0x4a13dc
mov rdx, qword [rsp + 0x128]
mov qword [rsp], rdx
mov qword [rsp + 8], rax
call fcn.00410240
mov rcx, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xf0]
jmp 0x4a1c39
test dl, 0x80
je 0x4a13ad
mov r8, rcx
jmp 0x4a1422
mov r8, rcx
xor ecx, ecx
jmp 0x4a1429
lea rax, [0x00897a40]
mov qword [rsp], rax
call fcn.0045b890
mov rax, qword [rsp + 0x180]
mov rcx, qword [rsp + 0x188]
mov rdx, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x198]
mov rsi, qword [rsp + 0x1a0]
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x228], rdx
mov qword [rsp + 0x230], rbx
mov qword [rsp + 0x238], rsi
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
lea rax, [0x00897a40]
mov qword [rsp], rax
call fcn.0045b770
mov rax, qword [rsp + 0x1a8]
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x1c0]
mov rsi, qword [rsp + 0x1c8]
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x228], rdx
mov qword [rsp + 0x230], rbx
mov qword [rsp + 0x238], rsi
mov rbp, qword [rsp + 0x1f8]
add rsp, 0x200
ret
mov qword [rsp], rcx
call fcn.00499490
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 8]
mov qword [rsp], 0
lea rdx, [0x006dbd9f]
mov qword [rsp + 8], rdx
mov qword [rsp + 0x10], 0x2c
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rax
call fcn.004424a0
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], rax
lea rax, [0x0066fb00]
mov qword [rsp], rax
lea rax, [rsp + 0x160]
mov qword [rsp + 8], rax
call fcn.0040ccd0
mov rax, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.0042a540
ud2
lea rax, [0x006d9ef0]
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], 0x24
lea rax, [0x0066fb00]
mov qword [rsp], rax
lea rax, [rsp + 0x170]
mov qword [rsp + 8], rax
call fcn.0040ccd0
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x10]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
call fcn.0042a540
ud2
call fcn.00452210
jmp fcn.004a11c0