Function at 0x140001690
Capabilities:
Set current directory

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rdi
mov eax, 0x1600
call fcn.14037c5f0
sub rsp, rax
lea rdi, [rsp + 0x40]
mov ecx, 0x570
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x1610]
mov rax, qword [0x140575740]
xor rax, rsp
mov qword [rsp + 0x15f8], rax
mov qword [rsp + 0x40], 0
mov r9d, 1
mov r8d, 8
mov edx, 0x400
lea rcx, [rsp + 0x60]
call fcn.1401375b0
mov qword [rsp + 0x4a8], rax
mov rax, qword [rsp + 0x4a8]
cmp qword [rax - 0x10], 0
jbe 0x140001735
mov rax, qword [rsp + 0x4a8]
mov rax, qword [rax - 0x18]
mov rcx, qword [rsp + 0x4a8]
lea rax, [rcx + rax + 0x18]
mov qword [rsp + 0x1598], rax
jmp 0x140001741
mov qword [rsp + 0x1598], 0
mov eax, 8
imul rax, rax, 0
mov rcx, qword [rsp + 0x1598]
mov rdx, qword [rsp + 0x1610]
mov qword [rcx + rax], rdx
mov rax, qword [rsp + 0x1610]
cmp qword [rax + 0x80], 0
je 0x140001786
mov ecx, 2
mov rax, qword [rsp + 0x1610]
call qword [rax + 0x80]
nop
jmp 0x14000178d
call qword [sym.imp.USER32.dll_SetProcessDPIAware]
nop
cmp dword [rsp + 0x1618], 1
jne 0x1400017bc
mov eax, 8
imul rax, rax, 0
lea rdx, [0x1404dc370]
mov rcx, qword [rsp + 0x1620]
mov rcx, qword [rcx + rax]
call fcn.14038a9d0
test eax, eax
je 0x1400017eb
cmp dword [rsp + 0x1618], 2
jne 0x1400017ff
mov eax, 8
imul rax, rax, 1
lea rdx, [0x1404dc378]
mov rcx, qword [rsp + 0x1620]
mov rcx, qword [rcx + rax]
call fcn.14038a9d0
test eax, eax
jne 0x1400017ff
mov rcx, qword [rsp + 0x1610]
call fcn.14000f9f0
xor eax, eax
jmp 0x1400023e8
cmp dword [rsp + 0x1618], 2
jne 0x14000187a
mov eax, 8
imul rax, rax, 1
lea rdx, str.__netinfo
mov rcx, qword [rsp + 0x1620]
mov rcx, qword [rcx + rax]
call fcn.14038a9d0
test eax, eax
jne 0x14000187a
lea rcx, [rsp + 0x4c8]
call fcn.14001ddd0
mov dword [rsp + 0x4d4], eax
cmp dword [rsp + 0x4d4], 0
jle 0x140001873
mov rdx, qword [rsp + 0x4c8]
lea rcx, str._s_r_n
call fcn.140015e70
mov edx, 1
mov rcx, qword [rsp + 0x4c8]
call fcn.1403ba8b0
nop
xor eax, eax
jmp 0x1400023e8
mov rax, qword [rsp + 0x1610]
cmp qword [rax + 0x38], 0
jne 0x140001916
mov rax, qword [rsp + 0x1610]
mov rcx, qword [rsp + 0x4a8]
mov qword [rax + 0x38], rcx
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rsp + 0x4a8]
mov byte [rcx + rax], 0
mov r8d, 0x800
lea rdx, [rsp + 0x4f0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov rax, qword [rsp + 0x4a8]
mov eax, dword [rax - 0x18]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x4a8]
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
lea r8, [rsp + 0x4f0]
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
nop
mov rax, qword [rsp + 0x1610]
add rax, 0xc10
mov rdx, rax
mov rax, qword [rsp + 0x1610]
mov rcx, qword [rax + 0x38]
call fcn.14000c9b0
nop
mov dword [rsp + 0x14f4], 1
jmp 0x140001956
mov eax, dword [rsp + 0x14f4]
inc eax
mov dword [rsp + 0x14f4], eax
mov eax, dword [rsp + 0x1618]
cmp dword [rsp + 0x14f4], eax
jge 0x140001a86
movsxd rax, dword [rsp + 0x14f4]
mov edx, 0x1000
mov rcx, qword [rsp + 0x1620]
mov rcx, qword [rcx + rax*8]
call fcn.140001180
cdqe
movsxd rcx, dword [rsp + 0x14f4]
mov r9d, 1
lea r8, [0x1404dc394]
mov rdx, rax
mov rax, qword [rsp + 0x1620]
mov rcx, qword [rax + rcx*8]
call fcn.140145290
mov dword [rsp + 0x14f8], eax
cmp dword [rsp + 0x14f8], 2
jle 0x140001a81
movsxd rax, dword [rsp + 0x14f4]
mov r8d, 2
lea rdx, [0x1404dc398]
mov rcx, qword [rsp + 0x1620]
mov rcx, qword [rcx + rax*8]
call fcn.14038b1b0
test eax, eax
jne 0x140001a81
mov eax, dword [rsp + 0x14f8]
sub eax, 2
cmp eax, 0xd
jne 0x140001a81
movsxd rax, dword [rsp + 0x14f4]
mov rcx, qword [rsp + 0x1620]
mov rax, qword [rcx + rax*8]
add rax, 2
mov r8d, reloc.WS2_32.dll_listen
lea rdx, str.configUsesCWD
mov rcx, rax
call fcn.14038b1b0
test eax, eax
jne 0x140001a81
movsxd rax, dword [rsp + 0x14f4]
movsxd rcx, dword [rsp + 0x14f8]
mov rdx, qword [rsp + 0x1620]
mov rax, qword [rdx + rax*8]
lea rax, [rax + rcx + 1]
mov r8d, 1
lea rdx, [0x1404dc3b0]
mov rcx, rax
call fcn.14038b1b0
test eax, eax
jne 0x140001a81
mov rax, qword [rsp + 0x1610]
mov dword [rax + 0x50], 1
jmp 0x140001a86
jmp 0x140001946
xor r8d, r8d
lea rdx, str..log
mov rax, qword [rsp + 0x1610]
mov rcx, qword [rax + 0x38]
call fcn.140002670
xor edx, edx
mov rcx, rax
call fcn.140144c90
mov qword [0x1405771e8], rax
call fcn.140132de0
mov r8, qword [rsp + 0x1610]
lea rdx, [0x14000fa40]
mov rax, qword [rsp + 0x1610]
mov rcx, qword [rax]
call fcn.140138460
mov eax, 8
imul rax, rax, 0
mov r9d, 1
lea r8, [0x1404dc3bc]
mov rdx, 0xffffffffffffffff
mov rcx, qword [rsp + 0x1620]
mov rcx, qword [rcx + rax]
call fcn.1401452e0
mov dword [rsp + 0x4b0], eax
cmp dword [rsp + 0x4b0], 0
jle 0x140001ba5
movsxd rax, dword [rsp + 0x4b0]
mov ecx, 8
imul rcx, rcx, 0
mov r9, rax
mov rax, qword [rsp + 0x1620]
mov r8, qword [rax + rcx]
mov edx, 0x10000
lea rcx, [0x14057a640]
call fcn.14038a810
nop
movsxd rax, dword [rsp + 0x4b0]
mov qword [rsp + 0x1590], rax
cmp qword [rsp + 0x1590], 0x10000
jae 0x140001b6b
jmp 0x140001b71
call fcn.14037c0a0
nop
lea rax, [0x14057a640]
mov rcx, qword [rsp + 0x1590]
mov byte [rax + rcx], 0
xor r9d, r9d
xor r8d, r8d
mov edx, 0xffffffff
lea rcx, [0x14057a640]
call fcn.1401370a0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
nop
mov rax, qword [rsp + 0x1610]
mov qword [rsp + 0x1508], rax
lea rax, [rsp + 0x1618]
mov qword [rsp + 0x1510], rax
mov rax, qword [rsp + 0x1620]
mov qword [rsp + 0x1518], rax
mov rax, qword [rsp + 0x1610]
cmp qword [rax + 0x20], 0
jne 0x140001c5c
cmp dword [rsp + 0x1618], 2
jl 0x140001c20
mov eax, 8
imul rax, rax, 1
mov r9d, 3
lea r8, [0x1404dc3c0]
mov rdx, 0xffffffffffffffff
mov rcx, qword [rsp + 0x1620]
mov rcx, qword [rcx + rax]
call fcn.140144f20
test eax, eax
jne 0x140001c5c
cmp dword [rsp + 0x1618], 2
jl 0x140001ca2
mov eax, 8
imul rax, rax, 1
mov r9d, 4
lea r8, [0x1404dc3c4]
mov rdx, 0xffffffffffffffff
mov rcx, qword [rsp + 0x1620]
mov rcx, qword [rcx + rax]
call fcn.140144f20
test eax, eax
je 0x140001ca2
lea r9, [rsp + 0x1508]
xor r8d, r8d
lea rdx, [0x140015c30]
mov rax, qword [rsp + 0x1610]
mov rcx, qword [rax]
call fcn.140140df0
mov rax, qword [rsp + 0x1610]
mov rcx, qword [rax]
call fcn.14013f850
mov rax, qword [rsp + 0x1610]
mov qword [rax], 0
jmp 0x1400023b2
lea r9, [rsp + 0x1508]
xor r8d, r8d
lea rdx, [0x140015ca0]
mov rax, qword [rsp + 0x1610]
mov rcx, qword [rax]
call fcn.140140df0
mov rax, qword [rsp + 0x1610]
mov rcx, qword [rax]
call fcn.14013f850
mov rax, qword [rsp + 0x1610]
mov qword [rax], 0
mov rax, qword [rsp + 0x1610]
cmp qword [rax + 0x48], 0
je 0x1400023b2
mov rax, qword [rsp + 0x1610]
cmp dword [rax + 0xbe0], 0
je 0x140002391
mov rax, qword [rsp + 0x1610]
cmp dword [rax + 0xdc0], 0
jne 0x14000206e
call fcn.140117cd0
mov qword [rsp + 0x1528], rax
mov qword [rsp + 0x1548], 0
mov rax, qword [rsp + 0x1610]
mov rdx, qword [rax + 0x48]
mov rcx, qword [rsp + 0x1528]
call fcn.140124b20
mov edx, 0xffffffff
mov rcx, qword [rsp + 0x1528]
call fcn.14003ae00
test rax, rax
jbe 0x14000204b
mov edx, 0xffffffff
mov rcx, qword [rsp + 0x1528]
call fcn.14003b980
lea r8, [rsp + 0x1538]
mov edx, 0xffffffff
mov rcx, qword [rsp + 0x1528]
call fcn.140037f10
mov qword [rsp + 0x1548], rax
mov rax, qword [rsp + 0x1538]
inc rax
mov qword [rsp + 0x15a0], rax
mov rcx, qword [rsp + 0x1538]
inc rcx
call fcn.140147340
mov ecx, 0xffffffff
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x15a0]
cmp rcx, rax
jae 0x140001f0a
mov rax, qword [rsp + 0x1538]
inc rax
mov rcx, rax
call fcn.140147340
mov rcx, qword [rsp + 0x1538]
inc rcx
mov edx, 0xffffffff
sub rdx, rcx
mov rcx, rdx
cmp rax, rcx
jae 0x140001f0a
mov rax, qword [rsp + 0x1538]
inc rax
mov rcx, rax
call fcn.140147340
mov rcx, qword [rsp + 0x1538]
lea rax, [rcx + rax + 1]
mov ecx, 0xffffffe7
cmp rax, rcx
jae 0x140001f0a
mov rax, qword [rsp + 0x1538]
inc rax
mov rcx, rax
call fcn.140147340
test rax, rax
je 0x140001e86
mov rax, qword [rsp + 0x1538]
inc rax
mov rcx, rax
call fcn.140147340
mov rcx, qword [rsp + 0x1538]
lea rax, [rcx + rax + 0x19]
mov ecx, 0xffffffe7
cmp rax, rcx
jae 0x140001f0a
mov rax, qword [rsp + 0x1538]
inc rax
mov rcx, rax
call fcn.140147340
test rax, rax
jbe 0x140001eac
mov qword [rsp + 0x15a8], 0x18
jmp 0x140001eb8
mov qword [rsp + 0x15a8], 0
mov rax, qword [rsp + 0x1538]
inc rax
mov rcx, rax
call fcn.140147340
mov rcx, qword [rsp + 0x15a8]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x1538]
lea rax, [rcx + rax + 0x19]
mov r9d, 0x1830
lea r8, [0x1404dc3d0]
mov edx, 1
mov rcx, rax
call fcn.1403ba980
mov qword [rsp + 0x15b0], rax
jmp 0x140001f16
mov qword [rsp + 0x15b0], 0
mov rax, qword [rsp + 0x1538]
inc rax
mov rcx, rax
call fcn.140147340
cdqe
mov ecx, dword [rsp + 0x1538]
inc ecx
movsxd rcx, ecx
xor r9d, r9d
mov r8, rax
mov rdx, rcx
mov rcx, qword [rsp + 0x15b0]
call fcn.1401375b0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax - 0x10], 0
jbe 0x140001f7b
mov rax, qword [rsp + 0x40]
mov rax, qword [rax - 0x18]
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + rax + 0x18]
mov qword [rsp + 0x15b8], rax
jmp 0x140001f87
mov qword [rsp + 0x15b8], 0
mov rax, qword [rsp + 0x15b8]
mov qword [rsp + 0x1558], rax
mov rax, qword [rsp + 0x1538]
inc rax
mov r9, qword [rsp + 0x1538]
mov r8, qword [rsp + 0x1548]
mov rdx, rax
mov rcx, qword [rsp + 0x40]
call fcn.140001030
mov rcx, qword [rsp + 0x1528]
call fcn.1400e0900
cmp qword [rsp + 0x1538], 0x7fffffff
jbe 0x14000200d
mov rcx, qword [rsp + 0x40]
call fcn.140137da0
mov qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x1610]
cmp dword [rax + 0xbec], 0
je 0x14000200b
lea rcx, str._Service_Parameters___ERROR
call fcn.14014d820
nop
jmp 0x140002049
lea r8, [rsp + 0x1558]
mov edx, dword [rsp + 0x1538]
mov rcx, qword [rsp + 0x40]
call fcn.1401473a0
mov rax, qword [rsp + 0x1610]
cmp dword [rax + 0xbec], 0
je 0x140002049
mov rdx, qword [rsp + 0x40]
lea rcx, str._Service_Parameters____s
call fcn.14014d820
nop
jmp 0x140002069
mov rax, qword [rsp + 0x1610]
cmp dword [rax + 0xbec], 0
je 0x140002069
lea rcx, str._Service_Parameters___NONE
call fcn.14014d820
nop
jmp 0x140002391
lea rdx, str.meshagent
mov rax, qword [rsp + 0x1610]
mov rcx, qword [rax + 0xdd8]
call fcn.14038a9d0
test eax, eax
je 0x140002391
mov rax, qword [rsp + 0x1610]
mov rax, qword [rax + 0xdd8]
mov rax, qword [rax - 0x18]
add rax, 0x1e
mov qword [rsp + 0x15c0], rax
mov rcx, qword [rsp + 0x1610]
mov rcx, qword [rcx + 0xdd8]
mov rcx, qword [rcx - 0x18]
add rcx, 0x1e
call fcn.140147340
mov ecx, 0xffffffff
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x15c0]
cmp rcx, rax
jae 0x1400022ae
mov rax, qword [rsp + 0x1610]
mov rax, qword [rax + 0xdd8]
mov rax, qword [rax - 0x18]
add rax, 0x1e
mov rcx, rax
call fcn.140147340
mov rcx, qword [rsp + 0x1610]
mov rcx, qword [rcx + 0xdd8]
mov rcx, qword [rcx - 0x18]
add rcx, 0x1e
mov edx, 0xffffffff
sub rdx, rcx
mov rcx, rdx
cmp rax, rcx
jae 0x1400022ae
mov rax, qword [rsp + 0x1610]
mov rax, qword [rax + 0xdd8]
mov rax, qword [rax - 0x18]
mov qword [rsp + 0x15c8], rax
mov rcx, qword [rsp + 0x1610]
mov rcx, qword [rcx + 0xdd8]
mov rcx, qword [rcx - 0x18]
add rcx, 0x1e
call fcn.140147340
mov rcx, qword [rsp + 0x15c8]
lea rax, [rcx + rax + 0x1e]
mov ecx, 0xffffffe7
cmp rax, rcx
jae 0x1400022ae
mov rax, qword [rsp + 0x1610]
mov rax, qword [rax + 0xdd8]
mov rax, qword [rax - 0x18]
add rax, 0x1e
mov rcx, rax
call fcn.140147340
test rax, rax
je 0x1400021fa
mov rax, qword [rsp + 0x1610]
mov rax, qword [rax + 0xdd8]
mov rax, qword [rax - 0x18]
mov qword [rsp + 0x15d0], rax
mov rcx, qword [rsp + 0x1610]
mov rcx, qword [rcx + 0xdd8]
mov rcx, qword [rcx - 0x18]
add rcx, 0x1e
call fcn.140147340
mov rcx, qword [rsp + 0x15d0]
lea rax, [rcx + rax + 0x36]
mov ecx, 0xffffffe7
cmp rax, rcx
jae 0x1400022ae
mov rax, qword [rsp + 0x1610]
mov rax, qword [rax + 0xdd8]
mov rax, qword [rax - 0x18]
add rax, 0x1e
mov rcx, rax
call fcn.140147340
test rax, rax
jbe 0x14000222c
mov qword [rsp + 0x15d8], 0x18
jmp 0x140002238
mov qword [rsp + 0x15d8], 0
mov rax, qword [rsp + 0x1610]
mov rax, qword [rax + 0xdd8]
mov qword [rsp + 0x15e0], rax
mov rcx, qword [rsp + 0x1610]
mov rcx, qword [rcx + 0xdd8]
mov rcx, qword [rcx - 0x18]
add rcx, 0x1e
call fcn.140147340
mov rcx, qword [rsp + 0x15e0]
mov rcx, qword [rcx - 0x18]
mov rdx, qword [rsp + 0x15d8]
add rdx, rcx
mov rcx, rdx
lea rax, [rax + rcx + 0x36]
mov r9d, 0x184a
lea r8, str.C:UsersyfjvyDownloadsMeshAgent_mastermeshcore_agentcore.c
mov edx, 1
mov rcx, rax
call fcn.1403ba980
mov qword [rsp + 0x15e8], rax
jmp 0x1400022ba
mov qword [rsp + 0x15e8], 0
mov rax, qword [rsp + 0x1610]
mov rax, qword [rax + 0xdd8]
mov rax, qword [rax - 0x18]
add rax, 0x1e
mov rcx, rax
call fcn.140147340
cdqe
mov rcx, qword [rsp + 0x1610]
mov rcx, qword [rcx + 0xdd8]
mov ecx, dword [rcx - 0x18]
add ecx, 0x1e
movsxd rcx, ecx
xor r9d, r9d
mov r8, rax
mov rdx, rcx
mov rcx, qword [rsp + 0x15e8]
call fcn.1401375b0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
cmp qword [rax - 0x10], 0
jbe 0x140002337
mov rax, qword [rsp + 0x40]
mov rax, qword [rax - 0x18]
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + rax + 0x18]
mov qword [rsp + 0x15f0], rax
jmp 0x140002343
mov qword [rsp + 0x15f0], 0
mov rax, qword [rsp + 0x15f0]
mov qword [rsp + 0x1578], rax
mov rax, qword [rsp + 0x1610]
mov r9, qword [rax + 0xdd8]
lea r8, str.____meshServiceName__s___
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax - 0x18]
mov rcx, qword [rsp + 0x40]
call fcn.140015f80
lea r8, [rsp + 0x1578]
mov edx, eax
mov rcx, qword [rsp + 0x40]
call fcn.1401473a0
nop
mov rax, qword [rsp + 0x1610]
mov rcx, qword [rax + 0x48]
call fcn.14015b4f0
mov rax, qword [rsp + 0x1610]
mov qword [rax + 0x48], 0
cmp qword [rsp + 0x40], 0
je 0x1400023c5
mov rcx, qword [rsp + 0x40]
call fcn.140137da0
nop
call fcn.140132f50
cmp qword [0x1405771e8], 0
je 0x1400023e6
mov edx, 1
mov rcx, qword [0x1405771e8]
call fcn.1403ba8b0
nop
xor eax, eax
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_getsockopt
call fcn.14037c300
mov rax, rdi
mov rcx, qword [rsp + 0x15f8]
xor rcx, rsp
call fcn.14037c650
add rsp, 0x1600
pop rdi
ret