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

Disassembly:
lea r12, [rsp - 0x48]
cmp r12, qword [r14 + 0x10]
jbe 0x473f59
push rbp
mov rbp, rsp
sub rsp, 0xc0
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rdi
test rax, rax
jne 0x473a4a
xor eax, eax
add rsp, 0xc0
pop rbp
ret
test rcx, rcx
je 0x473f45
nop
cmp byte [0x008cc850], 0
je 0x473a87
mov qword [0x008cc858], rcx
cmp dword [0x00921500], 0
je 0x473a80
call fcn.004665c0
mov qword [r11], rdi
mov rdx, qword [0x008cc860]
mov qword [r11 + 8], rdx
mov qword [0x008cc860], rdi
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rdi
mov rdx, qword [rsp + 0xa0]
nop
test rdx, rdx
je 0x473aca
movzx esi, byte [rdx + 0x17]
mov r8d, esi
and esi, 0x1f
mov r9, rsi
bts rsi, 7
nop
mov r10, qword [rsp + 0xa8]
test r8b, 0x20
cmove r9, rsi
jmp 0x473ad2
xor r9d, r9d
xor r10d, r10d
xor edx, edx
nop
test r9, r9
je 0x473f0f
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xe8], rdi
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x38], r9
mov rax, rdx
call fcn.00402100
cmp rax, 0x16
jne 0x473ec5
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
and ecx, 0x1f
mov qword [rsp + 0x58], rcx
nop
cmp rcx, 0x14
ja 0x473b4b
lea rsi, [rcx - 0x12]
cmp rsi, 1
jbe 0x473b70
nop
cmp rcx, 0x14
je 0x473b57
jmp 0x473ed8
cmp rcx, 0x16
jbe 0x473b70
cmp rcx, 0x17
jne 0x473b66
mov rcx, qword [rsp + 0x68]
cmp qword [rcx], 0
setne sil
jmp 0x473b91
cmp rcx, 0x1a
jne 0x473ed8
bt edx, 7
jae 0x473b82
mov rcx, qword [rsp + 0x68]
mov r10, qword [rcx]
nop
jmp 0x473b8a
mov rcx, qword [rsp + 0x68]
mov r10, rcx
test r10, r10
setne sil
test sil, sil
je 0x473ec5
mov rax, qword [rsp + 0x60]
nop
call fcn.00471200
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x70], rbx
mov rcx, qword [rax + 0x38]
mov rax, rbx
call rcx
cmp rax, 0x14
je 0x473be8
mov rbx, qword [0x008cc230]
mov rcx, qword [0x008cc238]
mov rdx, qword [rsp + 0x40]
mov rsi, qword [rdx + 0x30]
mov rax, qword [rsp + 0x70]
call rsi
nop dword [rax]
test al, al
je 0x473eae
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
jmp 0x473c00
mov rcx, rbx
nop dword [rax]
test rax, rax
je 0x473c0b
mov rdx, qword [rax + 8]
jmp 0x473c0e
mov rdx, rax
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xb8], rcx
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x473c3e
lea rbx, [0x0072bd48]
jmp 0x473c42
xor ebx, ebx
xor edx, edx
mov rsi, qword [rbx + 0x18]
mov rax, rdx
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
call rsi
test al, al
jne 0x473d58
lea rax, [0x00669da0]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
call fcn.0040b0a0
test rax, rax
jne 0x473c82
mov rbx, qword [rsp + 0x30]
test rbx, rbx
jmp 0x473cb0
mov rdx, qword [rax + 0x18]
mov rax, rbx
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xe8]
call rdx
nop dword [rax + rax]
test al, al
jne 0x473d4a
mov rbx, qword [rsp + 0x30]
test rbx, rbx
je 0x473d3f
lea rax, [0x00669ec0]
mov rcx, qword [rsp + 0x78]
call fcn.0040b0a0
test rax, rax
je 0x473cfc
lea rax, [0x00669ec0]
mov rbx, qword [rsp + 0x30]
call fcn.0040b000
mov rcx, qword [rax + 0x18]
mov rax, qword [rsp + 0x78]
call rcx
test rax, rax
jne 0x473bfa
xor eax, eax
add rsp, 0xc0
pop rbp
ret
lea rax, [0x00669e60]
mov rbx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x78]
call fcn.0040b0a0
test rax, rax
je 0x473d3f
lea rax, [0x00669e60]
mov rbx, qword [rsp + 0x30]
call fcn.0040b000
mov rcx, qword [rax + 0x18]
mov rax, qword [rsp + 0x78]
call rcx
mov qword [rsp + 0x50], rbx
xor ecx, ecx
jmp 0x473e60
xor eax, eax
add rsp, 0xc0
pop rbp
ret
mov eax, 1
add rsp, 0xc0
pop rbp
ret
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x38]
call fcn.004728c0
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x473d7a
mov rdx, qword [rdx + 8]
nop word [rax + rax]
test rdx, rdx
je 0x473e1e
nop
cmp byte [0x008cc850], 0
je 0x473dcb
mov qword [0x008cc858], rdx
cmp dword [0x00921500], 0
jne 0x473daa
mov r9, qword [rsp + 0x78]
jmp 0x473dc2
call fcn.004665c0
mov r9, qword [rsp + 0x78]
mov qword [r11], r9
mov r10, qword [0x008cc860]
mov qword [r11 + 8], r10
mov qword [0x008cc860], r9
jmp 0x473dd0
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], r9
mov rdx, qword [rsp + 0x90]
test rdx, rdx
je 0x473e14
movzx r9d, byte [rdx + 0x17]
mov r10d, r9d
and r9d, 0x1f
mov r11, r9
bts r9, 7
nop
mov r12, qword [rsp + 0x98]
test r10b, 0x20
cmove r11, r9
jmp 0x473e26
xor r11d, r11d
xor edx, edx
xor r12d, r12d
jmp 0x473e26
xor r11d, r11d
xor edx, edx
xor r12d, r12d
mov rdi, rdx
mov rsi, r12
mov r8, r11
call fcn.00472ce0
mov eax, 1
add rsp, 0xc0
pop rbp
ret
mov rax, qword [rsp + 0x80]
add rax, 0x10
mov rcx, qword [rsp + 0x48]
inc rcx
mov rbx, qword [rsp + 0x50]
nop dword [rax + rax]
cmp rbx, rcx
jle 0x473ea3
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x80], rax
mov rdx, qword [rax]
mov rbx, qword [rax + 8]
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0xe8]
mov rax, rdx
call fcn.00473a00
test al, al
je 0x473e42
mov eax, 1
add rsp, 0xc0
pop rbp
ret
xor eax, eax
add rsp, 0xc0
pop rbp
ret
lea rax, [0x0065b7a0]
lea rbx, [0x00727670]
nop dword [rax]
call fcn.00436ac0
lea rax, [0x0065b7a0]
lea rbx, [0x00727660]
call fcn.00436ac0
lea rax, [0x0067f080]
nop
call fcn.0040d680
mov qword [rax + 8], 0x17
lea rcx, [0x006b6f0f]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x10], rcx
mov rbx, rax
lea rax, [0x00667fa0]
call fcn.00436ac0
lea rax, [0x0067f080]
call fcn.0040d680
mov qword [rax + 8], 0x16
lea rcx, [0x006b665d]
mov qword [rax], rcx
mov qword [rax + 0x10], 0
mov rbx, rax
lea rax, [0x00667fa0]
nop
call fcn.00436ac0
lea rax, [0x0065b7a0]
lea rbx, [0x00727650]
call fcn.00436ac0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.004646a0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00473a00