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

Disassembly:
lea r12, [rsp - 0x1c0]
cmp r12, qword [r14 + 0x10]
jbe 0x52377e
sub rsp, 0x240
mov qword [rsp + 0x238], rbp
lea rbp, [rsp + 0x238]
mov qword [rsp + 0x250], rbx
mov qword [rsp + 0x248], rax
lea rcx, [0x00740160]
mov edi, 1
call fcn.004d8fa0
mov qword [rsp + 0x90], rbx
call fcn.004d71c0
call fcn.004d7d80
mov qword [rsp + 0x190], rax
mov qword [rsp + 0xb0], rbx
call fcn.00522b60
test rax, rax
jne 0x522db0
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x188], rbx
call fcn.0040e4a0
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x250]
nop dword [rax + rax]
cmp rcx, rdx
ja 0x523772
mov qword [rsp + 0x118], rax
sub rdx, rcx
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and rcx, rdx
mov rdx, qword [rsp + 0x248]
add rdx, rcx
xor ecx, ecx
jmp 0x522de9
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x238]
add rsp, 0x240
ret
mov rax, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x150]
test rsi, rsi
je 0x5230c0
mov qword [rsp + 0x150], rcx
mov rax, rdx
mov rbx, rsi
lea rcx, [0x006faea0]
call fcn.004d76e0
test rbx, rbx
je 0x5230b8
call fcn.00523d40
nop word [rax + rax]
test rbx, rbx
je 0x523068
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x110], rsi
lea rcx, [0x007400f8]
mov edi, 1
nop dword [rax]
call fcn.004d8fa0
test sil, sil
je 0x522f5e
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x158], rax
mov rdx, qword [rsp + 0x150]
test rdx, rdx
jne 0x522ea3
call fcn.0040e4a0
mov rbx, qword [rsp + 0x88]
mov rdx, rax
mov rax, qword [rsp + 0x158]
mov qword [rsp + 0x150], rdx
mov rcx, rax
mov rdi, rbx
lea rax, [0x00686700]
mov rbx, rdx
nop dword [rax + rax]
call fcn.00412dc0
mov rdx, qword [rax]
test bl, bl
jne 0x522f54
call fcn.0040e4a0
mov qword [rsp + 0x180], rax
mov rbx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x88]
lea rax, [0x00686700]
nop dword [rax]
call fcn.004131e0
test byte [rax], al
cmp dword [0x0092b0b0], 0
jne 0x522f1d
mov rdx, qword [rsp + 0x180]
mov qword [rax], rdx
jmp 0x522f2d
mov rdi, rax
mov rdx, qword [rsp + 0x180]
call fcn.00465a20
lea rax, [0x00686700]
mov rbx, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x158]
mov rdi, qword [rsp + 0x88]
call fcn.004129c0
mov rdx, qword [rax]
mov rax, qword [rsp + 0x150]
jmp 0x522f6e
mov rax, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x178], rdx
mov qword [rsp + 0x150], rax
mov rbx, rdx
mov rcx, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x68]
lea rax, [0x00686820]
call fcn.00412dc0
mov rcx, qword [rax + 8]
mov rax, qword [rax]
test bl, bl
je 0x522fd1
mov rdx, qword [rsp + 0x38]
cmp rdx, rcx
je 0x522fb6
mov eax, 1
jmp 0x522fcd
mov rbx, qword [rsp + 0xf8]
nop
call fcn.00402d80
xor eax, 1
mov rdx, qword [rsp + 0x38]
test al, al
jne 0x52302a
lea rax, [0x00686820]
mov rbx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0x130]
mov rdi, qword [rsp + 0x68]
call fcn.004131e0
mov rdx, qword [rsp + 0x38]
mov qword [rax + 8], rdx
cmp dword [0x0092b0b0], 0
jne 0x523014
mov rdx, qword [rsp + 0xf8]
mov qword [rax], rdx
jmp 0x522dcc
mov rdi, rax
mov rdx, qword [rsp + 0xf8]
nop
call fcn.00465a20
jmp 0x522dcc
lea rax, [0x00690f40]
call fcn.0040d960
mov qword [rax + 8], 0x1e
lea rcx, [0x006d3a30]
mov qword [rax], rcx
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00742c00]
mov rsi, rax
xor eax, eax
mov rbp, qword [rsp + 0x238]
add rsp, 0x240
ret
mov rax, rsi
mov rbx, r8
call fcn.004d7d80
cmp rbx, 1
jne 0x523088
cmp byte [rax], 0x3b
jne 0x523088
mov rcx, qword [rsp + 0x150]
jmp 0x5230c0
mov rdi, qword [0x008d5800]
mov rsi, qword [0x008d5808]
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0xb0]
xor ecx, ecx
mov rbp, qword [rsp + 0x238]
add rsp, 0x240
ret
mov rcx, qword [rsp + 0x150]
movups xmmword [rsp + 0x198], xmm15
movups xmmword [rsp + 0x1a8], xmm15
lea rdi, [rsp + 0x1d8]
lea rdi, [rdi - 0x20]
nop
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.0046606b
mov rbp, qword [rbp]
lea rax, [0x00686700]
mov rbx, rcx
lea rcx, [rsp + 0x1d8]
call fcn.0040f920
jmp 0x523119
lea rax, [rsp + 0x1d8]
call fcn.0040fba0
mov rdx, qword [rsp + 0x1d8]
test rdx, rdx
je 0x52322a
mov r8, qword [rsp + 0x1e0]
mov rbx, qword [rdx]
mov qword [rsp + 0x128], rbx
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x60], rcx
mov rdx, qword [r8]
mov qword [rsp + 0x120], rdx
lea rax, [rsp + 0xd8]
lea rdi, [0x007400f8]
mov esi, 1
call fcn.0044e760
mov rcx, rax
mov rdi, rbx
lea rax, [0x00686820]
mov rbx, qword [rsp + 0x120]
nop
call fcn.00412dc0
mov rdx, qword [rax]
mov r8, qword [rax + 8]
test bl, bl
jne 0x5231ab
movups xmmword [rsp + 0x198], xmm15
movups xmmword [rsp + 0x1a8], xmm15
xor eax, eax
xor ecx, ecx
jmp 0x52326f
mov rax, rdx
mov rbx, r8
call fcn.005237a0
test cl, cl
je 0x52310c
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x80], rbx
lea rax, [0x00686820]
mov rbx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x60]
call fcn.004131e0
mov rdx, qword [rsp + 0x80]
mov qword [rax + 8], rdx
cmp dword [0x0092b0b0], 0
jne 0x523214
mov rcx, qword [rsp + 0x148]
mov qword [rax], rcx
jmp 0x52310c
mov rdi, rax
mov rcx, qword [rsp + 0x148]
nop
call fcn.00465a00
jmp 0x52310c
mov rax, qword [rsp + 0x190]
mov rbx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x118]
mov rdi, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x188]
mov rbp, qword [rsp + 0x238]
add rsp, 0x240
ret
mov rax, qword [rsp + 0x58]
inc rax
mov ecx, 1
mov byte [rsp + 0x2f], cl
mov qword [rsp + 0x58], rax
movups xmmword [rsp + 0x1b8], xmm15
movups xmmword [rsp + 0x1c8], xmm15
mov rbx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x128]
call fcn.0040afc0
lea rcx, [0x00679500]
mov qword [rsp + 0x1b8], rcx
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x58]
call fcn.0040af40
lea rcx, [0x00678d40]
mov qword [rsp + 0x1c8], rcx
mov qword [rsp + 0x1d0], rax
lea rax, [0x006c986a]
mov ebx, 5
mov edi, 2
mov rsi, rdi
lea rcx, [rsp + 0x1b8]
call fcn.004cb480
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x48], rbx
mov rcx, rax
mov rdi, rbx
lea rax, [0x00686820]
mov rbx, qword [rsp + 0x120]
call fcn.00412dc0
mov rdi, qword [rax + 8]
mov rcx, qword [rax]
test bl, bl
je 0x52341b
nop
nop
mov rdx, qword [rsp + 0x198]
test rdx, rdx
je 0x52334c
lea r8, [rsp + 0x198]
cmp rdx, r8
je 0x52335c
jmp 0x52375f
lea rdx, [rsp + 0x198]
mov qword [rsp + 0x198], rdx
mov rdx, qword [rsp + 0x1a8]
lea rbx, [rdi + rdx]
mov r8, qword [rsp + 0x1b0]
mov rax, qword [rsp + 0x1a0]
cmp r8, rbx
jae 0x5233bd
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0xa0], rdx
mov rcx, r8
lea rsi, [0x006796c0]
nop dword [rax]
call fcn.0044a920
mov rdx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x40]
mov r8, rcx
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0xa0], r8
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x98], rbx
add rdx, rax
mov rax, rdx
mov rbx, rcx
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x1a8], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x1b0], rdx
mov rdx, qword [rsp + 0x170]
mov qword [rsp + 0x1a0], rdx
jmp 0x523262
lea rax, [rsp + 0xb8]
mov rbx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x48]
lea rdi, [0x007400f8]
mov esi, 1
nop dword [rax]
call fcn.0044e760
mov rcx, rax
mov rdi, rbx
lea rax, [0x00686820]
mov rbx, qword [rsp + 0x120]
call fcn.00412dc0
mov rdx, qword [rax]
mov r8, qword [rax + 8]
test bl, bl
je 0x523693
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jne 0x52358e
mov rax, rdx
mov rbx, r8
call fcn.005237a0
test cl, cl
je 0x523262
nop
mov rdx, qword [rsp + 0x198]
test rdx, rdx
je 0x5234af
lea r8, [rsp + 0x198]
cmp rdx, r8
je 0x5234bf
jmp 0x52374c
lea rdx, [rsp + 0x198]
mov qword [rsp + 0x198], rdx
mov rdx, qword [rsp + 0x1a8]
lea r8, [rdx + rbx]
mov rcx, qword [rsp + 0x1b0]
mov r9, qword [rsp + 0x1a0]
nop dword [rax + rax]
cmp rcx, r8
jae 0x52352a
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x140], rax
mov qword [rsp + 0xa0], rdx
mov rax, r9
mov rdi, rbx
lea rsi, [0x006796c0]
mov rbx, r8
call fcn.0044a920
mov rdx, qword [rsp + 0xa0]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x168], r9
add rdx, r9
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x1a8], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x1b0], rdx
mov rdx, qword [rsp + 0x168]
mov qword [rsp + 0x1a0], rdx
jmp 0x523262
mov rax, rdx
mov rbx, r8
call fcn.00523f40
nop
mov rcx, qword [rsp + 0x198]
test rcx, rcx
je 0x5235b9
lea rdx, [rsp + 0x198]
cmp rcx, rdx
je 0x5235c9
jmp 0x523739
lea rdx, [rsp + 0x198]
mov qword [rsp + 0x198], rdx
mov rdx, qword [rsp + 0x1a8]
lea r8, [rbx + rdx]
mov rcx, qword [rsp + 0x1b0]
mov r9, qword [rsp + 0x1a0]
cmp rcx, r8
jae 0x52362f
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x138], rax
mov rax, r9
mov rdi, rbx
lea rsi, [0x006796c0]
mov rbx, r8
call fcn.0044a920
mov rdx, qword [rsp + 0xa0]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x160], r9
add rdx, r9
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
call fcn.00466740
mov rdx, qword [rsp + 0x98]
mov qword [rsp + 0x1a8], rdx
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x1b0], rdx
mov rdx, qword [rsp + 0x160]
mov qword [rsp + 0x1a0], rdx
jmp 0x523262
movzx edx, byte [rsp + 0x2f]
nop dword [rax + rax]
test dl, dl
je 0x52310c
mov rdx, qword [rsp + 0x1a0]
mov rsi, rdx
neg rdx
mov r8, qword [rsp + 0x1a8]
nop
cmp r8, rdx
ja 0x52372a
mov qword [rsp + 0x160], rsi
mov qword [rsp + 0x30], r8
lea rax, [0x00686820]
mov rbx, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x60]
call fcn.004131e0
mov rdx, qword [rsp + 0x30]
mov qword [rax + 8], rdx
cmp dword [0x0092b0b0], 0
jne 0x523715
mov rcx, qword [rsp + 0x160]
mov qword [rax], rcx
jmp 0x52310c
mov rdi, rax
mov rcx, qword [rsp + 0x160]
call fcn.00465a00
jmp 0x52310c
test rsi, rsi
je 0x523734
call fcn.0045cf80
call fcn.0045cfc0
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
lea rax, [0x00679500]
lea rbx, [0x007420c0]
call fcn.00436420
mov rax, rcx
mov rcx, rdx
call fcn.00465e60
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00463740
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00522ce0