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

Disassembly:
lea r12, [rsp - 0xb0]
cmp r12, qword [r14 + 0x10]
jbe 0x47483e
sub rsp, 0x130
mov qword [rsp + 0x128], rbp
lea rbp, [rsp + 0x128]
mov qword [rsp + 0x138], rax
cmp r8, 0x20
jne 0x4741c8
cvtsd2ss xmm0, xmm0
movd edx, xmm0
lea r9, [0x0092cdc0]
jmp 0x4741df
cmp r8, 0x40
jne 0x47482a
nop
movq rdx, xmm0
lea r9, [0x0092cde0]
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
mov r12, qword [r9]
mov r13, qword [r9 + 8]
lea r15, [r13 + r12]
cmp r15, 0x40
mov r10, rdx
sbb rdx, rdx
cmp r13, 0x40
mov r11, rdx
sbb rdx, rdx
mov qword [rsp + 0xa0], rdx
cmp r12, 0x40
sbb rdx, rdx
mov qword [rsp + 0x98], rdx
mov rcx, r15
mov r15, r10
shr r10, cl
mov rcx, r12
shr r15, cl
and r15, rdx
mov rcx, r13
mov edx, 1
shl rdx, cl
mov r13, qword [rsp + 0xa0]
and r13, rdx
lea rdx, [r13 - 1]
and r15, rdx
mov rcx, r12
mov r12d, 1
shl r12, cl
mov r13, qword [rsp + 0x98]
and r12, r13
lea r13, [r12 - 1]
mov rcx, r12
mov r12, qword [rsp + 0x88]
and r13, r12
test r11, r10
cmp r15, rdx
jne 0x474360
test r13, r13
je 0x4742a6
mov ecx, 3
lea rdx, [0x00abc29c]
jmp 0x4742c5
test r11, r10
je 0x4742b9
mov ecx, 4
lea rdx, [0x00abc3e3]
jmp 0x4742c5
mov ecx, 4
lea rdx, [0x00abc3df]
lea rsi, [rbx + rcx]
mov qword [rsp + 0xa0], rsi
mov rdi, qword [rsp + 0x148]
cmp rdi, rsi
jae 0x474315
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0xe0], rdx
mov rcx, rbx
mov rbx, rax
lea rax, [0x009e4e00]
call fcn.0044b060
mov rdx, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x140]
mov rdi, rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xf0], rax
lea rsi, [rax + rbx]
mov rbx, rdx
mov rax, rsi
call fcn.004664e0
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x128]
add rsp, 0x130
ret
test r15, r15
jne 0x47436d
inc r15
test r11, r10
jmp 0x474373
or r13, rcx
test r11, r10
setne dl
add r15, qword [r9 + 0x10]
nop word [rax + rax]
cmp dil, 0x62
je 0x474805
cmp dil, 0x78
je 0x474396
cmp dil, 0x58
jne 0x4743c6
mov rcx, qword [rsp + 0x148]
mov r8d, edx
mov r10, r15
mov r11, r9
mov r9, r13
mov edx, edi
mov rdi, rsi
mov esi, edx
call fcn.00475f00
mov rbp, qword [rsp + 0x128]
add rsp, 0x130
ret
cmp byte [0x0092c045], 0
je 0x4747d5
mov qword [rsp + 0x138], rax
mov byte [rsp + 0x67], dl
mov qword [rsp + 0x160], rsi
mov byte [rsp + 0x158], dil
lea r12, [rsp + 0xf8]
movups xmmword [r12], xmm15
lea r12, [rsp + 0x108]
movups xmmword [r12], xmm15
lea r12, [rsp + 0x118]
movups xmmword [r12], xmm15
test rsi, rsi
jl 0x47464d
nop
cmp dil, 0x66
je 0x474607
cmp dil, 0x47
ja 0x474448
cmp dil, 0x45
je 0x47444e
cmp dil, 0x47
jne 0x474442
test rsi, rsi
nop
jmp 0x474469
cmp r8, 0x20
jmp 0x474483
cmp dil, 0x65
jne 0x474460
lea r12, [rsi + 1]
cmp r8, 0x20
mov rcx, rsi
jmp 0x474489
cmp dil, 0x67
jne 0x47447f
test rsi, rsi
mov r12d, 1
mov rcx, rsi
cmove rsi, r12
cmp r8, 0x20
mov r12, rsi
jmp 0x474489
cmp r8, 0x20
mov rcx, rsi
mov r12, rcx
mov qword [rsp + 0xe8], r9
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x70], r13
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], 0
mov r8, r13
lea r13, [rsp + 0xb0]
movups xmmword [r13], xmm15
nop
jne 0x474560
cmp r12, 9
jg 0x474560
lea rdx, [rsp + 0xa8]
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x100], 0x18
mov qword [rsp + 0x108], 0x18
mov rdx, qword [r9]
mov rcx, r15
sub rcx, rdx
lea rax, [rsp + 0xf8]
mov rbx, r8
mov rdi, r12
call fcn.004766c0
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x160]
movzx edx, byte [rsp + 0x67]
mov rbx, qword [rsp + 0x140]
mov rsi, qword [rsp + 0xa0]
movzx edi, byte [rsp + 0x158]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0xe8]
mov r15, qword [rsp + 0x78]
mov r12d, 1
jmp 0x474610
cmp r12, 0x12
jg 0x474601
mov qword [rsp + 0x80], r12
lea rdx, [rsp + 0xa8]
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x100], 0x18
mov qword [rsp + 0x108], 0x18
mov rdx, qword [r9]
mov rcx, r15
sub rcx, rdx
lea rax, [rsp + 0xf8]
mov rbx, r8
mov rdi, r12
call fcn.00476960
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x12
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x160]
movzx edx, byte [rsp + 0x67]
mov rbx, qword [rsp + 0x140]
mov rsi, qword [rsp + 0xa0]
movzx edi, byte [rsp + 0x158]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0xe8]
mov r15, qword [rsp + 0x78]
setle r12b
jmp 0x474610
mov rcx, rsi
mov r8, r13
xor r12d, r12d
test r12b, r12b
je 0x47461d
test rcx, rcx
jmp 0x474781
mov rcx, qword [rsp + 0x148]
mov r10, r15
mov r11, r9
mov r9, r8
mov r8d, edx
mov edx, edi
mov rdi, rsi
mov esi, edx
call fcn.004748a0
mov rbp, qword [rsp + 0x128]
add rsp, 0x130
ret
lea rdx, [rsp + 0xc0]
movups xmmword [rdx], xmm15
lea rsi, [rsp + 0xd0]
movups xmmword [rsi], xmm15
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x100], 0x20
mov qword [rsp + 0x108], 0x20
mov rdx, qword [r9]
sub r15, rdx
lea rax, [rsp + 0xf8]
mov rbx, r13
mov rcx, r15
mov rdi, r9
nop dword [rax]
call fcn.00476ee0
movzx r9d, byte [rsp + 0x158]
cmp r9b, 0x47
ja 0x4746e5
cmp r9b, 0x45
je 0x4746eb
nop word [rax + rax]
cmp r9b, 0x47
jne 0x4746d3
mov rdx, qword [rsp + 0x160]
test rdx, rdx
jmp 0x474751
mov rdx, qword [rsp + 0x160]
test rdx, rdx
nop
jmp 0x474766
cmp r9b, 0x65
jne 0x47470f
mov rdx, qword [rsp + 0x110]
dec rdx
test rdx, rdx
mov esi, 0
cmovg rsi, rdx
mov rdx, qword [rsp + 0x160]
test rdx, rdx
jmp 0x474769
cmp r9b, 0x66
jne 0x474740
mov rdx, qword [rsp + 0x110]
sub rdx, qword [rsp + 0x118]
test rdx, rdx
mov esi, 0
cmovg rsi, rdx
mov rdx, qword [rsp + 0x160]
test rdx, rdx
jmp 0x474769
cmp r9b, 0x67
jne 0x47475b
mov rdx, qword [rsp + 0x160]
test rdx, rdx
mov rsi, qword [rsp + 0x110]
jmp 0x474769
mov rdx, qword [rsp + 0x160]
test rdx, rdx
mov rsi, rdx
mov rax, qword [rsp + 0x138]
movzx edx, byte [rsp + 0x67]
mov rbx, qword [rsp + 0x140]
mov edi, r9d
movups xmm0, xmmword [rsp + 0xf8]
movups xmmword [rsp], xmm0
movups xmm0, xmmword [rsp + 0x108]
movups xmmword [rsp + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x118]
movups xmmword [rsp + 0x20], xmm0
setl r10b
mov rcx, qword [rsp + 0x148]
mov r8, rsi
mov r9d, edi
mov edi, r10d
mov esi, edx
nop
call fcn.00474d00
mov rbp, qword [rsp + 0x128]
add rsp, 0x130
ret
mov rcx, qword [rsp + 0x148]
mov r8d, edx
mov r10, r15
mov r11, r9
mov r9, r13
mov edx, edi
mov rdi, rsi
mov esi, edx
call fcn.004748a0
mov rbp, qword [rsp + 0x128]
add rsp, 0x130
ret
mov rcx, qword [rsp + 0x148]
mov edi, edx
mov rsi, r13
mov r8, r15
call fcn.00475d40
mov rbp, qword [rsp + 0x128]
add rsp, 0x130
ret
lea rax, [0x009e4c00]
lea rbx, [0x00db58c0]
call fcn.004373c0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
movsd qword [rsp + 0x20], xmm0
mov byte [rsp + 0x28], dil
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], r8
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movsd xmm0, qword [rsp + 0x20]
movzx edi, byte [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
jmp fcn.00474180