Function at 0x140001260
Capabilities:
Accept command line arguments
Copy file
Create process on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18c0]
mov eax, 0x19c0
call fcn.140004ac0
sub rsp, rax
mov rax, qword [0x140029040]
xor rax, rsp
mov qword [rbp + 0x18b0], rax
xor r12d, r12d
mov rbx, r8
xor ecx, ecx
mov qword [rbp - 0x70], rbx
mov edi, r12d
mov dword [rsp + 0x54], r12d
lea edx, [r12 + 2]
call qword [sym.imp.ole32.dll_CoInitializeEx]
call qword [sym.imp.USER32.dll_SetProcessDPIAware]
xor al, al
mov dword [rbp - 0x28], r12d
mov byte [rsp + 0x50], al
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rcx, rax
lea rdx, [rbp - 0x28]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov r13d, r12d
mov r14, rax
mov qword [rbp - 0x80], rax
cmp dword [rbp - 0x28], r12d
jle 0x140001900
mov qword [rsp + 0x58], rdi
nop dword [rax]
mov rdx, qword [r14 + rdi*8]
lea rcx, [rbp - 0x20]
call fcn.1400030c0
mov rbx, qword [rbp - 8]
lea rcx, [rbp - 0x20]
mov rdx, qword [rbp - 0x10]
lea r9, str.update
cmp rbx, 7
mov qword [rsp + 0x20], 7
cmova rcx, qword [rbp - 0x20]
xor r8d, r8d
call fcn.140003620
cmp rax, 0xffffffffffffffff
je 0x14000189c
xorps xmm0, xmm0
mov byte [rsp + 0x50], 1
movups xmmword [rbp], xmm0
mov r15d, 7
mov word [rbp], r12w
lea rdx, str.update
mov qword [rbp + 0x10], r12
lea rcx, [rbp - 0x60]
mov qword [rbp + 0x18], r15
mov r14, r12
call fcn.1400030c0
mov rdi, qword [rbp - 0x50]
mov rbx, r12
mov r12, qword [rbp - 0x48]
mov rsi, qword [rbp - 0x60]
nop word [rax + rax]
mov rax, qword [rbp - 0x10]
lea r9, [rbp - 0x60]
cmp r12, 7
lea r11, [rbp - 0x20]
cmova r9, rsi
cmp qword [rbp - 8], 7
cmova r11, qword [rbp - 0x20]
cmp rdi, rax
ja 0x1400013f3
sub rax, rdi
cmp rbx, rax
ja 0x1400013f3
test rdi, rdi
je 0x14000154b
lea r10, [rax + 1]
lea r10, [r11 + r10*2]
lea rbx, [r11 + rbx*2]
mov rax, r10
sub rax, rbx
sar rax, 1
je 0x1400013f3
movzx ecx, word [r9]
nop
cmp word [rbx], cx
je 0x140001517
add rbx, 2
sub rax, 1
jne 0x1400013e0
cmp r12, 7
jbe 0x14000142e
lea rdx, [r12*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140001426
mov rsi, qword [rsi - 8]
add rdx, 0x27
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001c4e
mov rcx, rsi
call fcn.14000477c
cmp r15, 7
jbe 0x14000146a
mov rcx, qword [rbp]
lea rdx, [r15*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001465
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001c4e
call fcn.14000477c
xor ebx, ebx
lea rdx, [0x140025038]
xorps xmm0, xmm0
mov qword [rbp + 0x10], rbx
movups xmmword [rbp], xmm0
mov esi, 7
mov word [rbp], bx
lea rcx, [rsp + 0x60]
mov qword [rbp + 0x18], rsi
mov edi, ebx
call fcn.1400030c0
mov r12, qword [rsp + 0x78]
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x60]
nop word [rax + rax]
mov rdx, qword [rbp - 0x10]
lea r9, [rsp + 0x60]
cmp r12, 7
mov qword [rsp + 0x20], r15
lea rcx, [rbp - 0x20]
mov r8, rbx
cmova r9, r14
cmp qword [rbp - 8], 7
cmova rcx, qword [rbp - 0x20]
call fcn.140003620
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x14000158f
cmp rsi, 7
mov qword [rsp + 0x20], rdi
lea r9, [rbp]
mov r8, r15
cmova r9, qword [rbp]
lea rcx, [rbp - 0x20]
mov rdx, rax
call fcn.140003220
mov rdi, qword [rbp + 0x10]
mov rsi, qword [rbp + 0x18]
add rbx, rdi
jmp 0x1400014b0
test rbx, rbx
je 0x1400013f3
mov rdx, rdi
mov rcx, r9
test rdi, rdi
je 0x140001545
mov r8, rbx
sub r8, r9
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x140001586
add rcx, 2
sub rdx, 1
jne 0x140001531
sub rbx, r11
sar rbx, 1
cmp rbx, 0xffffffffffffffff
je 0x1400013f3
cmp r15, 7
mov qword [rsp + 0x20], r14
lea r9, [rbp]
mov r8, rdi
cmova r9, qword [rbp]
lea rcx, [rbp - 0x20]
mov rdx, rbx
call fcn.140003220
mov r14, qword [rbp + 0x10]
mov r15, qword [rbp + 0x18]
add rbx, r14
jmp 0x140001390
add rbx, 2
jmp 0x1400013d0
cmp r12, 7
jbe 0x1400015ca
lea rdx, [r12*2 + 2]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400015c2
mov r14, qword [r14 - 8]
add rdx, 0x27
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001c4e
mov rcx, r14
call fcn.14000477c
cmp rsi, 7
jbe 0x140001606
mov rcx, qword [rbp]
lea rdx, [rsi*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001601
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001c4e
call fcn.14000477c
xor edx, edx
lea rcx, [rbp + 0x8b0]
mov r8d, 0x1000
call fcn.14001a3b0
mov r8d, 0x800
lea rdx, [rbp + 0x8b0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r12d, r12d
lea rax, [rbp + 0x8b0]
xorps xmm0, xmm0
mov qword [rbp + 0x30], r12
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x38], r12
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp word [rax + rbx*2], r12w
jne 0x140001650
movabs r15, 0x7ffffffffffffffe
cmp rbx, r15
ja 0x140001c5a
cmp rbx, 7
ja 0x1400016a0
mov qword [rbp + 0x30], rbx
lea rdx, [rbp + 0x8b0]
add rbx, rbx
mov qword [rbp + 0x38], 7
mov r8, rbx
lea rcx, [rbp + 0x20]
call fcn.14001a770
mov word [rbp + rbx + 0x20], r12w
jmp 0x140001753
mov rsi, rbx
or rsi, 7
cmp rsi, r15
jbe 0x1400016bf
movabs rax, 0x7fffffffffffffff
mov rsi, r15
lea rcx, [rax + rax]
jmp 0x1400016ef
cmp rsi, 0xa
mov eax, 0xa
cmovb rsi, rax
movabs rax, 0x7fffffffffffffff
lea rcx, [rsi + 1]
cmp rcx, rax
ja 0x140001c54
add rcx, rcx
cmp rcx, 0x1000
jb 0x14000171b
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140001c54
mov rcx, rax
call fcn.140004500
test rax, rax
je 0x140001c4e
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x14000172d
test rcx, rcx
je 0x14000172a
call fcn.140004500
mov rdi, rax
jmp 0x14000172d
mov rdi, r12
mov qword [rbp + 0x30], rbx
lea rdx, [rbp + 0x8b0]
add rbx, rbx
mov qword [rbp + 0x20], rdi
mov r8, rbx
mov qword [rbp + 0x38], rsi
mov rcx, rdi
call fcn.14001a770
mov word [rdi + rbx], r12w
mov ebx, r12d
nop word [rax + rax]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp qword [rbp - 8], 7
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x20]
cmova rdx, qword [rbp - 0x20]
cmp qword [rbp + 0x38], 7
cmova rcx, qword [rbp + 0x20]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x1400017ba
inc ebx
cmp ebx, 0xa
jl 0x140001760
lea r9d, [rax + 0x10]
xor ecx, ecx
lea r8, [0x140025040]
lea rdx, [0x140025060]
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x14000184f
xorps xmm1, xmm1
mov dword [rbp + 0x40], 0x68
xor eax, eax
lea rcx, [rbp - 0x20]
cmp qword [rbp - 8], 7
xorps xmm0, xmm0
mov qword [rbp - 0x30], rax
cmova rcx, qword [rbp - 0x20]
xor r9d, r9d
mov dword [rbp + 0xa4], eax
xor r8d, r8d
lea rax, [rbp - 0x40]
xor edx, edx
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp + 0x44], xmm1
movups xmmword [rbp + 0x54], xmm1
movups xmmword [rbp + 0x64], xmm1
movups xmmword [rbp + 0x74], xmm1
movups xmmword [rbp + 0x84], xmm1
movups xmmword [rbp + 0x94], xmm1
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14000184f
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rbp + 0x38]
cmp rdx, 7
jbe 0x14000188f
mov rcx, qword [rbp + 0x20]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000188a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001c4e
call fcn.14000477c
mov r14, qword [rbp - 0x80]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rbp - 8]
cmp rbx, 7
jbe 0x1400018d8
mov rcx, qword [rbp - 0x20]
lea rdx, [rbx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400018d3
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001c60
call fcn.14000477c
inc rdi
inc r13d
mov qword [rsp + 0x58], rdi
cmp r13d, dword [rbp - 0x28]
jl 0x140001300
cmp byte [rsp + 0x50], 0
jne 0x140001c07
mov edi, dword [rsp + 0x54]
mov rbx, qword [rbp - 0x70]
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.wine_get_version
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
jne 0x140001969
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1400030c0
mov rcx, rax
cmp qword [rax + 0x18], 7
jbe 0x14000193c
mov rcx, qword [rax]
mov rdx, qword [rax + 0x10]
lea r9, str.retry_non_windows
xor r8d, r8d
mov qword [rsp + 0x20], SafeArrayGetElement
mov edi, 1
call fcn.140003620
cmp rax, 0xffffffffffffffff
jne 0x140001969
movzx ebx, dil
jmp 0x14000196b
xor bl, bl
test dil, 1
je 0x1400019b3
mov rdx, qword [rsp + 0x78]
cmp rdx, 7
jbe 0x1400019b3
mov rcx, qword [rsp + 0x60]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400019ae
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001c66
call fcn.14000477c
test bl, bl
je 0x1400019be
call fcn.1400021c0
jmp 0x1400019c3
call fcn.1400024c0
test al, al
jne 0x140001c07
test bl, bl
je 0x140001c07
cmp dword [0x140029a90], 0x1388
jae 0x140001c07
xor edx, edx
lea rcx, [rbp + 0xb0]
mov r8d, 0x800
call fcn.14001a3b0
mov r8d, 0x400
lea rdx, [rbp + 0xb0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xorps xmm1, xmm1
mov dword [rbp + 0x40], 0x68
xor eax, eax
lea rcx, [rbp + 0x8b0]
xorps xmm0, xmm0
mov qword [rbp - 0x30], rax
xor edx, edx
mov dword [rbp + 0xa4], eax
mov r8d, 0x800
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp + 0x44], xmm1
movups xmmword [rbp + 0x54], xmm1
movups xmmword [rbp + 0x64], xmm1
movups xmmword [rbp + 0x74], xmm1
movups xmmword [rbp + 0x84], xmm1
movups xmmword [rbp + 0x94], xmm1
call fcn.14001a3b0
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x60]
call fcn.1400030c0
mov rbx, rax
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
mov rax, rdx
sub rax, rcx
cmp rax, 0x13
jb 0x140001ab4
lea rsi, [rcx + 0x13]
mov rdi, rbx
mov qword [rbx + 0x10], rsi
cmp rdx, 7
jbe 0x140001a97
mov rdi, qword [rbx]
lea rcx, [rdi + rcx*2]
mov r8d, 0x26
lea rdx, str.__retry_non_windows
call fcn.14001a770
mov word [rdi + rsi*2], r12w
jmp 0x140001ad4
lea r9, str.__retry_non_windows
mov qword [rsp + 0x20], SafeArrayGetElement
mov edx, SafeArrayUnaccessData
mov rcx, rbx
call fcn.140003ee0
mov rbx, rax
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], 7
mov word [rbx], r12w
mov rdx, qword [rsp + 0x78]
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp - 0x70], xmm1
movups xmmword [rbp + 0x10], xmm1
cmp rdx, 7
jbe 0x140001b45
mov rcx, qword [rsp + 0x60]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140001b38
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001c6c
call fcn.14000477c
movups xmm1, xmmword [rbp - 0x70]
movups xmm0, xmmword [rbp - 0x80]
movq rbx, xmm0
lea rdx, [rbp]
movdqa xmm0, xmm1
lea rcx, [rbp + 0x8b0]
psrldq xmm0, 8
movq r8, xmm1
movq rdi, xmm0
cmp rdi, 7
cmova rdx, rbx
add r8, r8
call fcn.14001a770
lea rax, [rbp - 0x40]
xor r9d, r9d
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0x8b0]
lea rax, [rbp + 0x40]
xor r8d, r8d
mov qword [rsp + 0x40], rax
lea rcx, [rbp + 0xb0]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x140001bd0
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp rdi, 7
jbe 0x140001c07
lea rdx, [rdi*2 + 2]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140001bff
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140001c48
mov rcx, rbx
call fcn.14000477c
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_LocalFree]
call qword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
mov rcx, qword [rbp + 0x18b0]
xor rcx, rsp
call fcn.1400044e0
lea r11, [rsp + 0x19c0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14000b6f4
int3
call fcn.14000b6f4
int3
call fcn.140001140
int3
call fcn.1400011e0
int3
call fcn.14000b6f4
int3
call fcn.14000b6f4
int3
call fcn.14000b6f4
int3