Function at 0x517520
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, 0xd8
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x90], xmm8
movaps xmmword [rsp + 0xa0], xmm9
movaps xmmword [rsp + 0xb0], xmm10
movaps xmmword [rsp + 0xc0], xmm11
mov dword [rsp + 0x130], r8d
mov r13, rdx
test r8d, r8d
jle 0x4b7e15
movq xmm6, qword [0x00540860]
movq xmm7, qword [0x00540870]
xor r15d, r15d
mov rsi, rcx
movapd xmm11, xmm6
movapd xmm10, xmm6
movapd xmm9, xmm7
movapd xmm8, xmm6
nop word [rax + rax]
mov qword [rsi], 0
movzx ebx, byte [r13]
lea r12, [r13 + 1]
lea eax, [rbx - 0x2e]
cmp al, 0x49
ja case.0x4b7db4.1
lea rdx, [0x0053e7fc]
movzx eax, al
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov rcx, r12
call sub.msvcrt.dll_strlen
lea r8, str.surrogatepass
mov rcx, r12
mov rdi, rax
mov rdx, rax
call qword [sym.imp.python39.dll_PyUnicode_DecodeUTF8]
lea r13, [r12 + rdi + 1]
mov qword [rsp + 0x50], rax
cmp bl, 0x61
je 0x4b8666
nop dword [rax]
mov qword [rsi], rax
add qword [rax], 2
add rsi, 8
add r15d, 1
cmp dword [rsp + 0x130], r15d
jne 0x4b7d88
movaps xmm6, xmmword [rsp + 0x70]
mov rax, r13
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ebp, dword [r13 + 1]
add r13, 5
cmp bl, 0x53
je 0x4b8609
test ebp, ebp
jne 0x4b88a1
mov rdi, qword [0x00557b18]
test rdi, rdi
je 0x4b88e1
mov r12, qword [0x00557db0]
mov rax, qword [rdi + 8]
lea rcx, [0x004a2930]
mov rbp, qword [rax + 0x78]
mov rbx, qword [rax + 0xc8]
mov qword [rax + 0x78], rcx
lea rcx, [0x004a6f70]
jmp 0x4b813f
movsxd rdx, dword [r13 + 1]
lea rax, [r13 + 5]
mov qword [rsi], rax
lea r13, [rax + rdx]
jmp 0x4b7dff
movsxd rcx, dword [r13 + 1]
add r13, 5
mov rdi, rcx
call qword [sym.imp.python39.dll_PyTuple_New]
mov rbx, rax
test edi, edi
jg 0x4b8520
mov rax, qword [rbx + 8]
lea rcx, [0x00498930]
mov r12, qword [0x00557dd0]
mov rdi, qword [rax + 0xc8]
mov rbp, qword [rax + 0x78]
mov qword [rax + 0x78], rcx
lea rcx, [0x004a28c0]
mov qword [rax + 0xc8], rcx
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.python39.dll_PyDict_GetItem]
test rax, rax
je 0x4b85a8
mov rdx, qword [rax + 8]
mov qword [rdx + 0x78], rbp
mov qword [rdx + 0xc8], rdi
mov qword [rsi], rax
jmp 0x4b7dfb
cmp byte [r13 + 1], 5
lea rdi, [r13 + 2]
ja case.default.0x4b7f72
movzx eax, byte [r13 + 1]
lea rdx, [0x0053e924]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
movzx eax, byte [r13 + 1]
lea rbx, [r13 + 2]
test al, al
je 0x4b8500
cmp al, 1
jne 0x4b8986
mov rcx, qword [0x00557a80]
lea rdx, [0x0053e7a3]
call qword [sym.imp.python39.dll_PyObject_GetAttrString]
mov qword [rsi], rax
mov r13, rbx
jmp 0x4b7dfb
movzx eax, byte [r13 + 1]
lea rcx, [r13 + 2]
cmp al, 6
ja case.default.0x4b7fcf
lea rdx, [0x0053e93c]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
movsxd rcx, dword [r13 + 1]
add r13, 5
mov rdi, rcx
call qword [sym.imp.python39.dll_PyList_New]
mov rbx, rax
test edi, edi
jg 0x4b8540
mov rax, qword [rbx + 8]
lea rcx, [0x004988d0]
mov r12, qword [0x00557dc8]
mov rbp, qword [rax + 0x78]
mov rdi, qword [rax + 0xc8]
mov qword [rax + 0x78], rcx
lea rcx, [0x004a2850]
jmp 0x4b7f1c
mov rdx, r12
lea rcx, [rsp + 0x40]
mov r8d, 2
call 0x4b7d00
mov rdx, qword [rsp + 0x48]
mov r13, rax
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x4b85f9
movq xmm2, rdx
movq xmm0, rax
lea r14, [rsp + 0x50]
mov rcx, qword [sym.imp.python39.dll_PyComplex_Type]
punpcklqdq xmm0, xmm2
mov rdx, r14
movaps xmmword [rsp + 0x50], xmm0
call fcn.004b6e10
mov qword [rsi], rax
jmp 0x4b7dfb
lea r14, [rsp + 0x50]
mov rdx, r12
mov r8d, 2
mov rcx, r14
call 0x4b7d00
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov r13, rax
call qword [sym.imp.python39.dll_Py_GenericAlias]
jmp 0x4b7df8
mov rax, qword [sym.imp.python39.dll__Py_FalseStruct]
mov r13, r12
mov qword [rsi], rax
jmp 0x4b7dfb
movsxd rcx, dword [r13 + 1]
add r13, 5
mov rbp, rcx
call qword [sym.imp.python39.dll__PyDict_NewPresized]
lea ebx, [rbp - 1]
mov rdi, rax
test ebp, ebp
jle 0x4b8117
mov rbp, qword [sym.imp.python39.dll_PyDict_SetItem]
lea r14, [rsp + 0x50]
mov rdx, r13
mov r8d, 2
mov rcx, r14
call 0x4b7d00
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
mov r13, rax
call rbp
sub ebx, 1
jae 0x4b80ef
mov rax, qword [rdi + 8]
lea rcx, [0x0049dd80]
mov r12, qword [0x00557dc0]
mov rbx, qword [rax + 0xc8]
mov rbp, qword [rax + 0x78]
mov qword [rax + 0x78], rcx
lea rcx, [0x0049dca0]
mov qword [rax + 0xc8], rcx
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.python39.dll_PyDict_GetItem]
test rax, rax
je 0x4b85c0
mov rdx, qword [rax + 8]
mov qword [rdx + 0x78], rbp
mov qword [rdx + 0xc8], rbx
jmp 0x4b7df8
lea rbx, [r13 + 5]
movsxd r13, dword [r13 + 1]
mov rcx, rbx
mov rdx, r13
add r13, rbx
call qword [sym.imp.python39.dll_PyByteArray_FromStringAndSize]
mov qword [rsi], rax
jmp 0x4b7dfb
lea r14, [rsp + 0x50]
mov r8d, 3
mov rdx, r12
mov rcx, r14
call 0x4b7d00
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov r13, rax
call qword [sym.imp.python39.dll_PySlice_New]
mov qword [rsi], rax
jmp 0x4b7dfb
lea r14, [rsp + 0x50]
mov r8d, 3
mov rdx, r12
mov rcx, r14
call 0x4b7d00
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov r13, rax
call fcn.004ac1b0
mov qword [rsi], rax
jmp 0x4b7dfb
mov edx, 1
mov rcx, r12
lea r14, [rsp + 0x50]
add r13, 2
call qword [sym.imp.python39.dll_PyUnicode_FromStringAndSize]
mov rcx, r14
mov qword [rsp + 0x50], rax
call qword [sym.imp.python39.dll_PyUnicode_InternInPlace]
mov rax, qword [rsp + 0x50]
mov qword [rsi], rax
jmp 0x4b7dfb
lea rbx, [r13 + 5]
movsxd r13, dword [r13 + 1]
lea r8, str.surrogatepass
mov rcx, rbx
mov rdx, r13
add r13, rbx
call qword [sym.imp.python39.dll_PyUnicode_DecodeUTF8]
mov qword [rsi], rax
jmp 0x4b7dfb
mov rax, qword [sym.imp.python39.dll__Py_TrueStruct]
mov r13, r12
mov qword [rsi], rax
jmp 0x4b7dfb
mov rcx, qword [r13 + 1]
add r13, 9
call qword [sym.imp.python39.dll_PyLong_FromLongLong]
mov r12, qword [0x00557de8]
mov rbx, rax
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.python39.dll_PyDict_GetItem]
test rax, rax
jne 0x4b7df8
mov r8, rbx
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.python39.dll_PyDict_SetItem]
mov rax, rbx
jmp 0x4b7df8
mov rax, qword [sym.imp.python39.dll__Py_NoneStruct]
mov r13, r12
mov qword [rsi], rax
jmp 0x4b7dfb
mov ecx, dword [r13 + 1]
add r13, 5
call qword [sym.imp.python39.dll_PyLong_FromLong]
mov r12, qword [0x00557de8]
mov rbx, rax
jmp 0x4b82a0
mov rax, qword [r13 + 9]
movsd xmm0, qword [r13 + 1]
add r13, 0x11
movq xmm1, rax
call qword [sym.imp.python39.dll_PyComplex_FromDoubles]
mov qword [rsi], rax
jmp 0x4b7dfb
mov rdi, qword [sym.imp.python39.dll_PyLong_FromLong]
xor ecx, ecx
lea rbx, [r13 + 6]
mov qword [rsp + 0x38], rdi
call rdi
mov ebp, dword [r13 + 2]
mov qword [rsp + 0x28], rbx
mov ecx, 0x40
mov r14, rax
movzx eax, byte [r13 + 1]
mov dword [rsp + 0x34], ebp
mov byte [rsp + 0x33], al
call rdi
mov r12, rax
test ebp, ebp
jle 0x4b88d7
lea eax, [rbp - 1]
mov rdi, qword [sym.imp.python39.dll_PyNumber_InPlaceAdd]
lea rbp, [r13 + rax*8 + 0xe]
jmp 0x4b8385
cmp rbx, rbp
je 0x4b83c5
mov rdx, r12
mov rcx, r14
add rbx, 8
call qword [sym.imp.python39.dll_PyNumber_InPlaceLshift]
mov rcx, qword [rbx - 8]
mov r14, rax
call qword [sym.imp.python39.dll_PyLong_FromUnsignedLongLong]
mov rcx, r14
mov r13, rax
mov rdx, rax
call rdi
sub qword [r13], 1
mov r14, rax
jne 0x4b8380
mov rcx, r13
call qword [sym.imp.python39.dll__Py_Dealloc]
cmp rbx, rbp
jne 0x4b8385
mov eax, dword [rsp + 0x34]
mov rdi, qword [rsp + 0x28]
lea r13, [rdi + rax*8]
sub qword [r12], 1
je 0x4b85e0
cmp byte [rsp + 0x33], 0x2d
je 0x4b867e
mov r12, qword [0x00557de8]
mov rdx, r14
mov rcx, r12
call qword [sym.imp.python39.dll_PyDict_GetItem]
test rax, rax
jne 0x4b7df8
mov r8, r14
mov rdx, r14
mov rcx, r12
call qword [sym.imp.python39.dll_PyDict_SetItem]
mov rax, r14
jmp 0x4b7df8
movq xmm0, qword [r13 + 1]
add r13, 9
call qword [sym.imp.python39.dll_PyFloat_FromDouble]
mov r12, qword [0x00557de0]
lea rcx, [0x004a2830]
mov rbx, rax
mov rax, qword [rax + 8]
mov rbp, qword [rax + 0x78]
mov rdi, qword [rax + 0xc8]
jmp 0x4b7f1c
mov edx, 1
mov rcx, r12
add r13, 2
call qword [sym.imp.python39.dll_PyBytes_FromStringAndSize]
mov rbx, rax
mov r12, qword [0x00557dd8]
jmp 0x4b82a0
mov rcx, r12
call sub.msvcrt.dll_strlen
mov rcx, r12
mov rbx, rax
mov rdx, rax
call qword [sym.imp.python39.dll_PyBytes_FromStringAndSize]
lea r13, [r12 + rbx + 1]
mov r12, qword [0x00557dd8]
mov rdi, rax
mov rdx, rax
mov rcx, r12
call qword [sym.imp.python39.dll_PyDict_GetItem]
test rax, rax
jne 0x4b7df8
mov r8, rdi
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.python39.dll_PyDict_SetItem]
mov rax, rdi
jmp 0x4b7df8
lea rdi, [r13 + 5]
movsxd r13, dword [r13 + 1]
mov rcx, rdi
mov rdx, r13
add r13, rdi
call qword [sym.imp.python39.dll_PyBytes_FromStringAndSize]
mov rbx, rax
jmp 0x4b846d
mov rcx, qword [0x00557a80]
lea rdx, str.Ellipsis
call qword [sym.imp.python39.dll_PyObject_GetAttrString]
jmp 0x4b7fa5
mov rdx, r13
lea rcx, [rax + 0x18]
mov r8d, edi
call 0x4b7d00
mov r13, rax
jmp 0x4b7ef4
mov rcx, qword [rax + 0x18]
mov rdx, r13
mov r8d, edi
call 0x4b7d00
mov r13, rax
jmp 0x4b7ff4
mov r13, r12
nop dword [rax + rax]
add r13, 1
cmp byte [r13 - 1], 0
jne 0x4b8568
mov rcx, qword [0x00557a80]
mov rdx, r12
call qword [sym.imp.python39.dll_PyObject_GetAttrString]
mov qword [rsi], rax
jmp 0x4b7dfb
mov r13, r12
nop dword [rax + rax]
add r13, 1
cmp byte [r13 - 1], 0
jne 0x4b8598
jmp 0x4b8573
mov r8, rbx
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.python39.dll_PyDict_SetItem]
mov rax, rbx
jmp 0x4b7f38
mov r8, rdi
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.python39.dll_PyDict_SetItem]
mov rax, rdi
jmp 0x4b815b
mov rcx, r12
call qword [sym.imp.python39.dll__Py_Dealloc]
cmp byte [rsp + 0x33], 0x2d
jne 0x4b83e8
jmp 0x4b867e
mov rax, qword [0x00542840]
mov rax, qword [rax + 0x10]
jmp 0x4b8051
xor ecx, ecx
lea r12d, [rbp - 1]
call qword [sym.imp.python39.dll_PySet_New]
mov rdi, rax
test ebp, ebp
jle 0x4b865a
mov rbp, qword [sym.imp.python39.dll_PySet_Add]
lea r14, [rsp + 0x50]
mov rdx, r13
mov r8d, 1
mov rcx, r14
call 0x4b7d00
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
mov r13, rax
call rbp
mov eax, r12d
sub r12d, 1
test eax, eax
jg 0x4b8628
cmp bl, 0x53
jne 0x4b7e89
mov r12, qword [0x00557db8]
jmp 0x4b7e90
lea r14, [rsp + 0x50]
mov rcx, r14
call qword [sym.imp.python39.dll_PyUnicode_InternInPlace]
mov rax, qword [rsp + 0x50]
jmp 0x4b7df8
mov ecx, 0xffffffff
mov rax, qword [rsp + 0x38]
call rax
mov rcx, r14
mov r12, rax
mov rdx, rax
call qword [sym.imp.python39.dll_PyNumber_InPlaceMultiply]
sub qword [r12], 1
mov r14, rax
jne 0x4b83e8
mov rcx, r12
call qword [sym.imp.python39.dll__Py_Dealloc]
jmp 0x4b83e8
mov rbx, qword [0x00557b10]
test rbx, rbx
je 0x4b8943
nop dword [rax]
mov rax, qword [rbx + 8]
mov r13, qword [0x00557de0]
lea rcx, [0x004a2830]
mov rdx, rbx
mov rbp, qword [rax + 0xc8]
mov r12, qword [rax + 0x78]
mov qword [rax + 0xc8], rcx
mov rcx, r13
call qword [sym.imp.python39.dll_PyDict_GetItem]
test rax, rax
je 0x4b88c0
mov rdx, qword [rax + 8]
mov r13, rdi
mov qword [rdx + 0x78], r12
mov qword [rdx + 0xc8], rbp
mov qword [rsi], rax
jmp 0x4b7dfb
mov rbx, qword [0x00557b08]
test rbx, rbx
jne 0x4b86c8
pxor xmm0, xmm0
call qword [sym.imp.python39.dll_PyFloat_FromDouble]
movsd xmm0, qword [rax + 0x10]
orpd xmm0, xmmword [0x00540870]
mov qword [0x00557b08], rax
mov rbx, rax
movsd qword [rax + 0x10], xmm0
jmp 0x4b86c8
mov rbx, qword [0x00557b00]
test rbx, rbx
jne 0x4b86c8
movsd xmm0, qword [0x00540880]
call qword [sym.imp.python39.dll_PyFloat_FromDouble]
movsd xmm0, qword [rax + 0x10]
mov qword [0x00557b00], rax
mov rbx, rax
andpd xmm0, xmm8
movsd qword [rax + 0x10], xmm0
jmp 0x4b86c8
mov rbx, qword [0x00557af8]
test rbx, rbx
jne 0x4b86c8
movsd xmm0, qword [0x00540880]
call qword [sym.imp.python39.dll_PyFloat_FromDouble]
movsd xmm0, qword [rax + 0x10]
mov qword [0x00557af8], rax
mov rbx, rax
andpd xmm0, xmm10
xorpd xmm0, xmm9
movsd qword [rax + 0x10], xmm0
jmp 0x4b86c8
mov rbx, qword [0x00557af0]
test rbx, rbx
jne 0x4b86c8
movsd xmm0, qword [0x00540888]
call qword [sym.imp.python39.dll_PyFloat_FromDouble]
movsd xmm0, qword [rax + 0x10]
mov qword [0x00557af0], rax
mov rbx, rax
andpd xmm0, xmm11
movsd qword [rax + 0x10], xmm0
jmp 0x4b86c8
mov rbx, qword [0x00557ae8]
test rbx, rbx
jne 0x4b86c8
movsd xmm0, qword [0x00540888]
call qword [sym.imp.python39.dll_PyFloat_FromDouble]
movsd xmm0, qword [rax + 0x10]
mov qword [0x00557ae8], rax
mov rbx, rax
andpd xmm0, xmm6
xorpd xmm0, xmm7
movsd qword [rax + 0x10], xmm0
jmp 0x4b86c8
mov rax, qword [sym.imp.python39.dll_PyFunction_Type]
nop dword [rax]
mov qword [rsi], rax
mov r13, rcx
jmp 0x4b7dfb
mov rax, qword [sym.imp.python39.dll_PyGen_Type]
jmp 0x4b8858
mov rax, qword [sym.imp.python39.dll_PyEllipsis_Type]
jmp 0x4b8858
mov rax, qword [sym.imp.python39.dll__Py_NotImplementedStruct]
mov rax, qword [rax + 8]
jmp 0x4b8858
mov rax, qword [sym.imp.python39.dll_PyCode_Type]
jmp 0x4b8858
mov rax, qword [sym.imp.python39.dll__Py_NoneStruct]
mov rax, qword [rax + 8]
jmp 0x4b8858
mov rax, qword [sym.imp.python39.dll_PyCFunction_Type]
jmp 0x4b8858
xor ecx, ecx
lea r12d, [rbp - 1]
call qword [sym.imp.python39.dll_PyFrozenSet_New]
mov rdi, rax
test ebp, ebp
jg 0x4b861c
jmp 0x4b7e89
mov r8, rbx
mov rdx, rbx
mov rcx, r13
call qword [sym.imp.python39.dll_PyDict_SetItem]
mov rax, rbx
jmp 0x4b8701
mov r13, qword [rsp + 0x28]
jmp 0x4b83d2
lea rcx, [0x0053e21f]
call qword [sym.imp.python39.dll_PyBytes_FromString]
mov rcx, qword [sym.imp.python39.dll_PyFrozenSet_Type]
mov rdx, rax
call fcn.004b53a0
mov qword [0x00557b18], rax
mov rdi, rax
jmp 0x4b7e89
movsx edx, bl
lea rcx, str.Missing_decoding_for__d_n
call fcn.004b27a0
call sub.msvcrt.dll_abort
nop dword [rax]
mov edx, dword [rsp + 0x130]
lea rcx, str.Missing_values__d_n
sub edx, r15d
call fcn.004b27a0
call sub.msvcrt.dll_abort
pxor xmm0, xmm0
call qword [sym.imp.python39.dll_PyFloat_FromDouble]
mov qword [0x00557b10], rax
mov rbx, rax
jmp 0x4b86c8
mov edx, 0x5a
lea rcx, str.Missing_decoding_for__d_n
call fcn.004b27a0
call sub.msvcrt.dll_abort
movzx edx, al
lea rcx, str.Missing_anon_value_for__d_n
call fcn.004b27a0
call sub.msvcrt.dll_abort
movzx edx, al
lea rcx, str.Missing_special_value_for__d_n
call fcn.004b27a0
call sub.msvcrt.dll_abort
nop
nop dword [rax + rax]
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
cmp byte [0x00557b21], 0
mov r12, rcx
mov rbp, rdx
je 0x5175a8
mov ecx, 0xa
lea rdi, [0x005406a2]
mov rsi, rbp
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x5176c0
mov rsi, qword [0x00557a38]
jmp 0x517565
lea rsi, [rdx + rax + 4]
mov rdx, rsi
mov rcx, rbp
call sub.msvcrt.dll_strcmp
mov rcx, rsi
mov ebx, eax
call sub.msvcrt.dll_strlen
lea rdx, [rsi + rax + 1]
mov eax, dword [rdx]
test ebx, ebx
jne 0x517560
movzx r8d, word [rdx + 4]
lea r9, [rdx + 6]
mov rcx, r12
mov rdx, r9
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp 0x4b7d00
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 qword [0x00557a38], rax
mov rdx, rax
mov r9d, dword [rax]
lea rax, [rax + 4]
mov qword [0x00557a38], rax
mov eax, dword [rdx + 4]
lea rcx, [rdx + 8]
mov qword [0x00557a38], rcx
test eax, eax
je 0x5176a8
sub eax, 1
lea r8, [rdx + rax + 9]
mov eax, 0xffffffff
nop word [rax + rax]
movzx edx, byte [rcx]
xor edx, eax
mov eax, edx
and edx, 1
neg edx
shr eax, 1
and edx, 0xedb88320
xor eax, edx
mov edx, eax
and eax, 1
neg eax
shr edx, 1
and eax, 0xedb88320
xor edx, eax
mov eax, edx
and edx, 1
neg edx
shr eax, 1
and edx, 0xedb88320
xor eax, edx
mov edx, eax
and eax, 1
neg eax
shr edx, 1
and eax, 0xedb88320
xor edx, eax
mov eax, edx
and edx, 1
neg edx
shr eax, 1
and edx, 0xedb88320
xor eax, edx
mov edx, eax
and eax, 1
neg eax
shr edx, 1
and eax, 0xedb88320
xor edx, eax
mov eax, edx
shr eax, 1
and edx, 1
add rcx, 1
neg edx
and edx, 0xedb88320
xor eax, edx
mov edx, eax
and eax, 1
neg eax
shr edx, 1
and eax, 0xedb88320
xor eax, edx
cmp r8, rcx
jne 0x517610
not eax
cmp r9d, eax
jne 0x51775d
mov byte [0x00557b21], 1
jmp 0x517539
cmp byte [0x00557b20], 0
jne 0x517557
mov rbx, qword [sym.imp.python39.dll_PyDict_New]
lea rsi, [0x00557228]
call rbx
mov qword [0x00557de8], rax
call rbx
mov qword [0x00557de0], rax
call rbx
mov qword [0x00557dd8], rax
call rbx
mov qword [0x00557dd0], rax
call rbx
mov qword [0x00557dc8], rax
call rbx
mov qword [0x00557dc0], rax
call rbx
mov qword [0x00557db8], rax
call rbx
mov rdi, qword [sym.imp.python39.dll_PyLong_FromLong]
mov rbx, 0xfffffffffffffffb
mov qword [0x00557db0], rax
nop dword [rax]
mov ecx, ebx
call rdi
add qword [rax], 1
mov qword [rsi + rbx*8], rax
add rbx, 1
cmp rbx, 0x102
jne 0x517738
mov byte [0x00557b20], 1
jmp 0x517557
lea rcx, str.Error__corrupted_constants_object
call sub.msvcrt.dll_puts
call sub.msvcrt.dll_abort
nop
nop
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rcx, qword [rcx + 0x30]
mov rdi, rdx
mov rbp, r8
test rcx, rcx
je 0x517793
mov rdx, r8
call rdi
test eax, eax
jne 0x5177d0
mov rax, qword [rsi + 0xa0]
xor ebx, ebx
test rax, rax
jle 0x5177ce
nop dword [rax]
mov rcx, qword [rsi + rbx*8 + 0xa8]
test rcx, rcx
je 0x5177c5
mov rdx, rbp
call rdi
test eax, eax
jne 0x5177d0
mov rax, qword [rsi + 0xa0]
add rbx, 1
cmp rbx, rax
jl 0x5177a8
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret