Function at 0x180015960
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rax, qword [rcx + 0x18]
xor r13d, r13d
mov r15, 0xffffffffffffffff
mov r10d, 1
mov qword [rbp + 0xf0], r10
mov rbx, rcx
mov r14d, r13d
mov edi, r15d
test rax, rax
je 0x180189af4
cmp rax, qword [rcx + 0x20]
jae 0x1800159b7
movzx edi, byte [rax]
inc rax
mov qword [rcx + 0x18], rax
mov dword [rbp + 0xe0], r13d
mov rsi, r13
cmp edi, r15d
je 0x180189b25
mov ecx, dword [rbx + 8]
lea eax, [rcx + 1]
mov dword [rbx + 8], eax
cmp eax, 0x3e8
jg 0x180189b3f
mov qword [rsp + 0x198], r12
mov r12d, edi
and r12d, 0xffffff80
and edi, 0x7f
cmp edi, 0x72
jne 0x180015a92
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x18018a3c6
mov rax, qword [rbx + 0x20]
sub rax, rdx
cmp rax, 4
jl 0x18018a3ba
lea rax, [rdx + 4]
mov qword [rbx + 0x18], rax
movzx eax, byte [rdx + 2]
movzx ecx, byte [rdx + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx]
shl ecx, 8
or ecx, eax
jl 0x18018a512
mov rax, qword [rbx + 0x38]
movsxd rcx, ecx
cmp rcx, qword [rax + 0x10]
jge 0x18018a544
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + rcx*8]
lea rax, sym.python310.dll__Py_NoneStruct
cmp rcx, rax
je 0x18018a544
inc qword [rcx]
mov rsi, rcx
dec dword [rbx + 8]
mov rax, rsi
mov r12, qword [rsp + 0x198]
add rsp, 0x1a0
pop r15
pop r14
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea eax, [rdi - 0x28]
cmp eax, 0x53
ja case.0x180015ab9.42
lea rdx, [0x180000000]
cdqe
movzx eax, byte [rdx + rax + 0x16920]
mov ecx, dword [rdx + rax*4 + 0x168b0]
add rcx, rdx
jmp rcx
mov dword [rbp + 0xe0], r10d
mov rax, qword [rbx + 0x18]
mov edi, r15d
test rax, rax
je 0x180189ca1
cmp rax, qword [rbx + 0x20]
jae 0x180015ae2
movzx edi, byte [rax]
inc rax
mov qword [rbx + 0x18], rax
mov ecx, edi
cmp edi, r15d
je 0x180189cd2
mov rdx, qword [rbx + 0x18]
mov rdi, r15
movsxd r14, ecx
mov qword [rbp + 0xe8], rdx
test rdx, rdx
je 0x180189cf8
mov rax, qword [rbx + 0x20]
sub rax, rdx
cmp rax, r14
jl 0x180189ce5
lea rax, [r14 + rdx]
mov qword [rbx + 0x18], rax
test r14, r14
js 0x180189e3d
lea r8, sym.python310.dll_PyUnicode_Type
test r14, r14
je 0x1800165e4
cmp r14, 1
je 0x18001628e
lea r8, [r14 + rdx]
mov rcx, rdx
mov r10d, 0x30
cmp rdx, r8
jae 0x180015b7c
movabs r9, 0x8080808080808080
nop
test cl, 7
je 0x180015c2b
movzx eax, byte [rcx]
inc rcx
test al, al
js 0x180189e49
cmp rcx, r8
jb 0x180015b60
mov rax, r10
lea rdx, [rax + 1]
movabs rax, 0x7fffffffffffffff
add rdx, r14
cmp rdx, rax
ja 0x18001629b
mov rcx, qword [0x1803fc5a0]
call qword [case.0x180096615.0]
mov rdi, rax
test rax, rax
je 0x18001629b
lea rax, sym.python310.dll_PyUnicode_Type
mov qword [rdi + 8], rax
test dword [0x1803f3d08], 0x200
jne 0x180189e5d
mov rcx, rdi
call sym.python310.dll__Py_NewReference
mov eax, dword [rdi + 0x20]
mov r9d, 0x48
mov r8, qword [rbp + 0xf0]
mov edx, r9d
test r8d, r8d
mov qword [rdi + 0x10], r14
mov r10d, 0x30
mov qword [rdi + 0x18], r15
cmovne edx, r10d
mov ecx, r8d
shl ecx, 6
and eax, 0xffffffa4
or ecx, eax
lea rax, [rdi + r14]
or ecx, 0xa4
mov dword [rdi + 0x20], ecx
mov byte [rax + rdx], sil
test r8d, r8d
je 0x180189e77
mov qword [rdi + 0x28], r13
jmp 0x1800162bd
lea rax, [rcx + 8]
mov rdx, rcx
cmp rax, r8
ja 0x180015c4d
test qword [rdx], r9
jne 0x180189e49
add rdx, 8
lea rax, [rdx + 8]
cmp rax, r8
jbe 0x180015c37
mov rcx, rdx
cmp rdx, r8
jne 0x180015b69
jmp 0x180015b7c
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x180189f6a
cmp rax, qword [rbx + 0x20]
jae 0x180015c7c
movzx r15d, byte [rax]
inc rax
mov qword [rbx + 0x18], rax
mov rax, qword [0x18044f1f0]
movzx ecx, r15b
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
movsxd rdi, ecx
test ecx, ecx
je 0x1800164b8
js 0x180189f9e
mov rcx, qword [0x18044f1f0]
cmp rdi, 0x14
jge 0x180015cc4
mov rcx, qword [rcx + 0x10]
mov r15, qword [rcx + rdi*8 + 0x2630]
test r15, r15
jne 0x180016233
movabs rax, 0xffffffffffffffc
cmp rdi, rax
ja 0x1800164cf
mov rax, qword [0x1803f3460]
mov rcx, rdi
imul rcx, qword [0x1803f3468]
add rax, 7
add rcx, rax
and rcx, 0xfffffffffffffff8
call sym.python310.dll__PyObject_GC_Malloc
mov r15, rax
test rax, rax
je 0x180189faf
mov qword [rax + 0x10], rdi
lea rax, sym.python310.dll_PyTuple_Type
mov qword [r15 + 8], rax
test dword [0x1803f34e8], 0x200
jne 0x180189fb7
mov rcx, r15
call sym.python310.dll__Py_NewReference
jmp 0x1800164e7
mov rdx, rbx
mov ecx, 4
mov edi, r15d
call fcn.180016974
mov rcx, rax
test rax, rax
je 0x180015d67
movzx edi, byte [rax + 3]
movzx eax, byte [rax + 2]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + 1]
shl edi, 8
or edi, eax
movzx eax, byte [rcx]
shl edi, 8
or edi, eax
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
test edi, edi
js 0x180189c89
movsxd r14, edi
je 0x18001675c
movabs rax, 0x7fffffffffffffde
cmp r14, rax
ja 0x180189c39
lea rdx, [r14 + 0x21]
movabs rax, 0x7fffffffffffffff
cmp rdx, rax
ja 0x180189c58
mov rcx, qword [0x1803fc5a0]
call qword [case.0x180096615.0]
mov rdi, rax
test rax, rax
je 0x180189c58
mov qword [rax + 0x10], r14
lea rax, sym.python310.dll_PyBytes_Type
mov qword [rdi + 8], rax
test dword [0x1803e53f8], 0x200
jne 0x180189c4c
mov rcx, rdi
call sym.python310.dll__Py_NewReference
mov qword [rdi + 0x18], r15
mov byte [rdi + r14 + 0x20], sil
jmp 0x18001677a
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], r13
mov qword [rbp - 0x60], r13
test r12d, r12d
jne 0x18001657f
mov qword [rbp - 0x30], r13
mov rdx, rbx
mov qword [rbp - 0x80], r13
mov ecx, 4
mov edi, r15d
call fcn.180016974
test rax, rax
je 0x180015e5d
movzx ecx, byte [rax + 2]
movzx edi, byte [rax + 3]
shl edi, 8
or edi, ecx
movzx ecx, byte [rax + 1]
movzx eax, byte [rax]
shl edi, 8
or edi, ecx
shl edi, 8
or edi, eax
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne 0x18018a3a5
mov rdx, rbx
mov ecx, 4
mov r14d, r15d
call fcn.180016974
test rax, rax
je 0x180015ea8
movzx ecx, byte [rax + 2]
movzx r14d, byte [rax + 3]
shl r14d, 8
or r14d, ecx
movzx ecx, byte [rax + 1]
movzx eax, byte [rax]
shl r14d, 8
or r14d, ecx
shl r14d, 8
or r14d, eax
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne 0x18018a3a5
mov rdx, rbx
mov dword [rbp + 0xf8], r15d
mov ecx, 4
call fcn.180016974
test rax, rax
je 0x180015ef6
movzx ecx, byte [rax + 2]
movzx edx, byte [rax + 3]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 1]
movzx eax, byte [rax]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
mov dword [rbp + 0xf8], edx
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne 0x18018a3a5
mov rdx, rbx
mov dword [rbp + 0xf0], r15d
mov ecx, 4
call fcn.180016974
test rax, rax
je 0x180015f44
movzx ecx, byte [rax + 2]
movzx edx, byte [rax + 3]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 1]
movzx eax, byte [rax]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
mov dword [rbp + 0xf0], edx
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne 0x18018a3a5
mov rdx, rbx
mov dword [rbp + 0xe8], r15d
mov ecx, 4
call fcn.180016974
test rax, rax
je 0x180015f92
movzx ecx, byte [rax + 2]
movzx edx, byte [rax + 3]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 1]
movzx eax, byte [rax]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
mov dword [rbp + 0xe8], edx
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne 0x18018a3a5
mov rdx, rbx
mov dword [rbp + 0xe0], r15d
mov ecx, 4
call fcn.180016974
test rax, rax
je 0x180015fe0
movzx ecx, byte [rax + 2]
movzx edx, byte [rax + 3]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 1]
movzx eax, byte [rax]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
mov dword [rbp + 0xe0], edx
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne 0x18018a3a5
mov rcx, rbx
call fcn.180015960
mov qword [rbp - 0x70], rax
test rax, rax
je 0x18018a3a5
mov rcx, rbx
call fcn.180015960
mov qword [rbp - 0x20], rax
test rax, rax
je 0x18018a31d
mov rcx, rbx
call fcn.180015960
mov r13, rax
test rax, rax
je 0x18018a31d
mov rcx, rbx
call fcn.180015960
mov qword [rbp - 0x58], rax
test rax, rax
je 0x18018a31d
mov rcx, rbx
call fcn.180015960
mov qword [rbp - 0x50], rax
test rax, rax
je 0x18018a31d
mov rcx, rbx
call fcn.180015960
mov qword [rbp - 0x48], rax
test rax, rax
je 0x18018a31d
mov rcx, rbx
call fcn.180015960
mov qword [rbp - 0x40], rax
test rax, rax
je 0x18018a31d
mov rcx, rbx
call fcn.180015960
mov qword [rbp - 0x38], rax
test rax, rax
je 0x18018a31d
mov rdx, rbx
mov ecx, 4
call fcn.180016974
test rax, rax
je 0x18018a2f3
movzx ecx, byte [rax + 2]
movzx edx, byte [rax + 3]
shl edx, 8
or edx, ecx
movzx ecx, byte [rax + 1]
movzx eax, byte [rax]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
mov r15d, edx
cmp edx, 0xffffffff
je 0x18018a2f3
mov rcx, rbx
call fcn.180015960
mov qword [rbp - 0x60], rax
test rax, rax
je 0x18018a31d
mov r9d, dword [rbp + 0xf0]
mov edx, r14d
mov r8d, dword [rbp + 0xf8]
mov ecx, edi
mov qword [rsp + 0x78], rax
mov rax, qword [rbp - 0x38]
mov dword [rsp + 0x70], r15d
mov r15, qword [rbp - 0x20]
mov qword [rsp + 0x68], rax
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp - 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp - 0x70]
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0xe0]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0xe8]
mov dword [rsp + 0x20], eax
call sym.python310.dll_PyCode_NewWithPosOnlyArgs
mov rsi, rax
test rax, rax
je 0x180016178
test r12d, r12d
jne 0x1800165ba
mov rcx, qword [rbp - 0x70]
sub qword [rcx], 1
je 0x18018a32a
test r15, r15
je 0x180016195
sub qword [r15], 1
je 0x18018a337
test r13, r13
je 0x1800161a5
sub qword [r13], 1
je 0x18018a347
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x1800161b8
sub qword [rcx], 1
je 0x18018a357
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x1800161cb
sub qword [rcx], 1
je 0x18018a364
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x1800161de
sub qword [rcx], 1
je 0x18018a371
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1800161f1
sub qword [rcx], 1
je 0x18018a37e
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x180016204
sub qword [rcx], 1
je 0x18018a38b
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je case.0x180015ab9.48
sub qword [rcx], 1
jne case.0x180015ab9.48
jmp 0x18018a398
inc qword [sym.python310.dll__Py_NoneStruct]
lea rsi, sym.python310.dll__Py_NoneStruct
jmp case.0x180015ab9.48
mov rax, qword [r15 + 0x18]
mov qword [rcx + rdi*8 + 0x2630], rax
dec dword [rcx + rdi*4 + 0x26d0]
mov rcx, r15
call sym.python310.dll__Py_NewReference
jmp 0x1800164e7
mov rcx, rbx
call fcn.180141944
mov ecx, eax
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne 0x180016272
call sym.python310.dll_PyLong_FromLong
mov rsi, rax
test r12d, r12d
je case.0x180015ab9.48
mov r8, rbx
mov rcx, rsi
call fcn.1800450c4
mov rsi, rax
jmp case.0x180015ab9.48
movzx ecx, byte [rdx]
call fcn.18004aca4
mov rdi, rax
jmp 0x1800162e1
mov rcx, qword [0x18044f1f0]
call sym.python310.dll__PyErr_NoMemory
mov rdi, rax
test rax, rax
je 0x180189e88
mov r9d, 0x48
lea r10d, [r9 - 0x18]
mov eax, dword [rdi + 0x20]
test al, 0x20
je 0x180189e90
test al, 0x40
cmovne r9, r10
lea rcx, [rdi + r9]
mov rdx, qword [rbp + 0xe8]
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
lea r8, sym.python310.dll_PyUnicode_Type
mov qword [rbp - 0x80], rdi
test rdi, rdi
je case.0x180015ab9.48
cmp dword [rbp + 0xe0], esi
je 0x180016371
mov rax, qword [rdi + 8]
lea r14, [rdi + 8]
test dword [rax + 0xa8], 0x10000000
je 0x180016371
mov rsi, rdi
cmp rax, r8
jne 0x180016371
mov eax, dword [rdi + 0x20]
test al, 3
jne 0x180016371
test al, al
jns 0x180189e99
mov rax, qword [0x180423bb0]
test rax, rax
je 0x180189eab
mov r8, rsi
mov rdx, rsi
mov rcx, rax
call sym.python310.dll_PyDict_SetDefault
test rax, rax
je 0x180189ed5
cmp rax, rsi
je 0x1800163dc
inc qword [rax]
mov rdi, rax
sub qword [rsi], 1
mov qword [rbp - 0x80], rax
jne 0x180016371
mov rax, qword [r14]
mov rcx, rsi
call qword [rax + 0x30]
mov rsi, rdi
test r12d, r12d
je case.0x180015ab9.48
test rdi, rdi
je 0x180189f39
mov r14, qword [rbx + 0x38]
mov rax, qword [r14 + 8]
test dword [rax + 0xa8], 0x2000000
je 0x180189f18
mov r12, qword [r14 + 0x10]
mov rax, qword [r14 + 0x20]
lea rdi, [r12 + 1]
cmp rax, rdi
jl 0x1800163ea
sar rax, 1
cmp rdi, rax
jl 0x1800163ea
mov qword [r14 + 0x10], rdi
mov r15d, r13d
mov rdi, qword [rbp - 0x80]
inc qword [rdi]
mov rax, qword [r14 + 0x18]
mov qword [rax + r12*8], rdi
test r15d, r15d
jns case.0x180015ab9.48
jmp 0x180189f29
add qword [rdi], 0xfffffffffffffffe
and dword [rdi + 0x20], 0xfffffffd
or dword [rdi + 0x20], 1
jmp 0x180016371
mov rcx, rdi
sar rcx, 3
add rcx, 6
add rcx, rdi
and rcx, 0xfffffffffffffffc
mov rax, rcx
mov qword [rbp + 0xe0], rcx
sub rax, rdi
cmp rax, 1
jl 0x180189ee0
test rdi, rdi
je 0x180189ef4
movabs rax, 0xfffffffffffffff
cmp rcx, rax
ja 0x180189f03
lea rdx, [rcx*8]
mov rcx, qword [r14 + 0x18]
call sym.python310.dll_PyMem_Realloc
test rax, rax
je 0x180189f03
mov qword [r14 + 0x18], rax
mov rax, qword [rbp + 0xe0]
mov qword [r14 + 0x20], rax
jmp 0x1800163b8
mov dword [rbp + 0xe0], r10d
mov rcx, rbx
call fcn.180141944
mov ecx, eax
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
test ecx, ecx
js 0x180189c95
mov r10d, 1
jmp 0x180015aed
inc qword [sym.python310.dll__Py_FalseStruct]
lea rsi, sym.python310.dll__Py_FalseStruct
jmp case.0x180015ab9.48
inc qword [sym.python310.dll__Py_TrueStruct]
lea rsi, sym.python310.dll__Py_TrueStruct
jmp case.0x180015ab9.48
mov rax, qword [0x18044f1f0]
mov rcx, qword [rax + 0x10]
mov r15, qword [rcx + 0x2630]
inc qword [r15]
jmp 0x180016530
mov rcx, qword [0x18044f1f0]
call sym.python310.dll__PyErr_NoMemory
mov r15, rax
test rax, rax
je 0x180189faf
test rdi, rdi
jle 0x1800164fe
mov r8, rdi
lea rcx, [r15 + 0x18]
shl r8, 3
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov rax, qword [0x18044f1f0]
lea r8, [r15 - 0x10]
mov rcx, qword [rax + 0x10]
mov rdx, qword [rcx + 0x2c8]
mov rcx, qword [rdx + 8]
mov qword [rcx], r8
mov eax, dword [r8 + 8]
and eax, 3
mov qword [r8], rdx
or rax, rcx
mov qword [r8 + 8], rax
mov qword [rdx + 8], r8
test r12d, r12d
jne 0x18001656f
test r15, r15
je case.0x180015ab9.48
test rdi, rdi
jle 0x180016567
lea r14, [r15 + 0x18]
mov rcx, rbx
call fcn.180015960
test rax, rax
je 0x180189fc3
mov qword [r14], rax
inc rsi
add r14, 8
cmp rsi, rdi
jl 0x180016547
mov rsi, r15
jmp case.0x180015ab9.48
mov r8, rbx
mov rcx, r15
call fcn.1800450c4
mov r15, rax
jmp 0x180016535
mov rcx, qword [rbx + 0x38]
mov r14, qword [rcx + 0x10]
mov qword [rbp - 0x30], r14
cmp r14, 0x7ffffffe
jge 0x18018a2e7
lea rdx, sym.python310.dll__Py_NoneStruct
call sym.python310.dll_PyList_Append
test eax, eax
js case.0x180015ab9.48
test r14, r14
jns 0x180015e26
jmp case.0x180015ab9.48
mov rdx, qword [rbx + 0x38]
mov r8, qword [rbp - 0x30]
mov rax, qword [rdx + 0x18]
mov rcx, qword [rax + r8*8]
inc qword [rsi]
mov rax, qword [rdx + 0x18]
mov qword [rax + r8*8], rsi
sub qword [rcx], 1
jne 0x180016178
jmp 0x18018a310
mov rax, qword [0x18044f1f0]
mov rcx, qword [rax + 0x10]
mov rdi, qword [rcx + 0x1dd8]
inc qword [rdi]
jmp 0x1800162e8
mov rcx, rbx
call fcn.180141944
mov ecx, eax
mov dword [rbp + 0xe8], eax
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
test ecx, ecx
js 0x18018a2db
je 0x18018a1fa
xor edx, edx
cmp edi, 0x3c
je 0x18018a21f
lea rcx, sym.python310.dll_PyFrozenSet_Type
call fcn.1800890f0
mov rdx, rbx
mov ecx, r12d
mov r15, rax
call fcn.18016a944
mov r14, rax
test rax, rax
js 0x18018a24a
test r15, r15
je case.0x180015ab9.48
mov dword [rbp + 0xe0], r13d
cmp dword [rbp + 0xe8], esi
jle 0x1800166be
mov rcx, rbx
call fcn.180015960
mov rsi, rax
test rax, rax
je 0x18018a29c
mov rdx, rax
mov rcx, r15
call sym.python310.dll_PySet_Add
cmp eax, 0xffffffff
je 0x18018a27d
sub qword [rsi], 1
je 0x18018a26d
mov eax, dword [rbp + 0xe0]
inc eax
mov dword [rbp + 0xe0], eax
cmp eax, dword [rbp + 0xe8]
jl 0x180016676
cmp edi, 0x3c
je 0x1800166d7
mov r9, rbx
mov r8d, r12d
mov rdx, r14
mov rcx, r15
call fcn.1801678fc
mov r15, rax
mov rsi, r15
jmp case.0x180015ab9.48
mov r14d, esi
mov rcx, rbx
call fcn.180141944
movsxd rcx, eax
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
test ecx, ecx
js 0x180189c95
je 0x180189f49
mov rdx, rbx
mov rdi, rcx
call fcn.180016974
test rax, rax
je case.0x180015ab9.48
xor r9d, r9d
lea r8, str.surrogatepass
mov rdx, rdi
mov rcx, rax
call sym.python310.dll_PyUnicode_DecodeUTF8Stateful
mov qword [rbp - 0x80], rax
test rax, rax
je case.0x180015ab9.48
test r14d, r14d
jne 0x180189f58
mov rsi, rax
test r12d, r12d
je case.0x180015ab9.48
mov rcx, rax
jmp 0x1800167ac
mov rax, qword [0x18044f1f0]
mov rcx, qword [rax + 0x10]
mov rdi, qword [rcx + 0x15d0]
inc qword [rdi]
test rdi, rdi
je case.0x180015ab9.48
mov rdx, rbx
mov rcx, r14
call fcn.180016974
test rax, rax
je 0x180189c6f
lea rcx, [rdi + 0x20]
mov r8, r14
mov rdx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rsi, rdi
test r12d, r12d
je case.0x180015ab9.48
mov rcx, rdi
mov r8, rbx
call fcn.1800450c4
mov rsi, rax
jmp case.0x180015ab9.48
mov rcx, rbx
call fcn.18014177c
jmp 0x18001674b
mov rcx, rbx
call fcn.1800aad14
ucomisd xmm0, qword [0x180254360]
jp 0x1800167da
je 0x18001681f
call sym.python310.dll_PyFloat_FromDouble
jmp 0x18001674b
mov rcx, rbx
call fcn.180141944
mov ecx, eax
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
test ecx, ecx
jns 0x180015c91
jmp 0x18018a002
inc qword [sym.python310.dll__Py_EllipsisObject]
lea rsi, sym.python310.dll__Py_EllipsisObject
jmp case.0x180015ab9.48
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
je 0x1800167da
jmp case.0x180015ab9.48
mov rcx, rbx
call fcn.1800aad14
ucomisd xmm0, qword [0x180254360]
movsd qword [rbp - 0x70], xmm0
jp 0x18001684e
je 0x180189c0d
mov rcx, rbx
call fcn.1800aad14
ucomisd xmm0, qword [0x180254360]
movsd qword [rbp - 0x68], xmm0
jp 0x18001686b
je 0x180189c23
movups xmm0, xmmword [rbp - 0x70]
lea rcx, [rbp - 0x20]
movdqa xmmword [rbp - 0x20], xmm0
call sym.python310.dll_PyComplex_FromCComplex
jmp 0x18001674b
mov rdx, qword [rbx + 0x28]
test rdx, rdx
jne 0x180015a1f
jmp 0x18018a52c
mov rdx, qword [rbx + 0x28]
mov qword [rbp + 0xe8], rdx
test rdx, rdx
jne 0x180015b1f
jmp case.0x180015ab9.48
cmp qword [rcx + 0x10], r13
jne 0x180189b07
mov rcx, qword [rcx]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_getc]
mov edi, eax
jmp 0x180189b1a
mov rdx, rbx
mov rcx, r10
call fcn.180016974
test rax, rax
je 0x180189b1a
movzx edi, byte [rax]
mov r10d, 1
jmp 0x1800159b7
mov rcx, qword [sym.python310.dll_PyExc_EOFError]
lea rdx, str.EOF_read_where_object_expected
call sym.python310.dll_PyErr_SetString
xor eax, eax
jmp 0x180015a80
mov dword [rbx + 8], ecx
lea rdx, str.recursion_limit_exceeded
mov rcx, qword [sym.python310.dll_PyExc_ValueError]
call sym.python310.dll_PyErr_SetString
xor eax, eax
jmp 0x180015a80
mov rax, qword [sym.python310.dll_PyExc_StopIteration]
inc qword [rax]
mov rsi, qword [sym.python310.dll_PyExc_StopIteration]
jmp case.0x180015ab9.48
mov rcx, rbx
call fcn.18022e110
nop
jmp 0x18001674b
mov rcx, rbx
call fcn.18022e060
ucomisd xmm0, qword [0x180254360]
jp 0x1800167da
jne 0x1800167da
jmp 0x18001681f
mov rcx, rbx
call fcn.18022e060
ucomisd xmm0, qword [0x180254360]
movsd qword [rbp - 0x70], xmm0
jp 0x180189bcb
jne 0x180189bcb
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
mov rcx, rbx
call fcn.18022e060
ucomisd xmm0, qword [0x180254360]
movsd qword [rbp - 0x68], xmm0
jp 0x180189bf5
jne 0x180189bf5
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
movups xmm0, xmmword [rbp - 0x70]
lea rcx, [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm0
call sym.python310.dll_PyComplex_FromCComplex
nop
jmp 0x18001674b
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
jmp 0x18001684e
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
jmp 0x18001686b
mov rcx, qword [sym.python310.dll_PyExc_OverflowError]
lea rdx, str.byte_string_is_too_large
jmp 0x18018a552
inc qword [sym.python310.dll_PyBytes_Type]
jmp 0x180015deb
mov rcx, qword [0x18044f1f0]
call sym.python310.dll__PyErr_NoMemory
mov rdi, rax
test rax, rax
jmp 0x180016774
sub qword [rdi], 1
jne case.0x180015ab9.48
mov rax, qword [rdi + 8]
mov rcx, rdi
call qword [rax + 0x30]
nop
jmp case.0x180015ab9.48
lea rdx, str.bad_marshal_data__bytes_object_size_out_of_range_
jmp 0x18018a54b
lea rdx, str.bad_marshal_data__string_size_out_of_range_
jmp 0x18018a54b
cmp qword [rbx + 0x10], rsi
jne 0x180189cb4
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_getc]
mov edi, eax
jmp 0x180189cc7
mov rdx, rbx
mov rcx, r10
call fcn.180016974
test rax, rax
je 0x180189cc7
movzx edi, byte [rax]
mov r10d, 1
jmp 0x180015ae2
mov rcx, qword [sym.python310.dll_PyExc_EOFError]
lea rdx, str.EOF_read_where_object_expected
jmp 0x18018a552
mov rcx, qword [sym.python310.dll_PyExc_EOFError]
lea rdx, str.marshal_data_too_short
jmp 0x18018a552
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x180189d24
mov rcx, r14
call sym.python310.dll_PyMem_Malloc
mov qword [rbx + 0x28], rax
test rax, rax
jne 0x180189d3e
mov rcx, qword [0x18044f1f0]
call sym.python310.dll__PyErr_NoMemory
nop
jmp case.0x180015ab9.48
cmp qword [rbx + 0x30], r14
jge 0x180189d48
mov rdx, r14
mov rcx, rax
call sym.python310.dll_PyMem_Realloc
test rax, rax
je 0x180189d12
mov qword [rbx + 0x28], rax
mov r10d, 1
mov qword [rbx + 0x30], r14
cmp qword [rbx + 0x10], rsi
jne 0x180189d68
mov r9, qword [rbx]
mov r8, r14
mov rdx, r10
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rdi, rax
jmp 0x180189dec
mov dword [rsp + 0x28], 9
lea rcx, [rbp - 0x10]
mov r9, r14
mov dword [rsp + 0x20], r13d
mov r8, rax
xor edx, edx
call sym.python310.dll_PyBuffer_FillInfo
cmp eax, edi
je case.0x180015ab9.48
lea rcx, [rbp - 0x10]
call sym.python310.dll_PyMemoryView_FromBuffer
test rax, rax
je case.0x180015ab9.48
mov rcx, qword [rbx + 0x10]
lea r8, [0x18023ed14]
mov r9, rax
lea rdx, str.readinto
call sym.python310.dll__PyObject_CallMethodId_SizeT
mov qword [rbp + 0xe8], rax
test rax, rax
je 0x180189dec
mov rdx, qword [sym.python310.dll_PyExc_ValueError]
mov rcx, rax
call sym.python310.dll_PyNumber_AsSsize_t
mov rcx, qword [rbp + 0xe8]
mov rdi, rax
sub qword [rcx], 1
jne 0x180189dec
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
cmp rdi, r14
je 0x180016894
mov rax, qword [0x18044f1f0]
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
cmp rdi, r14
jle 0x180189e2a
mov rcx, qword [sym.python310.dll_PyExc_ValueError]
lea rdx, str.read___returned_too_much_data:__zd_bytes_requested___zd_returned
mov r9, rdi
mov r8, r14
call sym.python310.dll_PyErr_Format
nop
jmp case.0x180015ab9.48
mov rcx, qword [sym.python310.dll_PyExc_EOFError]
lea rdx, str.EOF_read_where_not_expected
jmp 0x18018a552
lea rdx, str.size_must_be_positive
jmp 0x18018a54b
mov eax, r13d
mov qword [rbp + 0xf0], rax
mov eax, 0x48
jmp 0x180015b7f
mov rax, qword [rbp + 0xe8]
inc qword [sym.python310.dll_PyUnicode_Type]
mov qword [rbp + 0xe8], rax
jmp 0x180015bcd
mov qword [rdi + 0x40], r13
mov qword [rdi + 0x38], r13
mov qword [rdi + 0x30], r13
jmp 0x180015c22
mov rdi, r13
jmp 0x1800162e1
mov rcx, qword [rdi + 0x48]
jmp 0x1800162d2
mov rcx, rsi
call sym.python310.dll__PyUnicode_Ready
cmp eax, r15d
je 0x180189ed5
jmp 0x180016328
inc qword [0x1803fc2c0]
lea rdx, [0x180424a98]
lea rcx, [0x1803fc2c0]
call fcn.18009a180
mov qword [0x180423bb0], rax
test rax, rax
jne 0x180016338
call sym.python310.dll_PyErr_Clear
nop
jmp 0x180016371
lea rcx, [rdi + 3]
and rcx, 0xfffffffffffffffc
mov qword [rbp + 0xe0], rcx
jmp 0x180016413
mov rcx, r13
mov qword [rbp + 0xe0], rcx
jmp 0x18001642f
mov rcx, qword [0x18044f1f0]
call sym.python310.dll__PyErr_NoMemory
mov rdi, qword [rbp - 0x80]
jmp 0x1800163ce
mov edx, 0x150
lea rcx, str.D:_w1_sObjectslistobject.c
call sym.python310.dll__PyErr_BadInternalCall
sub qword [rdi], 1
jne 0x180189f39
mov rax, qword [rdi + 8]
mov rcx, rdi
call qword [rax + 0x30]
mov rsi, r13
jmp case.0x180015ab9.48
mov r14d, r10d
jmp 0x1800166e2
xor edx, edx
xor ecx, ecx
call sym.python310.dll_PyUnicode_New
nop
jmp 0x180016735
lea rcx, [rbp - 0x80]
call sym.python310.dll_PyUnicode_InternInPlace
mov rax, qword [rbp - 0x80]
jmp 0x18001674b
cmp qword [rbx + 0x10], rsi
jne 0x180189f81
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_getc]
mov r15d, eax
jmp 0x180015c7c
mov rdx, rbx
mov rcx, r10
call fcn.180016974
test rax, rax
je 0x180015c7c
movzx r15d, byte [rax]
jmp 0x180015c7c
mov edx, 0x45
lea rcx, str.D:_w1_sObjects_tupleobject.c
call sym.python310.dll__PyErr_BadInternalCall
mov r15, r13
jmp 0x180016530
inc qword [sym.python310.dll_PyTuple_Type]
jmp 0x180015d24
xor edx, edx
lea rcx, [0x18044f1f0]
call fcn.18015a1ec
cmp qword [rax + 0x58], r13
jne 0x180189fea
mov rcx, qword [sym.python310.dll_PyExc_TypeError]
lea rdx, str.NULL_object_in_marshal_data_for_tuple
call sym.python310.dll_PyErr_SetString
sub qword [r15], 1
jne 0x180189ffa
mov rax, qword [r15 + 8]
mov rcx, r15
call qword [rax + 0x30]
mov r15, r13
jmp 0x180016567
lea rdx, str.bad_marshal_data__tuple_size_out_of_range_
jmp 0x18018a54b
mov rcx, rbx
call fcn.180141944
xor edx, edx
movsxd r8, eax
lea rcx, [0x18044f1f0]
call fcn.18015a1ec
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
test r8d, r8d
js 0x18018a0cd
mov rcx, r8
mov r14, r8
call sym.python310.dll_PyList_New
mov rdi, rax
test r12d, r12d
je 0x18018a05b
mov r8, rbx
mov rcx, rax
call fcn.1800450c4
mov rdi, rax
test rdi, rdi
je case.0x180015ab9.48
test r14, r14
jle 0x18018a0c5
mov rcx, rbx
call fcn.180015960
mov rcx, rax
test rax, rax
je 0x18018a08b
mov rax, qword [rdi + 0x18]
mov qword [rax + rsi*8], rcx
inc rsi
cmp rsi, r14
jl 0x18018a069
jmp 0x18018a0c5
xor edx, edx
lea rcx, [0x18044f1f0]
call fcn.18015a1ec
cmp qword [rax + 0x58], r13
jne 0x18018a0b2
mov rcx, qword [sym.python310.dll_PyExc_TypeError]
lea rdx, str.NULL_object_in_marshal_data_for_list
call sym.python310.dll_PyErr_SetString
sub qword [rdi], 1
jne 0x18018a0c2
mov rax, qword [rdi + 8]
mov rcx, rdi
call qword [rax + 0x30]
mov rdi, r13
mov rsi, rdi
jmp case.0x180015ab9.48
lea rdx, str.bad_marshal_data__list_size_out_of_range_
jmp 0x18018a54b
inc qword [0x1803fc2c0]
lea rdx, [0x180424a98]
lea rcx, [0x1803fc2c0]
call fcn.18009a180
mov qword [rbp - 0x80], rax
mov rdi, rax
test r12d, r12d
je 0x18018a111
mov r8, rbx
mov rcx, rax
call fcn.1800450c4
mov rdi, rax
mov qword [rbp - 0x80], rax
test rdi, rdi
je case.0x180015ab9.48
mov rcx, rbx
call fcn.180015960
mov rsi, rax
test rax, rax
je 0x18018a1c3
mov rcx, rbx
call fcn.180015960
mov r14, rax
test rax, rax
je 0x18018a1b3
mov r8, rax
mov rdx, rsi
mov rcx, rdi
call sym.python310.dll_PyDict_SetItem
mov rcx, qword [rsi]
dec rcx
mov qword [rsi], rcx
test eax, eax
js 0x18018a18e
test rcx, rcx
jne 0x18018a168
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [rax + 0x30]
sub qword [r14], 1
jne 0x18018a178
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [rax + 0x30]
mov rcx, rbx
call fcn.180015960
mov rdi, qword [rbp - 0x80]
mov rsi, rax
test rax, rax
jne 0x18018a12e
jmp 0x18018a1c3
test rcx, rcx
jne 0x18018a19d
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [rax + 0x30]
sub qword [r14], 1
jne 0x18018a1ad
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [rax + 0x30]
mov rdi, qword [rbp - 0x80]
jmp 0x18018a1c3
sub qword [rsi], 1
jne 0x18018a1c3
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [rax + 0x30]
xor edx, edx
lea rcx, [0x18044f1f0]
call fcn.18015a1ec
cmp qword [rax + 0x58], r13
je 0x18018a0c5
sub qword [rdi], 1
jne 0x18018a0c2
mov rax, qword [rdi + 8]
mov rcx, rdi
call qword [rax + 0x30]
mov rdi, r13
mov rsi, r13
jmp case.0x180015ab9.48
cmp edi, 0x3e
jne 0x18001662d
call fcn.18022dd84
test rax, rax
je case.0x180015ab9.48
test r12d, r12d
je 0x1800167b4
jmp 0x180016757
lea rcx, sym.python310.dll_PySet_Type
call fcn.1800890f0
mov r15, rax
test r12d, r12d
je 0x18001665e
mov r8, rbx
mov rcx, rax
call fcn.1800450c4
mov r15, rax
jmp 0x18001665e
test r15, r15
je case.0x180015ab9.48
sub qword [r15], 1
jne case.0x180015ab9.48
mov rax, qword [r15 + 8]
mov rcx, r15
call qword [rax + 0x30]
nop
jmp case.0x180015ab9.48
mov rdx, qword [rsi + 8]
mov rcx, rsi
call qword [rdx + 0x30]
nop
jmp 0x1800166a8
sub qword [r15], 1
jne 0x18018a28d
mov rax, qword [r15 + 8]
mov rcx, r15
call qword [rax + 0x30]
sub qword [rsi], 1
jne 0x18018a2d3
mov rax, qword [rsi + 8]
mov rcx, rsi
jmp 0x18018a2d0
xor edx, edx
lea rcx, [0x18044f1f0]
call fcn.18015a1ec
cmp qword [rax + 0x58], r13
jne 0x18018a2c3
mov rcx, qword [sym.python310.dll_PyExc_TypeError]
lea rdx, str.NULL_object_in_marshal_data_for_set
call sym.python310.dll_PyErr_SetString
sub qword [r15], 1
jne 0x18018a2d3
mov rax, qword [r15 + 8]
mov rcx, r15
call qword [rax + 0x30]
mov r15, r13
jmp 0x1800166be
lea rdx, str.bad_marshal_data__set_size_out_of_range_
jmp 0x18018a54b
lea rdx, str.bad_marshal_data__index_list_too_large_
jmp 0x18018a54b
xor edx, edx
lea rcx, [0x18044f1f0]
call fcn.18015a1ec
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
jmp 0x1800160d8
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
nop
jmp 0x180016178
mov rsi, qword [rbp - 0x80]
mov r15, qword [rbp - 0x20]
jmp 0x180016178
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
nop
jmp 0x180016186
mov rax, qword [r15 + 8]
mov rcx, r15
call qword [rax + 0x30]
nop
jmp 0x180016195
mov rax, qword [r13 + 8]
mov rcx, r13
call qword [rax + 0x30]
nop
jmp 0x1800161a5
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
nop
jmp 0x1800161b8
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
nop
jmp 0x1800161cb
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
nop
jmp 0x1800161de
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
nop
jmp 0x1800161f1
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
nop
jmp 0x180016204
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
nop
jmp case.0x180015ab9.48
mov rsi, qword [rbp - 0x80]
jmp case.0x180015ab9.48
lea rdx, str.bad_marshal_data__unknown_type_code_
jmp 0x18018a54b
lea rdx, str.marshal_data_too_short
jmp 0x18018a520
mov rax, qword [rbx + 0x28]
test rax, rax
jne 0x18018a3f1
lea ecx, [rax + 4]
call sym.python310.dll_PyMem_Malloc
mov qword [rbx + 0x28], rax
test rax, rax
jne 0x18018a41f
mov rcx, qword [0x18044f1f0]
call sym.python310.dll__PyErr_NoMemory
jmp 0x18018a52c
cmp qword [rbx + 0x30], 4
jge 0x18018a42d
mov edx, 4
mov rcx, rax
call sym.python310.dll_PyMem_Realloc
test rax, rax
jne 0x18018a41b
mov rcx, qword [0x18044f1f0]
call sym.python310.dll__PyErr_NoMemory
jmp 0x18018a52c
mov qword [rbx + 0x28], rax
mov r10d, 1
mov qword [rbx + 0x30], 4
cmp qword [rbx + 0x10], rsi
jne 0x18018a450
mov r9, qword [rbx]
mov r8d, 4
mov rdx, r10
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov r15, rax
jmp 0x18018a4d0
mov dword [rsp + 0x28], 9
lea rcx, [rbp + 0x40]
mov r9d, 4
mov dword [rsp + 0x20], r13d
mov r8, rax
xor edx, edx
call sym.python310.dll_PyBuffer_FillInfo
cmp eax, r15d
je 0x18018a52c
lea rcx, [rbp + 0x40]
call sym.python310.dll_PyMemoryView_FromBuffer
test rax, rax
je 0x18018a52c
mov rcx, qword [rbx + 0x10]
lea r8, [0x18023ed14]
mov r9, rax
lea rdx, str.readinto
call sym.python310.dll__PyObject_CallMethodId_SizeT
mov rdi, rax
test rax, rax
je 0x18018a4da
mov rdx, qword [sym.python310.dll_PyExc_ValueError]
mov rcx, rax
call sym.python310.dll_PyNumber_AsSsize_t
sub qword [rdi], 1
mov r15, rax
jne 0x18018a4d0
mov rdx, qword [rdi + 8]
mov rcx, rdi
call qword [rdx + 0x30]
cmp r15, 4
je 0x180016882
xor edx, edx
lea rcx, [0x18044f1f0]
call fcn.18015a1ec
cmp qword [rax + 0x58], rsi
jne 0x18018a52c
cmp r15, 4
jle 0x18018a519
mov rcx, qword [sym.python310.dll_PyExc_ValueError]
lea rdx, str.read___returned_too_much_data:__zd_bytes_requested___zd_returned
mov r9, r15
mov r8d, 4
call sym.python310.dll_PyErr_Format
jmp 0x18018a52c
cmp ecx, 0xffffffff
je 0x18018a52c
jmp 0x18018a544
lea rdx, str.EOF_read_where_not_expected
mov rcx, qword [sym.python310.dll_PyExc_EOFError]
call sym.python310.dll_PyErr_SetString
xor edx, edx
lea rcx, [0x18044f1f0]
call fcn.18015a1ec
cmp qword [rax + 0x58], rsi
jne case.0x180015ab9.48
lea rdx, str.bad_marshal_data__invalid_reference_
mov rcx, qword [sym.python310.dll_PyExc_ValueError]
call sym.python310.dll_PyErr_SetString
nop
jmp case.0x180015ab9.48