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

Disassembly:
lea r12, [rsp - 0x50]
cmp r12, qword [r14 + 0x10]
jbe 0x418b7c
sub rsp, 0xd0
mov qword [rsp + 0xc8], rbp
lea rbp, [rsp + 0xc8]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rdi
cmp dword [0x00918e10], 0
je 0x41851f
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x418b6a
movzx ecx, byte [rax + 0x17]
and ecx, 0x1f
nop word [rax + rax]
cmp cl, 0x16
jne 0x418b36
cmp qword [rax + 0x30], 0
je 0x418b25
mov qword [rsp + 0x78], rax
mov rax, rbx
nop dword [rax]
call fcn.004044c0
test al, al
jne 0x418b13
mov rax, qword [rsp + 0xe0]
xor ebx, ebx
mov rcx, rbx
call fcn.004145e0
nop
test rax, rax
jne 0x4185b5
mov rcx, qword [rsp + 0xe0]
lea rdx, [0x00918838]
cmp rcx, rdx
je 0x4185a5
lea rax, [0x0088d440]
jmp 0x418a98
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov rcx, qword [rsp + 0xe0]
mov rdx, rcx
cmp rax, rcx
je 0x4185f1
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax + 0x30]
test rsi, rsi
je 0x418a7d
cmp qword [rsi + 8], 0
nop dword [rax]
jne 0x418a7d
cmp qword [rsi], 0x10
jb 0x4185f6
jmp 0x418a7d
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xe8]
nop
test rsi, rsi
je 0x4187f0
movzx edi, byte [rsi + 0x17]
and edi, 0x1f
cmp dil, 0x13
jne 0x418a4a
mov qword [rsp + 0x68], rsi
movzx edi, word [rsi + 0x32]
test di, 0x8000
jne 0x4189de
cmp word [rsi + 0x30], 1
jne 0x41898a
movzx edi, byte [rsi + 0x14]
nop dword [rax]
test dil, 1
je 0x41864d
mov ecx, 0x48
jmp 0x418652
mov ecx, 0x38
mov rdi, qword [rsi + rcx]
mov qword [rsp + 0x70], rdi
nop dword [rax + rax]
cmp rdi, rax
je 0x41879d
movzx r8d, byte [rdi + 0x17]
and r8d, 0x1f
cmp r8b, 0x16
jne 0x418760
movzx edx, byte [rdi + 0x14]
test dl, 1
jne 0x418689
xor edx, edx
jmp 0x4186cc
mov ecx, 5
lea rdx, [0x007314c0]
jmp qword [rdx + rcx*8]
test rdx, rdx
je 0x418735
movzx edx, byte [rax + 0x14]
test dl, 1
jne 0x4186de
xor edx, edx
jmp 0x41872d
movzx edx, byte [rax + 0x17]
and edx, 0x1f
add rdx, 0xffffffffffffffef
cmp rdx, 8
ja 0x418729
lea rcx, [0x00731520]
jmp qword [rcx + rdx*8]
lea rdx, [rax + 0x30]
test rdx, rdx
sete dl
jmp 0x418740
mov edx, 1
nop word [rax + rax]
test dl, dl
je 0x41892e
mov rdx, qword [rdi + 0x30]
cmp qword [rax + 0x30], rdx
je 0x41879d
jmp 0x41892e
cmp r8b, 0x14
jne 0x41892e
cmp qword [rdi + 0x40], 0
je 0x41879d
mov rbx, qword [rsp + 0xd8]
mov rax, rdi
mov rcx, rdx
nop
call fcn.0040b480
test rax, rax
je 0x41892e
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
movzx edx, byte [rsi + 0x14]
test dl, 1
je 0x4187ad
mov ecx, 0x48
jmp 0x4187b2
mov ecx, 0x38
movzx edx, word [rsi + 0x32]
and edx, 0x7fff
movzx ebx, word [rsi + 0x30]
add edx, ebx
add rsi, rcx
movzx ecx, dx
cmp rbx, rcx
ja 0x418927
sub rcx, rbx
lea rdx, [rbx - 0x100000]
shl rbx, 3
sar rdx, 0x3f
and rbx, rdx
lea rdx, [rsi + rbx]
xor ebx, ebx
xor esi, esi
jmp 0x418868
movups xmmword [rsp + 0x88], xmm15
lea rax, [0x00418c20]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x88]
mov qword [rsp], rax
call fcn.00463300
xorps xmm15, xmm15
mov r14, qword [0x00918820]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov r8, qword [rdx + rbx*8]
inc rbx
movzx r9d, byte [r8 + 0x15]
lea r10, [rsi - 1]
lea rsi, [r9 + r10]
neg r9
and rsi, r9
add rsi, qword [r8]
cmp rbx, rcx
jl 0x41884b
mov qword [rsp + 0x58], rsi
call fcn.00417f60
movups xmmword [rsp + 0x98], xmm15
movups xmmword [rsp + 0xa8], xmm15
movups xmmword [rsp + 0xb8], xmm15
lea rax, [0x00418bc0]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x58]
add rax, 7
and rax, 0xfffffffffffffff8
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0x98]
mov qword [rsp], rax
nop dword [rax]
call fcn.00463300
xorps xmm15, xmm15
mov r14, qword [0x00918820]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov eax, ebx
call fcn.00465b60
mov rax, qword [rsp + 0x78]
call fcn.0045b060
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x68]
call fcn.0045b060
mov ecx, 0x22
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x60]
lea r8, [0x006bb1c8]
mov r9d, 0xe
mov r10, rax
mov r11, rbx
xor eax, eax
lea rbx, [0x006c471f]
nop dword [rax]
call fcn.0044e6c0
call fcn.00436a00
call fcn.0045b060
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x68]
call fcn.0045b060
mov ecx, 0x22
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x60]
lea r8, [0x006bb1c8]
mov r9d, 0xe
mov r10, rax
mov r11, rbx
xor eax, eax
lea rbx, [0x006c471f]
call fcn.0044e6c0
call fcn.00436a00
nop
call fcn.0045b060
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x68]
call fcn.0045b060
lea rcx, [0x006bc80c]
mov qword [rsp], rcx
mov qword [rsp + 8], 0x12
mov ecx, 0x22
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x60]
lea r8, [0x006bb1c8]
mov r9d, 0xe
mov r10, rax
mov r11, rbx
xor eax, eax
lea rbx, [0x006c471f]
nop
call fcn.0044e7c0
call fcn.00436a00
mov rax, rsi
call fcn.0045b060
mov ecx, 0x29
mov rdi, rax
mov rsi, rbx
lea r8, [0x006bbc21]
mov r9d, 0x10
xor eax, eax
lea rbx, [0x006c735c]
call fcn.0044e5e0
call fcn.00436a00
lea rax, [0x006cc1b8]
mov ebx, 0x41
call fcn.00436a00
mov rax, qword [rax + 0x230]
mov rcx, rdx
test rax, rax
je 0x418b02
mov rdx, rcx
cmp qword [rax + 0xc0], rcx
ja 0x418ab2
cmp qword [rax + 0xc8], rcx
ja 0x418af2
cmp qword [rax + 0xd0], rcx
ja 0x418ac9
nop dword [rax + rax]
cmp qword [rax + 0xd8], rcx
ja 0x418af2
cmp qword [rax + 0xe0], rcx
ja 0x418ae0
cmp qword [rax + 0xe8], rcx
ja 0x418af2
nop dword [rax + rax]
cmp qword [rax + 0xf0], rcx
ja 0x418a8e
cmp qword [rax + 0xf8], rcx
jbe 0x418a8e
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
lea rax, [0x006ca4ff]
mov ebx, 0x34
call fcn.00436a00
lea rax, [0x006cc033]
mov ebx, 0x40
nop
call fcn.00436a00
lea rax, [0x006bb502]
mov ebx, 0xe
call fcn.00436a00
call fcn.0045b060
mov ecx, 0x28
mov rdi, rax
mov rsi, rbx
lea r8, [0x006bad31]
mov r9d, 0xd
xor eax, eax
lea rbx, [0x006c6e46]
nop dword [rax]
call fcn.0044e5e0
call fcn.00436a00
lea rax, [0x006c7cec]
mov ebx, 0x2b
call fcn.00436a00
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004184c0