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

Disassembly:
lea r12, [rsp - 0xf8]
cmp r12, qword [r14 + 0x10]
jbe 0x637d8a
push rbp
mov rbp, rsp
sub rsp, 0x170
movq qword [rsp + 0x168], xmm15
mov byte [rsp + 0x47], 0
movups xmmword [rsp + 0x70], xmm15
cmp byte [rax + 0xb0], 0
jne 0x637305
cmp qword [rax + 0xc0], 0
jge 0x637326
mov rax, qword [0x00899ae0]
mov rbx, qword [0x00899ae8]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
add rsp, 0x170
pop rbp
ret
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], rbx
mov rax, rbx
call fcn.0063e540
nop
test al, al
jne 0x63751a
mov rax, qword [rsp + 0x188]
call fcn.00642380
nop
xor eax, eax
mov rcx, qword [rsp + 0x180]
mov edx, 1
lock cmpxchg dword [rcx], edx
sete dl
test dl, dl
jne 0x637380
mov rax, rcx
call fcn.0046b320
mov rcx, qword [rsp + 0x180]
movups xmmword [rsp + 0x110], xmm15
lea rsi, [0x00637dc0]
mov qword [rsp + 0x110], rsi
mov qword [rsp + 0x118], rcx
lea rsi, [rsp + 0x110]
mov qword [rsp + 0x168], rsi
mov byte [rsp + 0x47], 1
mov rsi, qword [rsp + 0x188]
cmp qword [rsi], 0
jne 0x6373c7
xor edx, edx
jmp 0x6373f1
mov rbx, qword [rcx + 0x28]
lea rax, [0x0067bf80]
mov rcx, rsi
call fcn.00411040
cmp qword [rax], 0
setne dl
mov rcx, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x188]
test dl, dl
jne 0x6374ef
mov rdx, qword [rsi + 0x18]
mov qword [rsp + 0x88], rdx
movups xmm0, xmmword [rsi + 0x20]
movups xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [rsi + 0x30]
movups xmmword [rsp + 0xa0], xmm0
movups xmm0, xmmword [rsi + 0x40]
movups xmmword [rsp + 0xb0], xmm0
movups xmmword [rsp + 0x130], xmm15
movups xmmword [rsp + 0x138], xmm15
movups xmmword [rsp + 0x148], xmm15
movups xmmword [rsp + 0x158], xmm15
mov rbx, qword [rcx + 0x18]
lea rax, [0x0067bf20]
lea rcx, [rsp + 0x88]
call fcn.0040e5a0
mov rdx, qword [rax]
mov qword [rsp + 0x130], rdx
movups xmm0, xmmword [rax + 8]
movups xmmword [rsp + 0x138], xmm0
movups xmm0, xmmword [rax + 0x18]
movups xmmword [rsp + 0x148], xmm0
movups xmm0, xmmword [rax + 0x28]
movups xmmword [rsp + 0x158], xmm0
mov rdx, qword [rsp + 0x130]
mov qword [rsp + 0xc0], rdx
movups xmm0, xmmword [rsp + 0x138]
movups xmmword [rsp + 0xc8], xmm0
movups xmm0, xmmword [rsp + 0x148]
movups xmmword [rsp + 0xd8], xmm0
movups xmm0, xmmword [rsp + 0x158]
movups xmmword [rsp + 0xe8], xmm0
test bl, bl
je 0x63753b
mov rbx, qword [rsp + 0x188]
cmp qword [rbx], 0
jne 0x637c7e
jmp 0x637a4d
movups xmmword [rsp + 0x70], xmm15
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x168]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
add rsp, 0x170
pop rbp
ret
mov rax, qword [0x00899af0]
mov rbx, qword [0x00899af8]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rbx
add rsp, 0x170
pop rbp
ret
mov rsi, qword [rsp + 0x180]
cmp byte [rsi + 8], 0
jne 0x63762c
cmp qword [rsi + 0x10], 0
jne 0x63758b
call fcn.0040df00
cmp dword [0x0092d940], 0
jne 0x63756c
mov rdx, qword [rsp + 0x180]
jmp 0x637584
call fcn.0045fe40
mov qword [r11], rax
mov rdx, qword [rsp + 0x180]
mov rsi, qword [rdx + 0x10]
mov qword [r11 + 8], rsi
mov qword [rdx + 0x10], rax
mov rsi, rdx
mov rbx, qword [rsi + 0x10]
lea rax, [0x0067bec0]
lea rcx, [rsp + 0x88]
nop
call fcn.0040e360
mov rbx, qword [rax + 8]
mov rdx, qword [rsp + 0x180]
mov rsi, qword [rdx + 0xc0]
mov rcx, qword [rax + 0x10]
nop
test rsi, rsi
mov edi, 2
cmovne rdi, rsi
cmp rbx, rdi
jge 0x6375ef
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rbx
mov rax, qword [rax]
mov qword [rsp + 0x80], rax
mov r8, qword [rsp + 0x188]
xor esi, esi
jmp 0x63766c
mov rax, qword [0x00899b20]
mov rcx, qword [0x00899b28]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x168]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x170
pop rbp
ret
mov rax, qword [0x00899b00]
mov rcx, qword [0x00899b08]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rcx
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x168]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x170
pop rbp
ret
inc rsi
cmp rsi, rbx
jge 0x6376f1
mov r9, qword [rax + rsi*8]
cmp r9, r8
jne 0x637669
mov qword [rsp + 0x68], rsi
movups xmmword [rsp + 0x120], xmm15
lea rdx, [0x006b5500]
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], r8
lea rax, [0x006cd457]
mov ebx, 0x1d
lea rcx, [rsp + 0x120]
mov edi, 1
mov rsi, rdi
nop
call fcn.005f58e0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x188]
jmp 0x637669
inc rbx
cmp rcx, rbx
jae 0x63771a
mov edi, 1
lea rsi, [0x006b5500]
call fcn.00447aa0
mov rdx, qword [rsp + 0x180]
mov r8, qword [rsp + 0x188]
mov qword [rsp + 0x68], rcx
cmp dword [0x0092d940], 0
je 0x637739
call fcn.0045fe40
mov qword [r11], r8
mov rsi, qword [rax + rbx*8 - 8]
mov qword [r11 + 8], rsi
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x60], rbx
mov qword [rax + rbx*8 - 8], r8
mov rsi, qword [rdx + 0x10]
lea rcx, [rsp + 0x88]
lea rax, [0x0067bec0]
mov rbx, rsi
call fcn.0040e9c0
mov rdx, qword [rsp + 0x60]
mov qword [rax + 8], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rax + 0x10], rdx
cmp dword [0x0092d940], 0
nop
jne 0x63778c
mov rcx, qword [rsp + 0x108]
jmp 0x6377a3
call fcn.0045fe40
mov rcx, qword [rsp + 0x108]
mov qword [r11], rcx
mov rdx, qword [rax]
mov qword [r11 + 8], rdx
mov qword [rax], rcx
mov rax, qword [rsp + 0x180]
lea rcx, [rax + 0x20]
mov rbx, qword [rsp + 0x188]
mov rax, rcx
nop dword [rax]
call fcn.00643140
mov rcx, qword [rsp + 0x180]
mov rdx, qword [rcx + 0xb8]
test rdx, rdx
je 0x6378f7
mov rsi, qword [rcx + 0x28]
test rsi, rsi
je 0x6377eb
mov rsi, qword [rsi]
jmp 0x6377ed
xor esi, esi
cmp rsi, rdx
jle 0x6378f7
mov rdx, qword [rcx + 0x20]
nop
cmp qword [rdx + 0x28], 0
jne 0x637806
xor esi, esi
jmp 0x63780a
mov rsi, qword [rdx + 8]
mov rax, qword [rsi + 0x18]
mov rdi, qword [rsi + 0x20]
lea rbx, [0x006b5500]
nop dword [rax]
cmp rax, rbx
jne 0x637a38
nop
cmp qword [rsi + 0x10], rdx
jne 0x6378a4
mov r8, qword [rsi + 8]
test byte [r8], al
nop
mov r9, qword [rsi]
cmp dword [0x0092d940], 0
je 0x637853
call fcn.0045fe40
mov qword [r11], r9
mov r10, qword [r8]
mov qword [r11 + 8], r10
mov qword [r8], r9
mov r8, qword [rsi]
test byte [r8], al
mov r9, qword [rsi + 8]
cmp dword [0x0092d940], 0
je 0x637890
call fcn.0045fea0
mov qword [r11], r9
mov r10, qword [r8 + 8]
mov qword [r11 + 8], r10
mov r10, qword [rsi]
mov qword [r11 + 0x10], r10
mov r10, qword [rsi + 8]
mov qword [r11 + 0x18], r10
mov r10, qword [rsi + 0x10]
mov qword [r11 + 0x20], r10
mov qword [r8 + 8], r9
movups xmmword [rsi], xmm15
mov qword [rsi + 0x10], 0
dec qword [rdx + 0x28]
mov qword [rsp + 0x100], rdi
mov rbx, qword [rcx + 0x28]
lea rax, [0x0067bf80]
mov rcx, rdi
call fcn.004119e0
mov rbx, qword [0x00899b10]
mov rcx, qword [0x00899b18]
mov rax, qword [rsp + 0x100]
call fcn.00642420
mov rax, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x100]
call fcn.00638720
mov rcx, qword [rsp + 0x180]
mov rbx, qword [rcx + 0xd0]
nop
test rbx, rbx
jle 0x6379c7
mov rdx, qword [rsp + 0x188]
cmp qword [rdx], 0
jne 0x6379cf
mov rax, qword [rdx + 0xd0]
test rax, rax
je 0x637939
call fcn.004ad180
mov rcx, qword [rsp + 0x188]
jmp 0x6379cf
lea rax, [0x0068aa20]
call fcn.0040d480
lea rcx, [0x00647e60]
mov qword [rax], rcx
cmp dword [0x0092d940], 0
jne 0x637962
mov rcx, qword [rsp + 0x188]
jmp 0x637972
call fcn.0045fe20
mov rcx, qword [rsp + 0x188]
mov qword [r11], rcx
mov qword [rax + 8], rcx
mov rdx, qword [rsp + 0x180]
mov rdx, qword [rdx + 0xd0]
mov rbx, rax
mov rax, rdx
call fcn.004ad2a0
cmp dword [0x0092d940], 0
jne 0x6379a3
mov rcx, qword [rsp + 0x188]
jmp 0x6379be
call fcn.0045fe40
mov qword [r11], rax
mov rcx, qword [rsp + 0x188]
mov rdx, qword [rcx + 0xd0]
mov qword [r11 + 8], rdx
mov qword [rcx + 0xd0], rax
jmp 0x6379cf
mov rdx, qword [rsp + 0x188]
call fcn.004ae7a0
mov rdx, qword [rsp + 0x188]
mov qword [rdx + 0xb8], rax
mov qword [rdx + 0xc0], rbx
cmp dword [0x0092d940], 0
je 0x637a06
call fcn.0045fe40
mov qword [r11], rcx
mov rax, qword [rdx + 0xc8]
mov qword [r11 + 8], rax
mov qword [rdx + 0xc8], rcx
movups xmmword [rsp + 0x70], xmm15
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x168]
mov rax, qword [rdx]
call rax
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x170
pop rbp
ret
lea rcx, [0x00677720]
nop
call fcn.0040a4e0
mov rbx, qword [rsp + 0x188]
mov rdx, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd8]
mov r8, rdx
sub rdx, rsi
mov r9, qword [rsp + 0xe8]
add rdx, r9
test rdx, rdx
jle 0x637b62
mov qword [rsp + 0x48], rdx
nop dword [rax]
cmp r8, rsi
jg 0x637af2
test r9, r9
jne 0x637a92
xor r8d, r8d
jmp 0x637b3e
mov rsi, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xd0]
mov r10, qword [rsp + 0xf0]
mov r11, qword [rsp + 0xe0]
mov qword [rsp + 0xc8], r9
mov qword [rsp + 0xd0], r10
mov qword [rsp + 0xc0], r11
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], r8
mov qword [rsp + 0xe0], rsi
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd8]
cmp rcx, rax
jbe 0x637c65
mov rsi, qword [rsp + 0xc0]
mov r8, qword [rsi + rax*8]
cmp dword [0x0092d940], 0
nop
je 0x637b2e
mov r9, qword [rsi + rax*8]
call fcn.0045fe20
mov qword [r11], r9
mov qword [rsi + rax*8], 0
inc qword [rsp + 0xd8]
mov rax, r8
xor ecx, ecx
xor edi, edi
call fcn.00639180
test al, al
je 0x637a45
mov rdx, qword [rsp + 0x48]
test rdx, rdx
mov rbx, qword [rsp + 0x188]
setg dl
mov byte [rsp + 0x46], dl
mov rsi, qword [rsp + 0xc8]
sub rsi, qword [rsp + 0xd8]
add rsi, qword [rsp + 0xe8]
test rsi, rsi
jne 0x637bab
mov rdx, qword [rsp + 0x180]
mov rbx, qword [rdx + 0x18]
lea rax, [0x0067bf20]
lea rcx, [rsp + 0x88]
call fcn.0040ef00
jmp 0x637c2c
mov rdx, qword [rsp + 0x180]
mov rbx, qword [rdx + 0x18]
lea rax, [0x0067bf20]
lea rcx, [rsp + 0x88]
call fcn.0040e9c0
test byte [rax], al
cmp dword [0x0092d940], 0
je 0x637bfd
mov qword [rsp + 0xf8], rax
mov rbx, rax
lea rcx, [rsp + 0xc0]
lea rax, [0x00697a80]
call fcn.00413600
mov rax, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0xc0]
mov qword [rax], rsi
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rax + 8], xmm0
movups xmm0, xmmword [rsp + 0xd8]
movups xmmword [rax + 0x18], xmm0
movups xmm0, xmmword [rsp + 0xe8]
movups xmmword [rax + 0x28], xmm0
movzx esi, byte [rsp + 0x46]
test sil, sil
je 0x63753b
movups xmmword [rsp + 0x70], xmm15
mov byte [rsp + 0x47], 0
mov rdx, qword [rsp + 0x168]
mov rax, qword [rdx]
call rax
mov rbx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x70]
add rsp, 0x170
pop rbp
ret
call fcn.004601e0
mov rax, rsi
xor ecx, ecx
xor edi, edi
call fcn.00639180
mov rbx, qword [rsp + 0x188]
mov rdx, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd8]
mov r8, rdx
sub rdx, rsi
mov r9, qword [rsp + 0xe8]
add rdx, r9
nop
test rdx, rdx
jle 0x637d65
cmp r8, rsi
jg 0x637d17
test r9, r9
jne 0x637cb7
xor esi, esi
jmp 0x637c6a
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xf0]
mov qword [rsp + 0xc8], r9
mov qword [rsp + 0xd0], r10
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xe0], rdx
mov rcx, qword [rsp + 0xc8]
mov rax, qword [rsp + 0xd8]
cmp rax, rcx
jae 0x637d6c
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rdx + rax*8]
cmp dword [0x0092d940], 0
nop
je 0x637d4e
mov r8, qword [rdx + rax*8]
call fcn.0045fe20
mov qword [r11], r8
mov qword [rdx + rax*8], 0
inc qword [rsp + 0xd8]
nop
jmp 0x637c6a
xor edx, edx
jmp 0x637b65
call fcn.004601e0
nop
call fcn.00433720
mov rax, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x170
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045df00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.006372c0