Function at 0x14000e490
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, 0x308
movaps xmmword [rsp + 0x2e0], xmm6
movaps xmmword [rsp + 0x2f0], xmm7
lea rbx, str.CACHE_DIRmain1.0.0.0
mov r8d, 0x1000
lea rcx, [0x140033100]
mov rdx, rbx
call fcn.140007540
test al, al
je 0x14000fa60
mov edx, 1
lea rcx, [0x140007cf0]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x14000fafe
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 0x14000facd
cmp cl, 0x59
jne 0x14000facd
mov qword [0x140037110], 0
mov ecx, 0x20000
call sub.msvcrt.dll_malloc
mov qword [0x140037130], rax
test rax, rax
je 0x14000fa54
mov ecx, 0x274b8
call sub.msvcrt.dll_malloc
mov r8, rax
test rax, rax
je 0x14000fa49
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 0x14000f539
mov dword [r8 + 0x73d0], ecx
movdqa xmm6, xmmword [0x140021670]
lea r15, [rsp + 0x1e0]
mov qword [r8 + 0x7410], 0x8000001
movd xmm7, dword [0x140021680]
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 0x14000e74c
mov rcx, qword [0x140037120]
mov rdx, qword [0x140037118]
cmp rcx, rdx
setb al
or dil, al
je 0x14000e7a0
mov rcx, qword [0x140037108]
movups xmmword [0x140037138], xmm6
call fcn.14000cfb0
mov rbx, qword [0x140037140]
cmp qword [0x140037138], rbx
sete dil
cmp rax, 0xffffffffffffff88
ja 0x14000e7a9
xor esi, esi
mov r8, rbx
mov qword [0x140037138], rbx
mov qword [0x140037140], 0
sub r8, rsi
je 0x14000e6e8
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 0x14000e6e0
movzx eax, word [rsp + 0x1e0]
mov word [r13], ax
test ax, ax
je 0x14000e7b5
add r13, 2
jmp 0x14000e6d0
cmp rcx, rdx
je 0x14000e6e0
lea rcx, str.Error__couldnt_decode_attached_data.
call fcn.140007c70
lea rax, [0x1400328e0]
movzx ecx, word [rax]
test cx, cx
je 0x14000f56b
lea rax, [0x140033100]
xor r13d, r13d
lea r8, [0x140033100]
movzx edx, word [rax]
lea rax, [0x1400308e0]
mov word [0x1400308e0], r13w
lea r9, [rax + 0x2000]
test dx, dx
jne 0x14000e809
jmp 0x14000e81d
cmp rax, r9
je 0x14001c6a8
add r8, 2
mov word [rax], dx
add rax, 2
movzx edx, word [r8]
test dx, dx
jne 0x14000e800
xor r12d, r12d
mov word [rax], r12w
cmp word [0x1400308e0], 0
je 0x14000f4f2
mov edx, 0x1000
lea rax, [0x1400308e0]
nop
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000e840
test rdx, rdx
je 0x14000fb7c
movd dword [rax], xmm7
cmp word [0x1400308e0], 0
je 0x14000f4e1
mov edx, 0x1000
lea rax, [0x1400308e0]
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000e878
test rdx, rdx
je 0x14000fb72
lea r8, [0x1400328e0]
jmp 0x14000e8a9
test rdx, rdx
je 0x14000fb77
add r8, 2
mov word [rax], cx
add rax, 2
sub rdx, 1
movzx ecx, word [r8]
test cx, cx
jne 0x14000e8a0
xor ebp, ebp
cmp word [0x1400300e0], 0
mov word [rax], bp
je 0x14000f471
mov edx, 8
mov rcx, r15
call fcn.14000e240
mov edx, 4
mov rcx, r15
mov rbx, qword [rsp + 0x1e0]
call fcn.14000e240
mov eax, dword [rsp + 0x1e0]
xor r9d, r9d
mov edx, 0x80000000
mov qword [rsp + 0x30], 0
mov r8d, 7
lea rcx, [0x1400308e0]
mov dword [rsp + 0x60], 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 0x14000f4d4
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp eax, 0xffffffff
je 0x14000f4be
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 0x14000f4be
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 0x14000f54d
cmp esi, 0x2e
mov ebp, esi
mov rsi, rax
mov eax, 0xffffffff
jbe 0x14000f007
test sil, 7
je 0x14000fa7e
mov ecx, 0xffffffff
lea r10, [0x140020d20]
jmp 0x14000e9f1
test sil, 7
je 0x14000f4fe
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 0x14000e9e7
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, [0x14001ed20]
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 0x14000ea57
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 0x14000f2af
mov ecx, eax
lea r10, [0x140020d20]
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 0x14000f2a3
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 0x14000f2a3
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 0x14000f2a3
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 0x14000f2a3
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 0x14000f34d
mov edx, eax
xor al, byte [rsi]
lea r10, [0x140020d20]
movzx eax, al
shr edx, 8
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 1
je 0x14000f34d
xor al, byte [rsi + 1]
shr edx, 8
movzx eax, al
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 2
je 0x14000f34d
xor al, byte [rsi + 2]
shr edx, 8
movzx eax, al
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 3
je 0x14000f34d
xor al, byte [rsi + 3]
shr edx, 8
movzx eax, al
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 4
je 0x14000f34d
xor al, byte [rsi + 4]
shr edx, 8
movzx eax, al
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 5
je 0x14000f34d
xor al, byte [rsi + 5]
shr edx, 8
movzx eax, al
xor edx, dword [r10 + rax*4]
mov eax, edx
cmp rbp, 6
je 0x14000f34d
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 + 0x60], esi
je 0x14000f43d
lea rcx, [0x1400308e0]
call fcn.140010d70
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 0x14000fb0a
lea rdi, [0x1400260a0]
mov r12, qword [sym.imp.KERNEL32.dll_WriteFile]
mov r13, rdi
test rbx, rbx
je 0x14000f42f
nop dword [rax]
mov esi, 0x8000
mov rcx, r13
cmp rbx, rsi
cmovbe rsi, rbx
mov rdx, rsi
call fcn.14000e240
mov r9, r15
mov r8d, esi
mov rdx, r13
mov dword [rsp + 0x1e0], 0
mov rcx, rbp
mov qword [rsp + 0x20], 0
call r12
test eax, eax
je 0x14000fae0
sub rbx, rsi
jne 0x14000f3e8
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000e6b2
test rbx, rbx
je 0x14000e6b2
lea rdi, [0x1400260a0]
nop dword [rax]
mov esi, 0x8000
mov rcx, rdi
cmp rbx, rsi
cmovbe rsi, rbx
mov rdx, rsi
call fcn.14000e240
sub rbx, rsi
jne 0x14000f450
jmp 0x14000e6b2
movzx ecx, word [0x1400308e0]
lea rax, [0x1400308e0]
lea rdx, [0x1400300e0]
lea r8, [rax + 0x2000]
test cx, cx
jne 0x14000f4a1
jmp 0x14000f4b4
cmp rax, r8
je 0x14001c6a8
add rax, 2
mov word [rdx], cx
add rdx, 2
movzx ecx, word [rax]
test cx, cx
jne 0x14000f498
xor edi, edi
mov word [rdx], di
jmp 0x14000e8d4
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000f377
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
jmp 0x14000f377
lea rax, [0x1400308e0]
mov edx, 0x1000
jmp 0x14000e88f
lea rax, [0x1400308e0]
jmp 0x14000e857
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 0x14000ea13
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x14000ed48
mov eax, 7
cpuid
shr ebx, 8
and ebx, 1
mov ecx, ebx
jmp 0x14000e647
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 0x14000f377
mov rbx, qword [0x140037108]
test rbx, rbx
je 0x14000f619
cmp qword [rbx + 0x73c8], 0
jne 0x14000f619
mov rsi, qword [rbx + 0x73d8]
mov rdi, qword [rbx + 0x73a8]
mov r12, qword [rbx + 0x73b0]
test rsi, rsi
je 0x14000f5d3
mov rdx, qword [rsi]
mov rbp, qword [rsi + 0x6ac8]
mov r13, qword [rsi + 0x6ad0]
test rdx, rdx
je 0x14000fab7
test rbp, rbp
je 0x14000fb65
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 0x14000fa68
test rdi, rdi
je 0x14000fb58
mov rcx, r12
call rdi
mov qword [rbx + 0x73f8], 0
mov rdx, rbx
mov rcx, r12
call rdi
mov rcx, qword [0x140037130]
lea rbx, [rsp + 0x160]
xor esi, esi
call sub.msvcrt.dll_free
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
lea r8, [0x14001e32a]
mov edx, pe_nt_image_headers64
mov rcx, rbx
mov r9d, eax
call fcn.140001910
movzx eax, byte [rsp + 0x160]
mov word [rsp + 0x1e0], si
test al, al
je 0x14000f701
mov edi, pe_nt_image_headers64
mov rsi, r15
lea r13, [rsp + 0xae]
mov ebp, 1
lea r12, [rsp + 0xb4]
mov r8d, 2
mov rdx, r13
mov rcx, r12
mov byte [rsp + 0xae], al
mov byte [rsp + 0xaf], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14001c6a8
cmp word [rsi], 0
movzx ecx, word [rsp + 0xb4]
mov rdx, rdi
mov rax, rsi
je 0x14000f6ce
nop
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14000f6c0
test rdx, rdx
je 0x14001c6a8
xor r10d, r10d
mov word [rax], cx
add rsi, 2
lea rdx, [rdi - 1]
mov word [rax + 2], r10w
mov rax, rbp
sub rax, rdi
movzx eax, byte [r15 + rax]
test al, al
je 0x14000f701
mov rdi, rdx
jmp 0x14000f681
xor r11d, r11d
lea r13, [rsp + 0xb8]
lea rbp, str.NUITKA_ONEFILE_PARENT
mov eax, 0x4e
mov word [rsp + 0xc0], r11w
lea rsi, [rsp + 0xc0]
mov rcx, r13
lea r12, [rbp + 0x28]
mov rdi, rsi
lea r14, [rsp + 0xb0]
mov r13, rbx
mov rbx, r12
mov r8d, 2
mov rdx, r14
mov byte [rsp + 0xb0], al
sub rbx, rbp
mov byte [rsp + 0xb1], 0
mov qword [rsp + 0x58], rcx
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14001c6a8
cmp word [rdi], 0
movzx edx, word [rsp + 0xb8]
mov rax, rdi
mov rcx, qword [rsp + 0x58]
je 0x14000f79e
nop word cs:[rax + rax]
add rax, 2
sub rbx, 1
cmp word [rax], 0
jne 0x14000f790
test rbx, rbx
je 0x14001c6a8
xor r9d, r9d
add rbp, 1
mov word [rax], dx
add rdi, 2
mov word [rax + 2], r9w
movzx eax, byte [rbp]
test al, al
jne 0x14000f73e
lea rdi, [0x14002e0c0]
mov rdx, r15
mov rcx, rsi
mov rbx, r13
mov rbp, qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
call rbp
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 0x14000f820
add rax, 2
cmp word [rax], 0
je 0x14000f820
cmp rax, rdx
jne 0x14000f804
jmp 0x14001c6a8
xor r8d, r8d
xor ecx, ecx
lea rsi, [rsp + 0x110]
mov qword [rsp + 0x58], rbp
mov word [rax], cx
mov r13, rsi
mov rbp, rsi
lea r14, str.NUITKA_ONEFILE_BINARY
mov word [rsp + 0x110], r8w
lea r12, [rsp + 0xbc]
mov eax, 0x4e
lea rdx, [rsp + 0xb2]
mov rcx, r12
mov rsi, rdx
mov r12, rbx
lea rbx, [0x14001e4da]
mov r8d, 2
mov rdx, rsi
mov byte [rsp + 0xb2], al
sub rbx, r14
mov byte [rsp + 0xb3], 0
mov qword [rsp + 0x60], rcx
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x14001c6a8
cmp word [r13], 0
movzx edx, word [rsp + 0xbc]
mov rax, r13
mov rcx, qword [rsp + 0x60]
je 0x14000f8ce
nop word [rax + rax]
add rax, 2
sub rbx, 1
cmp word [rax], 0
jne 0x14000f8c0
test rbx, rbx
je 0x14001c6a8
mov word [rax], dx
add r14, 1
xor edx, edx
add r13, 2
mov word [rax + 2], dx
movzx eax, byte [r14]
test al, al
jne 0x14000f869
mov rsi, rbp
mov rdx, rdi
mov rbp, qword [rsp + 0x58]
mov rdi, r15
mov rcx, rsi
call rbp
xor eax, eax
mov ecx, 0xd
rep stosq qword [rdi], rax
mov rdi, qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov ecx, 0xfffffff6
mov dword [rsp + 0x21c], 0x100
call rdi
mov ecx, 0xfffffff5
mov qword [rsp + 0x230], rax
call rdi
mov ecx, 0xfffffff4
mov qword [rsp + 0x238], rax
call rdi
mov dword [rsp + 0x1e0], 0x68
mov qword [rsp + 0x240], rax
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], r12
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], 1
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14000fb35
mov rcx, qword [rsp + 0x168]
mov rbx, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rbx
mov rcx, qword [rsp + 0x160]
mov dword [rsp + 0x110], 0
mov qword [0x14002e0a0], rcx
test rcx, rcx
je 0x14000fa19
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x14002e0a0]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x14000fa05
mov dword [rsp + 0x110], 1
mov rcx, qword [0x14002e0a0]
call rbx
mov qword [0x14002e0a0], 0
call fcn.140007c90
mov eax, dword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x2e0]
movaps xmm7, xmmword [rsp + 0x2f0]
add rsp, 0x308
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.140007c70
mov rcx, rbx
call fcn.140007bd0
test rdi, rdi
jne 0x14000f611
mov rcx, rbx
call sub.msvcrt.dll_free
jmp 0x14000f619
movabs rax, 0xcccccccccccccccd
mov ecx, 0xffffffff
lea r10, [0x140020d20]
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 0x14000f523
test rbp, rbp
jne 0x14000f5cb
mov rcx, rsi
call sub.msvcrt.dll_free
jmp 0x14000f5d3
lea rcx, str.Error__couldnt_find_attached_data_header.
call fcn.140007c70
nop dword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_unpack_file_to_target_path.
mov edx, eax
call fcn.140007c00
mov ecx, 2
call sub.msvcrt.dll_exit
lea rcx, str.Error__failed_to_register_signal_handler.
call fcn.140007c70
mov ecx, 2
call qword [fcn.14001bcf0]
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.140007c00
mov ecx, 2
call sub.msvcrt.dll_exit
nop dword [rax + rax]
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000fa71
mov rcx, rdx
call sub.msvcrt.dll_free
jmp 0x14000fac0
jmp 0x14001c6a8
jmp 0x14001c6a8
jmp 0x14001c6a8
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