Function at 0x40deb1
Capabilities:
Allocate thread local storage
Delete directory
Delete file
Get common file path
Get graphical window text
Read file on windows
Resume thread
Set console window title
Set current directory
Set environment variable
Set file attributes
Suspend thread
Timestomp file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
lea eax, [ebp - 0xc]
xor esi, esi
test eax, eax
push edi
mov dword [ebp - 0xc], ecx
jne 0x40eb58
push esi
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
push esi
push esi
push esi
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov ebx, dword [sym.imp.MSVCRT.dll_toupper]
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40df0b
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40df0b
cmp byte [ebp - 7], 0x3a
jne 0x40df0b
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40df49
call esi
test eax, eax
je 0x40df35
cmp byte [ebp - 3], 0x3a
jne 0x40df35
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40df5d
call esi
test eax, eax
je 0x40df5d
cmp byte [ebp - 3], 0x3a
jne 0x40df5d
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40df77
cmp byte [ebp - 3], 0x3a
jne 0x40df77
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40dfa3
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40dfa3
cmp byte [ebp - 7], 0x3a
jne 0x40dfa3
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40dfdb
call esi
test eax, eax
je 0x40dfc7
cmp byte [ebp - 3], 0x3a
jne 0x40dfc7
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40dfef
call esi
test eax, eax
je 0x40dfef
cmp byte [ebp - 3], 0x3a
jne 0x40dfef
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e009
cmp byte [ebp - 3], 0x3a
jne 0x40e009
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_SetComputerNameA]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e035
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e035
cmp byte [ebp - 7], 0x3a
jne 0x40e035
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e06d
call esi
test eax, eax
je 0x40e059
cmp byte [ebp - 3], 0x3a
jne 0x40e059
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e081
call esi
test eax, eax
je 0x40e081
cmp byte [ebp - 3], 0x3a
jne 0x40e081
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e09b
cmp byte [ebp - 3], 0x3a
jne 0x40e09b
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_OpenEventW]
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_OpenThread]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e0d5
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e0d5
cmp byte [ebp - 7], 0x3a
jne 0x40e0d5
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e10d
call esi
test eax, eax
je 0x40e0f9
cmp byte [ebp - 3], 0x3a
jne 0x40e0f9
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e121
call esi
test eax, eax
je 0x40e121
cmp byte [ebp - 3], 0x3a
jne 0x40e121
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e13b
cmp byte [ebp - 3], 0x3a
jne 0x40e13b
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_SetEvent]
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_OpenFileMappingA]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e172
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e172
cmp byte [ebp - 7], 0x3a
jne 0x40e172
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e1aa
call esi
test eax, eax
je 0x40e196
cmp byte [ebp - 3], 0x3a
jne 0x40e196
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e1be
call esi
test eax, eax
je 0x40e1be
cmp byte [ebp - 3], 0x3a
jne 0x40e1be
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e1d8
cmp byte [ebp - 3], 0x3a
jne 0x40e1d8
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SleepEx]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e206
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e206
cmp byte [ebp - 7], 0x3a
jne 0x40e206
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e23e
call esi
test eax, eax
je 0x40e22a
cmp byte [ebp - 3], 0x3a
jne 0x40e22a
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e252
call esi
test eax, eax
je 0x40e252
cmp byte [ebp - 3], 0x3a
jne 0x40e252
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e26c
cmp byte [ebp - 3], 0x3a
jne 0x40e26c
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e2a0
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e2a0
cmp byte [ebp - 7], 0x3a
jne 0x40e2a0
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e2d8
call esi
test eax, eax
je 0x40e2c4
cmp byte [ebp - 3], 0x3a
jne 0x40e2c4
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e2ec
call esi
test eax, eax
je 0x40e2ec
cmp byte [ebp - 3], 0x3a
jne 0x40e2ec
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e306
cmp byte [ebp - 3], 0x3a
jne 0x40e306
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WriteProfileSectionA]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e334
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e334
cmp byte [ebp - 7], 0x3a
jne 0x40e334
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e36c
call esi
test eax, eax
je 0x40e358
cmp byte [ebp - 3], 0x3a
jne 0x40e358
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e380
call esi
test eax, eax
je 0x40e380
cmp byte [ebp - 3], 0x3a
jne 0x40e380
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e39a
cmp byte [ebp - 3], 0x3a
jne 0x40e39a
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_ResumeThread]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e3c6
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e3c6
cmp byte [ebp - 7], 0x3a
jne 0x40e3c6
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e3fe
call esi
test eax, eax
je 0x40e3ea
cmp byte [ebp - 3], 0x3a
jne 0x40e3ea
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e412
call esi
test eax, eax
je 0x40e412
cmp byte [ebp - 3], 0x3a
jne 0x40e412
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e42c
cmp byte [ebp - 3], 0x3a
jne 0x40e42c
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e45a
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e45a
cmp byte [ebp - 7], 0x3a
jne 0x40e45a
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e492
call esi
test eax, eax
je 0x40e47e
cmp byte [ebp - 3], 0x3a
jne 0x40e47e
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e4a6
call esi
test eax, eax
je 0x40e4a6
cmp byte [ebp - 3], 0x3a
jne 0x40e4a6
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e4c0
cmp byte [ebp - 3], 0x3a
jne 0x40e4c0
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e4ea
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e4ea
cmp byte [ebp - 7], 0x3a
jne 0x40e4ea
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e522
call esi
test eax, eax
je 0x40e50e
cmp byte [ebp - 3], 0x3a
jne 0x40e50e
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e536
call esi
test eax, eax
je 0x40e536
cmp byte [ebp - 3], 0x3a
jne 0x40e536
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e550
cmp byte [ebp - 3], 0x3a
jne 0x40e550
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e57f
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e57f
cmp byte [ebp - 7], 0x3a
jne 0x40e57f
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e5b7
call esi
test eax, eax
je 0x40e5a3
cmp byte [ebp - 3], 0x3a
jne 0x40e5a3
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e5cb
call esi
test eax, eax
je 0x40e5cb
cmp byte [ebp - 3], 0x3a
jne 0x40e5cb
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e5e5
cmp byte [ebp - 3], 0x3a
jne 0x40e5e5
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e613
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e613
cmp byte [ebp - 7], 0x3a
jne 0x40e613
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e64b
call esi
test eax, eax
je 0x40e637
cmp byte [ebp - 3], 0x3a
jne 0x40e637
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e65f
call esi
test eax, eax
je 0x40e65f
cmp byte [ebp - 3], 0x3a
jne 0x40e65f
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e679
cmp byte [ebp - 3], 0x3a
jne 0x40e679
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e6a7
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e6a7
cmp byte [ebp - 7], 0x3a
jne 0x40e6a7
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e6df
call esi
test eax, eax
je 0x40e6cb
cmp byte [ebp - 3], 0x3a
jne 0x40e6cb
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e6f3
call esi
test eax, eax
je 0x40e6f3
cmp byte [ebp - 3], 0x3a
jne 0x40e6f3
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e70d
cmp byte [ebp - 3], 0x3a
jne 0x40e70d
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_PulseEvent]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e739
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e739
cmp byte [ebp - 7], 0x3a
jne 0x40e739
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e771
call esi
test eax, eax
je 0x40e75d
cmp byte [ebp - 3], 0x3a
jne 0x40e75d
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e785
call esi
test eax, eax
je 0x40e785
cmp byte [ebp - 3], 0x3a
jne 0x40e785
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e79f
cmp byte [ebp - 3], 0x3a
jne 0x40e79f
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetFileTime]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e7cf
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e7cf
cmp byte [ebp - 7], 0x3a
jne 0x40e7cf
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e807
call esi
test eax, eax
je 0x40e7f3
cmp byte [ebp - 3], 0x3a
jne 0x40e7f3
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e81b
call esi
test eax, eax
je 0x40e81b
cmp byte [ebp - 3], 0x3a
jne 0x40e81b
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e835
cmp byte [ebp - 3], 0x3a
jne 0x40e835
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_OpenEventA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e86e
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e86e
cmp byte [ebp - 7], 0x3a
jne 0x40e86e
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e8a6
call esi
test eax, eax
je 0x40e892
cmp byte [ebp - 3], 0x3a
jne 0x40e892
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e8ba
call esi
test eax, eax
je 0x40e8ba
cmp byte [ebp - 3], 0x3a
jne 0x40e8ba
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e8d4
cmp byte [ebp - 3], 0x3a
jne 0x40e8d4
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e903
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e903
cmp byte [ebp - 7], 0x3a
jne 0x40e903
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e93b
call esi
test eax, eax
je 0x40e927
cmp byte [ebp - 3], 0x3a
jne 0x40e927
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e94f
call esi
test eax, eax
je 0x40e94f
cmp byte [ebp - 3], 0x3a
jne 0x40e94f
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e969
cmp byte [ebp - 3], 0x3a
jne 0x40e969
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40e995
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40e995
cmp byte [ebp - 7], 0x3a
jne 0x40e995
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40e9cd
call esi
test eax, eax
je 0x40e9b9
cmp byte [ebp - 3], 0x3a
jne 0x40e9b9
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40e9e1
call esi
test eax, eax
je 0x40e9e1
cmp byte [ebp - 3], 0x3a
jne 0x40e9e1
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40e9fb
cmp byte [ebp - 3], 0x3a
jne 0x40e9fb
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40ea2b
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40ea2b
cmp byte [ebp - 7], 0x3a
jne 0x40ea2b
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40ea63
call esi
test eax, eax
je 0x40ea4f
cmp byte [ebp - 3], 0x3a
jne 0x40ea4f
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40ea77
call esi
test eax, eax
je 0x40ea77
cmp byte [ebp - 3], 0x3a
jne 0x40ea77
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40ea91
cmp byte [ebp - 3], 0x3a
jne 0x40ea91
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_OpenSemaphoreA]
push 0
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push 0
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
push 0
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
xor eax, eax
push eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_WriteFileEx]
lea eax, [ebp - 0xc]
cmp eax, 0xd5
jne 0x40eaf2
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40eaf2
cmp byte [ebp - 7], 0x3a
jne 0x40eaf2
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp - 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40eb2a
call esi
test eax, eax
je 0x40eb16
cmp byte [ebp - 3], 0x3a
jne 0x40eb16
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call edi
jmp 0x40eb3e
call esi
test eax, eax
je 0x40eb3e
cmp byte [ebp - 3], 0x3a
jne 0x40eb3e
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40eb58
cmp byte [ebp - 3], 0x3a
jne 0x40eb58
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
mov ebx, dword [ebp - 0xc]
push 0x19000
push 0
lea edi, [ebx + 0x118]
push edi
call sub.MSVCRT.dll_memset
add esp, 0xc
and dword [ebx + 0x19118], 0
lea esi, [ebx + 0x19118]
mov ecx, ebx
push esi
push edi
push dword [ebx + 0x110]
call fcn.004105f6
xor eax, eax
pop edi
cmp dword [esi], eax
pop esi
pop ebx
setne al
leave
ret