Function at 0x430cf0
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x88
mov dword [ebp - 0x74], eax
mov dword [esp], 0xfffffff6
call dword [sym.imp.kernel32.dll_GetStdHandle]
sub esp, 4
mov edi, eax
mov dword [esp], 0x58f08e
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
sub esp, 4
mov dword [esp + 4], str.GetCurrentConsoleFontEx
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
sub esp, 8
test eax, eax
je 0x431690
mov ebx, eax
lea eax, [ebp - 0x60]
mov esi, dword fs:[0x18]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0xc
mov dword [ebp - 0x78], eax
mov eax, 0xdc7
call fcn.00427180
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xdc8
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_87_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00427ef0
lea eax, [ebp - 0x60]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], 0
call ebx
sub esp, 0xc
mov dword [ebp - 0x78], eax
mov eax, 0xdcc
call fcn.00427180
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xdcd
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_87_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00427ef0
lea eax, [ebp - 0x60]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], 0
call ebx
sub esp, 0xc
mov dword [ebp - 0x78], eax
mov eax, 0xdd1
call fcn.00427180
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xdd2
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_87_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00427ef0
lea eax, [ebp - 0x60]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], 1
call ebx
sub esp, 0xc
mov dword [ebp - 0x78], eax
mov eax, 0xdd6
call fcn.00427180
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xdd7
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_87_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00427ef0
lea eax, [ebp - 0x60]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov dword [ebp - 0x78], eax
mov eax, 0xddb
call fcn.00427180
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xddc
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_87_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00427ef0
lea edx, [ebp - 0x60]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov dword [ebp - 0x78], eax
mov eax, 0xde0
call fcn.00427180
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xde1
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.got__lu__expected_87_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00427ef0
lea edx, [ebp - 0x60]
mov dword [ebp - 0x60], 0x54
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0xc
mov dword [ebp - 0x78], eax
mov eax, 0xde7
call fcn.00427180
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xde8
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
lea edx, [ebp - 0x60]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], 0
call ebx
sub esp, 0xc
mov dword [ebp - 0x78], eax
mov eax, 0xdec
call fcn.00427180
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xded
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
lea edx, [ebp - 0x60]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], edx
mov dword [esp], edi
mov dword [esp + 4], 0
call ebx
sub esp, 0xc
mov dword [ebp - 0x78], eax
mov eax, 0xdf1
call fcn.00427180
mov ecx, dword [ebp - 0x78]
xor eax, eax
mov dword [esp + 4], str.got__d__expected_0_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xdf2
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
lea edx, [ebp - 0x60]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], edx
mov dword [esp], edi
mov dword [esp + 4], 1
call ebx
sub esp, 0xc
mov edi, eax
mov eax, 0xdf6
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, 0xdf7
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
lea eax, [ebp - 0x6c]
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
lea eax, [ebp - 0x70]
mov dword [esp + 8], 0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CreatePipe]
lea edx, [ebp - 0x60]
mov dword [ebp - 0x68], 0
sub esp, 0x10
mov dword [ebp - 0x64], 0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov edi, eax
mov eax, 0xdfd
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, 0xdfe
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, dword [ebp - 0x70]
mov edi, dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x6c]
sub esp, 4
mov dword [esp], eax
call edi
lea edx, [ebp - 0x60]
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 4
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
call ebx
sub esp, 0xc
mov edi, eax
mov eax, 0xe04
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, 0xe05
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 edx, [ebp - 0x68]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], edx
mov edx, dword [sym.imp.kernel32.dll_GetCurrentConsoleFont]
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x74]
mov dword [esp], eax
mov dword [ebp - 0x84], edx
call edx
sub esp, 0xc
mov edi, eax
mov eax, 0xe0a
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, 0xe0b
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
mov eax, 0xe0d
call fcn.00427180
mov dword [esp + 4], str.expected_values_to_match_n
xor eax, eax
movzx edx, word [ebp - 0x64]
cmp word [ebp - 0x58], dx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xe0e
call fcn.00427180
mov dword [esp + 4], str.expected_values_to_match_n
xor eax, eax
movzx edx, word [ebp - 0x62]
cmp word [ebp - 0x56], dx
sete al
mov dword [esp], eax
call fcn.00427ef0
mov eax, dword [ebp - 0x5c]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x74]
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_GetConsoleFontSize]
mov edx, eax
sub esp, 8
mov edi, eax
mov eax, 0xe12
sar edx, 0x10
mov dword [ebp - 0x78], edx
call fcn.00427180
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.GetConsoleFontSize_failed__err___lu_n
mov dword [esp + 8], eax
cmp word [ebp - 0x78], 0
setne cl
xor eax, eax
test di, di
setne al
and eax, ecx
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xe13
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
mov eax, 0xe15
call fcn.00427180
movzx eax, word [ebp - 0x58]
movsx ecx, di
mov dword [ebp - 0x7c], ecx
cmp ax, di
mov dword [esp + 0xc], ecx
movsx ecx, ax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 4], str.Font_width_doesnt_match__got__u__expected__u_n
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xe17
call fcn.00427180
mov edx, dword [ebp - 0x78]
movsx eax, dx
mov ecx, eax
movzx eax, word [ebp - 0x56]
mov dword [ebp - 0x80], ecx
mov dword [esp + 0xc], ecx
movsx ecx, ax
mov dword [esp + 8], ecx
mov dword [esp + 4], str.Font_height_doesnt_match__got__u__expected__u_n
cmp word [ebp - 0x78], ax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xe1a
call fcn.00427180
movzx eax, word [ebp - 0x64]
mov ecx, dword [ebp - 0x7c]
mov dword [esp + 4], str.Font_width_doesnt_match__got__u__expected__u_n
cmp ax, di
mov dword [esp + 0xc], ecx
movsx ecx, ax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xe1c
call fcn.00427180
movzx eax, word [ebp - 0x62]
mov ecx, dword [ebp - 0x80]
mov dword [esp + 4], str.Font_height_doesnt_match__got__u__expected__u_n
mov dword [esp + 0xc], ecx
movsx ecx, ax
mov dword [esp + 8], ecx
cmp word [ebp - 0x78], ax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00427ef0
lea edx, [ebp - 0x60]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov edi, dword [ebp - 0x74]
mov dword [esp], edi
call ebx
sub esp, 0xc
mov ebx, eax
mov eax, 0xe21
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
mov eax, 0xe22
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 - 0x68]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], edi
mov edx, dword [ebp - 0x84]
call edx
sub esp, 0xc
mov ebx, eax
mov eax, 0xe27
call fcn.00427180
mov dword [esp + 8], ebx
mov dword [esp + 4], str.got__d__expected_non_zero_n
mov dword [esp], ebx
call fcn.00427ef0
mov eax, 0xe28
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
mov eax, 0xe2a
call fcn.00427180
mov dword [esp + 4], str.expected_values_to_match_n
movzx eax, word [ebp - 0x64]
cmp word [ebp - 0x58], ax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00427ef0
mov eax, 0xe2b
call fcn.00427180
mov dword [esp + 4], str.expected_values_to_match_n
movzx eax, word [ebp - 0x62]
cmp word [ebp - 0x56], ax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00427ef0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0xdc1
call fcn.00427180
mov dword [esp], str.GetCurrentConsoleFontEx_is_not_available_n
call fcn.00427ec0
jmp 0x431688