Function at 0x40cde9
Capabilities:
Read file on windows
Read pipe

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x161c
call fcn.004339e0
mov eax, dword [0x451220]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0xfffffffffffffff6
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [ebp - 0x15b8], eax
cmp eax, 0xffffffff
je 0x40d8de
mov eax, dword [0x453c6c]
mov ebx, 0x453c6c
mov ecx, ebx
call dword [eax + 0xc]
push 0x10
pop edi
add eax, edi
mov dword [ebp - 0x15c4], eax
mov eax, dword [0x453c6c]
mov ecx, ebx
call dword [eax + 0xc]
mov esi, eax
push 0x1388
lea eax, [ebp - 0x1598]
push 0
add esi, edi
push eax
mov dword [ebp - 0x15a4], esi
call fcn.00429ac0
add esp, 0xc
and dword [ebp - 0x15ac], 0
jmp 0x40cf94
mov eax, dword [ebp - 0x15ac]
test eax, eax
je 0x40cfc7
cmp eax, 0x1000
ja 0x40cfc7
push 1
mov dword [ebp - 0x15a8], eax
push eax
mov eax, dword [0x453c6c]
mov ecx, ebx
call dword [eax]
test eax, eax
je 0x40d19b
add eax, 0x10
mov dword [ebp - 0x15a0], eax
mov eax, dword [ebp - 0x15a8]
lea edx, [ebp - 0x15a0]
call fcn.00409589
push dword [ebp - 0x15a8]
lea eax, [ebp - 0x1598]
push eax
push dword [ebp - 0x15a8]
push dword [ebp - 0x15a0]
call fcn.00427536
lea eax, [ebp - 0x15a0]
push eax
lea eax, [ebp - 0x15bc]
push eax
lea eax, [ebp - 0x15a4]
call fcn.0040d8f2
mov ecx, dword [eax]
lea edx, [esi - 0x10]
lea eax, [ecx - 0x10]
add esp, 0x18
mov dword [ebp - 0x15b4], edx
cmp eax, edx
je 0x40cf41
cmp dword [edx + 0xc], 0
jl 0x40cf2c
mov esi, dword [eax]
cmp esi, dword [edx]
jne 0x40cf2c
call fcn.0040da32
mov esi, eax
mov eax, dword [ebp - 0x15b4]
call fcn.00406e8b
add esi, 0x10
mov dword [ebp - 0x15a4], esi
jmp 0x40cf41
push dword [ecx - 0xc]
lea eax, [ebp - 0x15a4]
push ecx
call fcn.00409491
mov esi, dword [ebp - 0x15a4]
mov eax, dword [ebp - 0x15bc]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x15a0]
add eax, 0xfffffff0
call fcn.00406e8b
xor eax, eax
push eax
lea ecx, [ebp - 0x15c0]
push ecx
push eax
push eax
push eax
push dword [ebp - 0x15b8]
mov dword [ebp - 0x15c0], eax
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
jne 0x40cf8b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x6d
je 0x40cfc7
cmp dword [ebp - 0x15c0], 0
je 0x40cfc7
call fcn.0040cda0
push 0
lea eax, [ebp - 0x15ac]
push eax
push 0x1000
lea eax, [ebp - 0x1598]
push eax
push dword [ebp - 0x15b8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
call fcn.0040cde1
test eax, eax
jne 0x40ce6a
lea eax, [ebp - 0x108]
push 0xfde9
mov dword [ebp - 0x10c], eax
push esi
lea eax, [ebp - 0x10c]
push eax
call fcn.00408f57
push dword [ebp - 0x10c]
lea eax, [ebp - 0x15c4]
push eax
call fcn.00406e04
lea eax, [ebp - 0x108]
cmp dword [ebp - 0x10c], eax
je 0x40d011
push dword [ebp - 0x10c]
call fcn.00427938
pop ecx
lea eax, [esi - 0x10]
call fcn.00406e8b
lea esi, [ebp - 0x161c]
call fcn.00404d28
xor esi, esi
push esi
lea eax, [ebp - 0x161c]
push 0x4488f0
push eax
mov eax, dword [ebp - 0x15c4]
call fcn.00407377
mov eax, dword [0x453c6c]
add esp, 0xc
mov ecx, ebx
call dword [eax + 0xc]
add eax, edi
mov dword [ebp - 0x15c0], eax
mov eax, dword [0x453c6c]
mov ecx, ebx
call dword [eax + 0xc]
add eax, edi
mov dword [ebp - 0x15d8], eax
mov eax, dword [0x453c6c]
mov ecx, ebx
call dword [eax + 0xc]
add eax, edi
mov dword [ebp - 0x15e8], eax
mov eax, dword [0x453c6c]
mov ecx, ebx
call dword [eax + 0xc]
add eax, edi
mov dword [ebp - 0x15e0], eax
mov eax, dword [0x453c6c]
mov ecx, ebx
call dword [eax + 0xc]
add eax, edi
mov dword [ebp - 0x15dc], eax
mov eax, dword [0x453c6c]
mov ecx, ebx
call dword [eax + 0xc]
add eax, edi
mov dword [ebp - 0x15e4], eax
mov eax, dword [ebp - 0x160c]
sub eax, dword [ebp - 0x1610]
mov dword [ebp - 0x15b8], esi
sar eax, 2
mov dword [ebp - 0x15a4], esi
test eax, eax
jbe 0x40d3d9
mov edi, dword [ebp - 0x15a4]
push 0x3a
lea esi, [ebp - 0x161c]
call fcn.0040cc70
mov esi, eax
call fcn.0040b471
mov dword [ebp - 0x15b4], eax
test eax, eax
jle 0x40d3b8
lea esi, [ebp - 0x161c]
call fcn.0040cc70
mov esi, dword [ebp - 0x15b4]
mov ecx, esi
lea edx, [ebp - 0x15a0]
call fcn.00408b53
inc esi
mov dword [ebp - 0x15b4], esi
lea esi, [ebp - 0x161c]
call fcn.0040cc70
mov ecx, dword [eax]
mov ecx, dword [ecx - 0xc]
mov edx, dword [ebp - 0x15b4]
lea esi, [ebp - 0x15a8]
sub ecx, edx
push esi
call fcn.00404dd5
push 9
pop edi
push edi
mov esi, 0x4488f8
push esi
lea eax, [ebp - 0x15bc]
push str.oyhabj
push eax
call fcn.00407d40
add esp, 0x10
push dword [eax]
lea eax, [ebp - 0x15a0]
push eax
call fcn.00404b9e
neg eax
sbb al, al
inc al
mov byte [ebp - 0x1599], al
mov eax, dword [ebp - 0x15bc]
add eax, 0xfffffff0
call fcn.00406e8b
cmp byte [ebp - 0x1599], 0
je 0x40d1a0
lea edi, [ebp - 0x15c0]
jmp 0x40d2e0
call fcn.00406ca6
push edi
push esi
lea eax, [ebp - 0x15d0]
push str.olqjmc
push eax
call fcn.00407d40
add esp, 0x10
push dword [eax]
lea eax, [ebp - 0x15a0]
push eax
call fcn.00404b9e
neg eax
sbb al, al
inc al
mov byte [ebp - 0x1599], al
mov eax, dword [ebp - 0x15d0]
add eax, 0xfffffff0
call fcn.00406e8b
cmp byte [ebp - 0x1599], 0
je 0x40d1f2
lea edi, [ebp - 0x15d8]
jmp 0x40d2e0
push edi
push esi
lea eax, [ebp - 0x15c8]
push str.IowAP
push eax
call fcn.00407d40
add esp, 0x10
push dword [eax]
lea eax, [ebp - 0x15a0]
push eax
call fcn.00404b9e
neg eax
sbb al, al
inc al
mov byte [ebp - 0x1599], al
mov eax, dword [ebp - 0x15c8]
add eax, 0xfffffff0
call fcn.00406e8b
cmp byte [ebp - 0x1599], 0
je 0x40d244
lea edi, [ebp - 0x15e8]
jmp 0x40d2e0
push edi
push esi
lea eax, [ebp - 0x15cc]
push str.OyhabjBsca
push eax
call fcn.00407d40
add esp, 0x10
push dword [eax]
lea eax, [ebp - 0x15a0]
push eax
call fcn.00404b9e
neg eax
sbb al, al
inc al
mov byte [ebp - 0x1599], al
mov eax, dword [ebp - 0x15cc]
add eax, 0xfffffff0
call fcn.00406e8b
cmp byte [ebp - 0x1599], 0
je 0x40d293
lea edi, [ebp - 0x15dc]
jmp 0x40d2e0
push edi
push esi
lea eax, [ebp - 0x15ac]
push str.PwicUT
push eax
call fcn.00407d40
add esp, 0x10
push dword [eax]
lea eax, [ebp - 0x15a0]
push eax
call fcn.00404b9e
neg eax
sbb al, al
inc al
mov byte [ebp - 0x1599], al
mov eax, dword [ebp - 0x15ac]
add eax, 0xfffffff0
call fcn.00406e8b
cmp byte [ebp - 0x1599], 0
je 0x40d2f0
lea edi, [ebp - 0x15e4]
lea eax, [ebp - 0x15a8]
call int.004069e7
jmp 0x40d39c
push edi
push esi
lea eax, [ebp - 0x15d4]
push str.KxiwdlolykjHmxu
push eax
call fcn.00407d40
add esp, 0x10
push dword [eax]
lea eax, [ebp - 0x15a0]
push eax
call fcn.00404b9e
neg eax
sbb al, al
inc al
mov byte [ebp - 0x1599], al
mov eax, dword [ebp - 0x15d4]
add eax, 0xfffffff0
call fcn.00406e8b
cmp byte [ebp - 0x1599], 0
je 0x40d351
push dword [ebp - 0x15a8]
call fcn.00428d18
neg eax
sbb eax, eax
neg eax
pop ecx
mov dword [ebp - 0x15b8], eax
jmp 0x40d39c
push edi
push esi
lea eax, [ebp - 0x15b0]
push str.yitzmiv
push eax
call fcn.00407d40
add esp, 0x10
push dword [eax]
lea eax, [ebp - 0x15a0]
push eax
call fcn.00404b9e
neg eax
sbb al, al
inc al
mov byte [ebp - 0x1599], al
mov eax, dword [ebp - 0x15b0]
add eax, 0xfffffff0
call fcn.00406e8b
cmp byte [ebp - 0x1599], 0
jne 0x40d86a
mov eax, dword [ebp - 0x15a8]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x15a0]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x160c]
sub eax, dword [ebp - 0x1610]
inc dword [ebp - 0x15a4]
sar eax, 2
cmp dword [ebp - 0x15a4], eax
jb 0x40d0d0
mov esi, 0x4488f8
push 9
push esi
lea eax, [ebp - 0x15b0]
push str.sepxokx_
push eax
call fcn.00407d40
add esp, 0x10
push dword [eax]
lea esi, [ebp - 0x15c4]
call fcn.00404c5b
mov esi, eax
mov eax, dword [ebp - 0x15b0]
add eax, 0xfffffff0
call fcn.00406e8b
test esi, esi
jle 0x40d8d4
mov ecx, esi
lea edx, [ebp - 0x15b4]
lea eax, [ebp - 0x15c4]
call fcn.00408b53
lea edi, [ebp - 0x15b4]
call fcn.0040cce7
mov esi, eax
mov eax, dword [0x453c6c]
mov ecx, ebx
mov dword [ebp - 0x15ec], edx
call dword [eax + 0xc]
push 9
add eax, 0x10
mov edi, 0x4488f8
push edi
mov dword [ebp - 0x15ac], eax
lea eax, [ebp - 0x15b0]
push str._E44g
push eax
call fcn.00407d40
push dword [ebp - 0x15ec]
push esi
push dword [eax]
lea eax, [ebp - 0x15ac]
push eax
call fcn.0040678c
mov eax, dword [ebp - 0x15b0]
add esp, 0x20
add eax, 0xfffffff0
call fcn.00406e8b
push dword [ebp - 0x15e0]
lea eax, [ebp - 0x15ac]
push eax
call fcn.00404b9e
test eax, eax
jne 0x40d8ca
xor ebx, ebx
push ebx
push dword [ebp - 0x15c0]
lea eax, [ebp - 0x88]
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0040d978
push dword [ebp - 0x8c]
lea esi, [ebp - 0x15a0]
call fcn.00408af5
lea eax, [ebp - 0x88]
cmp dword [ebp - 0x8c], eax
je 0x40d4f8
push dword [ebp - 0x8c]
call fcn.00427938
pop ecx
mov esi, dword [ebp - 0x15a0]
mov eax, dword [esi - 0xc]
inc eax
push 0x453cc0
push eax
call fcn.00428dc4
pop ecx
pop ecx
mov dword [ebp - 0x15f0], eax
cmp eax, ebx
je 0x40d8ba
mov ecx, dword [esi - 0xc]
inc ecx
push ecx
push ebx
push eax
call fcn.00429ac0
mov ecx, dword [esi - 0xc]
add esp, 0xc
push ecx
push dword [ebp - 0x15f0]
mov eax, esi
call fcn.00407f5d
pop ecx
pop ecx
mov dword [ebp - 0x15fc], eax
cmp eax, ebx
je 0x40d8b0
push 0x208
lea eax, [ebp - 0x210]
push ebx
push eax
call fcn.00429ac0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x210]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 9
push edi
lea eax, [ebp - 0x15b0]
push str.__uacagd_an2tzd
push eax
call fcn.00407d40
add esp, 0x10
push dword [eax]
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov eax, dword [ebp - 0x15b0]
add eax, 0xfffffff0
call fcn.00406e8b
lea ecx, [ebp - 0x210]
call fcn.004114e9
mov dword [ebp - 0x15a4], eax
cmp eax, ebx
je 0x40d8a6
push 9
mov ebx, str.ddDF_FDSFDSadd
lea eax, [ebp - 0x15b0]
push ebx
push eax
mov edi, 0x4489fc
call fcn.00407e22
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 0xc
push dword [eax]
push dword [ebp - 0x15a4]
call esi
mov dword [ebp - 0x15a8], eax
mov eax, dword [ebp - 0x15b0]
add eax, 0xfffffff0
call fcn.00406e8b
push 9
lea eax, [ebp - 0x15d4]
push ebx
push eax
mov edi, 0x448a00
call fcn.00407e22
add esp, 0xc
push dword [eax]
push dword [ebp - 0x15a4]
call esi
mov dword [ebp - 0x15cc], eax
mov eax, dword [ebp - 0x15d4]
add eax, 0xfffffff0
call fcn.00406e8b
push 9
lea eax, [ebp - 0x15f8]
push ebx
push eax
mov edi, str.CajAzjsjvwyu2
call fcn.00407e22
add esp, 0xc
push dword [eax]
push dword [ebp - 0x15a4]
call esi
mov dword [ebp - 0x15bc], eax
mov eax, dword [ebp - 0x15f8]
add eax, 0xfffffff0
call fcn.00406e8b
push 9
lea eax, [ebp - 0x15f4]
push ebx
push eax
mov edi, 0x448a14
call fcn.00407e22
add esp, 0xc
push dword [eax]
push dword [ebp - 0x15a4]
call esi
mov dword [ebp - 0x15c8], eax
mov eax, dword [ebp - 0x15f4]
add eax, 0xfffffff0
call fcn.00406e8b
push 9
lea eax, [ebp - 0x1604]
push ebx
push eax
mov edi, 0x448a18
call fcn.00407e22
add esp, 0xc
push dword [eax]
push dword [ebp - 0x15a4]
call esi
mov dword [ebp - 0x15d0], eax
mov eax, dword [ebp - 0x1604]
add eax, 0xfffffff0
call fcn.00406e8b
push 9
lea eax, [ebp - 0x1600]
push ebx
push eax
mov edi, 0x448a1c
call fcn.00407e22
add esp, 0xc
push dword [eax]
push dword [ebp - 0x15a4]
call esi
mov esi, eax
mov eax, dword [ebp - 0x1600]
add eax, 0xfffffff0
call fcn.00406e8b
xor edi, edi
cmp dword [ebp - 0x15a8], edi
je 0x40d89c
cmp dword [ebp - 0x15cc], edi
je 0x40d89c
cmp dword [ebp - 0x15bc], edi
je 0x40d89c
cmp dword [ebp - 0x15c8], edi
je 0x40d89c
cmp dword [ebp - 0x15d0], edi
je 0x40d89c
cmp esi, edi
je 0x40d89c
push 1
call dword [ebp - 0x15a8]
pop ecx
push dword [ebp - 0x15e8]
call dword [ebp - 0x15cc]
mov eax, dword [ebp - 0x15dc]
pop ecx
cmp dword [eax - 0xc], edi
je 0x40d776
push eax
call dword [ebp - 0x15c8]
pop ecx
mov eax, dword [ebp - 0x15e4]
cmp dword [eax - 0xc], edi
je 0x40d789
push eax
call dword [ebp - 0x15d0]
pop ecx
cmp dword [ebp - 0x15b8], edi
je 0x40d79a
push dword [ebp - 0x15b8]
call esi
pop ecx
push dword [ebp - 0x15d8]
push dword [ebp - 0x15fc]
push dword [ebp - 0x15f0]
call dword [ebp - 0x15bc]
add esp, 0xc
mov edi, eax
mov esi, dword [ebp - 0x15a0]
push dword [ebp - 0x15f0]
call fcn.004278ad
pop ecx
lea eax, [esi - 0x10]
call fcn.00406e8b
mov eax, dword [ebp - 0x15ac]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x15b4]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x15e4]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x15dc]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x15e0]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x15e8]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x15d8]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x15c0]
add eax, 0xfffffff0
call fcn.00406e8b
lea esi, [ebp - 0x161c]
call fcn.00404eaa
push dword [ebp - 0x161c]
call fcn.0042751c
mov eax, dword [ebp - 0x15c4]
pop ecx
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, edi
jmp 0x40d8e3
lea eax, [ebp - 0x15a8]
lea edi, [ebp - 0x15e0]
call int.004069e7
mov eax, dword [ebp - 0x15a8]
add eax, 0xfffffff0
call fcn.00406e8b
mov eax, dword [ebp - 0x15a0]
add eax, 0xfffffff0
call fcn.00406e8b
jmp 0x40d3de
mov edi, 0xc0000007
jmp 0x40d7b7
mov edi, 0xc0000006
jmp 0x40d7bd
mov edi, 0xc0000005
jmp 0x40d7bd
push ebx
call fcn.004278ad
mov edi, 0xc0000004
jmp 0x40d7c8
mov edi, 0xc0000003
jmp 0x40d7d1
mov edi, 0xc0000002
jmp 0x40d7ed
mov eax, 0xc0000001
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00427527
leave
ret