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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
lea rbp, [rsp + 0x20]
mov qword [rbp + 0xe8], rbx
mov rax, qword [0x140048010]
xor rax, rbp
mov qword [rbp + 0x80], rax
xor eax, eax
mov dword [rbp], r8d
mov r15d, r8d
mov qword [rbp + 8], rcx
mov dword [rbp + 0x10], eax
mov rdi, rdx
mov r12, rcx
mov r8d, eax
test r15d, r15d
jle 0x1400150f0
lea r9, [0x140000000]
lea r10, [0x140014160]
mov qword [r12], rax
mov rbx, rdi
movzx r13d, byte [rdi]
inc rdi
mov edx, r13d
lea eax, [r13 - 0x2e]
cmp eax, 0x49
ja case.default.0x140014ed7
cdqe
movzx eax, byte [r9 + rax + 0x151e8]
mov ecx, dword [r9 + rax*4 + 0x1516c]
add rcx, r9
jmp rcx
mov rax, qword [r12 - 8]
mov qword [r12], rax
jmp 0x1400150a1
movsxd rsi, dword [rdi]
lea rdi, [rbx + 5]
mov rcx, rsi
call qword [sym.imp.python37.dll_PyTuple_New]
mov rbx, rax
test esi, esi
jle 0x1400146ad
lea rcx, [rax + 0x18]
mov r8d, esi
mov rdx, rdi
call 0x1400145e0
mov rdi, rax
mov rcx, qword [rbx + 8]
lea rax, [0x140013f10]
mov rsi, qword [0x140052138]
mov r14, qword [rcx + 0x78]
mov r15, qword [rcx + 0xc8]
mov qword [rcx + 0x78], rax
lea rcx, [0x140013f70]
mov rax, qword [rbx + 8]
mov qword [rax + 0xc8], rcx
jmp 0x140015061
movsxd rsi, dword [rdi]
lea rdi, [rbx + 5]
mov rcx, rsi
call qword [sym.imp.python37.dll_PyList_New]
mov rbx, rax
test esi, esi
jle 0x14001470e
mov rcx, qword [rax + 0x18]
mov r8d, esi
mov rdx, rdi
call 0x1400145e0
mov rdi, rax
mov rcx, qword [rbx + 8]
lea rax, [0x140013e40]
mov rsi, qword [0x1400521b8]
mov r14, qword [rcx + 0x78]
mov r15, qword [rcx + 0xc8]
mov qword [rcx + 0x78], rax
lea rcx, [0x140013ea0]
mov rax, qword [rbx + 8]
mov qword [rax + 0xc8], rcx
jmp 0x140015061
movsxd r12, dword [rdi]
lea rdi, [rbx + 5]
mov rcx, r12
mov rsi, r12
call qword [sym.imp.python37.dll__PyDict_NewPresized]
mov r14, rax
test r12d, r12d
jle 0x1400147fa
lea rcx, [r12*8]
movabs rdx, 0xffffffffffffff0
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x140014783
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.140033c50
sub rsp, rax
lea rax, [rcx + 0xf]
lea rbx, [rsp + 0x20]
cmp rax, rcx
ja 0x1400147a0
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.140033c50
sub rsp, rax
mov r8d, r12d
mov rdx, rdi
mov rcx, rbx
lea r15, [rsp + 0x20]
call 0x1400145e0
mov r8d, r12d
mov rdx, rax
mov rcx, r15
call 0x1400145e0
mov rdi, rax
test r12d, r12d
jle 0x1400147fa
sub r15, rbx
nop dword [rax + rax]
mov r8, qword [r15 + rbx]
mov rcx, r14
mov rdx, qword [rbx]
call qword [sym.imp.python37.dll_PyDict_SetItem]
lea rbx, [rbx + 8]
sub rsi, 1
jne 0x1400147e0
mov rax, qword [r14 + 8]
lea rcx, [0x140014180]
mov rbx, qword [0x140052160]
mov rdx, r14
mov rsi, qword [rax + 0x78]
mov r15, qword [rax + 0xc8]
mov qword [rax + 0x78], rcx
lea rcx, [0x140014340]
mov rax, qword [r14 + 8]
mov qword [rax + 0xc8], rcx
mov rcx, rbx
call qword [sym.imp.python37.dll_PyDict_GetItem]
test rax, rax
je 0x140014843
mov r14, rax
jmp 0x140014852
mov r8, r14
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.python37.dll_PyDict_SetItem]
mov rax, qword [r14 + 8]
mov r12, qword [rbp + 8]
mov qword [rax + 0x78], rsi
mov rax, qword [r14 + 8]
mov qword [rax + 0xc8], r15
mov qword [r12], r14
jmp 0x14001509d
movsxd r12, dword [rdi]
lea rdi, [rbx + 5]
cmp r13b, 0x53
jne 0x140014889
xor ecx, ecx
call qword [sym.imp.python37.dll_PySet_New]
jmp 0x1400148d1
test r12d, r12d
jne 0x1400148c9
mov rsi, qword [0x140052370]
test rsi, rsi
jne 0x1400148c0
lea rcx, [0x14003df15]
call qword [sym.imp.python37.dll_PyBytes_FromString]
mov rcx, qword [sym.imp.python37.dll_PyFrozenSet_Type]
mov rdx, rax
call fcn.14000fd30
mov rsi, rax
mov qword [0x140052370], rax
mov rax, qword [rsi + 8]
jmp 0x140014946
xor ecx, ecx
call qword [sym.imp.python37.dll_PyFrozenSet_New]
mov rsi, rax
test r12d, r12d
jle 0x140014935
lea rax, [r12*8]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1400148f4
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.140033c50
sub rsp, rcx
mov r8d, r12d
mov rdx, rdi
lea r15, [rsp + 0x20]
mov rcx, r15
call 0x1400145e0
xor ebx, ebx
mov rdi, rax
test r12d, r12d
jle 0x140014935
mov rdx, qword [r15 + rbx*8]
mov rcx, rsi
call qword [sym.imp.python37.dll_PySet_Add]
inc rbx
cmp rbx, r12
jl 0x140014920
mov rax, qword [rsi + 8]
mov rbx, qword [0x140052190]
cmp r13b, 0x53
je 0x14001494d
mov rbx, qword [0x140052198]
mov r14, qword [rax + 0x78]
lea rcx, [0x140013fe0]
mov r15, qword [rax + 0xc8]
mov rdx, rsi
mov qword [rax + 0x78], rcx
lea rcx, [0x140014090]
mov rax, qword [rsi + 8]
mov qword [rax + 0xc8], rcx
mov rcx, rbx
call qword [sym.imp.python37.dll_PyDict_GetItem]
test rax, rax
je 0x14001498b
mov rsi, rax
jmp 0x14001499a
mov r8, rsi
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.python37.dll_PyDict_SetItem]
mov rax, qword [rsi + 8]
mov r12, qword [rbp + 8]
mov qword [rax + 0x78], r14
mov rax, qword [rsi + 8]
mov qword [rax + 0xc8], r15
mov qword [r12], rsi
jmp 0x14001509d
mov ecx, dword [rdi]
lea rdi, [rbx + 5]
call qword [sym.imp.python37.dll_PyLong_FromLong]
mov rsi, qword [0x140052168]
mov rdx, rax
mov rcx, rsi
mov rbx, rax
call qword [sym.imp.python37.dll_PyDict_GetItem]
test rax, rax
je 0x1400149ed
mov rbx, rax
mov qword [r12], rax
jmp 0x1400150a1
mov r8, rbx
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.python37.dll_PyDict_SetItem]
mov qword [r12], rbx
jmp 0x1400150a1
mov rcx, qword [rdi]
lea rdi, [rbx + 9]
call qword [sym.imp.python37.dll_PyLong_FromLongLong]
jmp 0x1400149c6
xor ecx, ecx
call qword [sym.imp.python37.dll_PyLong_FromLong]
movzx r12d, byte [rdi]
mov ecx, 0x40
lea rdi, [rbx + 2]
mov r15, rax
mov ebx, dword [rdi]
add rdi, 4
call qword [sym.imp.python37.dll_PyLong_FromLong]
mov r13, rax
test ebx, ebx
jle 0x140014a86
mov r14d, ebx
mov rdx, r13
mov rcx, r15
call qword [sym.imp.python37.dll_PyNumber_InPlaceLshift]
mov rcx, qword [rdi]
mov rbx, rax
add rdi, 8
call qword [sym.imp.python37.dll_PyLong_FromUnsignedLongLong]
mov rdx, rax
mov rcx, rbx
mov rsi, rax
call qword [sym.imp.python37.dll_PyNumber_InPlaceAdd]
sub qword [rsi], 1
mov r15, rax
jne 0x140014a80
mov rdx, qword [rsi + 8]
mov rcx, rsi
call qword [rdx + 0x30]
sub r14, 1
jne 0x140014a42
sub qword [r13], 1
jne 0x140014a97
mov rax, qword [r13 + 8]
mov rcx, r13
call qword [rax + 0x30]
cmp r12b, 0x2d
jne 0x140014aca
mov ecx, 0xffffffff
call qword [sym.imp.python37.dll_PyLong_FromLong]
mov rdx, rax
mov rcx, r15
mov rbx, rax
call qword [sym.imp.python37.dll_PyNumber_InPlaceMultiply]
sub qword [rbx], 1
mov r15, rax
jne 0x140014aca
mov rdx, qword [rbx + 8]
mov rcx, rbx
call qword [rdx + 0x30]
mov rbx, qword [0x140052168]
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.python37.dll_PyDict_GetItem]
test rax, rax
je 0x140014af2
mov r12, qword [rbp + 8]
mov r15, rax
mov qword [r12], rax
jmp 0x14001509d
mov r8, r15
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.python37.dll_PyDict_SetItem]
mov r12, qword [rbp + 8]
mov qword [r12], r15
jmp 0x14001509d
mov rax, qword [rdi]
lea rdi, [rbx + 9]
mov qword [rbp + 8], rax
movsd xmm0, qword [rbp + 8]
call qword [sym.imp.python37.dll_PyFloat_FromDouble]
mov rbx, rax
mov rcx, qword [rax + 8]
lea rax, [0x140014160]
mov r14, qword [rcx + 0x78]
mov r15, qword [rcx + 0xc8]
mov qword [rcx + 0xc8], rax
jmp 0x14001505a
mov rax, qword [rdi]
lea rdi, [rbx + 9]
mov qword [rbp + 0x28], rax
mov rax, qword [rdi]
add rdi, 8
movsd xmm0, qword [rbp + 0x28]
mov qword [rbp + 8], rax
movsd xmm1, qword [rbp + 8]
call qword [sym.imp.python37.dll_PyComplex_FromDoubles]
mov qword [r12], rax
jmp 0x1400150a1
mov r8d, 2
lea rcx, [rbp + 0x30]
mov rdx, rdi
call 0x1400145e0
mov rcx, qword [sym.imp.python37.dll_PyComplex_Type]
lea rdx, [rbp + 0x40]
mov rdi, rax
mov rax, qword [rbp + 0x30]
test rax, rax
cmove rax, qword [0x140050500]
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x48], rax
call fcn.140010a40
mov qword [r12], rax
jmp 0x1400150a1
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140014bd0
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.python37.dll_PyBytes_FromStringAndSize]
inc rbx
add rdi, rbx
mov rbx, qword [0x140052148]
mov rdx, rax
mov rcx, rbx
mov rsi, rax
call qword [sym.imp.python37.dll_PyDict_GetItem]
test rax, rax
je 0x140014c12
mov rsi, rax
mov qword [r12], rax
jmp 0x1400150a1
mov r8, rsi
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.python37.dll_PyDict_SetItem]
mov qword [r12], rsi
jmp 0x1400150a1
mov edx, 1
mov rcx, rdi
call qword [sym.imp.python37.dll_PyBytes_FromStringAndSize]
lea rdi, [rbx + 2]
jmp 0x140014beb
mov edx, 1
mov rcx, rdi
call qword [sym.imp.python37.dll_PyUnicode_FromStringAndSize]
lea rcx, [rbp + 0x18]
mov qword [rbp + 0x18], rax
lea rdi, [rbx + 2]
call qword [sym.imp.python37.dll_PyUnicode_InternInPlace]
mov rax, qword [rbp + 0x18]
mov qword [r12], rax
jmp 0x1400150a1
movsxd rax, dword [rdi]
lea rdi, [rbx + 5]
mov rcx, rdi
mov rdx, rax
mov rbx, rax
call qword [sym.imp.python37.dll_PyBytes_FromStringAndSize]
jmp 0x140014be8
movsxd rax, dword [rdi]
lea rdi, [rbx + 5]
mov rcx, rdi
mov rdx, rax
mov rbx, rax
call qword [sym.imp.python37.dll_PyByteArray_FromStringAndSize]
mov qword [r12], rax
add rdi, rbx
jmp 0x1400150a1
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140014cb0
lea r8, str.surrogatepass
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.python37.dll_PyUnicode_DecodeUTF8]
inc rdi
mov qword [rbp + 0x20], rax
add rdi, rbx
cmp r13b, 0x61
jne 0x140014cea
lea rcx, [rbp + 0x20]
call qword [sym.imp.python37.dll_PyUnicode_InternInPlace]
mov rax, qword [rbp + 0x20]
mov qword [r12], rax
jmp 0x1400150a1
movsxd rax, dword [rdi]
lea r8, str.surrogatepass
lea rdi, [rbx + 5]
mov rdx, rax
mov rcx, rdi
mov rbx, rax
call qword [sym.imp.python37.dll_PyUnicode_DecodeUTF8]
mov qword [r12], rax
add rdi, rbx
jmp 0x1400150a1
mov rax, qword [sym.imp.python37.dll__Py_NoneStruct]
mov qword [r12], rax
jmp 0x1400150a1
mov rax, qword [sym.imp.python37.dll__Py_TrueStruct]
mov qword [r12], rax
jmp 0x1400150a1
mov rax, qword [sym.imp.python37.dll__Py_FalseStruct]
mov qword [r12], rax
jmp 0x1400150a1
mov r8d, 3
lea rcx, [rbp + 0x50]
mov rdx, rdi
call 0x1400145e0
mov r8, qword [rbp + 0x60]
mov rdi, rax
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x50]
call qword [sym.imp.python37.dll_PySlice_New]
mov qword [r12], rax
jmp 0x1400150a1
mov r8d, 3
lea rcx, [rbp + 0x68]
mov rdx, rdi
call 0x1400145e0
mov r8, qword [rbp + 0x78]
mov rdi, rax
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x68]
call fcn.14000ec90
mov qword [r12], rax
jmp 0x1400150a1
movzx eax, byte [rdi]
lea rdi, [rbx + 2]
mov edx, eax
cmp eax, 6
ja case.default.0x140014dc8
mov ecx, dword [r9 + rax*4 + 0x15234]
add rcx, r9
jmp rcx
mov rax, qword [sym.imp.python37.dll__Py_NoneStruct]
mov rcx, qword [rax + 8]
mov qword [r12], rcx
jmp 0x1400150a1
mov rcx, qword [sym.imp.python37.dll_PyEllipsis_Type]
mov qword [r12], rcx
jmp 0x1400150a1
mov rax, qword [sym.imp.python37.dll__Py_NotImplementedStruct]
mov rcx, qword [rax + 8]
mov qword [r12], rcx
jmp 0x1400150a1
mov rcx, qword [sym.imp.python37.dll_PyFunction_Type]
mov qword [r12], rcx
jmp 0x1400150a1
mov rcx, qword [sym.imp.python37.dll_PyGen_Type]
mov qword [r12], rcx
jmp 0x1400150a1
mov rcx, qword [sym.imp.python37.dll_PyCFunction_Type]
mov qword [r12], rcx
jmp 0x1400150a1
mov rcx, qword [sym.imp.python37.dll_PyCode_Type]
mov qword [r12], rcx
jmp 0x1400150a1
movzx eax, byte [rdi]
lea rdi, [rbx + 2]
mov edx, eax
mov ecx, eax
test al, al
je 0x140014e78
sub ecx, 1
je 0x140014e6f
cmp ecx, 1
jne 0x14001512e
mov rax, qword [0x140050728]
mov qword [r12], rax
jmp 0x1400150a1
lea rdx, [0x140041230]
jmp 0x140014e7f
lea rdx, str.Ellipsis
mov rcx, qword [0x140050780]
call qword [sym.imp.python37.dll_PyObject_GetAttrString]
mov qword [r12], rax
jmp 0x1400150a1
mov rdx, rdi
nop dword [rax + rax]
movzx eax, byte [rdi]
inc rdi
test al, al
jne 0x140014ea0
jmp 0x140014e7f
mov rdx, rdi
nop
movzx eax, byte [rdi]
inc rdi
test al, al
jne 0x140014eb0
jmp 0x140014e7f
movzx eax, byte [rdi]
lea rdi, [rbx + 2]
cmp eax, 5
ja case.default.0x140014ed7
mov ecx, dword [r9 + rax*4 + 0x15250]
add rcx, r9
jmp rcx
mov rbx, qword [0x140052388]
test rbx, rbx
jne 0x140015044
xorps xmm0, xmm0
call qword [sym.imp.python37.dll_PyFloat_FromDouble]
mov rbx, rax
mov qword [0x140052388], rax
jmp 0x14001503d
mov rbx, qword [0x140052330]
test rbx, rbx
jne 0x140015044
xorps xmm0, xmm0
call qword [sym.imp.python37.dll_PyFloat_FromDouble]
movsd xmm1, qword [0x1400425b0]
mov qword [0x140052330], rax
movsd xmm0, qword [rax + 0x10]
call fcn.1400267d0
mov rbx, qword [0x140052330]
jmp 0x140015038
mov rbx, qword [0x140052358]
test rbx, rbx
jne 0x140015044
movsd xmm0, qword [0x1400425b8]
call qword [sym.imp.python37.dll_PyFloat_FromDouble]
movsd xmm1, qword [0x1400425a0]
mov qword [0x140052358], rax
movsd xmm0, qword [rax + 0x10]
call fcn.1400267d0
mov rbx, qword [0x140052358]
jmp 0x140015038
mov rbx, qword [0x140052380]
test rbx, rbx
jne 0x140015044
movsd xmm0, qword [0x1400425b8]
call qword [sym.imp.python37.dll_PyFloat_FromDouble]
movsd xmm1, qword [0x1400425b0]
mov qword [0x140052380], rax
movsd xmm0, qword [rax + 0x10]
call fcn.1400267d0
mov rbx, qword [0x140052380]
jmp 0x140015038
mov rbx, qword [0x140052338]
test rbx, rbx
jne 0x140015044
movsd xmm0, qword [0x1400425a8]
call qword [sym.imp.python37.dll_PyFloat_FromDouble]
movsd xmm1, qword [0x1400425a0]
mov qword [0x140052338], rax
movsd xmm0, qword [rax + 0x10]
call fcn.1400267d0
mov rbx, qword [0x140052338]
jmp 0x140015038
mov rbx, qword [0x140052348]
test rbx, rbx
jne 0x140015044
movsd xmm0, qword [0x1400425a8]
call qword [sym.imp.python37.dll_PyFloat_FromDouble]
movsd xmm1, qword [0x1400425b0]
mov qword [0x140052348], rax
movsd xmm0, qword [rax + 0x10]
call fcn.1400267d0
mov rbx, qword [0x140052348]
movsd qword [rbx + 0x10], xmm0
lea r10, [0x140014160]
mov rax, qword [rbx + 8]
mov r14, qword [rax + 0x78]
mov r15, qword [rax + 0xc8]
mov qword [rax + 0xc8], r10
mov rsi, qword [0x140052188]
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.python37.dll_PyDict_GetItem]
test rax, rax
je 0x140015077
mov rbx, rax
jmp 0x140015086
mov r8, rbx
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.python37.dll_PyDict_SetItem]
mov rax, qword [rbx + 8]
mov qword [rax + 0x78], r14
mov rax, qword [rbx + 8]
mov qword [rax + 0xc8], r15
mov qword [r12], rbx
mov r15d, dword [rbp]
mov rax, qword [r12]
lea r9, [0x140000000]
mov r8d, dword [rbp + 0x10]
lea r10, [0x140014160]
inc qword [rax]
mov rax, qword [r12]
inc qword [rax]
jmp 0x1400150d5
movsxd rdi, dword [rdi]
lea rax, [rbx + 5]
add rdi, 5
mov qword [r12], rax
add rdi, rbx
add r12, 8
inc r8d
mov qword [rbp + 8], r12
mov dword [rbp + 0x10], r8d
cmp r8d, r15d
jge 0x1400150f0
xor eax, eax
jmp 0x140014640
mov rax, rdi
mov rcx, qword [rbp + 0x80]
xor rcx, rbp
call fcn.14001e050
mov rbx, qword [rbp + 0xe8]
lea rsp, [rbp + 0x90]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.Missing_anon_value_for__d_n
call fcn.14000ee00
call fcn.140022118
int3
lea rcx, str.Missing_special_value_for__d_n
call fcn.14000ee00
call fcn.140022118
int3
sub r15d, r8d
lea rcx, str.Missing_values__d_n
mov edx, r15d
call fcn.14000ee00
call fcn.140022118
int3
lea rcx, str.Missing_decoding_for__d_n
call fcn.14000ee00
call fcn.140022118
int3
mov qword [rsp + 0x18], rbp
push rsi
sub rsp, 0x20
cmp byte [0x140052390], 0
mov rsi, rdx
mov rbp, rcx
jne 0x1400153a6
mov edx, 3
xor ecx, ecx
lea r8d, [rdx + 7]
call qword [sym.imp.KERNEL32.dll_FindResourceA]
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov qword [0x140051020], rax
mov edx, 0xffffffff
mov r10d, dword [rax]
add rax, 4
mov qword [0x140051020], rax
mov ecx, dword [rax]
lea r8, [rax + 4]
mov qword [0x140051020], r8
test ecx, ecx
je 0x140015394
mov r9d, ecx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r8]
lea r8, [r8 + 1]
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0xedb88320
xor ecx, edx
mov eax, ecx
and al, 1
neg al
sbb edx, edx
shr ecx, 1
and edx, 0xedb88320
xor edx, ecx
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0xedb88320
xor ecx, edx
mov eax, ecx
and al, 1
neg al
sbb edx, edx
shr ecx, 1
and edx, 0xedb88320
xor edx, ecx
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0xedb88320
xor ecx, edx
mov eax, ecx
and al, 1
neg al
sbb edx, edx
shr ecx, 1
and edx, 0xedb88320
xor edx, ecx
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0xedb88320
xor ecx, edx
mov eax, ecx
and al, 1
neg al
sbb edx, edx
shr ecx, 1
and edx, 0xedb88320
xor edx, ecx
sub r9, 1
jne 0x1400152f0
not edx
cmp edx, r10d
jne 0x140015521
mov byte [0x140052390], 1
lea rdx, [0x14003fbf8]
mov rcx, rsi
call fcn.140033e70
test eax, eax
je 0x140015475
cmp byte [0x1400522f8], 1
je 0x140015475
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.python37.dll_PyDict_New]
mov qword [0x140052168], rax
call qword [sym.imp.python37.dll_PyDict_New]
mov qword [0x140052188], rax
call qword [sym.imp.python37.dll_PyDict_New]
mov qword [0x140052148], rax
call qword [sym.imp.python37.dll_PyDict_New]
mov qword [0x140052138], rax
call qword [sym.imp.python37.dll_PyDict_New]
mov qword [0x1400521b8], rax
call qword [sym.imp.python37.dll_PyDict_New]
mov qword [0x140052160], rax
call qword [sym.imp.python37.dll_PyDict_New]
mov qword [0x140052190], rax
call qword [sym.imp.python37.dll_PyDict_New]
mov qword [0x140052198], rax
mov ebx, 0xfffffffb
lea rdi, [0x1400507a0]
mov ecx, ebx
call qword [sym.imp.python37.dll_PyLong_FromLong]
inc ebx
mov qword [rdi], rax
lea rdi, [rdi + 8]
inc qword [rax]
cmp ebx, 0x101
jle 0x140015448
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov byte [0x1400522f8], 1
mov r8, qword [0x140051020]
mov rax, rsi
mov rdx, r8
sub rdx, rsi
movzx ecx, byte [rax]
cmp cl, byte [rax + rdx]
jne 0x140015498
inc rax
test cl, cl
jne 0x140015485
xor ecx, ecx
jmp 0x14001549d
sbb ecx, ecx
or ecx, 1
mov rax, 0xffffffffffffffff
cmp byte [r8 + rax + 1], 0
lea rax, [rax + 1]
jne 0x1400154a4
lea rdx, [r8 + rax]
mov eax, dword [r8 + rax + 1]
add rdx, 5
test ecx, ecx
je 0x140015507
add rdx, rax
mov rax, rsi
mov r8, rdx
sub r8, rsi
nop dword [rax]
movzx ecx, byte [rax]
cmp cl, byte [rax + r8]
jne 0x1400154e4
inc rax
test cl, cl
jne 0x1400154d0
xor ecx, ecx
jmp 0x1400154e9
sbb ecx, ecx
or ecx, 1
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], 0
jne 0x1400154f0
add rdx, rax
mov eax, dword [rdx + 1]
add rdx, 5
test ecx, ecx
jne 0x1400154c1
movzx r8d, word [rdx]
mov rcx, rbp
add rdx, 2
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
jmp 0x1400145e0
lea rcx, str.Error__corrupted_constants_object
call fcn.14002382c
call fcn.140022118
int3