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

Disassembly:
lea r12, [rsp - 0x50]
cmp r12, qword [r14 + 0x10]
jbe 0x418c1c
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 [0x00a053b0], 0
je 0x4185bf
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x418c0a
movzx ecx, byte [rax + 0x17]
and ecx, 0x1f
nop word [rax + rax]
cmp cl, 0x16
jne 0x418bd6
cmp qword [rax + 0x30], 0
je 0x418bc5
mov qword [rsp + 0x78], rax
mov rax, rbx
nop dword [rax]
call fcn.00404400
test al, al
jne 0x418bb3
mov rax, qword [rsp + 0xe0]
xor ebx, ebx
mov rcx, rbx
call fcn.00414680
nop
test rax, rax
jne 0x418655
mov rcx, qword [rsp + 0xe0]
lea rdx, [0x00a04c58]
cmp rcx, rdx
je 0x418645
lea rax, [0x0097ba40]
jmp 0x418b38
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov rcx, qword [rsp + 0xe0]
mov rdx, rcx
cmp rax, rcx
je 0x418691
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax + 0x30]
test rsi, rsi
je 0x418b1d
cmp qword [rsi + 8], 0
nop dword [rax]
jne 0x418b1d
cmp qword [rsi], 0x10
jb 0x418696
jmp 0x418b1d
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xe8]
nop
test rsi, rsi
je 0x418890
movzx edi, byte [rsi + 0x17]
and edi, 0x1f
cmp dil, 0x13
jne 0x418aea
mov qword [rsp + 0x68], rsi
movzx edi, word [rsi + 0x32]
test di, 0x8000
jne 0x418a7e
cmp word [rsi + 0x30], 1
jne 0x418a2a
movzx edi, byte [rsi + 0x14]
nop dword [rax]
test dil, 1
je 0x4186ed
mov ecx, 0x48
jmp 0x4186f2
mov ecx, 0x38
mov rdi, qword [rsi + rcx]
mov qword [rsp + 0x70], rdi
nop dword [rax + rax]
cmp rdi, rax
je 0x41883d
movzx r8d, byte [rdi + 0x17]
and r8d, 0x1f
cmp r8b, 0x16
jne 0x418800
movzx edx, byte [rdi + 0x14]
test dl, 1
jne 0x418729
xor edx, edx
jmp 0x41876c
mov ecx, 5
lea rdx, [0x007f4f80]
jmp qword [rdx + rcx*8]
test rdx, rdx
je 0x4187d5
movzx edx, byte [rax + 0x14]
test dl, 1
jne 0x41877e
xor edx, edx
jmp 0x4187cd
movzx edx, byte [rax + 0x17]
and edx, 0x1f
add rdx, 0xffffffffffffffef
cmp rdx, 8
ja 0x4187c9
lea rcx, [0x007f4fe0]
jmp qword [rcx + rdx*8]
lea rdx, [rax + 0x30]
test rdx, rdx
sete dl
jmp 0x4187e0
mov edx, 1
nop word [rax + rax]
test dl, dl
je 0x4189ce
mov rdx, qword [rdi + 0x30]
cmp qword [rax + 0x30], rdx
je 0x41883d
jmp 0x4189ce
cmp r8b, 0x14
jne 0x4189ce
cmp qword [rdi + 0x40], 0
je 0x41883d
mov rbx, qword [rsp + 0xd8]
mov rax, rdi
mov rcx, rdx
nop
call fcn.0040b500
test rax, rax
je 0x4189ce
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
movzx edx, byte [rsi + 0x14]
test dl, 1
je 0x41884d
mov ecx, 0x48
jmp 0x418852
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 0x4189c7
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 0x418908
movups xmmword [rsp + 0x88], xmm15
lea rax, [0x00418cc0]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x88]
mov qword [rsp], rax
call fcn.00463720
xorps xmm15, xmm15
mov r14, qword [0x00a04c40]
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 rsi, [rsi + r9]
lea rsi, [rsi - 1]
neg r9
and rsi, r9
add rsi, qword [r8]
cmp rbx, rcx
jl 0x4188eb
mov qword [rsp + 0x58], rsi
call fcn.00418000
movups xmmword [rsp + 0x98], xmm15
movups xmmword [rsp + 0xa8], xmm15
movups xmmword [rsp + 0xb8], xmm15
lea rax, [0x00418c60]
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.00463720
xorps xmm15, xmm15
mov r14, qword [0x00a04c40]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov eax, ebx
call fcn.00465f80
mov rax, qword [rsp + 0x78]
call fcn.0045afe0
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x68]
call fcn.0045afe0
mov ecx, 0x22
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x60]
lea r8, [0x0071ce5c]
mov r9d, 0xe
mov r10, rax
mov r11, rbx
xor eax, eax
lea rbx, [0x0072834f]
nop dword [rax]
call fcn.0044e9e0
call fcn.00436d20
call fcn.0045afe0
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x68]
call fcn.0045afe0
mov ecx, 0x22
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x60]
lea r8, [0x0071ce5c]
mov r9d, 0xe
mov r10, rax
mov r11, rbx
xor eax, eax
lea rbx, [0x0072834f]
call fcn.0044e9e0
call fcn.00436d20
nop
call fcn.0045afe0
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x68]
call fcn.0045afe0
lea rcx, [0x0071ea37]
mov qword [rsp], rcx
mov qword [rsp + 8], 0x12
mov ecx, 0x22
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x60]
lea r8, [0x0071ce5c]
mov r9d, 0xe
mov r10, rax
mov r11, rbx
xor eax, eax
lea rbx, [0x0072834f]
nop
call fcn.0044eae0
call fcn.00436d20
mov rax, rsi
call fcn.0045afe0
mov ecx, 0x29
mov rdi, rax
mov rsi, rbx
lea r8, [0x0071db69]
mov r9d, 0x10
xor eax, eax
lea rbx, [0x0072b482]
call fcn.0044e900
call fcn.00436d20
lea rax, [0x0073097d]
mov ebx, 0x41
call fcn.00436d20
mov rax, qword [rax + 0x230]
mov rcx, rdx
test rax, rax
je 0x418ba2
mov rdx, rcx
cmp qword [rax + 0xc0], rcx
ja 0x418b52
cmp qword [rax + 0xc8], rcx
ja 0x418b92
cmp qword [rax + 0xd0], rcx
ja 0x418b69
nop dword [rax + rax]
cmp qword [rax + 0xd8], rcx
ja 0x418b92
cmp qword [rax + 0xe0], rcx
ja 0x418b80
cmp qword [rax + 0xe8], rcx
ja 0x418b92
nop dword [rax + rax]
cmp qword [rax + 0xf0], rcx
ja 0x418b2e
cmp qword [rax + 0xf8], rcx
jbe 0x418b2e
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
lea rax, [0x0072ea0c]
mov ebx, 0x34
call fcn.00436d20
lea rax, [0x007307b8]
mov ebx, 0x40
nop
call fcn.00436d20
lea rax, [0x0071d310]
mov ebx, 0xe
call fcn.00436d20
call fcn.0045afe0
mov ecx, 0x28
mov rdi, rax
mov rsi, rbx
lea r8, [0x0071c7fe]
mov r9d, 0xd
xor eax, eax
lea rbx, [0x0072aef1]
nop dword [rax]
call fcn.0044e900
call fcn.00436d20
lea rax, [0x0072bf8f]
mov ebx, 0x2b
call fcn.00436d20
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00463860
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00418560