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

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
lea rax, [rsp - 0xa8]
nop dword [rax + rax]
cmp rax, qword [rcx + 0x10]
jbe 0x495020
sub rsp, 0x128
mov qword [rsp + 0x120], rbp
lea rbp, [rsp + 0x120]
xorps xmm0, xmm0
movups xmmword [rsp + 0x110], xmm0
mov byte [rsp + 0x46], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x168], xmm0
movzx eax, byte [rsp + 0x160]
test al, al
je 0x494f2f
mov rcx, qword [rsp + 0x138]
test rcx, rcx
jne 0x494ee8
mov edx, 1
test dl, dl
jne 0x494fea
lea rdx, [0x00611b80]
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], 0
mov rdx, qword [rsp + 0x100]
mov qword [rsp + 0xb0], rdx
mov rbx, qword [rsp + 0x150]
lea rsi, [rcx + rbx]
cmp rsi, 4
jle 0x494ec5
cmp rsi, 8
jle 0x494e9f
cmp rsi, 0x10
jle 0x494e7c
nop
cmp rsi, 0x20
jle 0x494e59
cmp rsi, 0x40
jle 0x494e36
nop word [rax + rax]
nop dword [rax]
cmp rsi, 0x80
jg 0x494fce
lea rax, [0x0062e920]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
lea rcx, [rax + 0x38]
mov edx, pe_nt_image_headers64
mov qword [rsp + 0xc8], rax
mov rbx, qword [rsp + 0xb0]
test byte [rbx], al
cmp dword [0x00811460], 0
jne 0x494df5
mov rsi, qword [rbx]
mov qword [rax], rsi
movups xmm0, xmmword [rbx + 8]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [rbx + 0x18]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [rbx + 0x28]
movups xmmword [rax + 0x28], xmm0
mov rbx, qword [rsp + 0x138]
test rbx, rbx
jle 0x494dc9
mov rsi, qword [rsp + 0x130]
xor edi, edi
xor r8d, r8d
xor r9d, r9d
jmp 0x49457a
mov r10, qword [rsp + 0xf8]
lea rsi, [r10 + 0x10]
mov rbx, rdx
mov rdi, rcx
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xd0]
mov r9d, eax
mov rax, qword [rsp + 0xc8]
mov r10, qword [rsi + 8]
mov r11, qword [rsi]
lea r12, [0x006a9ea0]
cmp r12, r11
jne 0x494fad
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0xf8], rsi
lea r11, [r8 + 1]
cmp r11, rdx
ja 0x494d45
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x68], rdx
lea r13, [rcx + r8*8]
cmp dword [0x00811460], 0
jne 0x494d30
mov qword [rcx + r8*8], r10
mov dword [rsp + 0x54], 0
mov eax, dword [r10 + 0x10]
shr eax, 0x18
mov byte [rsp + 0x54], al
mov eax, dword [r10 + 0x10]
shr eax, 0x10
mov byte [rsp + 0x55], al
mov eax, dword [r10 + 0x10]
shr eax, 8
mov byte [rsp + 0x56], al
mov eax, dword [r10 + 0x10]
mov byte [rsp + 0x57], al
mov dword [rsp], r9d
lea rax, [rsp + 0x54]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 4
mov qword [rsp + 0x18], 4
call fcn.00492580
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x78]
inc rcx
mov rdx, qword [rsp + 0x138]
nop dword [rax]
cmp rdx, rcx
jg 0x49454b
movzx ebx, byte [rsp + 0x160]
test bl, bl
mov rcx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0xd0]
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xd0], rdi
jne 0x494cf9
mov byte [rsp + 0x47], 0
mov byte [rsp + 0x47], 0x2e
mov dword [rsp], eax
lea rax, [rsp + 0x47]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 1
mov qword [rsp + 0x18], 1
call fcn.00492580
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x150]
nop word [rax + rax]
test rcx, rcx
jle 0x494cec
mov rdx, qword [rsp + 0x148]
xor ebx, ebx
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0xd0]
jmp 0x494713
mov r9, qword [rsp + 0xf0]
add r9, 0x10
mov rdx, r9
mov rbx, rcx
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x150]
mov r9, qword [rdx + 8]
mov r10, qword [rdx]
lea r11, [0x006a9ea0]
cmp r11, r10
jne 0x494f8c
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0xf0], rdx
lea r10, [rsi + 1]
nop dword [rax + rax]
cmp rdi, r10
jb 0x494c72
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x68], rdi
lea r12, [r8 + rsi*8]
cmp dword [0x00811460], 0
jne 0x494c65
mov qword [r8 + rsi*8], r9
mov dword [rsp + 0x54], 0
mov ecx, dword [r9 + 0x10]
shr ecx, 0x18
mov byte [rsp + 0x54], cl
mov ecx, dword [r9 + 0x10]
shr ecx, 0x10
mov byte [rsp + 0x55], cl
mov ecx, dword [r9 + 0x10]
shr ecx, 8
mov byte [rsp + 0x56], cl
mov ecx, dword [r9 + 0x10]
mov byte [rsp + 0x57], cl
mov dword [rsp], eax
lea rax, [rsp + 0x54]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 4
mov qword [rsp + 0x18], 4
call fcn.00492580
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x78]
inc rcx
mov rdx, qword [rsp + 0x150]
nop dword [rax]
cmp rdx, rcx
jg 0x4946e7
mov rcx, qword [rsp + 0x60]
cmp rcx, 0x32
jg 0x494f70
mov rcx, qword [rsp + 0xc8]
mov byte [rcx + 0x14], 0
mov dword [rcx + 0x10], eax
mov rbx, qword [rsp + 0x138]
mov word [rcx + 0x30], bx
mov word [rcx + 0x32], dx
movzx ebx, byte [rsp + 0x160]
nop
test bl, bl
je 0x49482e
or edx, 0xffff8000
mov word [rcx + 0x32], dx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x50], eax
lea rcx, [0x007cd8e8]
mov qword [rsp], rcx
lea rdx, [0x00613f80]
mov qword [rsp + 8], rdx
lea rbx, [rsp + 0x50]
mov qword [rsp + 0x10], rbx
call fcn.00482f20
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
cmp byte [rsp + 0x28], 0
je 0x494c54
lea rdx, [0x0060fec0]
nop dword [rax + rax]
cmp rdx, rax
jne 0x494f56
mov rbx, qword [rcx]
mov qword [rsp + 0xe8], rbx
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x78], rcx
xor eax, eax
nop
jmp 0x4948c0
mov rsi, qword [rsp + 0x70]
lea rax, [rsi + 1]
mov rcx, qword [rsp + 0x78]
lea rdx, [0x0060fec0]
mov rbx, qword [rsp + 0xe8]
nop
cmp rax, rcx
jge 0x494927
mov qword [rsp + 0x70], rax
mov rcx, qword [rbx + rax*8]
mov qword [rsp + 0x98], rcx
mov rdx, qword [rsp + 0xc8]
mov qword [rsp], rdx
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 1
call fcn.00493540
cmp byte [rsp + 0x18], 0
je 0x4948a2
lea rax, [0x006a9ea0]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x170], rax
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
xor eax, eax
lea rcx, [0x007cd8e0]
mov ebx, 1
lock cmpxchg dword [rcx], ebx
sete cl
nop dword [rax]
test cl, cl
je 0x494c3f
lea rax, fcn.00484860
mov qword [rsp + 0x118], rax
lea rax, [0x007cd8e0]
mov qword [rsp + 0x110], rax
mov byte [rsp + 0x46], 1
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x4c], eax
lea rcx, [0x007cd8e8]
mov qword [rsp], rcx
lea rcx, [0x00613f80]
mov qword [rsp + 8], rcx
lea rcx, [rsp + 0x4c]
mov qword [rsp + 0x10], rcx
call fcn.00482f20
mov rax, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
cmp byte [rsp + 0x28], 0
je 0x494a69
lea rdx, [0x0060fec0]
cmp rdx, rax
jne 0x494f3c
mov rax, qword [rcx]
mov qword [rsp + 0xe0], rax
mov rcx, qword [rcx + 8]
mov qword [rsp + 0x78], rcx
xor edx, edx
jmp 0x4949ec
mov rbx, qword [rsp + 0x70]
lea rdx, [rbx + 1]
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x78]
cmp rcx, rdx
jle 0x494a69
mov qword [rsp + 0x70], rdx
mov rcx, qword [rax + rdx*8]
mov qword [rsp + 0xa0], rcx
mov rbx, qword [rsp + 0xc8]
mov qword [rsp], rbx
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 1
call fcn.00493540
cmp byte [rsp + 0x18], 0
je 0x4949d6
lea rax, [0x006a9ea0]
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x170], rax
mov byte [rsp + 0x46], 0
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
call fcn.00484860
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x88], 0
lea rax, [0x0049da00]
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x88], eax
mov rax, qword [rsp + 0xc8]
mov qword [rsp], rax
call fcn.00495040
mov rax, qword [rsp + 8]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x58], rcx
mov qword [rsp], rax
mov qword [rsp + 8], rcx
call fcn.00493fa0
mov rax, qword [rsp + 0x10]
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x78], rcx
xor edx, edx
jmp 0x494b01
mov rbx, qword [rsp + 0x70]
lea rdx, [rbx + 1]
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x78]
cmp rcx, rdx
jle 0x494b9b
mov qword [rsp + 0x70], rdx
mov rcx, qword [rax + rdx*8]
mov qword [rsp + 0x90], rcx
mov rbx, qword [rsp + 0xc8]
mov qword [rsp], rbx
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 1
call fcn.00493540
cmp byte [rsp + 0x18], 0
je 0x494aeb
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x90]
mov qword [rsp], rcx
lea rdx, [rsp + 0x80]
call rax
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rcx
mov byte [rsp + 0x46], 0
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
call fcn.00484860
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
mov rax, qword [rsp + 0xa8]
mov qword [rsp], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 8], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x10], xmm0
mov byte [rsp + 0x20], 0
nop
call fcn.0048dea0
mov rax, qword [rsp + 0x28]
mov qword [rsp], rax
call fcn.00467b80
mov eax, dword [rsp + 8]
mov rcx, qword [rsp + 0xc8]
mov dword [rcx + 0x28], eax
mov dword [rcx + 0x2c], 0
mov rax, qword [rsp + 0x80]
mov qword [rsp], rcx
lea rdx, [rsp + 0x80]
call rax
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0x10]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], rcx
mov byte [rsp + 0x46], 0
mov rax, qword [rsp + 0x110]
mov qword [rsp], rax
call fcn.00484860
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
lea rax, [0x007cd8e0]
mov qword [rsp], rax
call fcn.00484580
jmp 0x494948
lea rdx, [0x0060fec0]
nop dword [rax + rax]
jmp 0x494927
mov rdi, r12
call fcn.0046cac0
jmp 0x494770
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0xb8], r9
mov dword [rsp + 0x48], eax
lea rax, [0x00654ca0]
mov qword [rsp], rax
mov qword [rsp + 8], r8
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r10
call fcn.0044ddc0
mov r8, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
lea r10, [rax + 1]
mov eax, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x60]
mov r9, qword [rsp + 0xb8]
lea r11, [0x006a9ea0]
jmp 0x494749
mov rdx, rcx
mov rcx, qword [rsp + 0x60]
jmp 0x4947ee
mov byte [rsp + 0x47], 0
mov byte [rsp + 0x47], 0x76
mov dword [rsp], eax
lea rax, [rsp + 0x47]
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 1
mov qword [rsp + 0x18], 1
call fcn.00492580
mov eax, dword [rsp + 0x20]
jmp 0x49467d
mov rdi, r13
mov rax, r10
call fcn.0046c920
nop dword [rax + rax]
jmp 0x4945d2
mov qword [rsp + 0xc0], r10
mov qword [rsp + 0x60], r8
mov dword [rsp + 0x48], r9d
lea rax, [0x00654ca0]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], rdx
mov qword [rsp + 0x20], r11
call fcn.0044ddc0
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
lea r11, [rax + 1]
mov rax, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0x138]
mov rsi, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x60]
mov r9d, dword [rsp + 0x48]
mov r10, qword [rsp + 0xc0]
lea r12, [0x006a9ea0]
jmp 0x4945ab
movzx r8d, byte [rsp + 0x160]
test r8b, r8b
mov ebx, r8d
mov eax, 0
mov rsi, rdx
mov rdi, rcx
mov rdx, qword [rsp + 0x138]
mov ecx, 0
jmp 0x494665
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0xd0], rcx
lea rcx, [0x00636c20]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00415320
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x68]
jmp 0x494528
lea rax, [0x0062eba0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
lea rcx, [rax + 0x38]
mov edx, 0x40
jmp 0x4944eb
lea rax, [0x0062ea60]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
lea rcx, [rax + 0x38]
mov edx, 0x20
jmp 0x4944eb
lea rax, [0x0062e9c0]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
lea rcx, [rax + 0x38]
mov edx, 0x10
jmp 0x4944eb
lea rax, [0x0062ec40]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
lea rcx, [rax + 0x38]
mov edx, 8
nop dword [rax]
jmp 0x4944eb
lea rax, [0x0062eb00]
mov qword [rsp], rax
call fcn.0040e560
mov rax, qword [rsp + 8]
lea rcx, [rax + 0x38]
mov edx, 4
jmp 0x4944eb
lea rax, [rcx - 1]
shl rax, 4
mov rdx, qword [rsp + 0x130]
mov rbx, qword [rdx + rax]
mov rax, qword [rdx + rax + 8]
mov rbx, qword [rbx + 0x98]
mov qword [rsp], rax
call rbx
cmp qword [rsp + 8], 0x17
setne dl
movzx eax, byte [rsp + 0x160]
mov rcx, qword [rsp + 0x138]
xorps xmm0, xmm0
jmp 0x494442
mov rcx, qword [rsp + 0x138]
jmp 0x49444a
mov qword [rsp], rax
mov qword [rsp + 8], rdx
lea rax, [0x0061a280]
mov qword [rsp + 0x10], rax
call fcn.0040b2a0
mov qword [rsp], rax
mov qword [rsp + 8], rdx
lea rax, [0x0061a280]
mov qword [rsp + 0x10], rax
call fcn.0040b2a0
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a16c0]
mov qword [rsp + 8], rax
call fcn.00438920
mov qword [rsp], r10
lea rax, [0x00654ca0]
mov qword [rsp + 8], rax
lea rax, [0x0064d320]
mov qword [rsp + 0x10], rax
call fcn.0040b380
mov qword [rsp], r11
lea rax, [0x00654ca0]
mov qword [rsp + 8], rax
lea rax, [0x0064d320]
mov qword [rsp + 0x10], rax
call fcn.0040b380
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a16b0]
mov qword [rsp + 8], rax
call fcn.00438920
lea rax, [0x00613e40]
mov qword [rsp], rax
lea rax, [0x006a16a0]
mov qword [rsp + 8], rax
call fcn.00438920
nop
call fcn.00437960
mov rbp, qword [rsp + 0x120]
add rsp, 0x128
ret
call fcn.0046abe0
jmp fcn.004943c0