Function at 0x140001b1f
Capabilities:
Check if file exists
Create process on windows
Set current directory

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x688
movaps xmmword [rsp + 0x670], xmm6
mov r14, r8
mov rdi, rcx
mov rax, qword [0x1401ea088]
xor rax, rsp
mov qword [rsp + 0x668], rax
call fcn.14000135c
mov rbp, rax
xorps xmm6, xmm6
lea rbx, [rsp + 0x640]
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
lea rdx, [0x140199024]
mov rcx, rbx
xor r8d, r8d
call fcn.140002d20
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xc0]
mov qword [rcx + 8], rax
mov qword [rcx], 0
mov dword [rcx + 8], 0
lea r8, [0x14019912a]
mov rdx, 0xffffffff80000002
mov r9d, 0x20119
call fcn.140007958
mov r13b, 1
test eax, eax
jne 0x140001c15
lea rdx, str.AllowAutoUpdate
lea rcx, [rsp + 0xc0]
call fcn.140007b94
mov r13b, 1
test al, al
je 0x140001c08
lea rsi, [rsp + 0x488]
mov dword [rsi], 0xaaaaaaaa
lea rdx, str.AllowAutoUpdate
lea rcx, [rsp + 0xc0]
mov r8, rsi
call fcn.1400079f4
or eax, dword [rsi]
setne r13b
lea rcx, [rsp + 0xc0]
call fcn.1400079d0
lea rsi, [rsp + 0xe0]
mov r8d, 0xe8
mov rcx, rsi
mov dl, 0xaa
call fcn.1401615d0
mov rcx, rsi
mov edx, 1
call fcn.140001a36
lea rdx, str.14.5.1
mov rcx, rsi
call fcn.1400011b7
lea rdx, [0x140199175]
mov rcx, rax
call fcn.1400011b7
lea rdx, str.11822
mov rcx, rax
call fcn.1400011b7
lea rsi, [rsp + 0x488]
mov r8d, 0x1b8
mov rcx, rsi
mov dl, 0xaa
call fcn.1401615d0
mov rcx, rsi
call fcn.140008ba6
lea r15, [rsp + 0xe8]
lea r12, [rsp + 0x468]
mov rcx, r15
mov rdx, r12
call fcn.140004588
mov rcx, rsi
mov rdx, r12
call fcn.1400092d4
lea r12, [rsp + 0x448]
mov rcx, r12
call fcn.140001000
mov rcx, rsi
mov rdx, r12
call fcn.140009462
movaps xmmword [rsp + 0x410], xmm6
movaps xmmword [rsp + 0x400], xmm6
mov r8, qword [rsp + 0x650]
cmp qword [rsp + 0x658], 0x10
jb 0x140001cf3
mov rbx, qword [rsp + 0x640]
lea r12, [rsp + 0x400]
mov rcx, r12
mov rdx, rbx
call fcn.140003022
lea rbx, [rsp + 0x428]
mov rcx, rbx
mov rdx, r12
call fcn.14000191a
mov rcx, rsi
mov rdx, rbx
call fcn.1400093dc
lea rbx, [rsp + 0x3e0]
mov rcx, r15
mov rdx, rbx
call fcn.140004588
mov rcx, rsi
mov rdx, rbx
call fcn.140009358
lea rbx, [rsp + 0x3c0]
movaps xmmword [rbx + 0x10], xmm6
movaps xmmword [rbx], xmm6
lea rdx, [0x14019917d]
mov r8d, 0xa
mov rcx, rbx
call fcn.140002d20
mov rcx, rsi
mov rdx, rbx
call fcn.1400094e8
test r13b, r13b
je 0x140001e1e
mov cx, 0x2472
call fcn.14000f18c
mov rbx, rax
lea r15, [rsp + 0x1f0]
mov r8d, 0xe0
mov rcx, r15
mov dl, 0xaa
call fcn.1401615d0
lea r8, [0x1400030b0]
lea rsi, [rsp + 0x488]
mov rcx, r15
mov rdx, rbx
mov r9, rsi
call fcn.14000f268
lea r12, [rsp + 0x2e0]
mov r8d, 0xe0
mov rcx, r12
mov dl, 0xaa
call fcn.1401615d0
lea r8, [0x140003560]
mov rcx, r12
mov rdx, rbx
mov r9, rsi
call fcn.14000f247
mov rdx, qword [r15 + 0xd0]
mov rcx, rbx
xor r8d, r8d
call fcn.14000f263
mov rdx, qword [r12 + 0xd0]
mov rcx, rbx
xor r8d, r8d
call fcn.14000f263
mov rcx, rsi
call fcn.14000956e
test al, al
je 0x140001e20
jmp 0x140002207
xor ebx, ebx
lea rcx, str.SpeedifyUI.exe
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x140001e90
movaps xmm0, xmmword [section..rdata]
lea rsi, [rsp + 0x1f0]
movaps xmmword [rsi + 0x10], xmm0
movaps xmmword [rsi], xmm0
mov rcx, rsi
call fcn.140004928
cmp qword [rsi + 0x10], 0
je 0x140001e72
cmp qword [rsp + 0x208], 0x10
jb 0x140001e69
mov rsi, qword [rsp + 0x1f0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov rdx, qword [rsp + 0x208]
cmp rdx, 0x10
jb 0x140001e90
mov rcx, qword [rsp + 0x1f0]
inc rdx
call fcn.140002b34
lea r15, [rsp + 0x1f0]
mov r8d, 0xe8
mov rcx, r15
mov dl, 0xaa
call fcn.1401615d0
mov rcx, r15
mov edx, 1
call fcn.140001a36
lea rsi, str.SpeedifyUI.exe
mov rcx, r15
mov rdx, rsi
call fcn.1400011b7
lea rdx, [0x140199197]
mov rcx, rax
call fcn.1400011b7
mov rcx, rax
mov rdx, r14
call fcn.1400011b7
lea rcx, [rsp + 0x1f8]
movaps xmm6, xmmword [section..rdata]
lea r14, [rsp + 0x1d0]
movaps xmmword [r14 + 0x10], xmm6
movaps xmmword [r14], xmm6
mov rdx, r14
call fcn.140004588
xorps xmm0, xmm0
movaps xmmword [rsp + 0x2e0], xmm0
xor eax, eax
mov qword [rsp + 0x340], rax
movaps xmmword [rsp + 0x330], xmm0
movaps xmmword [rsp + 0x320], xmm0
movaps xmmword [rsp + 0x310], xmm0
movaps xmmword [rsp + 0x300], xmm0
movaps xmmword [rsp + 0x2f0], xmm0
mov dword [rsp + 0x2e0], WSASetLastError
mov qword [rsp + 0xb0], rax
movaps xmmword [rsp + 0xa0], xmm0
cmp qword [r14 + 0x18], 0x10
jb 0x140001f70
mov r14, qword [rsp + 0x1d0]
lea rcx, [rsp + 0xa0]
mov qword [rsp + 0x48], rcx
lea rcx, [rsp + 0x2e0]
mov qword [rsp + 0x40], rcx
movups xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov rdx, r14
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x1400021c7
mov rcx, qword [rsp + 0xa0]
mov edx, 0x1388
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x1400021ac
test r13b, r13b
je 0x140001fe6
lea rcx, [rsp + 0x488]
mov edx, reloc.WS2_32.dll_ntohs
call fcn.140008fe2
mov dword [0x1401ec6b8], 0x50
lea rcx, [0x1401ec6b8]
mov rax, qword [sym.imp.USER32.dll_DefWindowProcW]
mov qword [0x1401ec6c0], rax
mov qword [0x1401ec6c8], 0
mov qword [0x1401ec6d0], rdi
lea rax, str.SpeedifyLauncherMessageWindow
mov qword [0x1401ec6f8], rax
call qword [sym.imp.USER32.dll_RegisterClassExW]
test ax, ax
je 0x1400022be
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbp
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
xor eax, eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x40], 0xfffffffffffffffd
lea rdx, str.SpeedifyLauncherMessageWindow
xor ecx, ecx
mov r8, rdx
xor r9d, r9d
call qword [sym.imp.USER32.dll_CreateWindowExW]
test rax, rax
je 0x1400022f3
mov rdi, rax
mov rax, qword [rsp + 0xa0]
lea rcx, [rsp + 0x1c8]
mov qword [rcx], rax
mov r14b, 1
lea r15, [rsp + 0x70]
mov r12, qword [sym.imp.USER32.dll_PeekMessageW]
lea rsi, [rsp + 0xd0]
mov rbx, qword [sym.imp.USER32.dll_TranslateMessage]
mov rbp, qword [sym.imp.USER32.dll_DispatchMessageW]
mov dword [rsp + 0x20], 0x1cbf
mov ecx, 1
lea rdx, [rsp + 0x1c8]
xor r8d, r8d
mov r9d, 0xffffffff
call qword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
cmp eax, 1
je 0x1400020ff
test eax, eax
je 0x1400021a2
test r14b, 1
jne 0x1400020c3
jmp 0x1400021a2
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm6
movaps xmmword [rsp + 0x70], xmm6
mov dword [rsp + 0x20], 1
mov rcx, r15
mov rdx, rdi
xor r8d, r8d
xor r9d, r9d
call r12
test eax, eax
je 0x1400020f4
cmp dword [rsp + 0x78], 0x8001
jne 0x140002193
call fcn.140001910
test al, al
jne 0x140002172
lea rax, str....._third_partyconnectify_autoupdaterlaunchermain.cc
mov qword [rsp + 0xd0], rax
mov dword [rsp + 0xd8], 0x8a1
lea rcx, [0x1401993dd]
mov rdx, rsi
lea r8, str.received_update_message
call fcn.14001dab5
test r13b, r13b
je 0x140002193
lea rcx, [rsp + 0x488]
call fcn.14000956e
movzx r14d, r14b
test al, al
mov eax, 0
cmovne r14d, eax
mov rcx, r15
call rbx
mov rcx, r15
call rbp
jmp 0x140002114
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xa0]
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rsi
mov rcx, qword [rsp + 0xa8]
call rsi
mov rdx, qword [rsp + 0x1e8]
cmp rdx, 0x10
jb 0x1400021e5
mov rcx, qword [rsp + 0x1d0]
inc rdx
call fcn.140002b34
lea rsi, [rsp + 0x278]
mov rcx, rsi
call fcn.140002f6c
lea rax, vtable.std::ios_base.0
mov qword [rsi], rax
mov rcx, rsi
call fcn.14015c5a8
test rbx, rbx
je 0x140002214
mov rcx, rbx
call fcn.14000f221
test rbp, rbp
je 0x140002236
mov rcx, rbp
call fcn.14001d848
mov rax, qword [rbp]
mov rax, qword [rax]
mov rcx, rbp
mov edx, 1
call qword [case.0x140031f00.0]
lea rcx, [rsp + 0x488]
call fcn.140008d76
lea rsi, [rsp + 0x168]
mov rcx, rsi
call fcn.140002f6c
lea rax, vtable.std::ios_base.0
mov qword [rsi], rax
mov rcx, rsi
call fcn.14015c5a8
lea rcx, [rsp + 0xc0]
call fcn.1400079d0
mov rdx, qword [rsp + 0x658]
cmp rdx, 0x10
jb 0x140002290
mov rcx, qword [rsp + 0x640]
inc rdx
call fcn.140002b34
mov rcx, qword [rsp + 0x668]
xor rcx, rsp
call fcn.14015c2e0
xor eax, eax
movaps xmm6, xmmword [rsp + 0x670]
add rsp, 0x688
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14000233a
test al, al
jne 0x14000232e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str....._third_partyconnectify_autoupdaterlaunchermain.cc
lea rdx, [rsp + 0x70]
mov qword [rdx], rcx
mov dword [rdx + 8], 0x7db
lea rcx, [0x1401993e0]
lea r8, str.failed_to_register_class_:
jmp 0x140002326
call fcn.14000233a
test al, al
jne 0x14000232e
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str....._third_partyconnectify_autoupdaterlaunchermain.cc
lea rdx, [rsp + 0x70]
mov qword [rdx], rcx
mov dword [rdx + 8], 0x803
lea rcx, [0x1401993e0]
lea r8, str.failed_to_create_window_:
mov r9d, eax
call fcn.14001dab5
mov ecx, 1
call fcn.140171b94
int3