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

Disassembly:
lea r12, [rsp - 0x150]
cmp r12, qword [r14 + 0x10]
jbe 0x635625
sub rsp, 0x1d0
mov qword [rsp + 0x1c8], rbp
lea rbp, [rsp + 0x1c8]
mov byte [rsp + 0x1f0], dil
mov qword [rsp + 0x200], r8
mov qword [rsp + 0x1e8], rcx
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1f8], rsi
mov qword [rsp + 0x1d8], rax
movups xmmword [rsp + 0x140], xmm15
nop
mov rdx, qword [rax + 0xe8]
mov r9, qword [rax + 0xf0]
test rdx, rdx
jne 0x634845
nop
mov r9, qword [0x008d46b8]
lea rdx, [0x00744be8]
nop
mov rdx, qword [rdx + 0x30]
mov rax, r9
lea rbx, [0x00687d80]
lea rcx, [0x0092ae58]
call rdx
lea rdx, [0x0068ab00]
cmp rax, rdx
je 0x63486b
xor ebx, ebx
mov qword [rsp + 0x118], rbx
test rbx, rbx
je 0x634910
cmp qword [rbx + 0x78], 0
je 0x634910
movups xmmword [rsp + 0x170], xmm15
mov qword [rsp + 0x180], 0
lea rcx, [0x00635720]
mov qword [rsp + 0x170], rcx
mov qword [rsp + 0x178], rbx
lea rcx, [rsp + 0x140]
mov qword [rsp + 0x180], rcx
lea rcx, [rsp + 0x170]
mov qword [rsp + 0xd0], rcx
lea rax, [rsp + 0xb8]
nop dword [rax + rax]
call fcn.004352a0
test eax, eax
jne 0x6348eb
jmp 0x634910
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov byte [rsp + 0x4f], 0
movups xmmword [rsp + 0x1a8], xmm15
movups xmmword [rsp + 0x1b8], xmm15
lea rcx, [0x00635680]
mov qword [rsp + 0x1a8], rcx
lea rcx, [rsp + 0x4f]
mov qword [rsp + 0x1b0], rcx
mov rcx, qword [rsp + 0x1d8]
mov qword [rsp + 0x1b8], rcx
lea rdx, [rsp + 0x140]
mov qword [rsp + 0x1c0], rdx
lea rdx, [rsp + 0x1a8]
mov qword [rsp + 0x88], rdx
lea rax, [rsp + 0x70]
call fcn.004352a0
nop dword [rax]
test eax, eax
jne 0x634a45
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rcx + 0x88]
mov rsi, qword [rcx + 0x80]
nop
test rdx, rdx
jne 0x6349fb
mov rdx, qword [rcx + 0x10]
test rdx, rdx
je 0x6349b8
mov rsi, qword [rdx + 0x28]
mov rdx, qword [rdx + 0x30]
jmp 0x6349fb
mov rax, qword [0x008d5a90]
mov rcx, qword [0x008d5a98]
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rcx
call fcn.004358c0
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov rax, rsi
mov rbx, rdx
call fcn.0060d160
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rdi
test rcx, rcx
jne 0x634a1f
xor ecx, ecx
jmp 0x634a6d
nop
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
inc rcx
cmp rbx, rcx
jle 0x634adf
movzx edx, byte [rax + rcx]
lea rsi, [0x008a0a40]
movzx edx, byte [rdx + rsi]
test dl, dl
jne 0x634a6a
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x19
lea rcx, [0x006d1228]
mov qword [rax], rcx
lea rcx, [0x00742c00]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
nop
call fcn.006357e0
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x68], rbx
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rcx + 0x10]
mov rax, rdx
call fcn.005a0260
movzx ecx, byte [rsp + 0x1f0]
test cl, cl
je 0x634b6d
mov rdx, qword [rsp + 0x1d8]
mov r12, qword [rdx + 0x10]
mov rcx, qword [r12 + 8]
mov r13, qword [r12]
test rcx, rcx
je 0x634b75
cmp qword [r12 + 0x18], 0
jne 0x634b75
lea rdi, [0x006c94cb]
mov esi, 3
mov r8, qword [rsp + 0x128]
mov r9, qword [rsp + 0x68]
mov r10, rax
mov r11, rbx
xor eax, eax
mov rbx, r13
call fcn.0044e8e0
mov rdx, qword [rsp + 0x1d8]
mov rdi, rbx
mov rsi, rax
jmp 0x634be4
mov rdx, qword [rsp + 0x1d8]
mov rsi, qword [rdx]
cmp qword [rdx + 8], 7
jne 0x634bde
cmp dword [rsi], 0x4e4e4f43
jne 0x634bd6
cmp word [rsi + 4], 0x4345
jne 0x634bce
cmp byte [rsi + 6], 0x54
jne 0x634bc6
mov rsi, qword [rdx + 0x10]
cmp qword [rsi + 0x40], 0
nop
jne 0x634bbe
mov rdi, qword [rsi + 0x18]
mov rsi, qword [rsi + 0x10]
test rdi, rdi
jne 0x634be4
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x128]
jmp 0x634be4
mov rdi, rbx
mov rsi, rax
jmp 0x634be4
mov rdi, rbx
mov rsi, rax
jmp 0x634be4
mov rdi, rbx
mov rsi, rax
jmp 0x634be4
mov rdi, rbx
mov rsi, rax
jmp 0x634be4
mov rdi, rbx
mov rsi, rax
xor eax, eax
jmp 0x634beb
inc rax
cmp rax, rdi
jge 0x634c65
movzx r8d, byte [rax + rsi]
cmp r8b, 0x20
jb 0x634c06
nop dword [rax + rax]
cmp r8b, 0x7f
jne 0x634be8
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x36
lea rcx, [0x006dbd99]
mov qword [rax], rcx
lea rcx, [0x00742c00]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
nop dword [rax + rax]
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x120], rsi
lea rax, [0x0068d1a0]
mov rbx, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1e8]
call fcn.0040b260
test rax, rax
je 0x634caa
mov rcx, qword [rsp + 0x1e0]
mov rax, qword [rsp + 0x1e8]
xor edx, edx
jmp 0x634d84
nop
nop
mov rdx, qword [rsp + 0x1e0]
lea rsi, [0x007429c0]
nop dword [rax + rax]
cmp rdx, rsi
jne 0x634ccf
mov rax, qword [rsp + 0x1e8]
jmp 0x634cd4
mov eax, 0
jne 0x634ce6
cmp qword [rax + 0x18], 0x1000
nop
jge 0x634d7a
lea rax, [0x006796c0]
mov ebx, 0x1000
mov rcx, rbx
call fcn.0044a840
mov qword [rsp + 0x138], rax
lea rax, [0x006a94a0]
call fcn.0040d960
mov qword [rax + 0x18], 0x1000
mov qword [rax + 0x20], 0x1000
cmp dword [0x0092b0b0], 0
jne 0x634d35
mov rcx, qword [rsp + 0x138]
mov qword [rax + 0x10], rcx
jmp 0x634d46
lea rdi, [rax + 0x10]
mov rcx, qword [rsp + 0x138]
call fcn.00465a00
mov rcx, qword [rsp + 0x1e0]
mov qword [rax + 0x30], rcx
cmp dword [0x0092b0b0], 0
jne 0x634d69
mov rcx, qword [rsp + 0x1e8]
mov qword [rax + 0x38], rcx
jmp 0x634d7a
lea rdi, [rax + 0x38]
mov rcx, qword [rsp + 0x1e8]
call fcn.00465a00
lea rcx, [0x007429c0]
mov rdx, rax
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x130], rdx
mov rsi, qword [rsp + 0x1d8]
mov rdi, qword [rsi + 8]
mov r8, qword [rsi]
test rdi, rdi
jne 0x634db9
mov edi, 3
lea r8, [0x006c9513]
movups xmmword [rsp + 0x188], xmm15
movups xmmword [rsp + 0x198], xmm15
mov rax, r8
mov rbx, rdi
call fcn.0040afc0
lea rcx, [0x00679500]
mov qword [rsp + 0x188], rcx
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x60]
call fcn.0040afc0
lea rcx, [0x00679500]
mov qword [rsp + 0x198], rcx
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
mov edi, 0x10
lea rsi, [rsp + 0x188]
mov r8d, 2
mov r9, r8
lea rcx, [0x006cca67]
call fcn.004cb360
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x635600
movups xmmword [rsp + 0x160], xmm15
mov rax, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x68]
call fcn.0040afc0
lea rcx, [0x00679500]
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
mov edi, 0xa
lea rsi, [rsp + 0x160]
mov r8d, 1
mov r9, r8
lea rcx, [0x006cabf8]
call fcn.004cb360
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x6355d9
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x634f50
cmp qword [rdx + 0x60], 0
je 0x634f50
lea rax, [0x0067a9e0]
call fcn.0040d960
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
cmp dword [0x0092b0b0], 0
jne 0x634f17
mov r8, qword [rsp + 0x128]
mov qword [rax], r8
jmp 0x634f27
mov rdi, rax
mov r8, qword [rsp + 0x128]
call fcn.00465a80
mov r8, qword [rsp + 0x118]
mov rdx, qword [r8 + 0x60]
mov r9, qword [rdx]
mov ebx, 4
mov rcx, rax
mov edi, 1
mov rsi, rdi
lea rax, [0x006c96f6]
call r9
mov rdx, qword [rsp + 0x1d8]
mov rbx, qword [rdx + 0x38]
lea rax, [0x006b83a0]
lea rcx, [0x006cacf2]
mov edi, 0xa
call fcn.00412dc0
test bl, bl
jne 0x634f86
mov ebx, 0x12
lea rax, [0x006cd7fd]
jmp 0x634fa5
mov rdx, qword [rsp + 0x1d8]
mov rax, qword [rdx + 0x38]
lea rbx, [0x006cacf2]
mov ecx, 0xa
nop
call fcn.0051f6e0
test rbx, rbx
je 0x6350ab
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x108], rax
movups xmmword [rsp + 0x160], xmm15
call fcn.0040afc0
lea rcx, [0x00679500]
mov qword [rsp + 0x160], rcx
mov qword [rsp + 0x168], rax
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
lea rcx, [0x006ccd07]
mov edi, 0x10
lea rsi, [rsp + 0x160]
mov r8d, 1
mov r9, r8
call fcn.004cb360
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
nop
test rbx, rbx
jne 0x6355b4
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x6350ab
cmp qword [rcx + 0x60], 0
je 0x6350ab
lea rax, [0x0067a9e0]
call fcn.0040d960
mov rcx, qword [rsp + 0x58]
mov qword [rax + 8], rcx
cmp dword [0x0092b0b0], 0
jne 0x635068
mov r8, qword [rsp + 0x108]
mov qword [rax], r8
jmp 0x635078
mov rdi, rax
mov r8, qword [rsp + 0x108]
call fcn.00465a80
mov r8, qword [rsp + 0x118]
mov rdx, qword [r8 + 0x60]
mov r9, qword [rdx]
mov ebx, 0xa
mov rcx, rax
mov edi, 1
mov rsi, rdi
lea rax, [0x006cacf2]
nop
call r9
mov rcx, qword [rsp + 0x118]
lea rax, [0x006bfa40]
mov rbx, qword [rsp + 0x1d8]
call fcn.0063a640
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
test rbx, rbx
jne 0x63558f
mov qword [rsp + 0x110], rax
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x118]
call fcn.0063b6e0
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
test rax, rax
jne 0x63556a
mov rdx, qword [rsp + 0x1d8]
mov rax, qword [rdx + 0x38]
mov rdi, qword [0x008d4b00]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x118]
nop dword [rax + rax]
call fcn.006339c0
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
test rax, rax
jne 0x635545
mov rax, qword [rsp + 0x1f8]
test rax, rax
je 0x6351a9
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x100]
xor edi, edi
mov rsi, qword [rsp + 0x118]
call fcn.006339c0
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
nop word [rax + rax]
test rax, rax
jne 0x635520
mov rax, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x100]
lea rcx, [0x006c9402]
mov edi, 2
call fcn.00470360
mov qword [rsp + 0x140], rbx
mov qword [rsp + 0x148], rcx
nop word [rax + rax]
test rbx, rbx
jne 0x6354fa
mov rsi, qword [rsp + 0x118]
test rsi, rsi
je 0x63520c
mov rdx, qword [rsi + 0x68]
test rdx, rdx
je 0x63520c
mov rax, qword [rdx]
call rax
mov rsi, qword [rsp + 0x118]
mov rdx, qword [rsp + 0x200]
test rdx, rdx
je 0x635325
mov rcx, qword [rsp + 0x50]
lea rbx, [0x007429c0]
cmp rcx, rbx
jne 0x635238
mov rax, qword [rsp + 0x100]
jmp 0x63523d
mov eax, 0
je 0x635244
test rsi, rsi
jmp 0x63528b
call fcn.004ef040
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
nop dword [rax]
test rax, rax
jne 0x635300
mov rax, qword [rsp + 0x118]
test rax, rax
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x200]
lea rbx, [0x007429c0]
mov rsi, rax
je 0x6352a6
mov rax, qword [rsi + 0x70]
test rax, rax
je 0x6352a6
mov rcx, qword [rax]
mov rdx, rax
call rcx
mov rdx, qword [rsp + 0x200]
mov rax, qword [rdx]
call rax
test al, al
jne 0x635325
mov byte [rsp + 0x4f], 1
nop
mov rcx, qword [rsp + 0x1d8]
mov rdx, qword [rcx + 0x40]
mov rax, qword [rcx + 0x48]
test rdx, rdx
je 0x6352d0
mov rcx, qword [rdx + 0x18]
call rcx
movups xmmword [rsp + 0x140], xmm15
call fcn.004358c0
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov rbx, qword [rsp + 0x50]
lea rdx, [0x007429c0]
cmp rbx, rdx
jne 0x635342
mov rax, qword [rsp + 0x100]
nop
jmp 0x635347
mov eax, 0
jne 0x6353a9
mov rdx, qword [rsp + 0x110]
cmp byte [rdx + 0x88], 0
je 0x6353b1
call fcn.004ef040
nop
test rax, rax
jne 0x635374
mov rdx, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x50]
jmp 0x6353b1
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov rdx, qword [rsp + 0x110]
mov byte [rsp + 0x4f], 1
mov rax, rdx
mov rcx, qword [rsp + 0x100]
call fcn.0063be80
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
test rax, rax
je 0x635485
mov rdx, qword [rsp + 0x110]
mov rsi, qword [rdx + 0x78]
mov rdx, qword [rdx + 0x80]
cmp rax, rsi
jne 0x635460
mov rax, rsi
mov rcx, rbx
mov rbx, rdx
call fcn.00403fe0
test al, al
je 0x635460
movups xmmword [rsp + 0x150], xmm15
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x148]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x158], rdx
lea rax, [0x006968e0]
lea rbx, [rsp + 0x150]
call fcn.0040ad40
lea rcx, [0x00743700]
mov qword [rsp + 0x140], rcx
mov qword [rsp + 0x148], rax
nop dword [rax]
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x6354cc
call fcn.004ef040
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rbx
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
movups xmmword [rsp + 0x140], xmm15
call fcn.004358c0
mov rbx, qword [rsp + 0x148]
mov rax, qword [rsp + 0x140]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
call fcn.004358c0
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rbp, qword [rsp + 0x1c8]
add rsp, 0x1d0
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.00463740
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.006347c0