Function at 0x140056550
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 [0x140087f98], 0
mov rdi, rcx
mov rbx, rdx
mov rsi, r8
je 0x140056610
lea rdx, [0x1400798c2]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x140056fd0
mov rbp, qword [0x140087f90]
jmp 0x1400565a5
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 0x1400565a0
movzx edx, word [r8 + 4]
add r8, 6
lea rsi, [rbx + rdx*8]
test dx, dx
je 0x1400565f7
nop word [rax + rax]
mov rdx, rbx
mov rcx, rdi
add rbx, 8
call fcn.140055060
mov r8, rax
cmp rbx, rsi
jne 0x1400565e0
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 [0x140087f90], r11
cmp rbp, 0x2e
jbe 0x140056c6f
test r11b, 7
je 0x14005708f
mov ecx, 0xffffffff
lea r12, [0x14007b9c0]
jmp 0x14005667a
test r11b, 7
je 0x140057057
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 0x140056670
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, [0x1400799c0]
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 0x1400566e0
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 0x140056f17
mov ecx, eax
lea rdx, [0x14007b9c0]
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 0x140056f0b
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 0x140056f0b
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 0x140056f0b
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 0x140056f0b
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 0x140056fb5
mov ecx, eax
xor al, byte [r11]
lea rdx, [0x14007b9c0]
movzx eax, al
shr ecx, 8
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 1
je 0x140056fb5
xor al, byte [r11 + 1]
shr ecx, 8
movzx eax, al
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 2
je 0x140056fb5
xor al, byte [r11 + 2]
shr ecx, 8
movzx eax, al
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 3
je 0x140056fb5
xor al, byte [r11 + 3]
shr ecx, 8
movzx eax, al
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 4
je 0x140056fb5
xor al, byte [r11 + 4]
shr ecx, 8
movzx eax, al
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 5
je 0x140056fb5
xor al, byte [r11 + 5]
shr ecx, 8
movzx eax, al
xor ecx, dword [rdx + rax*4]
mov eax, ecx
cmp rbp, 6
je 0x140056fb5
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 0x1400570c6
mov byte [0x140087f98], 1
jmp 0x140056576
cmp byte [0x140087f88], 0
jne 0x14005658d
mov rbp, qword [sym.imp.python39.dll_PyDict_New]
call rbp
mov qword [0x140087fe0], rax
call rbp
mov qword [0x140087fd8], rax
call rbp
mov qword [0x140087fd0], rax
call rbp
mov qword [0x140088010], rax
call rbp
mov qword [0x140088008], rax
call rbp
mov qword [0x140088000], rax
call rbp
mov qword [0x140087ff0], rax
call rbp
mov byte [0x140087f88], 1
mov qword [0x140087fe8], rax
mov rax, qword [sym.imp.python39.dll__PyRuntime]
mov rax, qword [rax + 0x1f0]
mov rax, qword [rax + 0x10]
add rax, 0xdc0
mov qword [0x140088018], rax
jmp 0x14005658d
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 0x14005669d
xor edx, edx
xor r9d, r9d
xor eax, eax
jmp 0x1400569b3
movabs rax, 0xcccccccccccccccd
mov r13d, 0xffffffff
mov ecx, 0xffffffff
mul rbp
lea r12, [0x14007b9c0]
mov rax, rdx
shr rax, 5
lea rdx, [rax + rax*4]
lea r15, [rax - 1]
shl rdx, 3
sub rbp, rdx
jmp 0x14005707a
lea rcx, str.Error__corrupted_constants_object
call sub.msvcrt.dll_puts
call sub.msvcrt.dll_abort
nop
nop dword [rax + rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
lea r9, str.package
lea rax, [rsp + 0x38]
mov r13, rcx
mov rcx, rdx
mov rdx, r8
mov qword [rsp + 0x20], rax
lea r8, str.O:iter_modules
call qword [sym.imp.python39.dll_PyArg_ParseTupleAndKeywords]
test eax, eax
je 0x140057308
mov rax, qword [sym.imp.python39.dll__PyRuntime]
xor ecx, ecx
lea rbp, [0x140079656]
mov rax, qword [rax + 0x1f0]
call qword [sym.imp.python39.dll_PyList_New]
mov r12, rax
mov rax, qword [0x14007de10]
mov rbx, qword [rax]
mov rax, qword [r13 + 0x10]
test rax, rax
je 0x140057158
mov rbp, qword [rax]
nop dword [rax]
mov rdi, qword [rbx]
test rdi, rdi
je 0x14005728d
mov eax, dword [rbx + 0x18]
test al, 0x10
je 0x140057171
sub eax, 0x10
mov dword [rbx + 0x18], eax
mov rcx, rbp
add rbx, 0x28
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 0x140057158
lea rdx, [0x1400798db]
mov rcx, rdi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x140057158
cmp byte [rdi + rsi], 0
je 0x140057158
lea rsi, [rdi + rsi + 1]
mov edx, 0x2e
mov rcx, rsi
call sub.msvcrt.dll_strchr
test rax, rax
jne 0x140057158
cmp qword [r13 + 0x10], 0
je 0x1400572e0
mov rcx, rsi
call qword [sym.imp.python39.dll_PyUnicode_FromString]
mov rsi, rax
mov rcx, qword [rsp + 0x38]
call fcn.140001f00
test eax, eax
jne 0x1400572b0
mov ecx, 2
call qword [sym.imp.python39.dll_PyTuple_New]
test byte [rbx - 0x10], 2
mov r14, qword [r12 + 0x10]
mov qword [rax + 0x18], rsi
mov rdi, rax
mov rax, qword [sym.imp.python39.dll__Py_FalseStruct]
cmovne rax, qword [sym.imp.python39.dll__Py_TrueStruct]
lea rsi, [r14 + 1]
mov rcx, qword [r12 + 0x18]
add qword [rax], 1
mov qword [rdi + 0x20], rax
mov rax, qword [r12 + 0x20]
cmp rsi, rax
jg 0x14005723c
sar rax, 1
cmp rsi, rax
jge 0x1400572f8
test rsi, rsi
je 0x1400572a8
mov rax, rsi
sar rax, 3
lea r9, [r14 + rax + 7]
and r9, 0xfffffffffffffffc
mov r15, r9
lea rdx, [r9*8]
call qword [sym.imp.python39.dll_PyMem_Realloc]
mov rcx, rax
test rax, rax
je 0x140057310
mov qword [r12 + 0x18], rax
mov qword [r12 + 0x10], rsi
mov qword [r12 + 0x20], r15
mov qword [rcx + r14*8], rdi
mov rdi, qword [rbx]
test rdi, rdi
jne 0x140057164
mov rax, r12
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor edx, edx
xor r15d, r15d
jmp 0x14005725c
mov rcx, qword [rsp + 0x38]
mov rdx, rsi
call qword [sym.imp.python39.dll_PyUnicode_Concat]
sub qword [rsi], 1
mov rdi, rax
jne 0x1400572d1
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [rax + 0x30]
mov rsi, rdi
jmp 0x1400571eb
mov rcx, rdi
call qword [sym.imp.python39.dll_PyUnicode_FromString]
mov rsi, rax
jmp 0x1400571d9
mov qword [r12 + 0x10], rsi
jmp 0x14005727d
xor r12d, r12d
jmp 0x14005728d
call qword [sym.imp.python39.dll_PyErr_NoMemory]
jmp 0x140057158