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

Disassembly:
lea r12, [rsp - 0x50]
cmp r12, qword [r14 + 0x10]
jbe 0x4187a7
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 [0x00630a30], 0
jne 0x418469
mov rax, qword [rsp + 0xd8]
nop dword [rax + rax]
test rax, rax
je 0x418795
movzx edx, byte [rax + 0x17]
and edx, 0x1f
cmp dl, 0x16
jne 0x418765
cmp qword [rax + 0x30], 0
nop
je 0x418753
mov qword [rsp + 0x78], rax
mov rax, rbx
xor ebx, ebx
mov rcx, rbx
call fcn.004135a0
test rax, rax
jne 0x41824d
mov rcx, qword [rsp + 0xe0]
lea rdx, [0x00630668]
cmp rcx, rdx
je 0x41823d
lea rax, [0x005c8ec0]
jmp 0x4186cf
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov rcx, qword [rsp + 0xe0]
mov rdx, rcx
cmp rax, rcx
je 0x418287
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax + 0x30]
test rsi, rsi
je 0x4186b0
cmp qword [rsi + 8], 0
jne 0x4186b0
cmp qword [rsi], 0x10
nop
jb 0x41828c
jmp 0x4186b0
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xe8]
test rsi, rsi
je 0x41840b
movzx edi, byte [rsi + 0x17]
and edi, 0x1f
cmp dil, 0x13
jne 0x41867c
mov qword [rsp + 0x68], rsi
movzx edi, word [rsi + 0x32]
nop word [rax + rax]
test di, 0x8000
jne 0x418614
cmp word [rsi + 0x30], 1
jne 0x4185bc
movzx edi, byte [rsi + 0x14]
nop word [rax + rax]
test dil, 1
je 0x4182ed
mov ecx, 0x48
jmp 0x4182f2
mov ecx, 0x38
mov rdi, qword [rsi + rcx]
mov qword [rsp + 0x70], rdi
nop dword [rax + rax]
cmp rdi, rax
je 0x4183b3
movzx r8d, byte [rdi + 0x17]
and r8d, 0x1f
cmp r8b, 0x16
je 0x418362
nop dword [rax + rax]
cmp r8b, 0x14
jne 0x41855a
cmp qword [rdi + 0x40], 0
je 0x4183b3
mov rbx, qword [rsp + 0xd8]
mov rax, rdi
mov rcx, rdx
call fcn.0040ac80
test rax, rax
je 0x4185b5
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x70]
jmp 0x4183b3
mov rax, rdi
call fcn.0045ade0
test rax, rax
jne 0x418376
mov ecx, 1
jmp 0x41838b
mov rax, qword [rsp + 0x78]
nop dword [rax + rax]
call fcn.0045ade0
test rax, rax
sete cl
test cl, cl
je 0x4185ae
mov rdx, qword [rsp + 0x70]
mov rbx, qword [rdx + 0x30]
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x30], rbx
jne 0x41855a
mov rsi, qword [rsp + 0x68]
mov rdi, rdx
movzx edx, byte [rsi + 0x14]
test dl, 1
je 0x4183c3
mov ecx, 0x48
jmp 0x4183c8
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
nop
cmp rbx, rcx
ja 0x418553
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 0x418496
movups xmmword [rsp + 0x88], xmm15
lea rax, [0x00418840]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x88]
mov qword [rsp], rax
nop
call fcn.00461180
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
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 0x418479
mov qword [rsp + 0x58], rsi
call fcn.00417c80
movups xmmword [rsp + 0x98], xmm15
movups xmmword [rsp + 0xa8], xmm15
movups xmmword [rsp + 0xb8], xmm15
lea rax, [0x004187e0]
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
call fcn.00461180
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
mov eax, ebx
call fcn.00463a60
call fcn.0045ad40
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x68]
call fcn.0045ad40
mov ecx, 0x22
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x60]
lea r8, [0x0050acee]
mov r9d, 0xe
mov r10, rax
mov r11, rbx
xor eax, eax
lea rbx, [0x005108f5]
call fcn.0044e4a0
call fcn.00436dc0
mov rax, qword [rsp + 0x78]
jmp 0x41855a
mov rax, qword [rsp + 0x78]
jmp 0x41855a
nop dword [rax]
call fcn.0045ad40
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x68]
call fcn.0045ad40
mov ecx, 0x22
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x60]
lea r8, [0x0050acee]
mov r9d, 0xe
mov r10, rax
mov r11, rbx
xor eax, eax
lea rbx, [0x005108f5]
call fcn.0044e4a0
call fcn.00436dc0
call fcn.0045ad40
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x60], rbx
mov rax, qword [rsp + 0x68]
call fcn.0045ad40
lea rcx, [0x0050bbf4]
mov qword [rsp], rcx
mov qword [rsp + 8], 0x12
mov ecx, 0x22
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x60]
lea r8, [0x0050acee]
mov r9d, 0xe
mov r10, rax
mov r11, rbx
xor eax, eax
lea rbx, [0x005108f5]
call fcn.0044e5a0
call fcn.00436dc0
mov rax, rsi
nop
call fcn.0045ad40
mov ecx, 0x29
mov rdi, rax
mov rsi, rbx
lea r8, [0x0050b3d7]
mov r9d, 0x10
xor eax, eax
lea rbx, [0x00511ba5]
call fcn.0044e3c0
call fcn.00436dc0
lea rax, [0x00513b1a]
mov ebx, 0x41
nop dword [rax]
call fcn.00436dc0
mov rax, qword [rax + 0x220]
mov rcx, rdx
test rax, rax
je 0x418742
mov rdx, rcx
nop word [rax + rax]
cmp qword [rax + 0xc0], rcx
ja 0x4186f2
cmp qword [rax + 0xc8], rcx
ja 0x418732
cmp qword [rax + 0xd0], rcx
ja 0x418709
nop dword [rax + rax]
cmp qword [rax + 0xd8], rcx
ja 0x418732
cmp qword [rax + 0xe0], rcx
ja 0x418720
cmp qword [rax + 0xe8], rcx
ja 0x418732
nop dword [rax + rax]
cmp qword [rax + 0xf0], rcx
ja 0x4186c5
cmp qword [rax + 0xf8], rcx
jbe 0x4186c5
mov rbp, qword [rsp + 0xc8]
add rsp, 0xd0
ret
lea rax, [0x0051315b]
mov ebx, 0x34
call fcn.00436dc0
lea rax, [0x0050af3a]
mov ebx, 0xe
nop
call fcn.00436dc0
call fcn.0045ad40
mov ecx, 0x28
mov rdi, rax
mov rsi, rbx
lea r8, [0x0050aa38]
mov r9d, 0xd
xor eax, eax
lea rbx, [0x00511945]
call fcn.0044e3c0
call fcn.00436dc0
lea rax, [0x005120bf]
mov ebx, 0x2b
call fcn.00436dc0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
nop dword [rax + rax]
call fcn.004612c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00418180