Function at 0x1800ab904
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rdi, qword [rcx + 0x20]
mov r13d, r8d
mov r8, qword [rdx + 8]
xor esi, esi
movsxd rbx, r9d
mov r14, rdx
cmp dword [r8 + 0xa8], esi
jge 0x1800abd22
mov rdi, qword [rdi]
mov rcx, r14
mov rdx, rdi
call sym.python310.dll_PyType_IsSubtype
test eax, eax
je 0x1800abccd
lea rcx, [0x18024ead0]
mov al, 0x62
movsx eax, al
cmp eax, r13d
je 0x1800ab97a
add rcx, 0x30
mov al, byte [rcx]
test al, al
jne 0x1800ab95c
lea rdx, str.second_argument_must_be_a_valid_type_code
jmp 0x1800abc38
cmp ebx, 0x15
ja 0x1800abc31
mov r14, qword [rsp + 0xa0]
mov r8, qword [r14 + 8]
test dword [r8 + 0xa8], 0x8000000
je 0x1800abcb1
mov cl, r13b
call fcn.1800abf40
cmp ebx, eax
jne 0x1800ab9d7
mov rcx, qword [rsp + 0x88]
mov r8, r14
mov dl, r13b
call fcn.1800abd2c
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp ebx, 0xffffffff
je 0x1800ab9ac
mov r10, qword [r14 + 0x10]
lea r9, [0x18025fdd0]
xor edx, edx
mov r8, rbx
add r8, r8
mov rax, r10
div qword [r9 + r8*8]
test rdx, rdx
jne 0x1801a9cae
lea edi, [rdx + 1]
cmp ebx, 0xa
jg 0x1800abb06
je 0x1800aba30
lea ebp, [rdx + 4]
cmp ebx, ebp
jg 0x1800abba8
je 0x1800aba30
test ebx, ebx
je 0x1800aba30
cmp ebx, edi
je 0x1800aba30
cmp ebx, 2
je 0x1800aba30
cmp ebx, 3
jne 0x1801a9cd3
movups xmm0, xmmword [r9 + r8*8]
xor edx, edx
mov rax, r10
movq r15, xmm0
div r15
movups xmmword [rsp + 0x30], xmm0
mov r12d, dword [rsp + 0x38]
lea rdx, [0x18024ead4]
mov rbp, rax
add r14, 0x20
cmp dword [rdx + 0x24], esi
je 0x1800aba6b
movsxd rcx, dword [rdx]
cmp rcx, r15
je 0x1800abaf2
add rdx, 0x30
cmp byte [rdx - 4], sil
jne 0x1800aba5a
mov rcx, rbp
call sym.python310.dll_PyList_New
mov rbx, rax
test rax, rax
je 0x1800abc44
test rbp, rbp
jle 0x1800abac4
xor r8d, r8d
mov r9d, r12d
cmp dword [rsp + 0x3c], r8d
mov rdx, r15
mov rcx, r14
sete r8b
call sym.python310.dll__PyLong_FromByteArray
test rax, rax
je 0x1801a9cba
mov rcx, qword [rbx + 0x18]
add r14, r15
mov qword [rcx + rsi*8], rax
add rsi, rdi
cmp rsi, rbp
jl 0x1800aba8e
mov rcx, qword [rsp + 0x88]
mov r8, rbx
mov dl, r13b
call fcn.1800abd2c
sub qword [rbx], 1
mov rdi, rax
jne 0x1800abaea
mov rdx, qword [rbx + 8]
mov rcx, rbx
call qword [rdx + 0x30]
mov rax, rdi
jmp 0x1800ab9bf
cmp dword [rdx + 0x28], r12d
jne 0x1800aba6b
movsx r13d, byte [rdx - 4]
jmp 0x1800aba6b
cmp ebx, 0x10
jg 0x1800abbd0
je 0x1800abc4b
mov ecx, ebx
sub ecx, 0xb
je 0x1800aba30
sub ecx, edi
je 0x1800aba30
sub ecx, edi
je 0x1800aba30
sub ecx, edi
je 0x1800abb3c
cmp ecx, edi
jne 0x1801a9cd3
mov rax, r10
cmp ebx, 0xe
cqo
mov r12d, esi
sete r12b
mov ebp, 4
idiv rbp
add r14, 0x20
mov rcx, rax
mov r15, rax
call sym.python310.dll_PyList_New
mov rbx, rax
test rax, rax
je 0x1800abc44
test r15, r15
jle 0x1800abac4
mov edx, r12d
mov rcx, r14
call sym.python310.dll__PyFloat_Unpack4
call sym.python310.dll_PyFloat_FromDouble
test rax, rax
je 0x1801a9cba
mov rcx, qword [rbx + 0x18]
add r14, rbp
mov qword [rcx + rsi*8], rax
add rsi, rdi
cmp rsi, r15
jl 0x1800abb77
jmp 0x1800abac4
sub ebx, 5
je 0x1800aba30
sub ebx, edi
je 0x1800aba30
sub ebx, edi
je 0x1800aba30
sub ebx, edi
je 0x1800aba30
cmp ebx, edi
jmp 0x1800aba2a
mov ecx, ebx
sub ecx, 0x11
je 0x1800abc4b
sub ecx, edi
je 0x1800abced
sub ecx, edi
je 0x1800abced
sub ecx, edi
je 0x1800abbf3
cmp ecx, edi
jne 0x1801a9cd3
or eax, 0xffffffff
mov qword [rsp + 0x20], rsi
cmp ebx, 0x14
lea rcx, [r14 + 0x20]
lea r9, [rsp + 0x80]
mov rdx, r10
cmovne eax, edi
lea r8, str.strict
mov dword [rsp + 0x80], eax
call sym.python310.dll_PyUnicode_DecodeUTF32Stateful
mov rbx, rax
test rax, rax
jne 0x1800abac4
jmp 0x1800abc44
lea rdx, str.third_argument_must_be_a_valid_machine_format_code.
mov rcx, qword [sym.python310.dll_PyExc_ValueError]
call sym.python310.dll_PyErr_SetString
xor eax, eax
jmp 0x1800ab9bf
mov rax, r10
mov ecx, 8
cqo
cmp ebx, 0x10
mov r15d, esi
sete r15b
idiv rcx
mov rcx, rax
mov rbp, rax
call sym.python310.dll_PyList_New
mov rbx, rax
test rax, rax
je 0x1800abc44
test rbp, rbp
jle 0x1800abac4
lea rcx, [r14 + 0x20]
mov edx, r15d
lea rcx, [rcx + rsi*8]
call sym.python310.dll__PyFloat_Unpack8
call sym.python310.dll_PyFloat_FromDouble
test rax, rax
je 0x1801a9cba
mov rcx, qword [rbx + 0x18]
mov qword [rcx + rsi*8], rax
add rsi, rdi
cmp rsi, rbp
jl 0x1800abc7e
jmp 0x1800abac4
lea rdx, str.fourth_argument_should_be_bytes__not__.200s
mov r8, qword [r8 + 0x18]
mov rcx, qword [sym.python310.dll_PyExc_TypeError]
call sym.python310.dll_PyErr_Format
jmp 0x1800abc44
mov r9, qword [rdi + 0x18]
lea rdx, str._.200s_is_not_a_subtype_of__.200s
mov r8, qword [r14 + 0x18]
mov rcx, qword [sym.python310.dll_PyExc_TypeError]
call sym.python310.dll_PyErr_Format
jmp 0x1800abc44
or eax, 0xffffffff
mov qword [rsp + 0x20], rsi
cmp ebx, 0x12
lea rcx, [r14 + 0x20]
lea r9, [rsp + 0x80]
mov rdx, r10
cmovne eax, edi
lea r8, str.strict
mov dword [rsp + 0x80], eax
call sym.python310.dll_PyUnicode_DecodeUTF16Stateful
jmp 0x1800abc23
lea rdx, str.first_argument_must_be_a_type_object__not__.200s
jmp 0x1800abcb8
lea rdx, str.string_length_not_a_multiple_of_item_size
jmp 0x1800abc38
sub qword [rbx], rdi
jne 0x1800abc44
mov rax, qword [rbx + 8]
mov rcx, rbx
call qword [rax + 0x30]
nop
jmp 0x1800abc44
call sym.python310.dll_PyErr_BadArgument
nop
jmp 0x1800abc44