Function at 0x140002fd0
Capabilities:
Accept command line arguments
Check if file exists
Create process on windows
Get common file path
Get file attributes
Query environment variable
Set environment variable
Terminate process

Disassembly:
lea rcx, [0x140001420]
jmp 0x140001400
movzx eax, word [pe_dos_header]
ud2
push r15
mov eax, 0xa4d8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.140002c60
sub rsp, rax
call fcn.140001c60
mov r9d, 0x40
lea r8, [0x1400061d8]
mov edx, pe_nt_image_headers64
lea rcx, [0x14004a040]
mov dword [rsp + 0xcc], 1
call fcn.1400017c0
xor edx, edx
mov r8d, 0x1000
xor ecx, ecx
lea rax, [rsp + 0x64d0]
mov word [rsp + 0x44d0], dx
mov rsi, rax
mov rdx, rax
mov qword [rsp + 0x68], rax
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov rax, qword [sym.imp.KERNEL32.dll_CreateFileW]
xor r9d, r9d
mov edx, 0x80000000
mov qword [rsp + 0x30], 0
mov r8d, 1
mov rcx, rsi
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
mov qword [rsp + 0xb0], rax
call rax
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140003dd2
lea rbx, [rsp + 0x84d0]
xor r9d, r9d
mov r8d, 0x1000
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetFinalPathNameByHandleW]
mov esi, eax
lea eax, [rsi - 1]
cmp eax, 0xffe
ja 0x14000315d
mov r8d, 4
lea rdx, str.__
mov rcx, rbx
call sub.msvcrt.dll_wcsncmp
test eax, eax
je 0x140003ca7
lea rcx, [rsp + 0x4d0]
xor eax, eax
mov qword [rsp + 0x60], rcx
mov rbp, rcx
add rax, rax
mov r8, rsi
mov rcx, rbp
lea rdx, [rbx + rax]
call sub.msvcrt.dll_wcsncpy
mov word [rbp + rsi*2], 0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, qword [rsp + 0x60]
lea rax, [rsp + 0x24d0]
mov rcx, rax
mov qword [rsp + 0xa8], rax
mov rdx, rsi
call sub.msvcrt.dll_wcscpy
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
jne 0x140003179
mov ecx, 2
call qword [fcn.140002cf0]
mov r8, rsi
lea rdx, str.Invalid_executable_path:__s_n
mov rcx, rax
call sub.msvcrt.dll_fwprintf
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
lea rax, [rsp + 0x4d0]
mov rdx, qword [rsp + 0x68]
mov rcx, rax
mov qword [rsp + 0x60], rax
call sub.msvcrt.dll_wcscpy
jmp 0x1400030ff
mov rcx, qword [rsp + 0x60]
call sub.msvcrt.dll_wcslen
mov rsi, rax
xor eax, eax
mov dword [rsp + 0x98], eax
mov qword [rsp + 0x78], rsi
mov edx, dword [rsp + 0x98]
mov r9d, 0x10000
lea r8, [0x14000a040]
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadStringW]
mov dword [rsp + 0x84d0], eax
test eax, eax
je 0x1400039d2
cmp eax, 0xffff
jg 0x140004393
mov dword [rsp + 0x70], 0
xor r12d, r12d
xor r15d, r15d
xor eax, eax
mov r13d, 0xffffffff
lea rbx, [rsp + 0x84d0]
lea rsi, [0x14000a040]
nop
lea rdx, str.MINIMAL_PATH1
mov rcx, rbx
mov ebp, eax
call fcn.140001920
test eax, eax
jne 0x1400031f0
lea rdx, str.ALLOC_CONSOLE1
mov rcx, rbx
call fcn.140001920
test eax, eax
jne 0x1400032f0
lea rdx, str.SHOW_CONSOLE1
mov rcx, rbx
call fcn.140001920
test eax, eax
jne 0x1400032e0
lea rdx, str.APPEND_QUOTE1
mov rcx, rbx
call fcn.140001920
mov r14d, eax
test eax, eax
jne 0x140003300
lea rdx, str.APP_ID
mov rcx, rbx
call fcn.140001920
movsxd rdi, dword [rsp + 0x84d0]
test eax, eax
je 0x14000332c
mov edx, 0x20
mov rcx, rsi
call sub.msvcrt.dll_wcschr
mov rdx, rax
sub rdx, rsi
mov rcx, rdx
sar rcx, 1
mov qword [rsp + 0x50], rcx
test rax, rax
je 0x14000330c
mov rcx, rsi
mov qword [rsp + 0x58], rdx
sub edi, 1
call sub.msvcrt.dll__wcsdup
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
mov r12, rax
xor eax, eax
mov word [r12 + rdx], ax
mov eax, dword [rsp + 0x50]
lea rdx, [rsi + rdx + 2]
sub edi, eax
mov dword [rsp + 0x84d0], edi
movsxd rdi, edi
lea r8, [rdi + rdi]
call sub.msvcrt.dll_memmove
mov eax, ebp
jmp 0x1400031f0
mov r13d, eax
mov eax, ebp
jmp 0x1400031f0
mov r15d, eax
mov eax, ebp
jmp 0x1400031f0
mov dword [rsp + 0x70], r14d
mov eax, ebp
jmp 0x1400031f0
sub edi, 7
lea rdx, [0x14000a04e]
mov rcx, rsi
mov dword [rsp + 0x84d0], edi
movsxd rdi, edi
lea r8, [rdi + rdi]
call sub.msvcrt.dll_memmove
xor eax, eax
mov word [rsi + rdi*2], ax
mov eax, dword [rsp + 0x98]
test eax, eax
je 0x1400033ac
mov rcx, rsi
mov edx, 0x10000
call fcn.1400014e0
mov rsi, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov rcx, rax
mov rdi, rax
mov r8, rsi
call fcn.140001710
xor edx, edx
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__waccess]
cmp eax, 0xffffffff
jne 0x1400033c3
mov ecx, 2
call qword [fcn.140002cf0]
mov r9, rsi
mov r8, rdi
lea rdx, str.Skipping_command_line__s_n__s_not_found__n
mov rcx, rax
call sub.msvcrt.dll_fwprintf
test r12, r12
je 0x14000339f
mov rcx, r12
call sub.msvcrt.dll_free
add dword [rsp + 0x98], 1
jmp 0x140003194
mov rdx, qword [rsp + 0x60]
lea rcx, str.EXEPATH
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
jmp 0x14000333d
mov rcx, rdi
mov qword [rsp + 0x80], r12
call sub.msvcrt.dll_wcslen
mov dword [rsp + 0x50], eax
mov rax, qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov qword [rsp + 0x88], rax
call rax
mov rcx, rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x58], rax
mov rdx, rax
mov rax, qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov qword [rsp + 0x90], rax
call rax
cmp dword [rsp + 0xd0], 1
mov qword [rsp + 0xa0], rax
jle 0x1400034bd
mov dword [rsp + 0x98], 1
lea rsi, [rax + 8]
xor r12d, r12d
jmp 0x140003461
xor r12d, r12d
mov eax, dword [rsp + 0x98]
add rsi, 8
add eax, 1
cmp eax, dword [rsp + 0xd0]
jge 0x1400034c9
mov dword [rsp + 0x98], eax
mov rdx, qword [rsi]
lea rcx, str.__no_cd
call sub.msvcrt.dll_wcscmp
test eax, eax
je 0x140003440
mov rdx, qword [rsi]
lea rcx, str.__cd_to_home
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14000348f
mov r12d, 1
jmp 0x140003443
mov rdx, qword [rsi]
mov r8d, 5
lea rcx, str.__cd
call sub.msvcrt.dll_wcsncmp
mov rdx, qword [rsi]
test eax, eax
jne 0x140003760
lea rcx, [rdx + 0xa]
call sub.msvcrt.dll__wcsdup
mov r12, rax
jmp 0x140003443
xor eax, eax
xor r12d, r12d
mov dword [rsp + 0x98], eax
xor ebp, 1
mov eax, 0xffffffff
test r13d, r13d
mov rsi, qword [rsp + 0x80]
cmovns eax, r13d
mov dword [rsp + 0xb8], ebp
mov dword [rsp + 0x78], eax
xor eax, eax
cmp dword [rsp + 0x70], 1
sete al
mov dword [rsp + 0x9c], eax
test rsi, rsi
je 0x140003535
lea rcx, str.shell32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rcx, rax
test rax, rax
je 0x140003535
lea rdx, str.SetCurrentProcessExplicitAppUserModelID
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140003535
mov rcx, rsi
call rax
test eax, eax
js 0x1400043b7
mov rcx, qword [rsp + 0xa0]
lea rsi, [rsp + 0x44d0]
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [rsp + 0x80], 1
cmp word [rsp + 0x44d0], 0
je 0x140003d83
cmp dword [section..data], 0
jle 0x140003be7
mov rcx, qword [rsp + 0x58]
lea r8, str.CLANGARM64
mov edx, pe_nt_image_headers64
call fcn.1400017c0
mov rax, qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
lea rbp, str.PLINK_PROTOCOL
mov rdx, qword [rsp + 0x58]
lea rcx, str.MSYSTEM
mov qword [rsp + 0xa0], rax
call rax
xor r8d, r8d
xor edx, edx
mov r13, qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov rcx, rbp
call r13
test eax, eax
je 0x140003db9
xor r8d, r8d
xor edx, edx
lea rcx, str.HOME
call r13
test eax, eax
je 0x140003c08
xor r8d, r8d
xor edx, edx
lea rcx, str.PATH
call r13
lea eax, [rax + rax + 0x8000]
cdqe
mov rcx, rax
mov qword [rsp + 0x70], rax
call sub.msvcrt.dll_malloc
mov rdx, rsi
mov rcx, rax
mov rbp, rax
call sub.msvcrt.dll_wcscpy
cmp dword [rsp + 0xb8], 0
mov r8, qword [rsp + 0x70]
jne 0x140003922
lea rdx, str.cmd_
mov rcx, rbp
call fcn.140001430
mov rcx, rbp
call sub.msvcrt.dll_wcslen
mov r8, qword [rsp + 0x70]
mov rcx, rbp
shr r8, 1
sub r8d, eax
mov dword [rsp + 0x70], r8d
call sub.msvcrt.dll_wcslen
mov r8d, dword [rsp + 0x70]
lea rcx, str.PATH
lea rdx, [rbp + rax*2]
call r13
mov rdx, rbp
lea rcx, str.PATH
mov rax, qword [rsp + 0xa0]
call rax
mov rcx, rbp
call sub.msvcrt.dll_free
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_wcscpy
mov rcx, rsi
call sub.msvcrt.dll_wcslen
mov r8d, 0xfff
lea rdx, str.etcgit_bash.config
mov rcx, rbx
sub r8, rax
call sub.msvcrt.dll_wcsncat
lea rdx, [0x1400068da]
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wfopen]
test rax, rax
je 0x1400037b5
mov qword [rsp + 0x70], rbx
mov r13, rax
mov rcx, qword [rsp + 0x58]
mov r8, r13
mov edx, 0x400
call sub.msvcrt.dll_fgets
test rax, rax
je 0x1400037a8
mov rcx, qword [rsp + 0x58]
call sub.msvcrt.dll_strlen
test rax, rax
je 0x140003780
lea edx, [rax - 1]
movsxd rbx, eax
movsxd rcx, edx
mov rsi, rbx
cmp byte [rsp + rcx + 0xd0], 0xa
je 0x140003786
mov rax, qword [rsp + 0x58]
mov byte [rsp + rbx + 0xd0], 0
cmp dword [rax], 0x5359534d
jne 0x1400036ce
cmp byte [rax + 4], 0x3d
jne 0x1400036ce
lea rbp, str.MSYS
xor r8d, r8d
xor edx, edx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jne 0x140003df1
lea rdx, [rsp + 0xd5]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
jmp 0x1400036ce
lea rcx, str.__minimal_search_path
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140003d9b
mov ebp, 1
jmp 0x140003443
xor esi, esi
xor ebx, ebx
jmp 0x140003712
test edx, edx
je 0x140003780
lea esi, [rax - 2]
movsxd rbx, esi
cmp byte [rsp + rbx + 0xd0], 0xd
je 0x140003712
mov esi, edx
mov rbx, rcx
jmp 0x140003712
mov rcx, r13
mov rbx, qword [rsp + 0x70]
call sub.msvcrt.dll_fclose
mov eax, dword [rsp + 0x98]
movsxd rbp, dword [rsp + 0x50]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x98], eax
xor r8d, r8d
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x84d0], r8d
call rax
mov rdx, rbx
mov rsi, rax
mov rcx, rax
mov rax, qword [rsp + 0x90]
call rax
mov rcx, rsi
mov qword [rsp + 0x88], rax
call sub.msvcrt.dll_wcslen
movsxd rdx, dword [rsp + 0x98]
lea rax, [rbp + rax + 0x1001]
add rax, rdx
lea rcx, [rax + rax]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x70], rcx
call sub.msvcrt.dll_malloc
mov rbp, rax
test rdi, rdi
je 0x140003f87
test r14d, r14d
je 0x140003bca
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x28], rdi
lea r9, [0x14000672e]
lea rdx, str.__s_s___.s
mov r8, qword [rsp + 0x60]
mov rcx, rbp
mov dword [rsp + 0x20], eax
call qword [sym.imp.msvcrt.dll_swprintf]
mov eax, dword [rsp + 0x58]
add eax, 1
cmp eax, dword [rsp + 0x84d0]
jl 0x14000413d
cmp dword [rsp + 0x98], 0
jne 0x140003f1c
cmp dword [rsp + 0x84d0], 1
jle 0x1400038c5
mov rax, qword [rsp + 0x88]
lea rdx, [0x14000693e]
mov rcx, qword [rax + 8]
call sub.msvcrt.dll_wcscmp
test eax, eax
setne al
movzx eax, al
and dword [rsp + 0x80], eax
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_LocalFree]
cmp r12, 1
je 0x140003e72
mov rsi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xa8]
mov rdx, rsi
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140003ad1
mov ecx, 2
call qword [fcn.140002cf0]
mov r8, rsi
lea rdx, str.BUG__fork_bomb_:__s_n
mov rcx, rax
call sub.msvcrt.dll_fwprintf
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
lea rdx, [0x14004a040]
mov rcx, rbp
call fcn.140001430
xor edx, edx
mov rcx, rbp
call qword [sym.imp.msvcrt.dll__waccess]
add eax, 1
je 0x140003f44
xor r8d, r8d
xor edx, edx
lea rcx, str.HOME
call r13
lea rdx, [0x140006874]
mov rcx, rbp
mov dword [rsp + 0xb8], eax
call sub.msvcrt.dll_wcscat
mov rdx, rsi
mov rcx, rbp
call sub.msvcrt.dll_wcscat
mov r8, qword [rsp + 0x70]
lea rdx, [0x140006878]
mov rcx, rbp
call fcn.140001430
cmp dword [rsp + 0xb8], 0xff9
jg 0x140003632
mov rcx, rbp
call sub.msvcrt.dll_wcslen
mov r8d, dword [rsp + 0xb8]
lea rcx, str.HOME
lea rdx, [rbp + rax*2]
call r13
mov r8, qword [rsp + 0x70]
lea rdx, str.bin_
mov rcx, rbp
call fcn.140001430
jmp 0x140003632
cmp dword [rsp + 0x98], 0
mov rsi, qword [rsp + 0x78]
jne 0x140004595
mov rax, qword [rsp + 0x60]
lea rdi, str.git_lfs.exe
mov rdx, rdi
lea rbx, [rax + rsi*2 + 2]
mov rcx, rbx
call sub.msvcrt.dll__wcsicmp_1
mov r15d, eax
test eax, eax
jne 0x140003f9b
mov rdx, qword [rsp + 0x60]
lea rsi, [rsp + 0x44d0]
mov r8d, 1
xor r12d, r12d
mov rcx, rsi
call fcn.140001a00
mov rbx, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_wcscpy
mov r8d, 0x1000
lea rdx, [0x14004a040]
mov rcx, rbx
call fcn.140001430
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.140001430
mov dword [rsp + 0x9c], r12d
mov dword [rsp + 0x78], 0xffffffff
xor r12d, r12d
xor edi, edi
mov r14d, 1
mov dword [rsp + 0xb8], 1
mov dword [rsp + 0x50], 0xffffffff
mov dword [rsp + 0x80], 1
mov rax, qword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea rbx, [rsp + 0x84d0]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x58], rax
mov rax, qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov qword [rsp + 0x90], rax
jmp 0x140003556
lea rdi, [rsp + 0xd0]
xor eax, eax
mov ecx, 6
lea rdx, [rsp + 0x84d4]
mov qword [rsp + 0x58], rdi
rep stosd dword [rdi], eax
mov ecx, 0x19
mov rdi, rdx
rep stosd dword [rdi], eax
mov dword [rsp + 0x84d0], 0x68
test r15d, r15d
jne 0x140003e4b
cmp dword [rsp + 0x78], 0
jle 0x14000424a
mov eax, 1
mov edx, 0x410
mov ecx, 5
mov dword [rsp + 0x850c], eax
mov word [rsp + 0x8510], cx
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x28], edx
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x40], rbx
mov rcx, qword [rsp + 0x68]
mov rdx, rbp
mov qword [rsp + 0x48], rax
xor eax, eax
mov qword [rsp + 0x30], rax
mov eax, r15d
xor eax, 1
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140003edf
cmp dword [rsp + 0x80], 0
jne 0x140003eb3
mov rcx, qword [rsp + 0xd0]
lea rdx, [rsp + 0xcc]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x140003f03
mov rcx, qword [rsp + 0xd0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbp
call sub.msvcrt.dll_free
mov ecx, dword [rsp + 0xcc]
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov r8d, dword [rsp + 0x50]
mov r9, rdi
lea rdx, str._.s
mov rcx, rax
call qword [sym.imp.msvcrt.dll_swprintf]
jmp 0x140003872
mov rcx, qword [rsp + 0x58]
mov r9d, 0x40
mov edx, pe_nt_image_headers64
lea r8, str.MINGW_d
call fcn.1400017c0
jmp 0x140003588
xor r8d, r8d
xor edx, edx
lea rcx, str.HOMEPATH
call r13
mov ebp, eax
test eax, eax
je 0x140003d0d
lea r9, str.HOMEDRIVE
xor r8d, r8d
xor edx, edx
mov rcx, r9
call r13
mov dword [rsp + 0x70], ebp
lea ecx, [rbp + rax]
mov dword [rsp + 0xbc], eax
add rcx, rcx
call sub.msvcrt.dll_malloc
lea r9, str.HOMEDRIVE
mov r8d, dword [rsp + 0xbc]
mov rcx, r9
mov rbp, rax
mov rdx, rax
call r13
lea rcx, str.HOMEPATH
mov r8d, dword [rsp + 0x70]
mov eax, eax
add rax, rax
lea rdx, [rbp + rax]
call r13
mov edx, 0x1000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jne 0x140003cf5
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140003d05
test al, 0x10
je 0x140003d05
jmp 0x140003d48
lea rcx, [rsp + 0x84d8]
mov r8d, 4
lea rdx, str.UNC_
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x140003d69
lea rcx, [rsp + 0x4d0]
mov eax, 7
mov word [rsp + 0x4d0], 0x5c
lea rbp, [rsp + 0x4d2]
mov qword [rsp + 0x60], rcx
sub rsi, rax
jmp 0x1400030e6
mov rdx, rbp
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x140003c90
mov rcx, rbp
call sub.msvcrt.dll_free
xor r8d, r8d
xor edx, edx
lea rcx, str.USERPROFILE
call r13
test eax, eax
je 0x1400035dd
movsxd rcx, eax
mov dword [rsp + 0x70], eax
add rcx, rcx
call sub.msvcrt.dll_malloc
mov r8d, dword [rsp + 0x70]
lea rcx, str.USERPROFILE
mov rbp, rax
mov rdx, rax
call r13
mov rax, qword [rsp + 0xa0]
mov rdx, rbp
lea rcx, str.HOME
call rax
mov rcx, rbp
call sub.msvcrt.dll_free
jmp 0x1400035dd
lea rcx, [rsp + 0x4d0]
mov eax, 4
mov qword [rsp + 0x60], rcx
mov rbp, rcx
jmp 0x140003ced
mov rdx, qword [rsp + 0x60]
mov r8d, 0xfffffffc
mov rcx, rsi
call fcn.140001a00
jmp 0x140003565
mov rdx, qword [rsi]
lea rcx, str.__no_minimal_search_path
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1400042b0
xor ebp, ebp
jmp 0x140003443
mov rax, qword [rsp + 0xa0]
lea rdx, [0x140006810]
mov rcx, rbp
call rax
jmp 0x1400035c6
lea rax, [rsp + 0x4d0]
mov rdx, qword [rsp + 0x68]
mov rcx, rax
mov qword [rsp + 0x60], rax
call sub.msvcrt.dll_wcscpy
jmp 0x140003108
lea ecx, [rsi + rax - 3]
mov dword [rsp + 0xb8], eax
movsxd rcx, ecx
call sub.msvcrt.dll_malloc
lea rdx, [rsp + 0xd5]
mov rsi, rax
mov rcx, rax
call sub.msvcrt.dll_strcpy
mov r8d, dword [rsp + 0xb8]
lea rdx, [rsi + rbx - 4]
mov rcx, rbp
mov byte [rsi + rbx - 5], 0x20
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov rcx, rbp
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x1400036ce
cmp dword [rsp + 0x78], 0xffffffff
mov edx, 0x410
je 0x140003b36
cmp dword [rsp + 0x78], 0
mov eax, 1
jne 0x140004458
xor ecx, ecx
jmp 0x140003b27
lea rdi, str.HOME
mov rsi, qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call rsi
mov r13d, eax
test eax, eax
je 0x1400038dd
movsxd rcx, eax
add rcx, rcx
call sub.msvcrt.dll_malloc
mov r8d, r13d
mov rcx, rdi
mov r12, rax
mov rdx, rax
call rsi
jmp 0x1400038dd
xor ecx, ecx
mov rbx, qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
mov edx, 1
call rbx
mov rcx, qword [rsp + 0xd0]
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
xor edx, edx
xor ecx, ecx
call rbx
jmp 0x140003b89
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.error_launching_git
mov edx, eax
call fcn.140001870
mov dword [rsp + 0xcc], 1
jmp 0x140003bb5
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.error_reading_exit_code
mov edx, eax
call fcn.140001870
jmp 0x140003ba7
mov rdx, qword [rsp + 0x70]
mov rcx, rbp
add rdx, 2
call sub.msvcrt.dll_realloc
lea rdx, [0x14000693a]
mov rcx, rax
mov rbp, rax
call sub.msvcrt.dll_wcscat
jmp 0x140003894
mov rdx, rsi
mov rcx, rbp
call sub.msvcrt.dll_wcscpy
mov r8, qword [rsp + 0x70]
mov rcx, rbp
lea rdx, str.bin_
call fcn.140001430
mov rdx, rsi
mov rcx, rbp
call sub.msvcrt.dll_wcscat
mov r8, qword [rsp + 0x70]
lea rdx, str.mingw_bin_
mov rcx, rbp
call fcn.140001430
jmp 0x140003632
lea rdx, [0x14000672e]
mov rcx, rax
call sub.msvcrt.dll_wcscpy
jmp 0x140003872
lea rdx, str.scalar.exe
mov rcx, rbx
call sub.msvcrt.dll__wcsicmp_1
test eax, eax
je 0x1400043f4
lea rdx, str.git_gui.exe
mov rcx, rbx
call sub.msvcrt.dll__wcsicmp_1
test eax, eax
je 0x140003fdc
lea rdx, str.gitk.exe
mov rcx, rbx
call sub.msvcrt.dll__wcsicmp_1
test eax, eax
jne 0x1400044fc
mov rdx, qword [rsp + 0x60]
lea rsi, [rsp + 0x44d0]
mov r8d, 1
mov rcx, rsi
call fcn.140001a00
mov rdi, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, rdi
call sub.msvcrt.dll_wcscpy
mov rcx, rdi
mov r8d, 0x1000
lea rdx, [0x14004a040]
call fcn.140001430
mov r8d, 0x1000
lea rdx, str.wish.exe
mov rcx, rdi
call fcn.140001430
mov rcx, rbx
lea rdi, [0x1400061ca]
call sub.msvcrt.dll_wcslen
lea rdx, str.gitk
mov rcx, rbx
mov word [rbx + rax*2 - 8], 0
call sub.msvcrt.dll__wcsicmp_1
test eax, eax
je 0x140004061
lea rdi, str.libexecgit_core
mov r15, qword [rsp + 0x68]
xor edx, edx
mov rcx, r15
call qword [sym.imp.msvcrt.dll__waccess]
add eax, 1
je 0x1400045b9
lea rcx, [0x14004a040]
call sub.msvcrt.dll_wcslen
mov qword [rsp + 0x38], rdi
mov r9, r15
lea rdi, [0x14004a040]
sub rax, 4
mov qword [rsp + 0x30], rdi
lea rdi, [0x14002a040]
lea r8, str.__s____s_.s_s_
mov qword [rsp + 0x28], rax
mov edx, 0x10000
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call fcn.1400017c0
mov r8d, 0x10000
mov rdx, rbx
mov rcx, rdi
xor ebp, ebp
call fcn.140001430
mov rcx, rdi
xor r14d, r14d
xor r12d, r12d
call sub.msvcrt.dll_wcslen
mov r8d, 0xffff
mov rcx, rdi
lea rdx, [0x1400066be]
sub r8, rax
mov r15d, 1
call sub.msvcrt.dll_wcsncat
mov rcx, rdi
xor edi, edi
call sub.msvcrt.dll_wcslen
mov dword [rsp + 0x9c], edi
lea rdi, [0x14002a040]
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x80], ebp
mov dword [rsp + 0x78], 0xffffffff
mov dword [rsp + 0xb8], 1
jmp 0x140003a99
mov edx, 0x20
mov rcx, rbp
call sub.msvcrt.dll_wcschr
mov rdi, rax
test rsi, rsi
je 0x140002fc0
movzx edx, word [rsi]
test dx, dx
je 0x140004216
xor ecx, ecx
mov r14, qword [rsp + 0x88]
mov r13, qword [sym.imp.msvcrt.dll_isspace]
xchg rbx, rsi
mov dword [rsp + 0x50], ecx
lea rax, [rbx + 2]
cmp dx, 0x22
mov rcx, qword [r14]
cmove rbx, rax
call sub.msvcrt.dll_wcslen
lea rbx, [rbx + rax*2]
movzx eax, word [rbx]
cmp ax, 0x22
jne 0x1400041a3
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
jne 0x1400041bd
jmp 0x1400041c7
movzx eax, word [rbx + 2]
add rbx, 2
test ax, ax
je 0x1400041c7
movzx ecx, ax
call r13
test eax, eax
je 0x1400041b0
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + 0x58]
add r14, 8
lea eax, [rcx + 1]
mov dword [rsp + 0x50], eax
movzx eax, word [rbx]
cmp ecx, edx
jge 0x140004209
test ax, ax
je 0x140004209
mov qword [rsp + 0x60], rsi
jmp 0x1400041f1
add rbx, 2
movzx ecx, word [rbx]
mov esi, ecx
call r13
test eax, eax
jne 0x1400041ed
mov edx, esi
mov rsi, qword [rsp + 0x60]
jmp 0x14000417a
xchg rsi, rbx
cmp ax, 0x20
je 0x140004462
mov rcx, rsi
call sub.msvcrt.dll_wcslen
mov rdi, qword [rsp + 0x70]
mov rcx, rbp
lea rax, [rdi + rax*2]
mov rdx, rax
mov qword [rsp + 0x70], rax
call sub.msvcrt.dll_realloc
mov rdx, rsi
mov rcx, rax
mov rbp, rax
call sub.msvcrt.dll_wcscat
jmp 0x140003886
xor edx, edx
lea rcx, str.CONOUT_
mov dword [rsp + 0x28], pe_nt_image_headers64
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x30], rdx
xor r9d, r9d
mov edx, 0x40000000
mov r8d, 2
mov dword [rsp + 0x20], 3
call rax
mov rcx, rax
cmp rax, 0xffffffffffffffff
je 0x1400042ce
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, 0x400
cmp dword [rsp + 0x78], 0xffffffff
je 0x140003b36
mov eax, dword [rsp + 0x850c]
xor ecx, ecx
or eax, 1
jmp 0x140003b27
mov rdx, qword [rsi]
lea rcx, str.__needs_console
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14000432a
mov r15d, 1
jmp 0x140003443
mov rsi, qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov ecx, 0xfffffff6
call rsi
test rax, rax
je 0x14000436c
mov qword [rsp + 0x8520], rax
mov ecx, 0xfffffff5
call rsi
test rax, rax
je 0x140004366
mov qword [rsp + 0x8528], rax
mov ecx, 0xfffffff4
call rsi
test rax, rax
je 0x140004345
mov qword [rsp + 0x8530], rax
mov edx, 0x8000400
mov dword [rsp + 0x850c], 0x100
jmp 0x140004294
mov rdx, qword [rsi]
lea rcx, str.__no_needs_console
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14000434b
xor r15d, r15d
jmp 0x140003443
or rax, 0xffffffffffffffff
jmp 0x14000430d
mov rdx, qword [rsi]
lea rcx, str.__hide
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140004375
xor r13d, r13d
jmp 0x140003443
or rax, 0xffffffffffffffff
jmp 0x1400042f9
or rax, 0xffffffffffffffff
jmp 0x1400042e5
mov rdx, qword [rsi]
lea rcx, str.__no_hide
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1400043d0
mov r13d, 1
jmp 0x140003443
mov ecx, 2
call qword [fcn.140002cf0]
lea rdx, str.Could_not_read_resource__too_large__n
mov rcx, rax
call sub.msvcrt.dll_fwprintf
mov ecx, 1
call sub.msvcrt.dll_exit
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.warning:_could_not_set_app_ID
mov edx, eax
call fcn.140001870
jmp 0x140003535
mov rdx, qword [rsi]
lea rcx, str.__append_quote
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x14000460b
mov dword [rsp + 0x70], 1
jmp 0x140003443
mov rdx, qword [rsp + 0x60]
lea rsi, [rsp + 0x44d0]
mov r8d, 1
mov rcx, rsi
call fcn.140001a00
mov rdi, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, rdi
call sub.msvcrt.dll_wcscpy
mov r8d, 0x1000
lea rdx, [0x14004a040]
mov rcx, rdi
call fcn.140001430
mov r8d, 0x1000
mov rdx, rbx
mov rcx, rdi
call fcn.140001430
xor r9d, r9d
xor r15d, r15d
mov dword [rsp + 0x9c], r9d
jmp 0x140003a68
mov ecx, 5
jmp 0x140003b27
lea rdx, [0x140006910]
mov rcx, rsi
call sub.msvcrt.dll_wcsspn
cmp word [rsi + rax*2], 0x22
jne 0x140004216
mov rax, rdi
sub rax, rbp
cmp rax, 0xe
jle 0x140004216
lea rcx, [rdi - 0x10]
mov r8d, 0xd
lea rdx, [0x140006914]
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x140004216
mov rax, qword [rsp + 0x90]
mov rcx, rbp
add rax, 6
mov rdx, rax
mov qword [rsp + 0x70], rax
call sub.msvcrt.dll_realloc
mov rcx, rax
mov rbp, rax
call sub.msvcrt.dll_wcslen
lea rcx, [rbp + rax*2 - 2]
cmp word [rcx], 0x22
je 0x1400044ee
movzx eax, word [rsi]
add rsi, 2
cmp ax, 0x20
je 0x1400044dc
jmp 0x140004216
lea rdx, str._
call sub.msvcrt.dll_wcscpy
jmp 0x1400044dc
lea rdx, str.git_remote_http.exe
mov rcx, rbx
call sub.msvcrt.dll__wcsicmp_1
mov r14d, eax
test eax, eax
jne 0x14000462f
mov rsi, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
xor ebx, ebx
xor r15d, r15d
xor r12d, r12d
xor edi, edi
or rbp, 0xffffffffffffffff
mov rcx, rsi
call sub.msvcrt.dll_wcscpy
mov r8d, 0x1000
lea rdx, str.git_remote_https.exe
mov rcx, rsi
call fcn.140001430
mov rax, qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov dword [rsp + 0x58], ebx
lea rbx, [rsp + 0x84d0]
mov dword [rsp + 0x78], 0xffffffff
mov qword [rsp + 0x88], rax
mov rax, qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [rsp + 0x50], 0xffffffff
mov dword [rsp + 0x80], 1
mov qword [rsp + 0x90], rax
jmp 0x1400037d3
mov ecx, 2
call qword [fcn.140002cf0]
lea rdx, str.Need_a_valid_command_line__Edit_the_string_resources_accordingly_n
mov rcx, rax
call sub.msvcrt.dll_fwprintf
mov ecx, 1
call sub.msvcrt.dll_exit
mov r15, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, r15
call sub.msvcrt.dll_wcscpy
mov rcx, r15
mov r8d, 0x1000
lea rdx, str.mingw_binwish.exe
call fcn.140001430
mov qword [rsp + 0x28], rdi
mov r9, r15
lea rdi, [0x14002a040]
mov qword [rsp + 0x20], rsi
lea r8, str.__s____smingw_s_
mov edx, 0x10000
mov rcx, rdi
call fcn.1400017c0
jmp 0x1400040c3
mov rdx, qword [rsi]
lea rcx, str.__no_append_quote
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x1400047b0
mov dword [rsp + 0x70], 0xffffffff
jmp 0x140003443
mov r8d, 4
lea rdx, str.git_
mov rcx, rbx
call sub.msvcrt.dll__wcsnicmp
mov dword [rsp + 0x58], eax
test eax, eax
jne 0x140004707
lea rdi, [rbx + 8]
mov rcx, rdi
call sub.msvcrt.dll_wcslen
lea rdx, str..exe
mov rsi, rax
lea eax, [rax - 4]
movsxd rbp, eax
mov dword [rsp + 0x50], eax
lea rcx, [rbp + rbp]
add rcx, rbx
call sub.msvcrt.dll__wcsicmp_1
test eax, eax
jne 0x14000468b
lea eax, [rsi - 8]
mov dword [rsp + 0x50], eax
movsxd rbp, eax
mov rsi, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
xor r15d, r15d
xor r12d, r12d
mov r14d, 1
lea rbx, [rsp + 0x84d0]
mov rcx, rsi
call sub.msvcrt.dll_wcscpy
mov r8d, 0x1000
lea rdx, [0x14000672e]
mov rcx, rsi
call fcn.140001430
mov rax, qword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor r11d, r11d
mov dword [rsp + 0x78], 0xffffffff
mov dword [rsp + 0x98], r11d
mov qword [rsp + 0x88], rax
mov rax, qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [rsp + 0x80], 1
mov qword [rsp + 0x90], rax
jmp 0x1400037d3
lea rdi, [0x14000672e]
mov rcx, rbx
mov rdx, rdi
call sub.msvcrt.dll__wcsicmp_1
test eax, eax
jne 0x140004810
mov rdx, qword [rsp + 0x60]
lea rsi, [rsp + 0x44d0]
mov r8d, 1
mov rcx, rsi
call fcn.140001a00
mov rbx, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_wcscpy
mov r8d, 0x1000
lea rdx, [0x14004a040]
mov rcx, rbx
call fcn.140001430
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.140001430
xor edx, edx
mov rcx, rbx
call qword [sym.imp.msvcrt.dll__waccess]
add eax, 1
jne 0x140004445
mov rbx, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, rbx
call sub.msvcrt.dll_wcscpy
mov r8d, 0x1000
lea rdx, str.bingit.exe
mov rcx, rbx
call fcn.140001430
jmp 0x140004445
mov rdx, qword [rsi]
mov r8d, 0xa
lea rcx, str.__command
call sub.msvcrt.dll_wcsncmp
mov rdx, qword [rsi]
test eax, eax
je 0x1400048fb
mov r8d, 9
lea rcx, str.__app_id
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x1400048ee
mov rcx, qword [rsp + 0x80]
call sub.msvcrt.dll_free
mov rax, qword [rsi]
lea rcx, [rax + 0x12]
call sub.msvcrt.dll__wcsdup
mov qword [rsp + 0x80], rax
jmp 0x140003443
lea rdx, str.sh.exe
mov rcx, rbx
call sub.msvcrt.dll__wcsicmp_1
test eax, eax
je 0x140004842
lea rdx, str.ash.exe
mov rcx, rbx
lea rsi, [rsp + 0x44d0]
call sub.msvcrt.dll__wcsicmp_1
test eax, eax
jne 0x140004445
lea rcx, [0x1400061d2]
lea rsi, str.busybox.exe
call sub.msvcrt.dll_wcslen
mov rbx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0x50], eax
mov rcx, rbx
call sub.msvcrt.dll_wcscpy
mov rcx, rbx
mov r8d, 0x1000
mov rdx, rsi
call fcn.140001430
xor edx, edx
mov rcx, rbx
mov rbx, qword [sym.imp.msvcrt.dll__waccess]
call rbx
add eax, 1
je 0x140004948
mov rax, qword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor r10d, r10d
xor r15d, r15d
xor r14d, r14d
mov dword [rsp + 0x58], r10d
movsxd rbp, dword [rsp + 0x50]
xor r12d, r12d
lea rdi, [0x1400061d2]
mov qword [rsp + 0x88], rax
mov rax, qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
lea rbx, [rsp + 0x84d0]
mov dword [rsp + 0x78], 0xffffffff
mov dword [rsp + 0x80], 1
mov qword [rsp + 0x90], rax
jmp 0x1400037d3
sub dword [rsp + 0x98], 1
jmp 0x1400034c9
lea rcx, [rdx + 0x14]
mov qword [rsi], rcx
call sub.msvcrt.dll_wcslen
mov rcx, qword [rsi]
mov rdx, rax
call fcn.1400014e0
mov rdi, rax
cmp rax, qword [rsi]
jne 0x140004925
mov rcx, rax
call sub.msvcrt.dll__wcsdup
mov rdi, rax
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov rcx, rdi
call fcn.140001710
mov rcx, rdi
call sub.msvcrt.dll_wcslen
mov dword [rsp + 0x50], eax
jmp 0x1400034c9
lea rdi, [rsp + 0x44d0]
mov rdx, qword [rsp + 0x60]
mov r8d, 0xfffffffc
mov rcx, rdi
call fcn.140001a00
mov rdx, rdi
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call sub.msvcrt.dll_wcscpy
mov r8d, 0x1000
lea rdx, [0x14004a040]
mov rcx, rdi
call fcn.140001430
mov r8d, 0x1000
mov rdx, rsi
mov rcx, rdi
call fcn.140001430
xor edx, edx
mov rcx, rdi
call rbx
add eax, 1
jne 0x140004893
mov ecx, 2
call qword [fcn.140002cf0]
mov r8, qword [rsp + 0x68]
lea rdx, str.Could_not_find__ls_n
mov rcx, rax
call sub.msvcrt.dll_fwprintf
mov ecx, 1
call sub.msvcrt.dll_exit
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp 0x140001410