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

Disassembly:
lea r12, [rsp - 0x1c0]
cmp r12, qword [r14 + 0x10]
jbe 0x524899
push rbp
mov rbp, rsp
sub rsp, 0x238
mov qword [rsp + 0x250], rbx
mov qword [rsp + 0x248], rax
lea rcx, [0x0073e548]
mov edi, 1
call fcn.00477840
mov qword [rsp + 0x78], rbx
call fcn.00475da0
call fcn.004767e0
mov qword [rsp + 0x230], rax
mov qword [rsp + 0xf0], rbx
nop dword [rax]
call fcn.00523c60
test rax, rax
jne 0x523e7c
mov qword [rsp + 0x228], rbx
mov qword [rsp + 0xe8], rax
call fcn.0040df00
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x250]
cmp rcx, rdx
ja 0x52488d
mov qword [rsp + 0x100], 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 0x523eb4
xor ecx, ecx
mov rdi, rax
mov rsi, rbx
xor eax, eax
xor ebx, ebx
add rsp, 0x238
pop rbp
ret
mov qword [rax], rdx
mov rax, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x128]
test rsi, rsi
je 0x5241a6
mov qword [rsp + 0x128], rcx
mov rax, rdx
mov rbx, rsi
lea rcx, [0x006f4400]
call fcn.004761c0
nop word [rax + rax]
test rbx, rbx
je 0x52419e
call fcn.00524e20
test rbx, rbx
je 0x524150
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x110], rax
lea rcx, [0x0073e3e8]
mov edi, 1
call fcn.00477840
nop dword [rax + rax]
test sil, sil
je 0x524039
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0x170], rax
mov rdx, qword [rsp + 0x128]
test rdx, rdx
jne 0x523f7e
call fcn.0040df00
mov rbx, qword [rsp + 0xc8]
mov rdx, rax
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x128], rdx
mov rcx, rax
mov rdi, rbx
lea rax, [0x0067cc40]
mov rbx, rdx
call fcn.00412560
mov rdx, qword [rax]
nop
test bl, bl
jne 0x52402f
call fcn.0040df00
mov qword [rsp + 0x220], rax
mov rbx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x170]
mov rdi, qword [rsp + 0xc8]
lea rax, [0x0067cc40]
call fcn.00412940
test byte [rax], al
cmp dword [0x0092d940], 0
jne 0x523fee
mov rdx, qword [rsp + 0x220]
jmp 0x524005
call fcn.0045fe40
mov rdx, qword [rsp + 0x220]
mov qword [r11], rdx
mov rsi, qword [rax]
mov qword [r11 + 8], rsi
mov qword [rax], rdx
lea rax, [0x0067cc40]
mov rbx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x170]
mov rdi, qword [rsp + 0xc8]
call fcn.004121a0
mov rdx, qword [rax]
mov rax, qword [rsp + 0x128]
jmp 0x524049
mov rdx, qword [rsp + 0x100]
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x218], rdx
mov qword [rsp + 0x128], rax
mov rbx, rdx
mov rcx, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x88]
lea rax, [0x0067ba40]
call fcn.00412560
test bl, bl
je 0x5240b4
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0xa8]
cmp rdx, rcx
je 0x524094
mov eax, 1
jmp 0x5240b0
mov rax, qword [rax]
mov rbx, qword [rsp + 0x130]
nop
call fcn.004035a0
xor eax, 1
mov rdx, qword [rsp + 0xa8]
test al, al
jne 0x524116
lea rax, [0x0067ba40]
mov rbx, qword [rsp + 0x218]
mov rcx, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x88]
call fcn.00412940
mov rdx, qword [rsp + 0xa8]
mov qword [rax + 8], rdx
cmp dword [0x0092d940], 0
jne 0x5240fa
mov rdx, qword [rsp + 0x130]
jmp 0x523e91
call fcn.0045fe40
mov rdx, qword [rsp + 0x130]
mov qword [r11], rdx
mov rsi, qword [rax]
mov qword [r11 + 8], rsi
jmp 0x523e91
nop
lea rax, [0x006870a0]
nop
call fcn.0040d480
mov qword [rax + 8], 0x1e
lea rcx, [0x006cde33]
mov qword [rax], rcx
xor ebx, ebx
xor ecx, ecx
lea rdi, [0x00741740]
mov rsi, rax
xor eax, eax
add rsp, 0x238
pop rbp
ret
mov rax, rsi
mov rbx, r8
call fcn.004767e0
nop dword [rax + rax]
cmp rbx, 1
jne 0x524175
cmp byte [rax], 0x3b
jne 0x524175
mov rcx, qword [rsp + 0x128]
jmp 0x5241a6
mov rdi, qword [0x00899fd0]
mov rsi, qword [0x00899fd8]
mov rax, qword [rsp + 0x230]
mov rbx, qword [rsp + 0xf0]
xor ecx, ecx
add rsp, 0x238
pop rbp
ret
mov rcx, qword [rsp + 0x128]
movups xmmword [rsp + 0x150], xmm15
movups xmmword [rsp + 0x160], xmm15
lea rdi, [rsp + 0x1a0]
lea rdi, [rdi - 0x20]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004604cb
mov rbp, qword [rbp]
lea rax, [0x0067cc40]
mov rbx, rcx
lea rcx, [rsp + 0x1a0]
call fcn.0040f2e0
jmp 0x5241fd
lea rax, [rsp + 0x1a0]
call fcn.0040f500
mov rdx, qword [rsp + 0x1a0]
test rdx, rdx
je 0x524325
mov rbx, qword [rdx]
mov qword [rsp + 0x108], rbx
mov rcx, qword [rdx + 8]
mov qword [rsp + 0x80], rcx
mov rdx, qword [rsp + 0x1a8]
mov rdx, qword [rdx]
mov qword [rsp + 0xf8], rdx
lea rax, [rsp + 0x50]
lea rdi, [0x0073e3e8]
mov esi, 1
call fcn.0044abe0
mov rcx, rax
mov rdi, rbx
lea rax, [0x0067ba40]
mov rbx, qword [rsp + 0xf8]
call fcn.00412560
test bl, bl
jne 0x524296
mov qword [rsp + 0x150], 0
movups xmmword [rsp + 0x160], xmm15
mov qword [rsp + 0x158], 0
xor eax, eax
xor ecx, ecx
jmp 0x524366
mov rcx, qword [rax]
mov rbx, qword [rax + 8]
mov rax, rcx
call fcn.005248c0
test cl, cl
je 0x5241f0
mov qword [rsp + 0x148], rax
mov qword [rsp + 0xc0], rbx
lea rax, [0x0067ba40]
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x80]
nop dword [rax]
call fcn.00412940
mov rdx, qword [rsp + 0xc0]
mov qword [rax + 8], rdx
cmp dword [0x0092d940], 0
jne 0x524304
mov rcx, qword [rsp + 0x148]
jmp 0x52431b
call fcn.0045fe40
mov rcx, qword [rsp + 0x148]
mov qword [r11], rcx
mov rdx, qword [rax]
mov qword [r11 + 8], rdx
mov qword [rax], rcx
nop
jmp 0x5241f0
mov rax, qword [rsp + 0x230]
mov rbx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x100]
mov rdi, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0x228]
add rsp, 0x238
pop rbp
ret
mov rax, qword [rsp + 0xa0]
inc rax
mov ecx, 1
mov byte [rsp + 0x2f], cl
mov qword [rsp + 0xa0], rax
movups xmmword [rsp + 0x180], xmm15
movups xmmword [rsp + 0x190], xmm15
mov rbx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x108]
call fcn.0040a940
lea rcx, [0x0066d140]
mov qword [rsp + 0x180], rcx
mov qword [rsp + 0x188], rax
mov rax, qword [rsp + 0xa0]
call fcn.0040a8c0
lea rcx, [0x0066d380]
mov qword [rsp + 0x190], rcx
mov qword [rsp + 0x198], rax
lea rax, [0x006c4eb4]
mov ebx, 5
mov edi, 2
mov rsi, rdi
lea rcx, [rsp + 0x180]
call fcn.004c2a60
mov qword [rsp + 0x178], rax
mov qword [rsp + 0xd0], rbx
mov rcx, rax
mov rdi, rbx
lea rax, [0x0067ba40]
mov rbx, qword [rsp + 0xf8]
call fcn.00412560
mov rdi, qword [rax + 8]
mov rcx, qword [rax]
test bl, bl
je 0x524526
mov rdx, qword [rsp + 0x150]
nop
nop
test rdx, rdx
je 0x52444f
lea r8, [rsp + 0x150]
cmp rdx, r8
je 0x52445f
jmp 0x52487a
lea rdx, [rsp + 0x150]
mov qword [rsp + 0x150], rdx
mov rdx, qword [rsp + 0x168]
mov r8, qword [rsp + 0x160]
lea rbx, [rdi + r8]
mov rax, qword [rsp + 0x158]
nop dword [rax + rax]
cmp rdx, rbx
jae 0x5244c7
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0xe0], r8
mov rcx, rdx
lea rsi, [0x0066d1c0]
call fcn.00447aa0
mov rdi, qword [rsp + 0x90]
mov r8, qword [rsp + 0xe0]
mov rdx, rcx
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0x210], rax
lea rsi, [rax + r8]
mov rax, rsi
mov rbx, rcx
mov rcx, rdi
call fcn.00460ba0
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x160], rdx
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0x168], rdx
mov rdx, qword [rsp + 0x210]
mov qword [rsp + 0x158], rdx
jmp 0x524356
lea rax, [rsp + 0x30]
mov rbx, qword [rsp + 0x178]
mov rcx, qword [rsp + 0xd0]
lea rdi, [0x0073e3e8]
mov esi, 1
call fcn.0044abe0
mov rcx, rax
mov rdi, rbx
lea rax, [0x0067ba40]
mov rbx, qword [rsp + 0xf8]
call fcn.00412560
test bl, bl
je 0x5247aa
mov rcx, qword [rax]
mov rbx, qword [rax + 8]
mov rdx, qword [rsp + 0xa0]
nop dword [rax]
test rdx, rdx
jne 0x52469a
mov rax, rcx
call fcn.005248c0
test cl, cl
je 0x524356
mov rdx, qword [rsp + 0x150]
nop
test rdx, rdx
je 0x5245b9
lea r8, [rsp + 0x150]
cmp rdx, r8
je 0x5245c9
jmp 0x524867
lea rdx, [rsp + 0x150]
mov qword [rsp + 0x150], rdx
mov rcx, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x160]
lea r8, [rbx + rdx]
mov r9, qword [rsp + 0x158]
cmp rcx, r8
jae 0x524635
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0x140], rax
mov qword [rsp + 0xb8], rbx
mov rax, r9
mov rdi, rbx
lea rsi, [0x0066d1c0]
mov rbx, r8
call fcn.00447aa0
mov rdx, qword [rsp + 0xe0]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x140]
mov rbx, qword [rsp + 0xb8]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0x208], r9
add rdx, r9
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
nop
call fcn.00460ba0
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x160], rdx
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0x168], rdx
mov rdx, qword [rsp + 0x208]
mov qword [rsp + 0x158], rdx
jmp 0x524356
mov rax, rcx
nop dword [rax]
call fcn.00525000
mov rcx, qword [rsp + 0x150]
nop
test rcx, rcx
je 0x5246ca
lea rdx, [rsp + 0x150]
nop dword [rax + rax]
cmp rcx, rdx
je 0x5246da
jmp 0x524854
lea rdx, [rsp + 0x150]
mov qword [rsp + 0x150], rdx
mov rcx, qword [rsp + 0x168]
mov rdx, qword [rsp + 0x160]
lea r8, [rdx + rbx]
mov r9, qword [rsp + 0x158]
cmp rcx, r8
jae 0x524746
mov qword [rsp + 0x138], rax
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xe0], rdx
mov rax, r9
mov rdi, rbx
lea rsi, [0x0066d1c0]
mov rbx, r8
call fcn.00447aa0
mov rdx, qword [rsp + 0xe0]
mov r9, rax
mov r8, rbx
mov rax, qword [rsp + 0x138]
mov rbx, qword [rsp + 0xb0]
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0x200], r9
add rdx, r9
mov rsi, rax
mov rax, rdx
mov rdi, rbx
mov rbx, rsi
mov rcx, rdi
call fcn.00460ba0
mov rdx, qword [rsp + 0xd8]
mov qword [rsp + 0x160], rdx
mov rdx, qword [rsp + 0xe0]
mov qword [rsp + 0x168], rdx
mov rdx, qword [rsp + 0x200]
mov qword [rsp + 0x158], rdx
jmp 0x524356
movzx edx, byte [rsp + 0x2f]
test dl, dl
je 0x5241f0
mov rdx, qword [rsp + 0x160]
mov rsi, qword [rsp + 0x158]
mov r8, rsi
neg rsi
nop
cmp rdx, rsi
ja 0x524845
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x200], r8
lea rax, [0x0067ba40]
mov rbx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x80]
nop
call fcn.00412940
mov rdx, qword [rsp + 0x70]
mov qword [rax + 8], rdx
cmp dword [0x0092d940], 0
jne 0x524822
mov rcx, qword [rsp + 0x200]
nop
jmp 0x524839
call fcn.0045fe40
mov rcx, qword [rsp + 0x200]
mov qword [r11], rcx
mov rdx, qword [rax]
mov qword [r11 + 8], rdx
mov qword [rax], rcx
nop dword [rax]
jmp 0x5241f0
test r8, r8
je 0x52484f
call fcn.00456d40
call fcn.00456d80
lea rax, [0x0066d140]
lea rbx, [0x007401e0]
call fcn.004337c0
lea rax, [0x0066d140]
lea rbx, [0x007401e0]
call fcn.004337c0
lea rax, [0x0066d140]
lea rbx, [0x007401e0]
call fcn.004337c0
mov rax, rcx
mov rcx, rdx
call fcn.004602a0
nop
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.00523dc0