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

Disassembly:
lea r12, [rsp - 0x5b8]
cmp r12, qword [r14 + 0x10]
jbe 0x47f4cc
sub rsp, 0x638
mov qword [rsp + 0x630], rbp
lea rbp, [rsp + 0x630]
mov r12, qword [r14 + 0x20]
test r12, r12
jne 0x47f4fe
mov qword [rsp + 0x640], rax
mov qword [rsp + 0x650], rcx
mov qword [rsp + 0x658], rdi
mov qword [rsp + 0x2f0], rbx
mov rdx, qword [rax + 0x28]
mov qword [rsp + 0x2e8], rdx
mov r9, qword [rax + 0x30]
mov qword [rsp + 0x2e0], r9
mov rsi, qword [rax + 0x38]
mov qword [rsp + 0x100], rsi
mov r8, qword [rax + 0x20]
lea rax, [0x006447b9]
mov ebx, 4
mov rcx, rdx
mov rdi, r9
call fcn.0047e6c0
mov qword [rsp + 0x2a8], rax
mov qword [rsp + 0x298], rbx
mov qword [rsp + 0x2c8], rcx
movups xmmword [rsp + 0x468], xmm15
lea rdi, [rsp + 0x470]
lea rdi, [rdi - 0x10]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004618cf
mov rbp, qword [rbp]
mov rax, rbx
xor ebx, ebx
call fcn.0047d300
mov rdx, qword [rsp]
mov qword [rsp + 0x468], rdx
lea rdi, [rsp + 0x470]
lea rsi, [rsp + 8]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00461c06
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x468]
mov qword [rsp + 0x2f8], rdx
lea rdi, [rsp + 0x300]
lea rsi, [rsp + 0x470]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00461c06
mov rbp, qword [rbp]
movups xmmword [rsp + 0x468], xmm15
lea rdi, [rsp + 0x470]
lea rdi, [rdi - 0x10]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004618cf
mov rbp, qword [rbp]
mov rax, qword [rsp + 0x298]
mov rbx, qword [rsp + 0x2a8]
call fcn.0047d300
mov qword [rsp + 0x2b0], rax
mov qword [rsp + 0x2b8], rbx
mov rdx, qword [rsp]
mov qword [rsp + 0x468], rdx
lea rdi, [rsp + 0x470]
lea rsi, [rsp + 8]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00461c06
mov rbp, qword [rbp]
mov rdx, qword [rsp + 0x468]
mov qword [rsp + 0x3b0], rdx
lea rdi, [rsp + 0x3b8]
lea rsi, [rsp + 0x470]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00461c06
mov rbp, qword [rbp]
mov rax, rbx
call fcn.00472d60
lea rdx, [0x005fe360]
cmp rax, rdx
jne 0x47f4bc
mov qword [rsp + 0x2c0], rbx
lea rdi, [rsp + 0x520]
lea rdi, [rdi - 0x30]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004618ab
mov rbp, qword [rbp]
mov rsi, qword [rsp + 0x3b0]
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x198], xmm0
movups xmm0, xmmword [rsi + 0x10]
movups xmmword [rsp + 0x1a8], xmm0
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rsp + 0x1b8], xmm0
cmp qword [rsp + 0x198], 1
jne 0x47ed4b
mov rax, qword [rsp + 0x2e8]
mov rcx, qword [rsp + 0x100]
mov rdi, rbx
mov rbx, qword [rsp + 0x2e0]
call fcn.0047e9a0
jmp 0x47ed70
mov rax, qword [rsp + 0x2e8]
mov rbx, qword [rsp + 0x2e0]
mov rcx, qword [rsp + 0x100]
lea rdi, [rsp + 0x520]
call fcn.0047e9a0
mov rax, qword [rsp + 0x298]
call fcn.0047b500
mov qword [rsp + 0x2d8], rax
mov qword [rsp + 0xf8], rbx
xor ecx, ecx
jmp 0x47eda9
mov rax, qword [rsp + 0x2d8]
mov rbx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0xf0]
cmp rbx, rcx
jle 0x47ef8c
mov qword [rsp + 0xe0], rcx
mov rdx, qword [rax + rcx*8]
mov qword [rsp + 0x2a0], rdx
mov rbx, rcx
lea rax, [rsp + 0x2f8]
call fcn.00477000
mov qword [rsp + 0x288], rax
mov qword [rsp + 0xc8], rbx
mov rcx, qword [rsp + 0xe0]
inc rcx
mov qword [rsp + 0xf0], rcx
lea rax, [rsp + 0x3b0]
mov rbx, rcx
call fcn.00477000
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
jne 0x47ee2c
test rbx, rbx
jne 0x47f4a9
mov rdx, qword [rsp + 0x658]
jmp 0x47ed91
mov rdx, qword [rsp + 0x288]
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x168], xmm0
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x178], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rsp + 0x188], xmm0
cmp qword [rsp + 0x168], 1
jne 0x47ef3d
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x258], xmm0
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0x268], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsp + 0x278], xmm0
cmp qword [rsp + 0x258], 1
je 0x47eeac
test rbx, rbx
je 0x47f489
mov qword [rsp + 0xd8], rbx
xor ecx, ecx
jmp 0x47f3a0
mov rdx, qword [rsp + 0x178]
nop word [rax + rax]
nop dword [rax]
cmp qword [rsp + 0x268], rdx
jne 0x47f37e
mov rbx, qword [rsp + 0x270]
mov rax, qword [rsp + 0x2c0]
lea rcx, [0x0064c505]
mov edi, 0x18
call fcn.0047b660
mov qword [rsp + 0x2e0], rax
mov rbx, qword [rsp + 0x180]
lea rcx, [0x0064c505]
mov edi, 0x18
mov rax, qword [rsp + 0x2f0]
call fcn.0047b660
mov rbx, qword [rsp + 0x2e0]
mov rcx, rax
mov rax, qword [rsp + 0x2a0]
call fcn.0045b5e0
mov rdx, qword [rsp + 0x658]
jmp 0x47ed91
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x1f8], xmm0
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0x208], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsp + 0x218], xmm0
cmp qword [rsp + 0x1f8], 1
je 0x47ef85
cmp rbx, rcx
jne 0x47f36b
mov rsi, qword [rsp + 0x658]
xor ebx, ebx
nop
jmp 0x47f23f
xor eax, eax
jmp 0x47f11b
mov rcx, qword [rsp + 0x2b0]
mov rax, qword [rcx]
mov ebx, 8
nop dword [rax]
call fcn.0047ea80
add rax, qword [rsp + 0x450]
movzx ecx, word [rsp + 0x462]
mov word [rsp + 0x628], cx
mov rcx, qword [rsp + 0x2b0]
mov rdi, qword [rcx]
mov rsi, qword [rsp + 0x448]
mov rbx, qword [rsp + 0x2c8]
mov r8, rax
lea r9, [rsp + 0x520]
mov rax, rcx
mov rcx, qword [rsp + 0x2c0]
call fcn.00463660
mov rdi, qword [rsp + 0x658]
nop dword [rax + rax]
test rdi, rdi
je 0x47f03b
lea rsi, [rsp + 0x520]
nop word [rax + rax]
nop word [rax + rax]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00461bb2
mov rbp, qword [rbp]
mov rdi, qword [rsp + 0x658]
mov rax, qword [rsp + 0x2b0]
mov rdx, qword [rax]
sub rdx, qword [rsp + 0x448]
test rdx, rdx
jbe 0x47f0c5
mov qword [rsp + 0xd0], rdx
mov rbx, qword [rsp + 0x390]
mov rax, qword [rsp + 0x2f0]
lea rcx, [0x0064f0e9]
mov edi, 0x1d
call fcn.0047b660
mov qword [rsp + 0x290], rax
mov rbx, qword [rsp + 0x448]
lea rcx, [0x0064f647]
mov edi, 0x1e
mov rax, qword [rsp + 0x2c0]
call fcn.0047b660
mov rbx, rax
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x290]
call fcn.0045d340
mov rax, qword [rsp + 0x2b0]
mov rcx, qword [rsp + 0x650]
mov byte [rcx], 1
mov rbx, qword [rsp + 0x2c0]
call fcn.0045b760
mov rax, qword [rsp + 0x2b8]
lea rbx, [0x005fe360]
mov rcx, qword [rsp + 0x2c0]
call fcn.00472ca0
mov rbp, qword [rsp + 0x630]
add rsp, 0x638
ret
mov r9, qword [rsp + 0x2d0]
add r9, 0x30
mov rdx, r9
mov rax, rsi
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0x2d0], rdx
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x138], xmm0
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x148], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rsp + 0x158], xmm0
mov rbx, qword [rsp + 0x140]
add rbx, qword [rsp + 0x210]
lea rcx, [0x0064c505]
mov edi, 0x18
mov rax, qword [rsp + 0x2c0]
call fcn.0047b660
mov rdx, qword [rsp + 0x138]
nop
cmp rdx, 2
je 0x47f1db
cmp rdx, 3
jne 0x47f1ab
mov rdx, qword [rsp + 0x658]
test byte [rdx], al
mov rsi, qword [rsp + 0x158]
mov rsi, qword [rdx + rsi*8 + 0xc0]
mov qword [rax], rsi
jmp 0x47f203
cmp rdx, 4
jne 0x47f225
mov rbx, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x148]
mov rdi, rax
mov rax, qword [rsp + 0x658]
call fcn.00478300
mov rdx, qword [rsp + 0x658]
jmp 0x47f203
mov rbx, qword [rsp + 0x158]
mov rcx, qword [rsp + 0x148]
mov rdi, rax
mov rax, qword [rsp + 0x658]
call fcn.00478200
mov rdx, qword [rsp + 0x658]
mov rsi, qword [rsp + 0xe8]
inc rsi
mov r8, qword [rsp + 0xc8]
cmp r8, rsi
jg 0x47f109
nop
jmp 0x47ed91
lea rax, [0x005fe120]
lea rbx, [0x00684db0]
call fcn.00436780
add rdx, 0x30
mov rbx, rdi
movups xmm0, xmmword [rdx]
movups xmmword [rsp + 0x108], xmm0
movups xmm0, xmmword [rdx + 0x10]
movups xmmword [rsp + 0x118], xmm0
movups xmm0, xmmword [rdx + 0x20]
movups xmmword [rsp + 0x128], xmm0
lea rdi, [rbx + rbx*2]
shl rdi, 4
lea r8, [rax + rdi]
movups xmm0, xmmword [r8]
movups xmmword [rsp + 0x1c8], xmm0
lea r8, [rax + rdi]
lea r8, [r8 + 0x10]
movups xmm0, xmmword [r8]
movups xmmword [rsp + 0x1d8], xmm0
lea rdi, [rax + rdi]
lea rdi, [rdi + 0x20]
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x1e8], xmm0
mov rdi, qword [rsp + 0x108]
cmp qword [rsp + 0x1c8], rdi
jne 0x47f358
cmp rdi, 2
je 0x47f2e8
nop dword [rax]
cmp rdi, 3
jne 0x47f308
test byte [rsi], al
mov rdi, qword [rsp + 0x1e8]
mov r8, qword [rsp + 0x128]
mov r8, qword [rsi + r8*8 + 0xc0]
mov qword [rsp + rdi*8 + 0x5e0], r8
test byte [rsi], al
mov rdi, qword [rsp + 0x1e8]
mov r8, qword [rsp + 0x128]
mov r8, qword [rsi + r8*8]
mov qword [rsp + rdi*8 + 0x520], r8
jmp 0x47f32d
cmp rdi, 4
jne 0x47f345
test byte [rsi], al
mov rdi, qword [rsp + 0x1f0]
mov r8, qword [rsp + 0x130]
mov r8, qword [rsi + r8*8 + 0x48]
mov qword [rsp + rdi*8 + 0x568], r8
lea rdi, [rbx + 1]
cmp rcx, rdi
jg 0x47f238
mov rdx, rsi
nop dword [rax]
jmp 0x47ed91
lea rax, [0x005fe120]
lea rbx, [0x00684db0]
call fcn.00436780
lea rax, [0x005fe120]
lea rbx, [0x00684dd0]
call fcn.00436780
lea rax, [0x005fe120]
lea rbx, [0x00684dd0]
call fcn.00436780
lea rax, [0x005fe120]
lea rbx, [0x00684d90]
call fcn.00436780
mov r8, qword [rsp + 0x2d0]
lea rax, [r8 + 0x30]
mov rcx, rdx
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0x2d0], rax
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x228], xmm0
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0x238], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rsp + 0x248], xmm0
mov rbx, qword [rsp + 0x230]
add rbx, qword [rsp + 0x180]
mov edi, 0x18
mov rax, qword [rsp + 0x2f0]
lea rcx, [0x0064c505]
call fcn.0047b660
mov rdx, qword [rsp + 0x228]
cmp rdx, 2
je 0x47f423
cmp rdx, 3
jne 0x47f447
mov rdx, qword [rsp + 0x248]
mov rsi, qword [rax]
mov qword [rsp + rdx*8 + 0x5e0], rsi
mov rbx, qword [rsp + 0x248]
mov rcx, qword [rsp + 0x238]
mov rdi, rax
lea rax, [rsp + 0x520]
nop
call fcn.00478280
jmp 0x47f46d
cmp rdx, 4
jne 0x47f496
mov rbx, qword [rsp + 0x250]
mov rcx, qword [rsp + 0x238]
mov rdi, rax
lea rax, [rsp + 0x520]
call fcn.004783a0
mov rdx, qword [rsp + 0xe8]
inc rdx
mov rsi, qword [rsp + 0xd8]
cmp rsi, rdx
jg 0x47f391
mov rdx, qword [rsp + 0x658]
jmp 0x47ed91
lea rax, [0x005fe120]
lea rbx, [0x00684da0]
call fcn.00436780
lea rax, [0x005fe120]
lea rbx, [0x00684d90]
call fcn.00436780
mov rbx, rdx
lea rcx, [0x00604be0]
call fcn.0040a4c0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0045f280
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0047eaa0
lea r13, [rsp + 0x640]
cmp qword [r12], r13
jne 0x47ead6
mov qword [r12], rsp
jmp 0x47ead6