Function at 0x180044740
Capabilities:
Create pipe

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 8], rcx
push rbp
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov r13d, r8d
mov r14d, edx
mov r12, rcx
lea r8, [rbp + 0xf]
lea rdx, [rbp - 9]
lea rcx, [rbp - 0x31]
xor edi, edi
xor r9d, r9d
mov dword [rbp + 0xf], 0x18
mov dword [rbp + 0x1f], 1
mov qword [rbp + 0x17], rdi
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x1800447b2
lea rcx, [0x180318c08]
xor edx, edx
call fcn.1800415f0
add rsp, 0xe0
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret
mov qword [rsp + 0x118], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdx, qword [rbp - 9]
mov dword [rsp + 0x30], 2
lea r9, [rbp - 0x51]
mov r8, rbx
mov rcx, rax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x1800448c6
mov rcx, qword [rbp - 9]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r8, [rbp + 0xf]
lea rdx, [rbp - 0x21]
lea rcx, [rbp - 1]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x18004487c
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdx, qword [rbp - 1]
mov dword [rsp + 0x30], 2
lea r9, [rbp - 0x59]
mov r8, rbx
mov rcx, rax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x1800448c6
mov rcx, qword [rbp - 1]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp r13d, 4
je 0x1800448e3
lea r8, [rbp + 0xf]
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 0x19]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x18004488f
lea rcx, [0x180318c08]
xor edx, edx
call fcn.1800415f0
jmp 0x180044f49
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdx, qword [rbp - 0x19]
mov dword [rsp + 0x30], 2
lea r9, [rbp - 0x61]
mov r8, rbx
mov rcx, rax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
jne 0x1800448d9
lea rcx, [0x180318c18]
xor edx, edx
call fcn.1800415f0
jmp 0x180044f49
mov rcx, qword [rbp - 0x19]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, r13d
mov qword [rsp + 0xd8], rsi
mov qword [rsp + 0xd0], r15
dec ecx
je 0x180044c5f
dec ecx
je 0x180044a6a
dec ecx
je 0x18004492b
dec ecx
je 0x180044a6a
mov rax, qword [rbp + 0x7f]
mov r15, qword [rbp + 0x7f]
mov r12, qword [rbp + 0x7f]
mov r13d, dword [rbp + 0x7f]
mov qword [rbp - 0x49], rax
jmp 0x180044b5a
bt r14d, 0xe
jae 0x180044942
lea rbx, [0x180313b9c]
lea rsi, [0x180318c28]
jmp 0x180044950
lea rbx, [0x180318c2c]
lea rsi, [0x180318c30]
mov rcx, qword [rbp - 0x51]
mov edx, r14d
call fcn.18023a234
mov rdx, rsi
mov ecx, eax
call fcn.18023b0f0
mov rcx, qword [rbp - 0x59]
mov edx, r14d
mov r15, rax
call fcn.18023a234
mov rdx, rbx
mov ecx, eax
call fcn.18023b0f0
mov rcx, qword [rbp - 0x61]
mov edx, r14d
mov qword [rbp - 0x49], rax
call fcn.18023a234
mov rdx, rbx
mov ecx, eax
call fcn.18023b0f0
lea r9, [0x180044f70]
mov r8, rsi
mov rdx, r12
mov rcx, r15
mov r13, rax
mov qword [rbp - 0x41], rax
call sym.extension.dll_PyFile_FromFile
mov rcx, qword [rbp - 0x49]
lea r9, [0x180044f70]
mov r8, rbx
mov rdx, r12
mov r14, rax
call sym.extension.dll_PyFile_FromFile
lea r9, [0x180044f70]
mov r8, rbx
mov rdx, r12
mov rcx, r13
mov rsi, rax
call sym.extension.dll_PyFile_FromFile
xor edx, edx
mov rcx, r14
mov rbx, rax
call sym.extension.dll_PyFile_SetBufSize
xor edx, edx
mov rcx, rsi
call sym.extension.dll_PyFile_SetBufSize
xor edx, edx
mov rcx, rbx
call sym.extension.dll_PyFile_SetBufSize
mov r13d, 3
mov r9, rbx
mov r8, rsi
mov rdx, r14
mov ecx, r13d
call sym.extension.dll_PyTuple_Pack
mov r12, rax
test r14, r14
je 0x180044a35
dec qword [r14]
jne 0x180044a35
mov rdx, qword [r14 + 8]
mov rcx, r14
call qword [rdx + 0x30]
test rsi, rsi
je 0x180044a49
dec qword [rsi]
jne 0x180044a49
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [rax + 0x30]
test rbx, rbx
je 0x180044da5
dec qword [rbx]
jne 0x180044da5
mov rax, qword [rbx + 8]
mov rcx, rbx
call qword [rax + 0x30]
jmp 0x180044da5
bt r14d, 0xe
jae 0x180044a81
lea rbx, [0x180313b9c]
lea rsi, [0x180318c28]
jmp 0x180044a8f
lea rbx, [0x180318c2c]
lea rsi, [0x180318c30]
mov rcx, qword [rbp - 0x51]
mov edx, r14d
call fcn.18023a234
mov rdx, rsi
mov ecx, eax
call fcn.18023b0f0
mov rcx, qword [rbp - 0x59]
mov edx, r14d
mov r15, rax
call fcn.18023a234
mov rdx, rbx
mov ecx, eax
call fcn.18023b0f0
lea r9, [0x180044f70]
mov r8, rsi
mov rdx, r12
mov rcx, r15
mov r14, rax
mov qword [rbp - 0x49], rax
call sym.extension.dll_PyFile_FromFile
xor edx, edx
mov rcx, rax
mov rsi, rax
call sym.extension.dll_PyFile_SetBufSize
lea r9, [0x180044f70]
mov r8, rbx
mov rdx, r12
mov rcx, r14
call sym.extension.dll_PyFile_FromFile
xor edx, edx
mov rcx, rax
mov rbx, rax
call sym.extension.dll_PyFile_SetBufSize
cmp r13d, 4
je 0x180044b19
mov rcx, qword [rbp - 0x61]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8, rbx
mov rdx, rsi
mov ecx, 2
call sym.extension.dll_PyTuple_Pack
mov r12, rax
test rsi, rsi
je 0x180044b40
dec qword [rsi]
jne 0x180044b40
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [rax + 0x30]
test rbx, rbx
je 0x180044b54
dec qword [rbx]
jne 0x180044b54
mov rax, qword [rbx + 8]
mov rcx, rbx
call qword [rax + 0x30]
mov r13d, 2
cmp dword [rbp + 0x77], 4
jne 0x180044c52
mov r8, qword [rbp - 0x21]
mov rdx, qword [rbp - 0x31]
mov rcx, qword [rbp + 0x67]
lea rax, [rbp - 0x39]
mov r9, r8
mov qword [rsp + 0x20], rax
call fcn.180045420
test eax, eax
je 0x180044dcb
mov rbx, qword [rbp + 0x7f]
mov qword [rbp - 0x41], rbx
cmp qword [0x18050d9f0], rdi
jne 0x180044baf
call sym.extension.dll_PyDict_New
mov qword [0x18050d9f0], rax
test rax, rax
je 0x180044ef6
mov ecx, 2
mov rbx, rdi
mov rsi, rdi
mov dword [rbp + 0x7f], edi
mov dword [rbp - 0x69], edi
mov dword [rbp - 0x29], edi
call sym.extension.dll_PyList_New
mov rcx, qword [rbp - 0x39]
mov r14, rax
call sym.extension.dll_PyLong_FromVoidPtr
mov ecx, r13d
mov qword [rbp - 0x39], rax
call sym.extension.dll_PyInt_FromLong
mov rcx, rax
mov qword [rbp + 7], rax
test r14, r14
je 0x180044ef6
mov rax, qword [rbp - 0x39]
test rax, rax
je 0x180044eab
test rcx, rcx
je 0x180044eab
mov r8, rax
xor edx, edx
mov rcx, r14
call sym.extension.dll_PyList_SetItem
mov r8, qword [rbp + 7]
mov edx, 1
mov rcx, r14
call sym.extension.dll_PyList_SetItem
mov rcx, r15
call sym.extension.dll_PyLong_FromVoidPtr
mov rsi, rax
test rax, rax
je 0x180044dd2
mov rcx, qword [0x18050d9f0]
mov r8, r14
mov rdx, rax
call sym.extension.dll_PyDict_SetItem
mov r15d, eax
jmp 0x180044dd6
mov rbx, qword [rbp + 0x7f]
mov qword [rbp - 0x41], rbx
jmp 0x180044da5
mov ecx, r14d
and ecx, 0xc001
sub ecx, 0x4000
je 0x180044d39
dec ecx
je 0x180044cf1
sub ecx, 0x3fff
je 0x180044cdc
dec ecx
jne 0x180044ccf
mov rcx, qword [rbp - 0x51]
mov edx, r14d
call fcn.18023a234
lea rsi, [0x180318c30]
mov rdx, rsi
mov ecx, eax
call fcn.18023b0f0
lea r9, [0x180044f70]
mov r8, rsi
mov rcx, rax
mov rdx, r12
mov r15, rax
call sym.extension.dll_PyFile_FromFile
xor edx, edx
mov rcx, rax
mov r12, rax
call sym.extension.dll_PyFile_SetBufSize
mov rcx, qword [rbp - 0x59]
jmp 0x180044d7f
mov r15, qword [rbp + 0x7f]
mov r12, qword [rbp + 0x7f]
jmp 0x180044d8f
mov rcx, qword [rbp - 0x59]
mov edx, r14d
call fcn.18023a234
lea rbx, [0x180318c2c]
jmp 0x180044d4c
mov rcx, qword [rbp - 0x51]
mov edx, r14d
call fcn.18023a234
lea rsi, [0x180318c28]
mov rdx, rsi
mov ecx, eax
call fcn.18023b0f0
lea r9, [0x180044f70]
mov r8, rsi
mov rcx, rax
mov rdx, r12
mov r15, rax
call sym.extension.dll_PyFile_FromFile
xor edx, edx
mov rcx, rax
mov r12, rax
call sym.extension.dll_PyFile_SetBufSize
mov rcx, qword [rbp - 0x59]
jmp 0x180044d7f
mov rcx, qword [rbp - 0x59]
mov edx, r14d
call fcn.18023a234
lea rbx, [0x180313b9c]
mov rdx, rbx
mov ecx, eax
call fcn.18023b0f0
lea r9, [0x180044f70]
mov r8, rbx
mov rcx, rax
mov rdx, r12
mov r15, rax
call sym.extension.dll_PyFile_FromFile
xor edx, edx
mov rcx, rax
mov r12, rax
call sym.extension.dll_PyFile_SetBufSize
mov rcx, qword [rbp - 0x51]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 0x61]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rbp + 0x7f]
mov r13d, 1
mov qword [rbp - 0x49], rax
mov rax, qword [rbp + 0x7f]
mov qword [rbp - 0x41], rax
mov r9, qword [rbp - 0x11]
mov r8, qword [rbp - 0x21]
mov rdx, qword [rbp - 0x31]
mov rcx, qword [rbp + 0x67]
lea rax, [rbp - 0x39]
mov qword [rsp + 0x20], rax
call fcn.180045420
test eax, eax
jne 0x180044b91
xor eax, eax
jmp 0x180044f39
mov r15d, dword [rbp - 0x29]
cmp r13d, 2
jl 0x180044e02
mov rcx, qword [rbp - 0x49]
call sym.extension.dll_PyLong_FromVoidPtr
mov rbx, rax
test rax, rax
je 0x180044e02
mov rcx, qword [0x18050d9f0]
mov r8, r14
mov rdx, rax
call sym.extension.dll_PyDict_SetItem
mov dword [rbp - 0x69], eax
cmp r13d, 3
jl 0x180044e30
mov rcx, qword [rbp - 0x41]
call sym.extension.dll_PyLong_FromVoidPtr
mov rdi, rax
test rax, rax
je 0x180044e30
mov rcx, qword [0x18050d9f0]
mov r8, r14
mov rdx, rax
call sym.extension.dll_PyDict_SetItem
mov dword [rbp + 0x7f], eax
jmp 0x180044e33
mov eax, dword [rbp + 0x7f]
test r15d, r15d
js 0x180044e60
test rsi, rsi
je 0x180044e5d
cmp dword [rbp - 0x69], 0
jl 0x180044e5d
cmp r13d, 1
jle 0x180044e4e
test rbx, rbx
je 0x180044e5d
test eax, eax
js 0x180044e5d
cmp r13d, 2
jle 0x180044eab
test rdi, rdi
jne 0x180044eab
test r15d, r15d
jne 0x180044e76
test rsi, rsi
je 0x180044e76
mov rcx, qword [0x18050d9f0]
mov rdx, rsi
call sym.extension.dll_PyDict_DelItem
cmp dword [rbp - 0x69], 0
jne 0x180044e90
test rbx, rbx
je 0x180044e90
mov rcx, qword [0x18050d9f0]
mov rdx, rbx
call sym.extension.dll_PyDict_DelItem
mov eax, dword [rbp + 0x7f]
test eax, eax
jne 0x180044eab
test rdi, rdi
je 0x180044eab
mov rcx, qword [0x18050d9f0]
mov rdx, rdi
call sym.extension.dll_PyDict_DelItem
dec qword [r14]
jne 0x180044eba
mov rax, qword [r14 + 8]
mov rcx, r14
call qword [rax + 0x30]
test rsi, rsi
je 0x180044ece
dec qword [rsi]
jne 0x180044ece
mov rax, qword [rsi + 8]
mov rcx, rsi
call qword [rax + 0x30]
test rbx, rbx
je 0x180044ee2
dec qword [rbx]
jne 0x180044ee2
mov rax, qword [rbx + 8]
mov rcx, rbx
call qword [rax + 0x30]
test rdi, rdi
je 0x180044ef6
dec qword [rdi]
jne 0x180044ef6
mov rax, qword [rdi + 8]
mov rcx, rdi
call qword [rax + 0x30]
mov rcx, qword [rbp - 0x31]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x180044f26
mov rcx, qword [rbp - 0x21]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x180044f26
cmp dword [rbp + 0x77], 4
je 0x180044f36
mov rcx, qword [rbp - 0x11]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x180044f36
lea rcx, [0x180318c38]
xor edx, edx
call fcn.1800415f0
jmp 0x180044f39
mov rax, r12
mov rsi, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0x118]
add rsp, 0xe0
pop r14
pop r13
pop r12
pop rdi
pop rbp
ret