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

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rax, qword [sym.imp.python312.dll_PyExc_GeneratorExit]
mov rsi, rdx
mov rdx, qword [r8]
mov rdi, rcx
mov rcx, qword [rax]
mov rbx, r8
mov rax, qword [rdx + 8]
test byte [rax + 0xab], 0x40
cmove rax, rdx
cmp rcx, rax
je 0x14005d980
mov rdx, qword [rax + 8]
mov r11d, dword [rdx + 0xa8]
test r11d, r11d
js 0x14005d928
mov rax, qword [rsi + 8]
cmp rax, qword [sym.imp.python312.dll_PyCoro_Type]
je 0x14005da28
cmp rax, qword [sym.imp.python312.dll_PyGen_Type]
je 0x14005da28
lea rdx, [0x1400a7660]
cmp rax, rdx
je 0x14005dad0
lea rdx, [0x1400a6e40]
cmp rax, rdx
je 0x14005daf0
lea rdx, [0x1400a6ca0]
cmp rax, rdx
je 0x14005da40
mov rax, qword [0x1400b18f0]
mov rcx, rsi
mov rdx, qword [rax + 0x268]
call qword [sym.imp.python312.dll_PyObject_GetAttr]
mov rsi, rax
test rax, rax
je 0x14005da80
mov rdx, qword [rbx]
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.python312.dll_PyObject_CallFunctionObjArgs]
mov rdi, rax
mov rax, qword [rsi]
test eax, eax
js 0x14005d8f9
sub rax, 1
mov qword [rsi], rax
jne 0x14005d8f9
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [rax + 0x30]
mov rcx, qword [rbx]
mov rax, qword [rcx]
test eax, eax
js 0x14005d913
sub rax, 1
mov qword [rcx], rax
jne 0x14005d913
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
mov rax, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
test byte [rax + 0xab], 0x40
je 0x14005d85c
mov rdx, qword [rax + 0x158]
test rdx, rdx
je 0x14005da60
mov r8, qword [rdx + 0x10]
test r8, r8
jle 0x14005d85c
xor eax, eax
jmp 0x14005d96d
add rax, 1
cmp r8, rax
je 0x14005d85c
cmp rcx, qword [rdx + rax*8 + 0x18]
jne 0x14005d960
nop word cs:[rax + rax]
nop
mov r12, qword [0x1400b18f0]
mov rcx, rsi
mov rdx, qword [r12 + 0x218]
call qword [sym.imp.python312.dll_PyObject_GetAttr]
mov rbp, rax
test rax, rax
je 0x14005db70
mov rdx, qword [r12]
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.python312.dll_PyObject_Call]
mov rsi, rax
mov rax, qword [rbp]
test eax, eax
js 0x14005d9cd
sub rax, 1
mov qword [rbp], rax
je 0x14005dbd0
test rsi, rsi
je 0x14005dac3
mov rax, qword [rsi]
test eax, eax
js 0x14005d9ea
sub rax, 1
mov qword [rsi], rax
je 0x14005dbe0
mov rcx, qword [rdi + 0x60]
mov rax, qword [rbx]
mov qword [rdi + 0x60], rax
test rcx, rcx
je 0x14005da11
mov rax, qword [rcx]
test eax, eax
js 0x14005da11
sub rax, 1
mov qword [rcx], rax
jne 0x14005da11
mov rax, qword [rcx + 8]
call qword [rax + 0x30]
xor edi, edi
mov rax, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp fcn.140083050
mov rdx, qword [rsi + 0x10]
mov r9, rbx
mov r8d, 1
mov rcx, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp fcn.1400655a0
mov rax, qword [rax + 0x100]
test rax, rax
je 0x14005dc90
cmp rcx, rax
jne 0x14005da60
jmp 0x14005d980
mov rax, qword [sym.imp.python312.dll_PyExc_AttributeError]
mov rcx, qword [rdi + 0x60]
mov r8, qword [rax]
test rcx, rcx
je 0x1400a425b
mov rdx, qword [rcx + 8]
mov rax, qword [rdx + 8]
test byte [rax + 0xab], 0x40
cmove rax, rdx
cmp r8, rax
je 0x14005db40
mov r9, qword [rax + 8]
mov r9d, dword [r9 + 0xa8]
test r9d, r9d
js 0x14005db08
mov rcx, qword [rbx]
jmp 0x14005d9fa
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp fcn.14005d1a0
mov r9, rbx
mov r8d, 1
mov rdx, rsi
jmp 0x14005da4d
test byte [rax + 0xab], 0x40
je 0x14005dac3
mov r9, qword [rax + 0x158]
test r9, r9
je 0x14005dbfd
mov r10, qword [r9 + 0x10]
test r10, r10
jle 0x14005dac3
xor eax, eax
jmp 0x14005db39
add rax, 1
cmp r10, rax
je 0x14005dac3
cmp r8, qword [r9 + rax*8 + 0x18]
jne 0x14005db30
mov rax, qword [rbx]
mov qword [rdi + 0x60], rax
mov rax, qword [rcx]
test eax, eax
js 0x14005da11
sub rax, 1
mov qword [rcx], rax
jne 0x14005da11
call qword [rdx + 0x30]
xor edi, edi
jmp 0x14005da13
mov rcx, qword [rdi + 0x60]
test rcx, rcx
je 0x14005dbef
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x14005dc70
mov rax, qword [sym.imp.python312.dll_PyExc_AttributeError]
mov r8, qword [rax]
mov rax, qword [rdx + 8]
test byte [rax + 0xab], 0x40
cmove rax, rdx
cmp r8, rax
je 0x14005dc70
mov rdx, qword [rax + 8]
mov r10d, dword [rdx + 0xa8]
test r10d, r10d
js 0x14005dc20
mov rcx, rsi
call qword [sym.imp.python312.dll_PyErr_WriteUnraisable]
jmp 0x14005d9ea
mov rax, qword [rbp + 8]
mov rcx, rbp
call qword [rax + 0x30]
jmp 0x14005d9cd
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [rax + 0x30]
jmp 0x14005d9ea
mov rax, qword [rbx]
mov qword [rdi + 0x60], rax
xor edi, edi
jmp 0x14005da13
mov rax, qword [rax + 0x100]
test rax, rax
je 0x14005dca2
cmp r8, rax
jne 0x14005dbfd
jmp 0x14005db40
test byte [rax + 0xab], 0x40
je 0x14005dbb8
mov rdx, qword [rax + 0x158]
test rdx, rdx
je 0x14005dc7c
mov r9, qword [rdx + 0x10]
test r9, r9
jle 0x14005dbb8
xor eax, eax
jmp 0x14005dc5d
add rax, 1
cmp r9, rax
je 0x14005dbb8
cmp r8, qword [rdx + rax*8 + 0x18]
jne 0x14005dc50
nop word cs:[rax + rax]
nop
mov rax, qword [rbx]
mov qword [rdi + 0x60], rax
jmp 0x14005d9fa
mov rax, qword [rax + 0x100]
test rax, rax
je 0x14005dcb4
cmp r8, rax
jne 0x14005dc7c
jmp 0x14005dc70
cmp rcx, qword [sym.imp.python312.dll_PyBaseObject_Type]
je 0x14005d980
jmp 0x14005d85c
cmp r8, qword [sym.imp.python312.dll_PyBaseObject_Type]
je 0x14005db40
jmp 0x14005dac3
cmp r8, qword [sym.imp.python312.dll_PyBaseObject_Type]
je 0x14005dc70
jmp 0x14005dbb8
mov rax, qword [8]
ud2