Function at 0x140054c40
Capabilities:
Set environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1a8
xor eax, eax
mov r9d, 0x5c
lea rbx, [rsp + 0x90]
mov r8, rcx
mov ecx, 0x20
mov rdi, rbx
lea r10, [rsp + 0x191]
rep stosq qword [rdi], rax
movzx eax, byte [r8]
mov rcx, rbx
mov byte [rdi], 0
test al, al
jne 0x140054ca9
jmp 0x140054cc2
cmp rcx, r10
je 0x140054f4d
add r8, 1
add rcx, 1
cmp al, 0x2e
cmove eax, r9d
mov byte [rcx - 1], al
movzx eax, byte [r8]
test al, al
jne 0x140054ca0
mov byte [rcx], 0
mov rcx, rbx
test dl, dl
je 0x140054db0
call sub.msvcrt.dll_strlen
cmp rax, 0x100
je 0x140054f4d
mov r8d, 0x5c
lea rdx, [rax + 1]
mov word [rsp + rax + 0x90], r8w
add rax, 0xc
cmp rax, 0x100
ja 0x140054f4d
movabs rsi, 0x5f5f74696e695f5f
lea rax, [rbx + rdx]
mov qword [rax], rsi
mov dword [rax + 8], 0x79702e
mov rcx, rbx
mov rsi, qword [sym.imp.python312.dll_PyUnicode_FromString]
call rsi
mov rdi, qword [0x1400d2580]
mov rbx, rax
test rdi, rdi
je 0x140054de8
mov rax, qword [0x1400c12b0]
cmp qword [rax + 0x48], rdi
je 0x140054dd8
mov rdx, qword [0x1400d27c8]
test rdx, rdx
je 0x140054ee0
mov rcx, rdi
mov rsi, qword [sym.imp.python312.dll_PyNumber_InPlaceAdd]
call rsi
mov rdi, rax
mov rdx, rbx
mov rcx, rdi
call rsi
mov rdx, qword [rbx]
test edx, edx
js 0x140054d97
sub rdx, 1
mov qword [rbx], rdx
jne 0x140054d97
mov rdx, qword [rbx + 8]
mov qword [rsp + 0x20], rax
mov rcx, rbx
call qword [rdx + 0x30]
mov rax, qword [rsp + 0x20]
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call sub.msvcrt.dll_strlen
lea rdx, [rax + 3]
cmp rdx, 0x100
ja 0x140054f4d
mov dword [rbx + rax], 0x79702e
jmp 0x140054d1c
mov rsi, qword [sym.imp.python312.dll_PyNumber_InPlaceAdd]
jmp 0x140054d6b
lea r14, str.NUITKA_ONEFILE_BINARY
mov rcx, r14
call fcn.14001d6e0
test rax, rax
je 0x140054ef8
mov rcx, rax
mov rdx, 0xffffffffffffffff
lea r12, [r14 + 0x28]
call qword [sym.imp.python312.dll_PyUnicode_FromWideChar]
xor ecx, ecx
lea rbp, [rsp + 0x3a]
lea rdi, [rsp + 0x3c]
mov word [rsp + 0x40], cx
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov r13, rax
mov eax, 0x4e
nop dword [rax]
mov r15, r12
mov r8d, 2
mov rdx, rbp
mov rcx, rdi
sub r15, r14
mov byte [rsp + 0x3a], al
mov byte [rsp + 0x3b], 0
call sub.msvcrt.dll_mbstowcs
cmp rax, 1
jne 0x140054f4d
cmp word [r13], 0
movzx edx, word [rsp + 0x3c]
mov rax, r13
je 0x140054e8e
nop word [rax + rax]
add rax, 2
sub r15, 1
cmp word [rax], 0
jne 0x140054e80
test r15, r15
je 0x140054f4d
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 0x140054e40
mov rcx, qword [rsp + 0x28]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
call qword [sym.imp.python312.dll_PyThreadState_Get]
mov rdx, qword [rsp + 0x20]
mov rcx, rax
call fcn.140053520
mov rdi, rax
mov qword [0x1400d2580], rdi
jmp 0x140054d3b
lea rcx, [0x1400bd482]
call rsi
mov qword [0x1400d27c8], rax
mov rdx, rax
jmp 0x140054d5c
mov rdi, qword [0x1400d2590]
test rdi, rdi
jne 0x140054ed3
cmp byte [0x1400d27c2], 0
je 0x140054f3b
mov rdx, 0xffffffffffffffff
lea rcx, [0x1400d25c0]
call qword [sym.imp.python312.dll_PyUnicode_FromWideChar]
mov qword [0x1400d2590], rax
mov rdi, rax
test rax, rax
je 0x140054f47
mov eax, dword [rax]
add eax, 1
je 0x140054ed3
mov dword [rdi], eax
jmp 0x140054ed3
mov ecx, 1
call fcn.14001e050
jmp 0x140054f0d
call qword [sym.imp.python312.dll_PyErr_Print]
call sub.msvcrt.dll_abort
nop
nop word cs:[rax + rax]
nop