Function at 0x140043310
Capabilities:
Encode data using xor
Extract resource via kernel32 functions
Hash data with crc32

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
cmp byte [0x14007a1a0], 0
mov rdi, rcx
mov rbx, rdx
mov rsi, r8
je 0x1400433d0
lea rdx, [0x14006ba12]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x140043d90
mov rbp, qword [0x14007a198]
jmp 0x140043365
lea rbp, [r8 + rax + 4]
mov rdx, rbp
mov rcx, rsi
call sub.msvcrt.dll_strcmp
mov rcx, rbp
mov r12d, eax
call sub.msvcrt.dll_strlen
lea r8, [rbp + rax + 1]
mov eax, dword [r8]
test r12d, r12d
jne 0x140043360
movzx edx, word [r8 + 4]
add r8, 6
lea rsi, [rbx + rdx*8]
test dx, dx
je 0x1400433b7
nop word [rax + rax]
mov rdx, rbx
mov rcx, rdi
add rbx, 8
call fcn.140041870
mov r8, rax
cmp rbx, rsi
jne 0x1400433a0
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0xa
mov edx, 3
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindResourceA]
xor ecx, ecx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov ebp, dword [rax + 4]
lea r11, [rax + 8]
mov r10d, dword [rax]
mov eax, 0xffffffff
mov qword [0x14007a198], r11
cmp rbp, 0x2e
jbe 0x140043a2f
test r11b, 7
je 0x140043e30
mov ecx, 0xffffffff
lea r12, [0x14006df60]
jmp 0x14004343a
test r11b, 7
je 0x140043df8
add r11, 1
mov eax, ecx
xor cl, byte [r11 - 1]
shr eax, 8
movzx ecx, cl
xor eax, dword [r12 + rcx*4]
mov ecx, eax
sub rbp, 1
jne 0x140043430
mov r15, 0xffffffffffffffff
mov qword [rsp + 0x20], rbp
mov r13, r15
mov r14, r11
xor edx, edx
mov qword [rsp + 0x28], r11
xor r9d, r9d
xor r8d, r8d
lea rax, [0x14006bf60]
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xa0], rsi
mov dword [rsp + 0x34], r10d
xor r10d, r10d
mov qword [rsp + 0x38], r15
mov r15, rbx
nop dword [rax]
xor rcx, qword [r14]
xor r8, qword [r14 + 8]
add r14, 0x28
mov rbx, qword [r14 - 8]
mov rbp, r8
mov r8, rcx
movzx esi, ch
shr r8, 0x38
mov rdi, qword [r14 - 0x18]
xor r9, qword [r14 - 0x10]
xor rbx, rdx
movzx edx, cl
mov r11, r9
mov edx, dword [rax + rdx*4]
xor edx, dword [rax + r8*4 + 0x1c00]
mov r8, rcx
xor rdi, r10
shr r8, 0x10
xor edx, dword [rax + rsi*4 + 0x400]
movzx r9d, dil
movzx esi, bh
movzx r8d, r8b
mov r10d, dword [rax + r9*4]
movzx r9d, r11b
xor edx, dword [rax + r8*4 + 0x800]
mov r8, rcx
mov r9d, dword [rax + r9*4]
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 ecx, edx
mov rdx, rbp
mov r8d, dword [rax + r8*4]
shr rdx, 0x38
xor r8d, dword [rax + rdx*4 + 0x1c00]
mov rdx, rbp
movzx edx, dh
xor r8d, dword [rax + rdx*4 + 0x400]
mov rdx, rbp
shr rdx, 0x10
movzx edx, dl
xor r8d, dword [rax + rdx*4 + 0x800]
mov rdx, rbp
shr rdx, 0x18
movzx edx, dl
xor r8d, dword [rax + rdx*4 + 0xc00]
mov rdx, rbp
shr rdx, 0x20
movzx edx, dl
xor r8d, dword [rax + rdx*4 + 0x1000]
mov rdx, rbp
shr rbp, 0x30
shr rdx, 0x28
movzx ebp, bpl
movzx edx, dl
xor r8d, dword [rax + rdx*4 + 0x1400]
mov rdx, rdi
xor r8d, dword [rax + rbp*4 + 0x1800]
shr rdx, 0x38
xor r10d, dword [rax + rdx*4 + 0x1c00]
mov rdx, rdi
movzx edx, dh
xor r10d, dword [rax + rdx*4 + 0x400]
mov rdx, rdi
shr rdx, 0x10
movzx edx, dl
xor r10d, dword [rax + rdx*4 + 0x800]
mov rdx, rdi
shr rdx, 0x18
movzx edx, dl
xor r10d, dword [rax + rdx*4 + 0xc00]
mov rdx, rdi
shr rdx, 0x20
movzx edx, dl
xor r10d, dword [rax + rdx*4 + 0x1000]
mov rdx, rdi
shr rdi, 0x30
shr rdx, 0x28
movzx edi, dil
movzx edx, dl
xor r10d, dword [rax + rdx*4 + 0x1400]
mov rdx, r11
xor r10d, dword [rax + rdi*4 + 0x1800]
shr rdx, 0x38
xor r9d, dword [rax + rdx*4 + 0x1c00]
mov rdx, r11
movzx edx, dh
xor r9d, dword [rax + rdx*4 + 0x400]
mov rdx, r11
shr rdx, 0x10
movzx edx, dl
xor r9d, dword [rax + rdx*4 + 0x800]
mov rdx, r11
shr rdx, 0x18
movzx edx, dl
xor r9d, dword [rax + rdx*4 + 0xc00]
mov rdx, r11
shr rdx, 0x20
movzx edx, dl
xor r9d, dword [rax + rdx*4 + 0x1000]
mov rdx, r11
shr r11, 0x30
shr rdx, 0x28
movzx r11d, r11b
movzx edx, dl
xor r9d, dword [rax + rdx*4 + 0x1400]
xor r9d, dword [rax + r11*4 + 0x1800]
mov r11, rbx
movzx edx, bl
shr r11, 0x38
mov edx, dword [rax + rdx*4]
xor edx, dword [rax + r11*4 + 0x1c00]
mov r11, rbx
xor edx, dword [rax + rsi*4 + 0x400]
shr r11, 0x10
movzx r11d, r11b
xor edx, dword [rax + r11*4 + 0x800]
mov r11, rbx
shr r11, 0x18
movzx r11d, r11b
xor edx, dword [rax + r11*4 + 0xc00]
mov r11, rbx
shr r11, 0x20
movzx r11d, r11b
xor edx, dword [rax + r11*4 + 0x1000]
mov r11, rbx
shr rbx, 0x30
shr r11, 0x28
movzx ebx, bl
movzx r11d, r11b
xor edx, dword [rax + r11*4 + 0x1400]
xor edx, dword [rax + rbx*4 + 0x1800]
sub r13, 1
jne 0x1400434a0
mov rbx, r15
mov r15, qword [rsp + 0x38]
mov r11, qword [rsp + 0x28]
mov r14d, r10d
mov rbp, qword [rsp + 0x20]
mov r10d, dword [rsp + 0x34]
mov r13d, ecx
lea rax, [r15 + r15*4]
mov rdi, qword [rsp + 0x90]
mov r15d, r8d
mov rsi, qword [rsp + 0xa0]
lea r11, [r11 + rax*8]
mov eax, r14d
xor r13, qword [r11]
xor r15, qword [r11 + 8]
movzx ecx, r13b
shr r13, 8
mov ecx, dword [r12 + rcx*4]
xor rcx, r13
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
xor r15, rcx
movzx ecx, r15b
shr r15, 8
mov ecx, dword [r12 + rcx*4]
xor rcx, r15
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
xor rax, qword [r11 + 0x10]
xor r9, qword [r11 + 0x18]
mov r8, rcx
movzx ecx, cl
mov ecx, dword [r12 + rcx*4]
shr r8, 8
xor rcx, r8
xor rax, rcx
movzx ecx, al
shr rax, 8
mov ecx, dword [r12 + rcx*4]
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
xor r9, rax
movzx eax, r9b
shr r9, 8
mov eax, dword [r12 + rax*4]
xor rax, r9
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
xor rdx, qword [r11 + 0x20]
add r11, 0x28
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
mov rcx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rcx, 8
xor rax, rcx
xor rdx, rax
movzx eax, dl
shr rdx, 8
mov eax, dword [r12 + rax*4]
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rdx, 8
xor rax, rdx
mov rdx, rax
movzx eax, al
mov eax, dword [r12 + rax*4]
shr rdx, 8
xor rax, rdx
mov rcx, rax
movzx eax, al
mov edx, dword [r12 + rax*4]
shr rcx, 8
xor rdx, rcx
mov rax, rdx
movzx edx, dl
shr rax, 8
xor eax, dword [r12 + rdx*4]
cmp rbp, 7
jbe 0x140043cd7
mov ecx, eax
lea rdx, [0x14006df60]
lea r8, [rbp - 8]
xor al, byte [r11]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 1]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 2]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 3]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 4]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 5]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 6]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 7]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
cmp r8, 7
jbe 0x140043ccb
mov ecx, eax
xor al, byte [r11 + 8]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 9]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0xa]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0xb]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0xc]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0xd]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0xe]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0xf]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
lea rcx, [rbp - 0x10]
cmp rcx, 7
jbe 0x140043ccb
mov ecx, eax
xor al, byte [r11 + 0x10]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x11]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0x12]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x13]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0x14]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x15]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0x16]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x17]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
lea rcx, [rbp - 0x18]
cmp rcx, 7
jbe 0x140043ccb
mov ecx, eax
xor al, byte [r11 + 0x18]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x19]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0x1a]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x1b]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0x1c]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x1d]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0x1e]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x1f]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
lea rcx, [rbp - 0x20]
cmp rcx, 7
jbe 0x140043ccb
mov ecx, eax
xor al, byte [r11 + 0x20]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x21]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0x22]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x23]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0x24]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x25]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
mov ecx, eax
xor al, byte [r11 + 0x26]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
xor cl, byte [r11 + 0x27]
movzx ecx, cl
shr eax, 8
xor eax, dword [rdx + rcx*4]
shr r8, 3
and ebp, 7
lea r11, [r11 + r8*8 + 8]
test rbp, rbp
je 0x140043d75
mov ecx, eax
xor al, byte [r11]
lea rdx, [0x14006df60]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 1
je 0x140043d75
xor al, byte [r11 + 1]
shr ecx, 8
movzx eax, al
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 2
je 0x140043d75
xor al, byte [r11 + 2]
shr ecx, 8
movzx eax, al
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 3
je 0x140043d75
xor al, byte [r11 + 3]
shr ecx, 8
movzx eax, al
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 4
je 0x140043d75
xor al, byte [r11 + 4]
shr ecx, 8
movzx eax, al
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 5
je 0x140043d75
xor al, byte [r11 + 5]
shr ecx, 8
movzx eax, al
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 6
je 0x140043d75
xor al, byte [r11 + 6]
shr ecx, 8
movzx eax, al
xor ecx, dword [rdx + rax*4]
mov eax, ecx
not eax
cmp r10d, eax
jne 0x140043e67
mov byte [0x14007a1a0], 1
jmp 0x140043336
cmp byte [0x14007a190], 0
jne 0x14004334d
mov rbp, qword [sym.imp.python312.dll_PyDict_New]
call rbp
mov qword [0x14007a1e8], rax
call rbp
mov qword [0x14007a1e0], rax
call rbp
mov qword [0x14007a1d8], rax
call rbp
mov qword [0x14007a218], rax
call rbp
mov qword [0x14007a210], rax
call rbp
mov qword [0x14007a208], rax
call rbp
mov qword [0x14007a1f8], rax
call rbp
mov byte [0x14007a190], 1
mov qword [0x14007a1f0], rax
jmp 0x14004334d
movabs rax, 0xcccccccccccccccd
mov r13d, ecx
mul rbp
shr rdx, 5
lea rax, [rdx + rdx*4]
lea r15, [rdx - 1]
shl rax, 3
sub rbp, rax
test r15, r15
jne 0x14004345d
xor edx, edx
xor r9d, r9d
xor eax, eax
jmp 0x140043773
movabs rax, 0xcccccccccccccccd
mov r13d, 0xffffffff
mov ecx, 0xffffffff
mul rbp
lea r12, [0x14006df60]
mov rax, rdx
shr rax, 5
lea rdx, [rax + rax*4]
lea r15, [rax - 1]
shl rdx, 3
sub rbp, rdx
jmp 0x140043e1b
lea rcx, str.Error__corrupted_constants_object
call sub.msvcrt.dll_puts
call sub.msvcrt.dll_abort
nop
nop dword [rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
lea r9, str.package
lea rax, [rsp + 0x58]
mov r14, rcx
mov rcx, rdx
mov rdx, r8
mov qword [rsp + 0x20], rax
lea r8, str.O:iter_modules
call qword [sym.imp.python312.dll_PyArg_ParseTupleAndKeywords]
test eax, eax
je 0x140044210
call qword [sym.imp.python312.dll_PyThreadState_Get]
mov rdx, qword [rax + 0x10]
mov r15, rax
mov eax, dword [rdx + 0x42108]
test eax, eax
je 0x1400441c0
sub eax, 1
mov dword [rdx + 0x42108], eax
cdqe
mov r12, qword [rdx + rax*8 + 0x41e88]
mov qword [r12], 1
mov rax, qword [sym.imp.python312.dll__PyThreadState_GetCurrent]
lea rbp, [0x14006ba1c]
mov qword [r12 + 0x18], 0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x20], 0
mov qword [rsp + 0x38], rax
call rax
lea rcx, [r12 - 0x10]
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + 0xd0]
mov rax, qword [r12 - 8]
mov r8, qword [rdx + 8]
and eax, 3
movq xmm0, rdx
or rax, r8
mov qword [r8], rcx
movq xmm1, rax
mov rax, qword [0x14006fdc0]
punpcklqdq xmm0, xmm1
mov rbx, qword [rax]
mov rax, qword [r14 + 0x10]
movups xmmword [r12 - 0x10], xmm0
mov qword [rdx + 8], rcx
test rax, rax
je 0x140043f75
mov rbp, qword [rax]
mov rdi, qword [rbx]
lea r13, str.__main__
test rdi, rdi
jne 0x140043f9c
jmp 0x140044132
mov rdi, qword [rbx]
test rdi, rdi
je 0x140044132
mov eax, dword [rbx + 0x18]
test al, 0x10
je 0x140043fa9
sub eax, 0x10
mov dword [rbx + 0x18], eax
mov rcx, rbp
add rbx, 0x20
call sub.msvcrt.dll_strlen
mov rdx, rdi
mov rcx, rbp
mov r8, rax
mov rsi, rax
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x140043f90
mov rdx, r13
mov rcx, rdi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140043f90
cmp byte [rdi + rsi], 0
je 0x140043f90
lea rsi, [rdi + rsi + 1]
mov edx, 0x2e
mov rcx, rsi
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x140043f90
cmp qword [r14 + 0x10], 0
je 0x1400441d8
mov rcx, rsi
call qword [sym.imp.python312.dll_PyUnicode_FromString]
mov rsi, rax
mov rcx, qword [rsp + 0x58]
call fcn.140004880
test eax, eax
jne 0x140044160
mov rax, qword [r15 + 0x10]
mov rdi, qword [rax + 0x41da0]
test rdi, rdi
je 0x1400441a0
mov rdx, qword [rdi + 0x18]
sub dword [rax + 0x41e3c], 1
mov qword [rax + 0x41da0], rdx
mov qword [rdi], 1
pxor xmm0, xmm0
mov rax, qword [rsp + 0x38]
movups xmmword [rdi + 0x18], xmm0
call rax
lea rcx, [rdi - 0x10]
mov rax, qword [rax + 0x10]
mov rdx, qword [rax + 0xd0]
mov rax, qword [rdi - 8]
mov r8, qword [rdx + 8]
and eax, 3
movq xmm0, rdx
or rax, r8
test byte [rbx - 8], 2
mov qword [r8], rcx
movq xmm2, rax
mov rax, qword [sym.imp.python312.dll__Py_FalseStruct]
cmovne rax, qword [sym.imp.python312.dll__Py_TrueStruct]
punpcklqdq xmm0, xmm2
movups xmmword [rdi - 0x10], xmm0
mov r8, qword [r12 + 0x10]
mov qword [rdx + 8], rcx
mov rcx, qword [r12 + 0x18]
mov qword [rdi + 0x20], rax
mov rax, qword [r12 + 0x20]
mov qword [rdi + 0x18], rsi
lea rsi, [r8 + 1]
cmp rsi, rax
jg 0x1400440d0
sar rax, 1
cmp rsi, rax
jge 0x1400441f0
test rsi, rsi
je 0x140044150
mov rax, rsi
sar rax, 3
lea r9, [r8 + rax + 7]
and r9, 0xfffffffffffffffc
lea rdx, [r9*8]
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], r8
call qword [sym.imp.python312.dll_PyMem_Realloc]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
test rax, rax
mov rcx, rax
je 0x140044218
mov qword [r12 + 0x18], rax
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x20], r9
mov qword [rcx + r8*8], rdi
mov rdi, qword [rbx]
test rdi, rdi
jne 0x140043f9c
mov rax, r12
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor edx, edx
xor r9d, r9d
jmp 0x1400440ed
mov rdx, rsi
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.python312.dll_PyUnicode_Concat]
mov rdx, qword [rsi]
mov rdi, rax
test edx, edx
js 0x140044181
sub rdx, 1
mov qword [rsi], rdx
je 0x1400441fa
mov rax, qword [r15 + 0x10]
mov rsi, rdi
mov rdi, qword [rax + 0x41da0]
test rdi, rdi
jne 0x140044033
nop dword [rax + rax]
mov rcx, qword [sym.imp.python312.dll_PyTuple_Type]
mov edx, 2
call fcn.14001d8b0
mov rdi, rax
jmp 0x14004404c
mov rcx, qword [sym.imp.python312.dll_PyList_Type]
call fcn.140001d00
mov r12, rax
jmp 0x140043ef5
mov rcx, rdi
call qword [sym.imp.python312.dll_PyUnicode_FromString]
mov rsi, rax
jmp 0x14004400d
mov qword [r12 + 0x10], rsi
jmp 0x140044122
mov rcx, rsi
call qword [sym.imp.python312.dll__Py_Dealloc]
jmp 0x140044181
xor r12d, r12d
jmp 0x140044132
call qword [sym.imp.python312.dll_PyErr_NoMemory]
jmp 0x140043f90