Function at 0x43f350
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0x2c]
mov esi, dword fs:[0x18]
sub esp, 0x48
mov ecx, dword [sym.imp.kernel32.dll_GetCurrentConsoleFont]
mov dword [ebp - 0x3c], eax
mov dword [esi + 0x34], 0xdeadbeef
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [ebp - 0x38], ecx
call ecx
sub esp, 0xc
mov edi, eax
mov eax, 0xd71
call fcn.00427180
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d__expected_0_n
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd72
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_6_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 6
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd73
call fcn.00427180
movsx edx, word [ebp - 0x28]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test dx, dx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd74
call fcn.00427180
movsx edx, word [ebp - 0x26]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test dx, dx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp], 0
mov ecx, dword [ebp - 0x38]
call ecx
sub esp, 0xc
mov edi, eax
mov eax, 0xd79
call fcn.00427180
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d__expected_0_n
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd7a
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_6_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 6
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd7b
call fcn.00427180
movsx edx, word [ebp - 0x28]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test dx, dx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd7c
call fcn.00427180
movsx edx, word [ebp - 0x26]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test dx, dx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov edx, dword [sym.imp.kernel32.dll_GetStdHandle]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [esp], 0xfffffff6
mov dword [ebp - 0x40], edx
call edx
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
mov ecx, dword [ebp - 0x38]
call ecx
sub esp, 0xc
mov edi, eax
mov eax, 0xd81
call fcn.00427180
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d__expected_0_n
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd82
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_6_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 6
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd83
call fcn.00427180
movsx ecx, word [ebp - 0x28]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test cx, cx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd84
call fcn.00427180
movsx ecx, word [ebp - 0x26]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test cx, cx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [esp], 0xfffffff6
mov edx, dword [ebp - 0x40]
call edx
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp], eax
mov ecx, dword [ebp - 0x38]
call ecx
sub esp, 0xc
mov edi, eax
mov eax, 0xd89
call fcn.00427180
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d__expected_0_n
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd8a
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_6_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 6
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd8b
call fcn.00427180
movsx edx, word [ebp - 0x28]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test dx, dx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd8c
call fcn.00427180
movsx edx, word [ebp - 0x26]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test dx, dx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00427ef0
lea eax, [ebp - 0x30]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
lea eax, [ebp - 0x34]
mov dword [esp + 8], 0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreatePipe]
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 0x10
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
mov ecx, dword [ebp - 0x38]
call ecx
sub esp, 0xc
mov edi, eax
mov eax, 0xd92
call fcn.00427180
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.got__d__expected_0_n
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd93
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_6_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 6
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd94
call fcn.00427180
movsx edx, word [ebp - 0x28]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test dx, dx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xd95
call fcn.00427180
movsx edx, word [ebp - 0x26]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test dx, dx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, dword [ebp - 0x34]
mov edi, dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x30]
sub esp, 4
mov dword [esp], eax
call edi
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
mov ecx, dword [ebp - 0x38]
call ecx
sub esp, 0xc
mov edi, eax
mov eax, 0xd9c
call fcn.00427180
mov dword [esp + 8], edi
mov dword [esp], edi
mov dword [esp + 4], str.got__d__expected_non_zero_n
call fcn.00427ef0
mov eax, 0xd9d
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_0xdeadbeef_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.00427ef0
lea eax, [ebp - 0x22]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetConsoleScreenBufferInfo]
movzx edi, word [ebp - 0x14]
sub esp, 8
lea esi, [edi + 1]
movzx edi, word [ebp - 0x12]
sub si, word [ebp - 0x18]
lea eax, [edi + 1]
mov edi, eax
mov eax, dword [ebp - 0x2c]
sub di, word [ebp - 0x16]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetConsoleFontSize]
mov dword [ebp - 0x40], eax
sub esp, 8
mov eax, 0xda2
call fcn.00427180
movsx ecx, si
mov edx, 1
mov dword [ebp - 0x44], ecx
movsx ecx, word [ebp - 0x28]
cmp cx, si
je 0x43f8dc
xor edx, edx
cmp cx, word [ebp - 0x40]
sete dl
mov eax, dword [ebp - 0x44]
mov dword [esp + 8], ecx
movsx esi, di
mov dword [esp], edx
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x5908fd
call fcn.00427ef0
call fcn.0057d110
mov edx, 1
mov dword [eax], 0x58f03f
mov dword [eax + 4], 0xda4
movsx ecx, word [ebp - 0x26]
cmp cx, di
je 0x43f929
mov edx, dword [ebp - 0x40]
sar edx, 0x10
cmp cx, dx
sete dl
movzx edx, dl
mov dword [esp + 8], ecx
mov dword [esp], edx
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0x5908fd
mov esi, dword fs:[0x18]
call fcn.00427ef0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
mov eax, dword [ebp - 0x38]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0xdaa
call fcn.00427180
mov dword [esp + 8], ebx
mov dword [esp], ebx
mov dword [esp + 4], str.got__d__expected_non_zero_n
call fcn.00427ef0
call fcn.0057d110
mov dword [eax], 0x58f03f
mov dword [eax + 4], 0xdab
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_0xdeadbeef_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.00427ef0
call fcn.0057d110
mov dword [eax], 0x58f03f
mov dword [eax + 4], 0xdac
movsx ecx, word [ebp - 0x10]
movzx eax, word [ebp - 0x28]
mov dword [esp + 4], 0x5908fd
mov edx, ecx
mov dword [esp + 0xc], ecx
cmp dx, ax
movsx ecx, ax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp], eax
call fcn.00427ef0
call fcn.0057d110
mov dword [eax], 0x58f03f
mov dword [eax + 4], 0xdae
movsx ecx, word [ebp - 0xe]
movzx eax, word [ebp - 0x26]
mov dword [esp + 4], 0x5908fd
mov edx, ecx
mov dword [esp + 0xc], ecx
cmp dx, ax
movsx ecx, ax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp], eax
call fcn.00427ef0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret