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

Disassembly:
lea r12, [rsp - 0x200]
cmp r12, qword [r14 + 0x10]
jbe 0x5cb85a
sub rsp, 0x280
mov qword [rsp + 0x278], rbp
lea rbp, [rsp + 0x278]
mov qword [rsp + 0x288], rax
mov qword [rsp + 0x290], rbx
mov qword [rsp + 0x108], 0
movups xmmword [rsp + 0x158], xmm15
mov rdx, qword [0x007d4100]
mov rcx, qword [rdx]
call rcx
lea rax, [0x006147c0]
call fcn.0040d1e0
lea rcx, [0x005d3160]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x288]
mov qword [rax + 8], rcx
mov rbx, qword [rcx + 0x10]
mov rsi, qword [rsp + 0x290]
mov rdi, qword [rsi + 0x18]
mov rdx, rax
mov rax, rbx
mov rbx, rdi
mov rcx, rdx
call fcn.005c3c20
nop dword [rax]
test al, al
je 0x5cb1b3
mov rcx, qword [rsp + 0x288]
lea rax, [rcx + 0xd8]
mov qword [rsp + 0x150], rax
nop
call fcn.00472620
mov rcx, qword [rsp + 0x288]
inc qword [rcx + 0xe0]
mov rdx, qword [rcx + 0x110]
mov qword [rsp + 0x120], rdx
mov rax, qword [rsp + 0x150]
call fcn.00472920
mov rcx, qword [rsp + 0x120]
test rcx, rcx
je 0x5cad37
mov rax, qword [rsp + 0x290]
call fcn.005c0d20
mov rdx, qword [rsp + 0x120]
mov rcx, qword [rdx]
call rcx
mov rdx, qword [rsp + 0x288]
mov rsi, qword [rdx + 0x10]
cmp byte [rsi + 0xa9], 0
je 0x5cad50
xor eax, eax
jmp 0x5cadb5
mov rdx, qword [rsp + 0x290]
mov rsi, qword [rdx]
mov rax, qword [rsi + 0x38]
lea rbx, [0x006478e1]
mov ecx, 0xf
call fcn.005b6740
test rbx, rbx
je 0x5cad82
mov rdx, qword [rsp + 0x288]
xor eax, eax
nop
jmp 0x5cadb5
mov rdx, qword [rsp + 0x290]
mov rsi, qword [rdx]
mov rax, qword [rsi + 0x38]
lea rbx, [0x006449d9]
mov ecx, 5
nop dword [rax]
call fcn.005b6740
test rbx, rbx
sete dl
mov eax, edx
mov rdx, qword [rsp + 0x288]
test al, al
je 0x5cae07
mov rax, qword [rsp + 0x290]
mov rsi, qword [rax]
mov rdi, qword [rsi]
cmp qword [rsi + 8], 4
jne 0x5cadd6
cmp dword [rdi], 0x44414548
je 0x5cae0f
call fcn.005c0d20
lea rbx, [0x006478e1]
mov ecx, 0xf
lea rdi, [0x00644809]
mov esi, 4
call fcn.005b66c0
mov rax, qword [rsp + 0x290]
mov ecx, 1
jmp 0x5cae11
mov rax, qword [rsp + 0x290]
xor ecx, ecx
mov byte [rsp + 0x36], cl
mov rdx, qword [rax]
mov ebx, 1
mov rax, rdx
mov rcx, rbx
call fcn.005b7c00
test al, al
je 0x5cae6f
mov rcx, qword [rsp + 0x290]
mov rax, qword [rcx]
cmp qword [rax + 0x40], 0
je 0x5cae77
nop
call fcn.005b98a0
test al, al
jne 0x5cae53
mov rcx, qword [rsp + 0x290]
jmp 0x5cae77
lea rax, [0x005fc9e0]
mov ebx, 1
nop
call fcn.00405560
mov rcx, qword [rsp + 0x290]
jmp 0x5cae79
mov rcx, qword [rsp + 0x290]
xor eax, eax
mov qword [rsp + 0x140], rax
mov rdx, qword [rsp + 0x288]
mov rsi, qword [rdx + 0x10]
cmp byte [rsi + 0xa8], 0
jne 0x5cae9a
xor ebx, ebx
jmp 0x5caec2
mov rax, qword [rcx]
nop dword [rax]
call fcn.005b9900
xor eax, 1
mov rcx, qword [rsp + 0x290]
mov rdx, qword [rsp + 0x288]
mov ebx, eax
mov rax, qword [rsp + 0x140]
test bl, bl
je 0x5caf1a
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x38]
call fcn.005ba2c0
test al, al
je 0x5caef0
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x290]
mov rdx, qword [rsp + 0x288]
jmp 0x5caf1a
mov rax, qword [rsp + 0x290]
call fcn.005c0d20
lea rbx, [0x00645bd6]
mov ecx, 0xa
lea rdi, [0x00644a1a]
mov esi, 5
call fcn.005b66c0
lea rax, [0x005fc9e0]
xor ebx, ebx
call fcn.00405560
mov qword [rsp + 0x128], rax
movups xmmword [rsp + 0x168], xmm15
lea rcx, [0x005cb940]
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x170], rax
lea rcx, [rsp + 0x168]
mov qword [rsp + 0xc0], rcx
lea rax, [rsp + 0xa8]
call fcn.004359e0
test eax, eax
jne 0x5cb186
movups xmmword [rsp + 0x1c8], xmm15
movups xmmword [rsp + 0x1d8], xmm15
lea rcx, [0x005cb8e0]
mov qword [rsp + 0x1c8], rcx
lea rcx, [rsp + 0x158]
mov qword [rsp + 0x1d0], rcx
mov rcx, qword [rsp + 0x288]
mov qword [rsp + 0x1d8], rcx
mov rdx, qword [rsp + 0x290]
mov qword [rsp + 0x1e0], rdx
lea rbx, [rsp + 0x1c8]
mov qword [rsp + 0x78], rbx
lea rax, [rsp + 0x60]
call fcn.004359e0
nop dword [rax]
test eax, eax
jne 0x5cb159
mov rcx, qword [rsp + 0x288]
mov rdx, qword [rcx + 0x78]
mov qword [rsp + 0x38], rdx
lea rax, [0x005fc720]
mov ebx, 1
call fcn.00405560
mov qword [rsp + 0xf0], rax
movups xmmword [rsp + 0x1b0], xmm15
mov qword [rsp + 0x1c0], 0
mov rcx, qword [rsp + 0x290]
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rax
mov rdx, qword [rsp + 0x140]
mov qword [rsp + 0x1c0], rdx
mov rsi, qword [rsp + 0x288]
mov rdi, qword [rsi + 0x88]
lea rbx, [rsp + 0x1b0]
mov rax, rdi
call fcn.00405780
lea rax, [0x005fc920]
xor ebx, ebx
call fcn.00405560
mov qword [rsp + 0x110], rax
movups xmmword [rsp + 0x1e8], xmm15
movups xmmword [rsp + 0x1f8], xmm15
movups xmmword [rsp + 0x208], xmm15
mov rcx, qword [rsp + 0x290]
mov rdx, qword [rcx]
mov qword [rsp + 0x1e8], rdx
mov rdx, qword [rcx + 0x18]
mov qword [rsp + 0x1f0], rdx
mov qword [rsp + 0x1f8], rax
movzx edx, byte [rsp + 0x36]
mov byte [rsp + 0x200], dl
mov rdx, qword [rsp + 0x140]
mov qword [rsp + 0x208], rdx
mov rdx, qword [rsp + 0x128]
mov qword [rsp + 0x210], rdx
mov rdx, qword [rsp + 0x288]
mov rsi, qword [rdx + 0x80]
lea rbx, [rsp + 0x1e8]
mov rax, rsi
call fcn.00405780
mov rcx, qword [rsp + 0x290]
mov rax, qword [rcx]
mov rdx, qword [rax + 0xd8]
mov qword [rsp + 0x148], rdx
call fcn.005b7ba0
mov rcx, qword [rax + 0x20]
mov rax, rbx
call rcx
mov rcx, qword [rsp + 0x288]
mov rdx, qword [rcx + 0x90]
xor ebx, ebx
xor esi, esi
mov rdi, qword [rsp + 0x148]
jmp 0x5cb22a
call fcn.00435de0
mov rbx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x278]
add rsp, 0x280
ret
call fcn.00435de0
mov rbx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x278]
add rsp, 0x280
ret
mov rbx, qword [rsp + 0x288]
mov rax, qword [rbx + 0x10]
nop
call fcn.005c26a0
mov qword [rsp + 0x108], 0
mov rcx, qword [0x007dff10]
mov rdx, qword [0x007dff18]
mov qword [rsp + 0x158], rcx
mov qword [rsp + 0x160], rdx
call fcn.00435de0
mov rbx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x278]
add rsp, 0x280
ret
mov rdi, rdx
mov rdx, rcx
mov r8, rbx
mov ebx, eax
mov rax, r8
mov byte [rsp + 0x37], bl
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x148], rdi
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0x118], rdx
mov rcx, qword [0x007d4128]
mov r8, qword [rcx]
mov rdx, rcx
call r8
movups xmmword [rsp + 0x188], xmm15
mov qword [rsp + 0x198], 0
movups xmmword [rsp + 0x1a0], xmm15
lea rdi, [rsp + 0x218]
lea rdi, [rdi - 0x20]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004618eb
mov rbp, qword [rbp]
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x268], rax
lea rcx, [rsp + 0x188]
mov qword [rsp + 0x270], rcx
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0x258], rcx
mov rbx, qword [rsp + 0x100]
mov qword [rsp + 0x248], rbx
mov rsi, qword [rsp + 0x110]
mov qword [rsp + 0x238], rsi
lea rdi, [rsp + 0x198]
mov qword [rsp + 0x240], rdi
mov rdi, qword [rsp + 0x148]
mov qword [rsp + 0x228], rdi
mov r8, qword [rsp + 0x138]
mov qword [rsp + 0x218], r8
lea rax, [rsp + 0x218]
lea rbx, [rsp + 0x48]
xor ecx, ecx
xor edi, edi
mov esi, 6
mov r8d, 1
call fcn.00446680
nop dword [rax]
test rax, rax
je 0x5cb4cf
cmp rax, 1
je 0x5cb485
cmp rax, 2
je 0x5cb71c
nop dword [rax]
cmp rax, 3
je 0x5cb6a6
cmp rax, 4
je 0x5cb42a
cmp rax, 5
jne 0x5cb859
mov r8, qword [rsp + 0x188]
mov r9, qword [rsp + 0x190]
test r8, r8
jne 0x5cb55d
mov rcx, qword [rsp + 0x288]
mov rbx, qword [rcx + 0x10]
mov rax, qword [rbx + 0xd0]
test rax, rax
jg 0x5cb3b9
mov rsi, qword [rsp + 0x100]
jmp 0x5cb408
call fcn.0049b2a0
mov qword [rsp + 0xf8], rax
lea rax, [0x00615040]
call fcn.0040d1e0
lea rcx, [0x005cb880]
mov qword [rax], rcx
mov rdx, qword [rsp + 0xf8]
mov qword [rax + 8], rdx
call fcn.00435900
test eax, eax
jne 0x5cb530
mov rax, qword [rsp + 0xf8]
mov rsi, qword [rax]
mov rcx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x118]
movzx eax, byte [rsp + 0x37]
mov rdx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x138]
jmp 0x5cb21c
movzx edx, byte [rsp + 0x37]
test dl, dl
jne 0x5cb635
mov rdx, qword [rsp + 0x288]
mov rax, qword [rdx + 0x10]
mov rsi, qword [rsp + 0x290]
mov rbx, qword [rsi + 0x18]
xor ecx, ecx
call fcn.005c3c20
test al, al
jne 0x5cb635
xor ecx, ecx
movzx eax, byte [rsp + 0x37]
mov rsi, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x138]
nop dword [rax]
jmp 0x5cb21c
mov rdx, qword [rsp + 0x288]
mov rax, qword [rdx + 0x10]
mov rcx, qword [0x007dff10]
mov rdi, qword [0x007dff18]
mov rsi, qword [rsp + 0x290]
mov rbx, qword [rsi + 0x18]
call fcn.005c2200
mov rcx, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x100]
xor edx, edx
mov rbx, qword [rsp + 0x138]
jmp 0x5cb21c
mov rcx, qword [rsp + 0x290]
mov rax, qword [rcx]
call fcn.005b7ba0
mov rcx, qword [rax + 0x28]
mov rax, rbx
call rcx
mov rcx, qword [rsp + 0x288]
mov rdx, qword [rcx + 0x10]
mov rsi, qword [rsp + 0x290]
mov rdi, qword [rsi + 0x18]
mov r8, rax
mov rax, rdx
mov r9, rbx
mov rbx, rdi
mov rcx, r8
mov rdi, r9
call fcn.005c2200
mov rcx, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x100]
xor edx, edx
xor ebx, ebx
jmp 0x5cb21c
call fcn.00435de0
mov rbx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x278]
add rsp, 0x280
ret
mov qword [rsp + 0x40], r8
movups xmmword [rsp + 0x178], xmm15
je 0x5cb573
mov rdx, qword [r8 + 8]
jmp 0x5cb576
mov rdx, r8
mov qword [rsp + 0x130], r9
mov qword [rsp + 0x178], rdx
mov qword [rsp + 0x180], r9
lea rax, [0x00647e54]
mov ebx, 0xf
lea rcx, [rsp + 0x178]
mov edi, 1
mov rsi, rdi
call fcn.004acb60
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x288]
nop dword [rax]
call fcn.005cba20
mov rax, qword [rsp + 0x288]
mov rbx, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x130]
call fcn.005c88e0
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rbx
call fcn.00435de0
mov rbx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x278]
add rsp, 0x280
ret
mov rax, qword [rsp + 0x288]
mov rdi, qword [rax + 0xe8]
mov rsi, qword [rax + 0xf0]
mov rbx, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x38]
call fcn.005c88e0
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rbx
call fcn.00435de0
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x158]
mov rbp, qword [rsp + 0x278]
add rsp, 0x280
ret
mov rbx, qword [0x007d49e0]
mov rcx, qword [0x007d49e8]
mov rax, qword [rsp + 0x288]
nop dword [rax]
call fcn.005cba20
mov rdx, qword [0x007d49e0]
mov rsi, qword [0x007d49e8]
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x158], rdx
mov qword [rsp + 0x160], rsi
call fcn.00435de0
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x158]
mov rbp, qword [rsp + 0x278]
add rsp, 0x280
ret
mov rdx, qword [rsp + 0x198]
mov rdi, qword [rsp + 0x1a0]
mov rsi, qword [rsp + 0x1a8]
test rdx, rdx
sete r8b
test rdi, rdi
sete r9b
cmp r9b, r8b
je 0x5cb7f1
test rdi, rdi
je 0x5cb7b3
mov rax, qword [rsp + 0x288]
mov rbx, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x38]
call fcn.005c88e0
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rbx
call fcn.00435de0
mov rbx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x278]
add rsp, 0x280
ret
mov qword [rsp + 0x108], rdx
movups xmmword [rsp + 0x158], xmm15
call fcn.00435de0
mov rbx, qword [rsp + 0x158]
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x278]
add rsp, 0x280
ret
movups xmmword [rsp + 0x178], xmm15
lea rdx, [0x005fc660]
mov qword [rsp + 0x178], rdx
movzx edx, r8b
lea r8, [0x007b5d40]
lea rdx, [r8 + rdx*8]
mov qword [rsp + 0x180], rdx
lea rax, [0x0065801c]
mov ebx, 0x3f
lea rcx, [rsp + 0x178]
mov edi, 1
mov rsi, rdi
nop dword [rax]
call fcn.004af1a0
call fcn.0040a840
mov rbx, rax
lea rax, [0x005fe120]
call fcn.00436780
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.0045f280
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.005cac20