Function at 0x14001bd70
Capabilities:
Accept command line arguments
Create process on windows
Extract resource via kernel32 functions
Get file size
Read file via mapping
Set environment variable
Write and execute a file
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2a8
movaps xmmword [rsp + 0x280], xmm6
movaps xmmword [rsp + 0x290], xmm7
lea rbx, str.ssl_server_tempdir
mov r8d, 0x1000
lea rcx, [0x1400420e0]
mov rdx, rbx
call fcn.14001b060
test al, al
je 0x14001c7ec
mov edx, 1
lea rcx, [0x140003540]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
je 0x14001c81e
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 [0x140044128], rax
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov rax, qword [0x140044128]
mov qword [0x140044120], rsi
cmp byte [rax + 1], 0x41
lea rdi, [rax + 3]
movzx ecx, byte [rax + 2]
setne dl
cmp byte [rax], 0x4b
mov qword [0x140044128], rdi
setne al
or dl, al
jne 0x14001c812
cmp cl, 0x59
jne 0x14001c812
mov qword [0x140044100], 0
mov ecx, 0x20000
call sub.msvcrt.dll_malloc
mov qword [0x1400440e0], rax
test rax, rax
je 0x14001c7e0
mov ecx, 0x274b8
call sub.msvcrt.dll_malloc
mov r8, rax
test rax, rax
je 0x14001c7d5
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 0x14001c45b
lea rax, [rsp + 0x180]
mov dword [r8 + 0x73d0], ecx
movdqa xmm6, xmmword [0x14002a220]
mov qword [r8 + 0x7410], 0x8000001
movd xmm7, dword [0x14002a230]
mov dword [r8 + 0x7458], 0
mov qword [r8 + 0x7388], 0
mov dword [r8 + 0x7390], 1
mov qword [0x140044118], r8
mov qword [0x140044100], rdi
mov qword [0x140044110], 0
mov qword [0x140044108], rsi
mov qword [rsp + 0x58], rax
mov rbx, qword [0x1400440e8]
mov rsi, qword [0x1400440f0]
lea r14, [0x1400390c0]
lea rbp, [0x1400440e0]
nop dword [rax + rax]
mov r12, qword [rsp + 0x58]
xor r15d, r15d
mov edi, 2
lea r13, [0x140044100]
nop dword [rax]
mov r8, rbx
sub r8, rsi
jne 0x14001c042
mov rcx, qword [0x140044110]
mov rdx, qword [0x140044108]
cmp rcx, rdx
setb al
or r15b, al
je 0x14001c098
mov rcx, qword [0x140044118]
mov r8, r13
mov rdx, rbp
movups xmmword [0x1400440e8], xmm6
call fcn.140017f20
mov rbx, qword [0x1400440f0]
cmp qword [0x1400440e8], rbx
sete r15b
cmp rax, 0xffffffffffffff88
ja 0x14001c0a1
xor esi, esi
mov r8, rbx
mov qword [0x1400440e8], rbx
mov qword [0x1400440f0], 0
sub r8, rsi
je 0x14001bfd8
cmp r8, rdi
mov rdx, qword [rbp]
mov rcx, r12
cmova r8, rdi
add rdx, rsi
mov qword [rsp + 0x50], r8
call sub.msvcrt.dll_memcpy
mov r8, qword [rsp + 0x50]
add rsi, r8
add r12, r8
mov qword [0x1400440f0], rsi
sub rdi, r8
jne 0x14001bfd0
movzx eax, word [rsp + 0x180]
mov word [r14], ax
test ax, ax
je 0x14001c0ad
add r14, 2
jmp 0x14001bfb8
cmp rcx, rdx
je 0x14001bfd0
lea rcx, str.Error__couldnt_decode_attached_data.
call fcn.1400020e0
lea rax, [0x1400390c0]
movzx ecx, word [rax]
test cx, cx
je 0x14001c46f
lea rax, [0x1400420e0]
lea rsi, [0x14003a0c0]
xor r11d, r11d
movzx edx, word [rax]
mov word [0x14003a0c0], r11w
mov rax, rsi
lea r8, [0x1400420e0]
lea r9, [rsi + 0x2000]
test dx, dx
jne 0x14001c101
jmp 0x14001c115
cmp rax, r9
je 0x140024648
add r8, 2
mov word [rax], dx
add rax, 2
movzx edx, word [r8]
test dx, dx
jne 0x14001c0f8
xor r10d, r10d
mov word [rax], r10w
cmp word [0x14003a0c0], 0
je 0x14001c44f
mov edx, 0x1000
lea rax, [0x14003a0c0]
nop word cs:[rax + rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14001c140
test rdx, rdx
je 0x14001c881
movd dword [rax], xmm7
mov edx, 0x1000
cmp word [0x14003a0c0], 0
lea rax, [0x14003a0c0]
je 0x14001c18f
nop dword [rax]
add rax, 2
sub rdx, 1
cmp word [rax], 0
jne 0x14001c178
test rdx, rdx
je 0x14001c87c
lea r8, [0x1400390c0]
jmp 0x14001c1a9
test rdx, rdx
je 0x14001c877
add r8, 2
mov word [rax], cx
add rax, 2
sub rdx, 1
movzx ecx, word [r8]
test cx, cx
jne 0x14001c1a0
xor r9d, r9d
cmp word [0x1400398c0], 0
mov word [rax], r9w
je 0x14001c3e1
mov rdi, qword [rsp + 0x58]
mov edx, 8
mov rcx, rdi
call fcn.140018b50
mov rcx, rdi
mov edx, 4
mov rbx, qword [rsp + 0x180]
call fcn.140018b50
mov dword [rsp + 0x28], pe_nt_image_headers64
xor r9d, r9d
mov r14d, dword [rsp + 0x180]
mov dword [rsp + 0x20], 3
mov r13, qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r8d, 7
mov rcx, rsi
mov qword [rsp + 0x30], 0
mov edx, 0x80000000
call r13
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x14001c447
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r12d, eax
cmp eax, 0xffffffff
je 0x14001c430
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x28], 0
mov r8d, 2
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rbp, rax
test rax, rax
je 0x14001c430
mov edx, 4
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rdx, rax
test rax, rax
je 0x14001c7b9
mov r8d, r12d
xor ecx, ecx
mov qword [rsp + 0x50], rax
call fcn.140019b40
mov ecx, 1
test eax, eax
cmovne ecx, eax
mov r12d, ecx
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov rcx, rbp
mov rbp, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rbp
mov rcx, rdi
call rbp
cmp r14d, r12d
je 0x14001c3ad
mov rcx, rsi
call fcn.14001b930
xor r9d, r9d
mov edx, 0x40000000
mov rcx, rsi
mov qword [rsp + 0x30], 0
mov r8d, 2
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 2
call r13
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x14001c82a
mov r12, qword [sym.imp.KERNEL32.dll_WriteFile]
mov r13, qword [rsp + 0x58]
lea rdi, [0x1400310c0]
test rbx, rbx
je 0x14001c39f
nop word [rax + rax]
mov esi, 0x8000
mov rcx, rdi
cmp rbx, rsi
cmovbe rsi, rbx
mov rdx, rsi
call fcn.140018b50
mov r9, r13
mov r8d, esi
mov rdx, rdi
mov dword [rsp + 0x180], 0
mov rcx, rbp
mov qword [rsp + 0x20], 0
call r12
test eax, eax
je 0x14001c858
sub rbx, rsi
jne 0x14001c358
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14001bf97
test rbx, rbx
je 0x14001bf97
lea rdi, [0x1400310c0]
nop dword [rax]
mov esi, 0x8000
mov rcx, rdi
cmp rbx, rsi
cmovbe rsi, rbx
mov rdx, rsi
call fcn.140018b50
sub rbx, rsi
jne 0x14001c3c0
jmp 0x14001bf97
movzx edx, word [0x14003a0c0]
lea rax, [0x1400398c0]
lea rcx, [0x14003a0c0]
lea r8, [rax + 0x2000]
test dx, dx
jne 0x14001c411
jmp 0x14001c424
cmp rax, r8
je 0x140024648
add rcx, 2
mov word [rax], dx
add rax, 2
movzx edx, word [rcx]
test dx, dx
jne 0x14001c408
xor r8d, r8d
mov word [rax], r8w
jmp 0x14001c1d6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor r12d, r12d
jmp 0x14001c2ef
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14001c43f
lea rax, [0x14003a0c0]
jmp 0x14001c157
mov eax, 7
cpuid
shr ebx, 8
mov ecx, ebx
and ecx, 1
jmp 0x14001bf27
mov rcx, qword [0x140044118]
lea rsi, [rsp + 0x100]
mov r15d, pe_nt_image_headers64
lea r14, [rsp + 0xb0]
mov r12d, 1
call fcn.140012820
mov rcx, qword [0x1400440e0]
call sub.msvcrt.dll_free
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov rcx, rsi
mov edx, pe_nt_image_headers64
lea r8, [0x140026e8e]
mov r9d, eax
call fcn.140002060
movzx edi, byte [rsp + 0x100]
xor ecx, ecx
mov rbp, qword [rsp + 0x58]
mov word [rsp + 0x180], cx
test dil, dil
je 0x14001c552
cmp word [rbp], 0
mov rax, r15
mov rbx, rbp
je 0x14001c4fe
nop dword [rax]
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14001c4f0
test rax, rax
je 0x140024648
mov rcx, rbx
add rbp, 2
call sub.msvcrt.dll_wcslen
mov rdx, r14
mov r8d, 2
mov byte [rsp + 0xb0], dil
lea rcx, [rbx + rax*2]
mov byte [rsp + 0xb1], 0
call sub.msvcrt.dll_mbstowcs
mov rdi, qword [rsp + 0x58]
mov rdx, r12
lea rax, [r15 - 1]
sub rdx, r15
movzx edi, byte [rdi + rdx]
test dil, dil
je 0x14001c552
mov r15, rax
jmp 0x14001c4dc
xor edx, edx
lea rcx, [rsp + 0x60]
lea r12, str.NUITKA_ONEFILE_PARENT
mov r15d, 0x4e
mov word [rsp + 0x60], dx
mov rdi, rcx
lea r14, [r12 + 0x28]
mov r13, rcx
lea rbp, [rsp + 0xb0]
mov rax, r14
mov rbx, rdi
sub rax, r12
cmp word [rdi], 0
je 0x14001c59e
nop dword [rax]
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14001c590
test rax, rax
je 0x140024648
mov rcx, rbx
add r12, 1
add rdi, 2
call sub.msvcrt.dll_wcslen
mov r8d, 2
mov rdx, rbp
mov byte [rsp + 0xb0], r15b
lea rcx, [rbx + rax*2]
mov byte [rsp + 0xb1], 0
call sub.msvcrt.dll_mbstowcs
movzx r15d, byte [r12]
test r15b, r15b
jne 0x14001c57e
mov rcx, r13
mov rdx, qword [rsp + 0x58]
mov rdi, rbp
mov r12, qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
call r12
xor ecx, ecx
lea r15, str.NUITKA_ONEFILE_BINARY
mov r14d, 0x4e
call fcn.140002230
xor eax, eax
lea r13, [r15 + 0x28]
mov word [rsp + 0xb0], ax
mov rax, r13
mov rbx, rdi
sub rax, r15
cmp word [rdi], 0
je 0x14001c63e
nop dword [rax]
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x14001c630
test rax, rax
je 0x140024648
mov rcx, rbx
add r15, 1
add rdi, 2
call sub.msvcrt.dll_wcslen
mov rdx, qword [rsp + 0x58]
mov r8d, 2
mov byte [rsp + 0x180], r14b
lea rcx, [rbx + rax*2]
mov byte [rsp + 0x181], 0
call sub.msvcrt.dll_mbstowcs
movzx r14d, byte [r15]
test r14b, r14b
jne 0x14001c61a
lea rdx, [0x14003c0c0]
mov rcx, rbp
lea rdi, [rsp + 0x188]
call r12
xor eax, eax
mov ecx, 0xc
mov qword [rsp + 0x184], 0
mov qword [rsp + 0x1e0], 0
rep stosq qword [rdi], rax
mov dword [rsp + 0x180], 0x68
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x48], rsi
mov rdx, rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x38], 0
lea rcx, [0x1400398c0]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x28], 0x20
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x14001c7f4
mov rcx, qword [rsp + 0x108]
mov rbx, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rbx
mov rcx, qword [rsp + 0x100]
mov dword [rsp + 0xb0], 0
mov qword [0x1400310a8], rcx
test rcx, rcx
je 0x14001c789
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [0x1400310a8]
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x14001c775
mov dword [rsp + 0xb0], 1
mov rcx, qword [0x1400310a8]
call rbx
mov qword [0x1400310a8], 0
call fcn.1400034e0
mov eax, dword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0x280]
movaps xmm7, xmmword [rsp + 0x290]
add rsp, 0x2a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbp
mov rbp, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rbp
mov rcx, rdi
call rbp
jmp 0x14001c43f
mov qword [0x140044118], 0
lea rcx, str.Error__couldnt_allocate_memory.
call fcn.1400020e0
mov rcx, rbx
call fcn.1400020b0
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.Error__couldnt_launch_child
mov edx, eax
call fcn.14001bd00
mov ecx, 2
call sub.msvcrt.dll_exit
lea rcx, str.Error__couldnt_find_attached_data_header.
call fcn.1400020e0
lea rcx, str.Error__failed_to_register_signal_handler.
call fcn.1400020e0
mov ecx, 2
call qword [fcn.140023c50]
lea r8, [0x14003a0c0]
lea rdx, str.Error__failed_to_open__ls_for_writing._n
mov rcx, rax
call fcn.140002080
mov ecx, 2
call sub.msvcrt.dll_exit
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.14001bd00
mov ecx, 2
call sub.msvcrt.dll_exit
nop
jmp 0x140024648
jmp 0x140024648
jmp 0x140024648