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

Disassembly:
lea r12, [rsp - 0x188]
cmp r12, qword [r14 + 0x10]
jbe 0x63a28d
push rbp
mov rbp, rsp
sub rsp, 0x200
movq qword [rsp + 0x1f8], xmm15
mov byte [rsp + 0x33], 0
mov qword [rsp + 0x220], rcx
mov qword [rsp + 0x228], rdi
mov qword [rsp + 0x230], rsi
mov qword [rsp + 0x238], r8
mov qword [rsp + 0x240], r9
mov byte [rsp + 0x248], r10b
mov qword [rsp + 0x80], 0
movups xmmword [rsp + 0xa0], xmm15
mov rcx, qword [rbx]
mov rsi, qword [rbx + 0x10]
cmp qword [rcx + 0xe8], 0
je 0x639852
mov rdi, qword [rcx + 0xe8]
mov r8, qword [rcx + 0xf0]
jmp 0x639860
lea r8, [0x0092d4c0]
lea rdi, [0x00743830]
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x218], rbx
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x68], r8
test rsi, rsi
je 0x6398d2
cmp qword [rsi], 0
je 0x6398d2
mov r9, qword [rsp + 0x220]
test r9, r9
jne 0x6398b1
mov r9, qword [rsp + 0x240]
mov r10, qword [rsp + 0x238]
jmp 0x6398c4
mov rax, r9
call fcn.006427a0
mov rsi, qword [rsp + 0x70]
mov r9, rbx
mov r10, rax
mov rdx, qword [rsi]
mov rcx, qword [rdx]
mov rax, r10
mov rbx, r9
call rcx
lea rax, [rsp + 0x220]
call fcn.0063e040
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], r8
mov byte [rsp + 0xf0], r9b
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x1a8], rcx
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rsp + 0x1b0], xmm0
movups xmm0, xmmword [rsp + 0xd8]
movups xmmword [rsp + 0x1c0], xmm0
movups xmm0, xmmword [rsp + 0xe8]
movups xmmword [rsp + 0x1d0], xmm0
lea rax, [0x0066dfc0]
mov ebx, 1
call fcn.00405fe0
mov qword [rsp + 0x1f0], rax
lea rax, [0x006b1400]
call fcn.0040d480
mov qword [rsp + 0x88], rax
cmp dword [0x0092d940], 0
je 0x6399ad
mov rbx, rax
lea rcx, [rsp + 0x220]
lea rax, [0x006a7a40]
nop
call fcn.00413600
mov rax, qword [rsp + 0x88]
movups xmm0, xmmword [rsp + 0x220]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0x230]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x240]
movups xmmword [rax + 0x20], xmm0
cmp dword [0x0092d940], 0
je 0x639a25
call fcn.0045fe80
mov rdx, qword [rsp + 0x68]
mov qword [r11], rdx
lea rbx, [rax + 0x30]
mov rsi, qword [rax + 0x90]
mov qword [r11 + 8], rsi
mov rsi, qword [rsp + 0x1f0]
mov qword [r11 + 0x10], rsi
mov rdi, qword [rax + 0x68]
mov qword [r11 + 0x18], rdi
lea rcx, [rsp + 0x1a8]
lea rax, [0x006a6ee0]
call fcn.00413600
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x1a8]
mov qword [rax + 0x30], rcx
movups xmm0, xmmword [rsp + 0x1b0]
movups xmmword [rax + 0x38], xmm0
movups xmm0, xmmword [rsp + 0x1c0]
movups xmmword [rax + 0x48], xmm0
movups xmm0, xmmword [rsp + 0x1d0]
movups xmmword [rax + 0x58], xmm0
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x88], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rax + 0x90], rcx
mov rcx, qword [rsp + 0x1f0]
mov qword [rax + 0x68], rcx
mov rcx, qword [0x00899328]
cmp dword [0x0092d940], 0
je 0x639a99
call fcn.0045fe40
mov qword [r11], rcx
mov rdx, qword [rax + 0x70]
mov qword [r11 + 8], rdx
mov qword [rax + 0x70], rcx
mov rcx, qword [0x00899330]
cmp dword [0x0092d940], 0
je 0x639abd
call fcn.0045fe40
mov qword [r11], rcx
mov rdx, qword [rax + 0x78]
mov qword [r11 + 8], rdx
mov qword [rax + 0x78], rcx
movups xmmword [rsp + 0x168], xmm15
movups xmmword [rsp + 0x178], xmm15
lea rcx, [0x0063a360]
mov qword [rsp + 0x168], rcx
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], rax
mov rcx, qword [rsp + 0x210]
mov qword [rsp + 0x180], rcx
lea rdx, [rsp + 0x168]
mov qword [rsp + 0x1f8], rdx
mov byte [rsp + 0x33], 1
mov rbx, rax
mov rax, rcx
call fcn.00637e20
test al, al
je 0x639bef
mov rdx, qword [rsp + 0x88]
mov rax, qword [rdx + 0x98]
mov qword [rsp + 0x78], rax
cmp qword [rax], 0
jne 0x639b86
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x639b86
cmp qword [rdx + 8], 0
je 0x639b86
mov rbx, qword [rax + 0xb8]
mov rdi, qword [rax + 0xc8]
mov rcx, qword [rax + 0xc0]
call fcn.0063e800
mov rdx, qword [rsp + 0x70]
mov rdx, qword [rdx + 8]
mov r8, qword [rdx]
call r8
mov rdx, qword [rsp + 0x218]
mov rbx, qword [rdx + 0x18]
mov rax, qword [rsp + 0x210]
lea rcx, [0x006f4618]
call fcn.00638a60
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x80], rdx
movups xmmword [rsp + 0xa0], xmm15
mov byte [rsp + 0x33], 0
mov rdx, qword [rsp + 0x1f8]
mov rsi, qword [rdx]
call rsi
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
add rsp, 0x200
pop rbp
ret
lea rax, [0x0066dc40]
mov ebx, 1
nop dword [rax + rax]
call fcn.00405fe0
mov qword [rsp + 0xb8], rax
lea rax, [0x0068b1a0]
call fcn.0040d480
lea rcx, [0x0063a300]
mov qword [rax], rcx
cmp dword [0x0092d940], 0
jne 0x639c36
mov rdx, qword [rsp + 0xb8]
jmp 0x639c46
call fcn.0045fe20
mov rdx, qword [rsp + 0xb8]
mov qword [r11], rdx
mov qword [rax + 8], rdx
mov rsi, qword [rsp + 0x218]
mov rbx, qword [rsi + 0x18]
mov rcx, rax
mov rax, qword [rsp + 0x210]
call fcn.00638a60
mov rax, qword [rsp + 0x210]
mov rbx, qword [rsp + 0x88]
call fcn.0063a3a0
mov rdx, qword [rsp + 0xb0]
mov rsi, qword [rdx + 0xe8]
test rsi, rsi
je 0x639c98
mov rcx, qword [rdx + 0xf0]
jmp 0x639ca6
lea rsi, [0x00743830]
lea rcx, [0x0092d4c0]
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rbx + 0x68]
mov qword [rsp + 0x1e8], rdi
mov r8, qword [rdx + 0xd8]
mov qword [rsp + 0x1e0], r8
mov rsi, qword [rsi + 0x20]
mov rax, rcx
call rsi
movups xmmword [rsp + 0x198], xmm15
movups xmmword [rsp + 0x128], xmm15
movups xmmword [rsp + 0x138], xmm15
movups xmmword [rsp + 0x148], xmm15
movups xmmword [rsp + 0x158], xmm15
mov rcx, qword [rsp + 0x1e8]
mov qword [rsp + 0x158], rcx
mov rcx, qword [rsp + 0x1e0]
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x138], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0x128], rcx
lea rdx, [rsp + 0x198]
mov qword [rsp + 0x130], rdx
lea rax, [rsp + 0x128]
lea rbx, [rsp + 0x40]
xor edi, edi
mov esi, 4
mov r8d, 1
xor ecx, ecx
call fcn.004445c0
test rax, rax
jne 0x639e15
mov rax, qword [rsp + 0x198]
mov rbx, qword [rsp + 0x1a0]
cmp qword [0x008a6990], rax
jne 0x639dc6
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x98], rbx
mov rcx, qword [0x008a6998]
nop
call fcn.00405280
test al, al
je 0x639db9
mov rax, qword [0x00899b80]
mov rbx, qword [0x00899b88]
jmp 0x639dc6
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x98]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov byte [rsp + 0x33], 0
mov rdx, qword [rsp + 0x1f8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
add rsp, 0x200
pop rbp
ret
cmp rax, 1
jne 0x639eb2
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rcx + 0xe8]
test rdx, rdx
je 0x639e3c
mov rcx, qword [rcx + 0xf0]
jmp 0x639e4a
lea rdx, [0x00743830]
lea rcx, [0x0092d4c0]
mov rdx, qword [rdx + 0x28]
mov rax, rcx
call rdx
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov byte [rsp + 0x33], 0
mov rdx, qword [rsp + 0x1f8]
mov rcx, qword [rdx]
call rcx
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
add rsp, 0x200
pop rbp
ret
cmp rax, 2
je 0x63a20a
mov rcx, qword [rsp + 0x88]
mov rax, qword [rcx + 0x98]
test rax, rax
je 0x639f32
cmp qword [rax], 0
jne 0x639f32
mov rbx, qword [rsp + 0x70]
nop dword [rax + rax]
test rbx, rbx
je 0x639f32
cmp qword [rbx + 8], 0
je 0x639f32
call fcn.0063e760
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rcx + 8]
mov rcx, qword [rdx]
mov rbx, qword [rsp + 0x88]
mov rsi, qword [rbx + 0x98]
mov rdi, qword [rsi + 0x50]
mov rsi, qword [rsi + 0x58]
mov r8d, eax
mov rax, rdi
mov rbx, rsi
mov r10, rcx
mov ecx, r8d
xor edi, edi
xor esi, esi
call r10
mov rcx, qword [rsp + 0x88]
cmp qword [rcx + 0xa0], 0
nop word [rax + rax]
je 0x63a1aa
mov rdx, qword [rsp + 0xb0]
mov rbx, qword [rdx + 0xe8]
test rbx, rbx
je 0x639f63
mov rsi, qword [rdx + 0xf0]
jmp 0x639f71
lea rbx, [0x00743830]
lea rsi, [0x0092d4c0]
mov rcx, qword [rdx + 0xd8]
mov qword [rsp + 0x1e0], rcx
mov rbx, qword [rbx + 0x20]
mov rax, rsi
call rbx
movups xmmword [rsp + 0x188], xmm15
movups xmmword [rsp + 0xf8], xmm15
movups xmmword [rsp + 0x108], xmm15
movups xmmword [rsp + 0x118], xmm15
mov rcx, qword [rsp + 0x1e0]
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0xf8], rcx
lea rcx, [rsp + 0x188]
mov qword [rsp + 0x100], rcx
lea rax, [rsp + 0xf8]
lea rbx, [rsp + 0x34]
xor ecx, ecx
xor edi, edi
mov esi, 3
xor r8d, r8d
nop
call fcn.004445c0
test rax, rax
jge 0x63a017
mov rcx, qword [rsp + 0x88]
jmp 0x63a1aa
jne 0x63a0c0
mov rax, qword [rsp + 0x188]
mov rbx, qword [rsp + 0x190]
cmp qword [0x008a6990], rax
jne 0x63a070
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x58], rax
mov rcx, qword [0x008a6998]
call fcn.00405280
test al, al
je 0x63a063
mov rax, qword [0x00899b80]
mov rbx, qword [0x00899b88]
jmp 0x63a070
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov byte [rsp + 0x33], 0
mov rdx, qword [rsp + 0x1f8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
add rsp, 0x200
pop rbp
ret
cmp rax, 1
jne 0x63a14d
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rcx + 0xe8]
test rdx, rdx
je 0x63a0e7
mov rcx, qword [rcx + 0xf0]
jmp 0x63a0f5
lea rdx, [0x00743830]
lea rcx, [0x0092d4c0]
mov rdx, qword [rdx + 0x28]
mov rax, rcx
call rdx
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov byte [rsp + 0x33], 0
mov rdx, qword [rsp + 0x1f8]
mov rcx, qword [rdx]
call rcx
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
add rsp, 0x200
pop rbp
ret
mov rax, qword [0x00899b80]
mov rcx, qword [0x00899b88]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rcx
mov byte [rsp + 0x33], 0
mov rdx, qword [rsp + 0x1f8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
add rsp, 0x200
pop rbp
ret
mov rax, qword [rcx + 0x98]
mov rbx, qword [rcx + 0xa0]
mov rcx, qword [rcx + 0xa8]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], rcx
mov byte [rsp + 0x33], 0
mov rdx, qword [rsp + 0x1f8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
add rsp, 0x200
pop rbp
ret
mov rax, qword [0x00899b80]
mov rcx, qword [0x00899b88]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rcx
mov byte [rsp + 0x33], 0
mov rdx, qword [rsp + 0x1f8]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xa8]
add rsp, 0x200
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov byte [rsp + 0x40], r10b
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
movzx r10d, byte [rsp + 0x40]
jmp fcn.006397c0