Function at 0x14000e590
Capabilities:
Accept command line arguments
Create process on windows
Encode data using xor
Extract resource via kernel32 functions
Get file size
Hash data with crc32
Read file via mapping
Set environment variable
Write and execute a file
Write file on windows

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
lea rsi, str.libgcc_s_dw2_1.dll
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rbx, rax
test rax, rax
je 0x140001670
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rdi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rdx, str.__register_frame_info
mov rcx, rbx
mov qword [0x140026040], rax
call rdi
lea rdx, str.__deregister_frame_info
mov rcx, rbx
mov rsi, rax
call rdi
mov qword [section..data], rax
test rsi, rsi
je 0x140001653
lea rdx, [0x140026060]
lea rcx, [section..eh_fram]
call rsi
lea rcx, [0x140001690]
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp fcn.140001586
lea rax, [0x1400015d0]
lea rsi, [0x1400015c0]
mov qword [section..data], rax
jmp 0x140001643
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2e8
movaps xmmword [rsp + 0x2c0], xmm6
movaps xmmword [rsp + 0x2d0], xmm7
lea rbx, str.C:Program_FilesPRODUCText64
mov r8d, 0x1000
lea rcx, [0x140033100]
mov rdx, rbx
call fcn.140007540
test al, al
je 0x14000facd
mov edx, 1
lea rcx, [0x140007df0]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x14000fb6e
mov r8d, 0xa
xor ecx, ecx
mov edx, 0x1b
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov rdx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
xor ecx, ecx
mov rdx, rbx
mov qword [0x1400330e8], rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov rax, qword [0x1400330e8]
mov qword [0x1400330e0], rsi
cmp byte [rax + 1], 0x41
lea rdi, [rax + 3]
movzx ecx, byte [rax + 2]
setne dl
cmp byte [rax], 0x4b
mov qword [0x1400330e8], rdi
setne al
or dl, al
jne 0x14000fb3a
cmp cl, 0x59
jne 0x14000fb3a
mov qword [0x140037110], 0
mov ecx, 0x20000
call sub.msvcrt.dll_malloc
mov qword [0x140037130], rax
test rax, rax
je 0x14000fac1
mov ecx, 0x274b8
call sub.msvcrt.dll_malloc
mov r8, rax
test rax, rax
je 0x14000fab6
mov qword [rax + 0x73b0], 0
pxor xmm0, xmm0
mov qword [rax + 0x73c8], 0
mov qword [rax + 0x72d8], 0
mov qword [rax + 0x73ec], 0
mov qword [rax + 0x73f8], 0
mov qword [rax + 0x7400], 0
mov qword [rax + 0x7420], 0
mov dword [rax + 0x73f4], 0
mov qword [rax + 0x7440], 0
mov dword [rax + 0x7448], 0
mov dword [rax + 0x7454], 0
mov qword [rax + 0x274b0], 0
movups xmmword [rax + 0x73a0], xmm0
movups xmmword [rax + 0x73d8], xmm0
xor eax, eax
cpuid
xor ecx, ecx
cmp eax, 6
ja 0x14000f63b
mov dword [r8 + 0x73d0], ecx
movdqa xmm6, xmmword [0x1400216b0]
lea r15, [rsp + 0x1c0]
mov qword [r8 + 0x7410], 0x8000001
movd xmm7, dword [0x1400216c0]
mov dword [r8 + 0x7458], 0
mov qword [r8 + 0x7388], 0
mov dword [r8 + 0x7390], 1
mov qword [0x140037108], r8
mov qword [0x140037110], rdi
mov qword [0x140037120], 0
mov qword [0x140037118], rsi
mov rbx, qword [0x140037138]
mov rsi, qword [0x140037140]
lea r13, [0x1400328e0]
nop word [rax + rax]
xor edi, edi
mov r12, r15
mov ebp, 2
nop word [rax + rax]
mov r8, rbx
sub r8, rsi
jne 0x14000e84c
mov rcx, qword [0x140037120]
mov rdx, qword [0x140037118]
cmp rcx, rdx
setb al
or dil, al
je 0x14000e8a0
mov rcx, qword [0x140037108]
movups xmmword [0x140037138], xmm6
call fcn.14000d0b0
mov rbx, qword [0x140037140]
cmp qword [0x140037138], rbx
sete dil
cmp rax, 0xffffffffffffff88
ja 0x14000e8a9
xor esi, esi
mov r8, rbx
mov qword [0x140037138], rbx
mov qword [0x140037140], 0
sub r8, rsi
je 0x14000e7e8
cmp r8, rbp
mov r14, r8
mov rdx, qword [0x140037130]
mov rcx, r12
cmova r14, rbp
add rdx, rsi
mov r8, r14
add rsi, r14
add r12, r14
call sub.msvcrt.dll_memcpy
mov qword [0x140037140], rsi
sub rbp, r14
jne 0x14000e7e0
movzx eax, word [rsp + 0x1c0]
mov word [r13], ax
test ax, ax
je 0x14000e8b5
add r13, 2
jmp 0x14000e7d0
cmp rcx, rdx
je 0x14000e7e0
lea rcx, str.Error__couldnt_decode_attached_data.
call fcn.140007d70
lea rax, [0x1400328e0]
movzx ecx, word [rax]
test cx, cx
je 0x14000f66d
lea rax, [0x140033100]
xor esi, esi
lea r8, [0x140033100]
movzx edx, word [rax]
lea rax, [0x1400308e0]
mov word [0x1400308e0], si
lea r9, [rax + 0x2000]
test dx, dx
jne 0x14000e909
jmp 0x14000e91d
cmp rax, r9
je 0x14001c5c8
add r8, 2
mov word [rax], dx
add rax, 2
movzx edx, word [r8]
test dx, dx
jne 0x14000e900
xor ebx, ebx
mov word [rax], bx
cmp word [0x1400308e0], 0
je 0x14000f5f4
mov edx, 0x1000
lea rax, [0x1400308e0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000e940
test rdx, rdx
je 0x14000fbec
movd dword [rax], xmm7
cmp word [0x1400308e0], 0
je 0x14000f5e3
mov edx, 0x1000
lea rax, [0x1400308e0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000e978
test rdx, rdx
je 0x14000fbe2
lea r8, [0x1400328e0]
jmp 0x14000e9a9
test rdx, rdx
je 0x14000fbe7
add r8, 2
mov word [rax], cx
add rax, 2
sub rdx, 1
movzx ecx, word [r8]
test cx, cx
jne 0x14000e9a0
xor r11d, r11d
cmp word [0x1400300e0], 0
mov word [rax], r11w
je 0x14000f571
mov edx, 8
mov rcx, r15
call fcn.14000e340
mov edx, 4
mov rcx, r15
mov rbx, qword [rsp + 0x1c0]
call fcn.14000e340
mov eax, dword [rsp + 0x1c0]
xor r9d, r9d
mov edx, 0x80000000
mov qword [rsp + 0x30], 0
mov r8d, 7
lea rcx, [0x1400308e0]
mov dword [rsp + 0x64], eax
mov rax, qword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [rsp + 0x28], pe_nt_image_headers64
mov dword [rsp + 0x20], 3
mov qword [rsp + 0x70], rax
call rax
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14000f5d6
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp eax, 0xffffffff
je 0x14000f5c0
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor edx, edx
mov rcx, r12
mov qword [rsp + 0x28], 0
mov r8d, 2
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov r14, rax
test rax, rax
je 0x14000f5c0
xor r9d, r9d
xor r8d, r8d
mov edx, 4
mov rcx, rax
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14000f64f
cmp esi, 0x2e
mov ebp, esi
mov rsi, rax
mov eax, 0xffffffff
jbe 0x14000f109
test sil, 7
je 0x14000faeb
mov ecx, 0xffffffff
lea r10, [0x140020d60]
jmp 0x14000eaf3
test sil, 7
je 0x14000f600
add rsi, 1
mov edx, ecx
xor cl, byte [rsi - 1]
shr edx, 8
movzx eax, cl
mov ecx, dword [r10 + rax*4]
xor ecx, edx
sub rbp, 1
jne 0x14000eae9
mov rdi, 0xffffffffffffffff
mov qword [rsp + 0x78], rbp
mov r13, rsi
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x58], ecx
xor edx, edx
xor r11d, r11d
lea rax, [0x14001ed60]
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x80], r12
mov r12, rdi
mov qword [rsp + 0x88], r14
mov r14, rbx
mov rsi, qword [r13 + 0x18]
mov rdi, qword [r13 + 0x10]
add r13, 0x28
mov ecx, dword [rsp + 0x58]
xor rcx, qword [r13 - 0x28]
xor rsi, r8
mov r8, rcx
xor rdi, rdx
movzx edx, cl
shr r8, 0x38
xor r11, qword [r13 - 0x20]
mov edx, dword [rax + rdx*4]
xor edx, dword [rax + r8*4 + 0x1c00]
mov rbp, r11
mov r8, rcx
mov rbx, qword [r13 - 8]
mov r11d, edx
movzx edx, ch
shr r8, 0x10
mov edx, dword [rax + rdx*4 + 0x400]
movzx r8d, r8b
xor rbx, r9
mov r9, rsi
xor edx, r11d
xor edx, dword [rax + r8*4 + 0x800]
mov r8, rcx
shr r8, 0x18
movzx r8d, r8b
xor edx, dword [rax + r8*4 + 0xc00]
mov r8, rcx
shr r8, 0x20
movzx r8d, r8b
xor edx, dword [rax + r8*4 + 0x1000]
mov r8, rcx
shr rcx, 0x30
shr r8, 0x28
movzx ecx, cl
movzx r8d, r8b
xor edx, dword [rax + r8*4 + 0x1400]
xor edx, dword [rax + rcx*4 + 0x1800]
movzx r8d, bpl
mov rcx, rdi
mov dword [rsp + 0x58], edx
mov rdx, rbp
mov r11d, dword [rax + r8*4]
mov r8, rdi
shr rdx, 0x38
movzx ecx, ch
xor r11d, dword [rax + rdx*4 + 0x1c00]
mov rdx, rbp
movzx edx, dh
xor r11d, dword [rax + rdx*4 + 0x400]
mov rdx, rbp
shr rdx, 0x10
movzx edx, dl
xor r11d, dword [rax + rdx*4 + 0x800]
mov rdx, rbp
shr rdx, 0x18
movzx edx, dl
xor r11d, dword [rax + rdx*4 + 0xc00]
mov rdx, rbp
shr rdx, 0x20
movzx edx, dl
xor r11d, dword [rax + rdx*4 + 0x1000]
mov rdx, rbp
shr rbp, 0x30
shr rdx, 0x28
movzx edx, dl
xor r11d, dword [rax + rdx*4 + 0x1400]
movzx edx, bpl
xor r11d, dword [rax + rdx*4 + 0x1800]
shr r8, 0x38
movzx edx, dil
mov edx, dword [rax + rdx*4]
xor edx, dword [rax + r8*4 + 0x1c00]
mov r8, rdi
shr r9, 0x38
shr r8, 0x10
xor edx, dword [rax + rcx*4 + 0x400]
mov rcx, rsi
movzx r8d, r8b
xor edx, dword [rax + r8*4 + 0x800]
mov r8, rdi
shr r8, 0x18
movzx r8d, r8b
xor edx, dword [rax + r8*4 + 0xc00]
mov r8, rdi
shr r8, 0x20
movzx r8d, r8b
xor edx, dword [rax + r8*4 + 0x1000]
mov r8, rdi
shr rdi, 0x30
shr r8, 0x28
movzx r8d, r8b
xor edx, dword [rax + r8*4 + 0x1400]
movzx r8d, dil
movzx edi, ch
xor edx, dword [rax + r8*4 + 0x1800]
movzx r8d, sil
mov r8d, dword [rax + r8*4]
xor r8d, dword [rax + r9*4 + 0x1c00]
mov r9, rsi
shr r9, 0x10
xor r8d, dword [rax + rdi*4 + 0x400]
movzx r9d, r9b
xor r8d, dword [rax + r9*4 + 0x800]
mov r9, rsi
shr r9, 0x18
movzx r9d, r9b
xor r8d, dword [rax + r9*4 + 0xc00]
mov r9, rsi
shr r9, 0x20
movzx r9d, r9b
xor r8d, dword [rax + r9*4 + 0x1000]
mov r9, rsi
shr rsi, 0x30
shr r9, 0x28
movzx r9d, r9b
xor r8d, dword [rax + r9*4 + 0x1400]
movzx r9d, sil
mov rsi, rbx
shr rsi, 0x38
xor r8d, dword [rax + r9*4 + 0x1800]
movzx r9d, bl
mov r9d, dword [rax + r9*4]
xor r9d, dword [rax + rsi*4 + 0x1c00]
movzx esi, bh
xor r9d, dword [rax + rsi*4 + 0x400]
mov rsi, rbx
shr rsi, 0x10
movzx esi, sil
xor r9d, dword [rax + rsi*4 + 0x800]
mov rsi, rbx
shr rsi, 0x18
movzx esi, sil
xor r9d, dword [rax + rsi*4 + 0xc00]
mov rsi, rbx
shr rsi, 0x20
movzx esi, sil
xor r9d, dword [rax + rsi*4 + 0x1000]
mov rsi, rbx
shr rbx, 0x30
shr rsi, 0x28
movzx ebx, bl
movzx esi, sil
xor r9d, dword [rax + rsi*4 + 0x1400]
xor r9d, dword [rax + rbx*4 + 0x1800]
sub r12, 1
jne 0x14000eb59
mov rdi, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
mov rbx, r14
mov ecx, dword [rsp + 0x58]
mov rbp, qword [rsp + 0x78]
lea rax, [rdi + rdi*4]
mov r12, qword [rsp + 0x80]
mov edi, r9d
mov r14, qword [rsp + 0x88]
lea rsi, [rsi + rax*8]
mov r9d, r8d
mov eax, ecx
mov r8d, edx
mov edx, r11d
xor rax, qword [rsi]
xor rdx, qword [rsi + 8]
movzx ecx, al
shr rax, 8
mov ecx, dword [r10 + rcx*4]
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rcx, 8
xor rcx, rdx
xor rax, rcx
movzx edx, al
shr rax, 8
mov edx, dword [r10 + rdx*4]
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rax, rdx
xor r8, qword [rsi + 0x10]
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rdx, r8
xor rax, rdx
movzx edx, al
shr rax, 8
mov edx, dword [r10 + rdx*4]
xor rdx, rax
mov rax, rdx
movzx edx, dl
mov edx, dword [r10 + rdx*4]
shr rax, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rdx, rax
mov rax, rdx
movzx edx, dl
mov edx, dword [r10 + rdx*4]
shr rax, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rdx, rax
mov rax, rdx
movzx edx, dl
mov edx, dword [r10 + rdx*4]
shr rax, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rdx, rax
mov rax, qword [rsi + 0x18]
mov rcx, rdx
movzx edx, dl
mov edx, dword [r10 + rdx*4]
shr rcx, 8
xor rax, r9
xor rax, rcx
xor rax, rdx
movzx edx, al
shr rax, 8
mov edx, dword [r10 + rdx*4]
xor rdx, rax
mov rax, rdx
movzx edx, dl
mov edx, dword [r10 + rdx*4]
shr rax, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rdx, rax
add rsi, 0x28
mov rax, rdx
movzx edx, dl
mov edx, dword [r10 + rdx*4]
shr rax, 8
xor rax, rdx
mov rcx, rax
movzx eax, al
mov edx, dword [r10 + rax*4]
shr rcx, 8
mov rax, qword [rsi - 8]
xor rdx, rcx
xor rax, rdi
mov rcx, rdx
movzx edx, dl
mov edx, dword [r10 + rdx*4]
shr rcx, 8
xor rax, rcx
xor rax, rdx
movzx edx, al
shr rax, 8
mov edx, dword [r10 + rdx*4]
xor rdx, rax
mov rax, rdx
movzx edx, dl
mov edx, dword [r10 + rdx*4]
shr rax, 8
xor rax, rdx
mov rcx, rax
movzx eax, al
mov edx, dword [r10 + rax*4]
shr rcx, 8
xor rdx, rcx
mov rax, rdx
movzx edx, dl
mov edx, dword [r10 + rdx*4]
shr rax, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r10 + rax*4]
shr rdx, 8
xor rax, rdx
mov rcx, rax
movzx eax, al
mov edx, dword [r10 + rax*4]
shr rcx, 8
xor rdx, rcx
mov rax, rdx
movzx edx, dl
shr rax, 8
xor eax, dword [r10 + rdx*4]
cmp rbp, 7
jbe 0x14000f3b1
mov ecx, eax
lea r10, [0x140020d60]
lea rdx, [rbp - 8]
xor al, byte [rsi]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 1]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 2]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 3]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 4]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 5]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 6]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 7]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
cmp rdx, 7
jbe 0x14000f3a5
mov ecx, eax
xor al, byte [rsi + 8]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 9]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0xa]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0xb]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0xc]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0xd]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0xe]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0xf]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
lea rcx, [rbp - 0x10]
cmp rcx, 7
jbe 0x14000f3a5
mov ecx, eax
xor al, byte [rsi + 0x10]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x11]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0x12]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x13]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0x14]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x15]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0x16]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x17]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
lea rcx, [rbp - 0x18]
cmp rcx, 7
jbe 0x14000f3a5
mov ecx, eax
xor al, byte [rsi + 0x18]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x19]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0x1a]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x1b]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0x1c]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x1d]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0x1e]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x1f]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
lea rcx, [rbp - 0x20]
cmp rcx, 7
jbe 0x14000f3a5
mov ecx, eax
xor al, byte [rsi + 0x20]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x21]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0x22]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x23]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0x24]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x25]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
mov ecx, eax
xor al, byte [rsi + 0x26]
movzx eax, al
shr ecx, 8
xor ecx, dword [r10 + rax*4]
mov eax, ecx
xor cl, byte [rsi + 0x27]
movzx ecx, cl
shr eax, 8
xor eax, dword [r10 + rcx*4]
shr rdx, 3
and ebp, 7
lea rsi, [rsi + rdx*8 + 8]
test rbp, rbp
je 0x14000f44f
mov edx, eax
xor al, byte [rsi]
lea r10, [0x140020d60]
movzx eax, al
shr edx, 8
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 1
je 0x14000f44f
xor al, byte [rsi + 1]
shr edx, 8
movzx eax, al
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 2
je 0x14000f44f
xor al, byte [rsi + 2]
shr edx, 8
movzx eax, al
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 3
je 0x14000f44f
xor al, byte [rsi + 3]
shr edx, 8
movzx eax, al
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 4
je 0x14000f44f
xor al, byte [rsi + 4]
shr edx, 8
movzx eax, al
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 5
je 0x14000f44f
xor al, byte [rsi + 5]
shr edx, 8
movzx eax, al
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 6
je 0x14000f44f
xor al, byte [rsi + 6]
shr edx, 8
movzx eax, al
xor edx, dword [r10 + rax*4]
mov eax, edx
not eax
mov rcx, qword [rsp + 0x68]
test eax, eax
mov esi, eax
mov eax, 1
cmove esi, eax
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, r14
mov rdi, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rdi
mov rcx, r12
call rdi
cmp dword [rsp + 0x64], esi
je 0x14000f53d
lea rcx, [0x1400308e0]
call fcn.140010dd0
mov dword [rsp + 0x28], 0
mov rax, qword [rsp + 0x70]
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov r8d, 2
mov edx, 0x40000000
lea rcx, [0x1400308e0]
mov dword [rsp + 0x20], 2
call rax
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x14000fb7a
mov r12, qword [sym.imp.KERNEL32.dll_WriteFile]
lea rdi, [0x1400260a0]
test rbx, rbx
je 0x14000f52f
nop dword [rax]
mov esi, 0x8000
mov rcx, rdi
cmp rbx, rsi
cmovbe rsi, rbx
mov rdx, rsi
call fcn.14000e340
mov r9, r15
mov r8d, esi
mov rdx, rdi
mov dword [rsp + 0x1c0], 0
mov rcx, rbp
mov qword [rsp + 0x20], 0
call r12
test eax, eax
je 0x14000fb50
sub rbx, rsi
jne 0x14000f4e8
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000e7b2
test rbx, rbx
je 0x14000e7b2
lea rdi, [0x1400260a0]
nop dword [rax]
mov esi, 0x8000
mov rcx, rdi
cmp rbx, rsi
cmovbe rsi, rbx
mov rdx, rsi
call fcn.14000e340
sub rbx, rsi
jne 0x14000f550
jmp 0x14000e7b2
movzx ecx, word [0x1400308e0]
lea rax, [0x1400308e0]
lea rdx, [0x1400300e0]
lea r8, [rax + 0x2000]
test cx, cx
jne 0x14000f5a1
jmp 0x14000f5b4
cmp rax, r8
je 0x14001c5c8
add rax, 2
mov word [rdx], cx
add rdx, 2
movzx ecx, word [rax]
test cx, cx
jne 0x14000f598
xor r10d, r10d
mov word [rdx], r10w
jmp 0x14000e9d6
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000f479
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
jmp 0x14000f479
lea rax, [0x1400308e0]
mov edx, 0x1000
jmp 0x14000e98f
lea rax, [0x1400308e0]
jmp 0x14000e957
movabs rax, 0xcccccccccccccccd
mul rbp
mov rax, rdx
shr rax, 5
lea rdx, [rax + rax*4]
lea rdi, [rax - 1]
mov eax, ecx
shl rdx, 3
sub rbp, rdx
test rdi, rdi
jne 0x14000eb15
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x14000ee4a
mov eax, 7
cpuid
shr ebx, 8
and ebx, 1
mov ecx, ebx
jmp 0x14000e747
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r14
call rsi
mov rcx, r12
call rsi
xor esi, esi
jmp 0x14000f479
mov rbx, qword [0x140037108]
test rbx, rbx
je 0x14000f71b
cmp qword [rbx + 0x73c8], 0
jne 0x14000f71b
mov rsi, qword [rbx + 0x73d8]
mov rdi, qword [rbx + 0x73a8]
mov r12, qword [rbx + 0x73b0]
test rsi, rsi
je 0x14000f6d5
mov rdx, qword [rsi]
mov rbp, qword [rsi + 0x6ac8]
mov r13, qword [rsi + 0x6ad0]
test rdx, rdx
je 0x14000fb24
test rbp, rbp
je 0x14000fbd5
mov rcx, r13
call rbp
mov rdx, rsi
mov rcx, r13
call rbp
mov rdx, qword [rbx + 0x73f8]
pxor xmm0, xmm0
mov dword [rbx + 0x73f0], 0
movups xmmword [rbx + 0x73d8], xmm0
test rdx, rdx
je 0x14000fad5
test rdi, rdi
je 0x14000fbc8
mov rcx, r12
call rdi
mov qword [rbx + 0x73f8], 0
mov rdx, rbx
mov rcx, r12
call rdi
mov rcx, qword [0x140037130]
lea rsi, [rsp + 0x140]
mov rbp, r15
mov r14d, pe_nt_image_headers64
lea r13, [rsp + 0xf0]
mov r12d, 1
call sub.msvcrt.dll_free
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea r8, [0x14001e348]
mov edx, pe_nt_image_headers64
mov rcx, rsi
mov r9d, eax
call fcn.140001910
movzx edi, byte [rsp + 0x140]
xor r9d, r9d
mov word [rsp + 0x1c0], r9w
test dil, dil
je 0x14000f7ee
cmp word [rbp], 0
mov rax, r14
mov rbx, rbp
je 0x14000f79e
nop dword [rax]
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14000f790
test rax, rax
je 0x14001c5c8
mov rcx, rbx
add rbp, 2
call sub.msvcrt.dll_wcslen
mov rdx, r13
mov r8d, 2
mov byte [rsp + 0xf0], dil
lea rcx, [rbx + rax*2]
mov byte [rsp + 0xf1], 0
call sub.msvcrt.dll_mbstowcs
mov rdx, r12
lea rax, [r14 - 1]
sub rdx, r14
movzx edi, byte [r15 + rdx]
test dil, dil
je 0x14000f7ee
mov r14, rax
jmp 0x14000f77c
xor r8d, r8d
mov qword [rsp + 0x58], r15
mov r15, rsi
lea rcx, [rsp + 0xa0]
mov word [rsp + 0xa0], r8w
lea r12, str.NUITKA_ONEFILE_PARENT
mov rdi, rcx
mov r14d, 0x4e
lea r13, [r12 + 0x28]
lea rbp, [rsp + 0xf0]
mov rsi, rcx
mov rax, r13
mov rbx, rdi
sub rax, r12
cmp word [rdi], 0
je 0x14000f84e
nop dword [rax]
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14000f840
test rax, rax
je 0x14001c5c8
mov rcx, rbx
add r12, 1
add rdi, 2
call sub.msvcrt.dll_wcslen
mov r8d, 2
mov rdx, rbp
mov byte [rsp + 0xf0], r14b
lea rcx, [rbx + rax*2]
mov byte [rsp + 0xf1], 0
call sub.msvcrt.dll_mbstowcs
movzx r14d, byte [r12]
test r14b, r14b
jne 0x14000f82a
mov rcx, rsi
mov rsi, r15
mov r15, qword [rsp + 0x58]
lea rdi, [0x14002e0c0]
mov r12, qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
mov rdx, r15
call r12
mov rdx, rdi
xor ecx, ecx
mov r8d, 0x1001
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp word [0x14002e0c0], 0
mov rax, rdi
lea rdx, [rdi + 0x2002]
je 0x14000f8f0
add rax, 2
cmp word [rax], 0
je 0x14000f8f0
cmp rax, rdx
jne 0x14000f8d7
jmp 0x14001c5c8
xor edx, edx
xor ecx, ecx
lea r9, str.NUITKA_ONEFILE_BINARY
mov qword [rsp + 0x58], rbp
mov word [rax], dx
mov r14, rbp
mov r13d, 0x4e
mov rbp, rsi
mov word [rsp + 0xf0], cx
mov rsi, r9
lea rax, [0x14001e51a]
mov rbx, r14
sub rax, rsi
cmp word [r14], 0
je 0x14000f93e
nop
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14000f930
test rax, rax
je 0x14001c5c8
mov rcx, rbx
add rsi, 1
add r14, 2
call sub.msvcrt.dll_wcslen
mov r8d, 2
mov rdx, r15
mov byte [rsp + 0x1c0], r13b
lea rcx, [rbx + rax*2]
mov byte [rsp + 0x1c1], 0
call sub.msvcrt.dll_mbstowcs
movzx r13d, byte [rsi]
test r13b, r13b
jne 0x14000f91a
mov rsi, rbp
mov rbp, qword [rsp + 0x58]
mov rdx, rdi
lea rdi, [rsp + 0x1c8]
mov rcx, rbp
call r12
xor eax, eax
mov ecx, 0xc
mov qword [rsp + 0x1c4], 0
mov qword [rsp + 0x220], 0
rep stosq qword [rdi], rax
mov dword [rsp + 0x1c0], 0x68
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r15
mov rdx, rax
lea rcx, [0x1400300e0]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14000fba5
mov rcx, qword [rsp + 0x148]
mov rbx, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rbx
mov rcx, qword [rsp + 0x140]
mov dword [rsp + 0xf0], 0
mov qword [0x14002e0a0], rcx
test rcx, rcx
je 0x14000fa86
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x14002e0a0]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x14000fa72
mov dword [rsp + 0xf0], 1
mov rcx, qword [0x14002e0a0]
call rbx
mov qword [0x14002e0a0], 0
call fcn.140007d90
mov eax, dword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x2c0]
movaps xmm7, xmmword [rsp + 0x2d0]
add rsp, 0x2e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [0x140037108], 0
lea rcx, str.Error__couldnt_allocate_memory.
call fcn.140007d70
mov rcx, rbx
call fcn.140007cd0
test rdi, rdi
jne 0x14000f713
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x14000f71b
movabs rax, 0xcccccccccccccccd
mov ecx, 0xffffffff
lea r10, [0x140020d60]
mul rbp
mov rax, rdx
shr rax, 5
lea rdx, [rax + rax*4]
lea rdi, [rax - 1]
mov eax, 0xffffffff
shl rdx, 3
sub rbp, rdx
jmp 0x14000f625
test rbp, rbp
jne 0x14000f6cd
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x14000f6d5
lea rcx, str.Error__couldnt_find_attached_data_header.
call fcn.140007d70
nop word cs:[rax + rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_unpack_file_to_target_path.
mov edx, eax
call fcn.140007d00
mov ecx, 2
call sub.msvcrt.dll_exit
lea rcx, str.Error__failed_to_register_signal_handler.
call fcn.140007d70
mov ecx, 2
call qword [fcn.14001bc20]
lea r8, [0x1400308e0]
lea rdx, str.Error__failed_to_open__ls_for_writing._n
mov rcx, rax
call fcn.1400018e0
mov ecx, 2
call sub.msvcrt.dll_exit
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_launch_child
mov edx, eax
call fcn.140007d00
mov ecx, 2
call sub.msvcrt.dll_exit
nop dword [rax + rax]
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000fade
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000fb2d
jmp 0x14001c5c8
jmp 0x14001c5c8
jmp 0x14001c5c8
call sub.msvcrt.dll_abort
nop
nop
nop
call sub.msvcrt.dll_abort
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp 0x1400015e0