Function at 0x14000a978
Capabilities:
Create process on windows
Set current directory

Disassembly:
mov qword [rsp + 8], rbx
mov dword [rsp + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1410]
mov eax, 0x1510
call fcn.1401b9e30
sub rsp, rax
mov rax, qword [0x1402aaed0]
xor rax, rsp
mov qword [rbp + 0x1400], rax
mov rbx, qword [0x1402ae550]
xor r12d, r12d
mov rdi, r8
mov r15d, 2
mov rax, qword [rbx + 0x70]
test rax, rax
je 0x14000a9d5
mov ecx, r15d
call rax
jmp 0x14000a9db
call qword [sym.imp.USER32.dll_SetProcessDPIAware]
mov r13d, 1
cmp dword [rbp + 0x1458], r13d
jne 0x14000a9fd
mov rcx, qword [rdi]
lea rdx, str.__slave
call fcn.1401cd3e0
test eax, eax
je 0x14000aa1a
cmp dword [rbp + 0x1458], r15d
jne 0x14000aa68
mov rcx, qword [rdi + 8]
lea rdx, str.__slave
call fcn.1401cd3e0
test eax, eax
jne 0x14000aa27
mov rcx, rbx
call fcn.1400074c8
jmp 0x14000ae9a
mov rcx, qword [rdi + 8]
lea rdx, str.__netinfo
call fcn.1401cd3e0
test eax, eax
jne 0x14000aa68
lea rcx, [rsp + 0x50]
call fcn.14000f450
test eax, eax
jle 0x14000ae9a
mov rdx, qword [rsp + 0x50]
lea rcx, str._s_r_n
call fcn.140001090
mov rcx, qword [rsp + 0x50]
jmp 0x14000ae95
or esi, 0xffffffff
cmp qword [rbx + 0x38], r12
jne 0x14000aac4
lea rax, [rbp]
mov byte [rbp], r12b
mov r8d, 0x800
mov qword [rbx + 0x38], rax
lea rdx, [rbp + 0x400]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov qword [rsp + 0x38], r12
lea rax, [rbp]
mov qword [rsp + 0x30], r12
lea r8, [rbp + 0x400]
mov dword [rsp + 0x28], 0x400
mov r9d, esi
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov rcx, qword [rbx + 0x38]
lea rdx, [rbx + 0x9fc]
call fcn.140003a24
mov rcx, qword [rbx + 0x38]
lea rdx, str..log
call fcn.14000301c
mov rcx, rax
mov edx, esi
call fcn.1400932b4
mov qword [0x1402ae508], rax
call fcn.140089f70
mov rcx, qword [rbx]
lea rdx, [0x1400075e8]
mov r8, rbx
call fcn.14008bdbc
mov rcx, qword [rdi]
lea r8, [0x140244914]
mov edx, esi
call fcn.14009301c
test eax, eax
jle 0x14000ab83
mov r8, qword [rdi]
lea rcx, [0x1402b3820]
movsxd rsi, eax
mov r14d, 0x10000
mov r9, rsi
mov edx, r14d
call fcn.1401bc9c0
cmp rsi, r14
jae 0x14000aec6
lea r8, [0x1402b3820]
mov dword [rsp + 0x28], 0x1000
mov byte [rsi + r8], r12b
lea r14, [0x1402af820]
or esi, 0xffffffff
mov qword [rsp + 0x20], r14
mov r9d, esi
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea rax, [rbp + 0x1458]
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rdi
cmp qword [rbx + 0x20], r12
jne 0x14000ae50
cmp dword [rbp + 0x1458], r15d
jl 0x14000abfa
mov rcx, qword [rdi + 8]
lea r8, [0x140246504]
mov r9d, 3
mov dword [rsp + 0x20], r13d
mov edx, esi
call fcn.140092ef8
test eax, eax
jne 0x14000ae50
cmp dword [rbp + 0x1458], r15d
jl 0x14000abfa
mov rcx, qword [rdi + 8]
lea r9d, [rax + 4]
lea r8, str..zip
mov dword [rsp + 0x20], r13d
mov edx, esi
call fcn.140092ef8
test eax, eax
jne 0x14000ae50
mov rcx, qword [rbx]
lea r9, [rbp - 0x20]
xor r8d, r8d
lea rdx, [0x14000a93c]
call fcn.14008beac
mov rcx, qword [rbx]
call fcn.14008e7c4
mov rcx, qword [rbx + 0x48]
mov qword [rbx], r12
test rcx, rcx
je 0x14000ac2d
call fcn.140096da0
mov qword [rbx + 0x48], r12
cmp dword [rbx + 0x9d0], r12d
je 0x14000ae71
xor edx, edx
mov dword [rsp + 0x70], WSAGetLastError
lea rcx, [rsp + 0x78]
mov esi, r12d
lea r8d, [rdx + 0x60]
call fcn.1401bad90
mov rcx, qword [rbx + 0x38]
lea rdx, str..update.exe
call fcn.14000301c
mov r14, rax
cmp dword [rbx + 0x9dc], r12d
je 0x14000ac8a
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
lea rcx, str.SelfUpdate____Updating...
xor edx, edx
call fcn.140093d88
mov r15d, r13d
mov byte [rbp + 0x400], r12b
cmp dword [rbp + 0x1458], r13d
jle 0x14000acdd
add rdi, 8
test esi, esi
js 0x14000acdd
mov r9, qword [rdi]
lea rcx, [rbp + 0x400]
mov eax, 0x1000
lea r8, [0x1402467cc]
sub eax, esi
movsxd rdx, eax
movsxd rax, esi
add rcx, rax
call fcn.1400010e4
add esi, eax
add r15d, r13d
add rdi, 8
cmp r15d, dword [rbp + 0x1458]
jl 0x14000aca1
lea rax, [rbp + 0x400]
mov edi, 0x1000
mov qword [rsp + 0x28], rax
lea r8, str._s__update:__s__s
mov rax, qword [rbx + 0x38]
lea rcx, [0x1402b2820]
mov r9, r14
mov qword [rsp + 0x20], rax
mov edx, edi
call fcn.1400010e4
mov dword [rsp + 0x28], edi
lea rsi, [0x1402af820]
or edi, 0xffffffff
mov qword [rsp + 0x20], rsi
mov r15d, 0xfde9
lea r8, [0x1402b2820]
mov r9d, edi
xor edx, edx
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x48], rax
xor r8d, r8d
lea rax, [rsp + 0x70]
mov rdx, rsi
mov qword [rsp + 0x40], rax
xor ecx, ecx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x14000ae38
cmp dword [rbx + 0x9dc], r12d
je 0x14000ada3
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor r8d, r8d
lea rcx, str.SelfUpdate____FAILED...
xor edx, edx
call fcn.140093d88
test r14, r14
je 0x14000ae71
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x14000ae71
jmp 0x14000adca
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbx + 0x38]
mov rdx, r14
call fcn.140089ecc
test eax, eax
je 0x14000adbb
mov dword [rsp + 0x28], 0x1000
lea r8, [0x1402b2820]
mov r9d, edi
mov qword [rsp + 0x20], rsi
xor edx, edx
mov ecx, r15d
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x48], rax
xor r8d, r8d
lea rax, [rsp + 0x70]
mov rdx, rsi
mov qword [rsp + 0x40], rax
xor ecx, ecx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x8000000
mov dword [rsp + 0x20], r13d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14000ae71
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000ae71
mov rcx, qword [rbx]
lea r9, [rbp - 0x20]
xor r8d, r8d
lea rdx, [0x14000a928]
call fcn.14008beac
mov rcx, qword [rbx]
call fcn.14008e7c4
mov qword [rbx], r12
mov eax, dword [0x1402ae4fc]
sub eax, r13d
mov dword [0x1402ae4fc], eax
test eax, eax
jg 0x14000ae89
call fcn.1400c7a10
mov rcx, qword [0x1402ae508]
test rcx, rcx
je 0x14000ae9a
call fcn.1401c141c
xor eax, eax
mov rcx, qword [rbp + 0x1400]
xor rcx, rsp
call fcn.1401b98c0
mov rbx, qword [rsp + 0x1550]
add rsp, 0x1510
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1401b99ec
int3