Function at 0x40c436
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
lea eax, [ebp - 0xc]
push ebx
push esi
push edi
test eax, eax
mov dword [ebp - 0xc], ecx
jne 0x40d0dd
xor esi, esi
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 0x40c490
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40c490
cmp byte [ebp - 7], 0x3a
jne 0x40c490
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 0x40c4ce
call esi
test eax, eax
je 0x40c4ba
cmp byte [ebp - 3], 0x3a
jne 0x40c4ba
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 0x40c4e2
call esi
test eax, eax
je 0x40c4e2
cmp byte [ebp - 3], 0x3a
jne 0x40c4e2
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 0x40c4fc
cmp byte [ebp - 3], 0x3a
jne 0x40c4fc
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 0x40c528
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40c528
cmp byte [ebp - 7], 0x3a
jne 0x40c528
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 0x40c560
call esi
test eax, eax
je 0x40c54c
cmp byte [ebp - 3], 0x3a
jne 0x40c54c
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 0x40c574
call esi
test eax, eax
je 0x40c574
cmp byte [ebp - 3], 0x3a
jne 0x40c574
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 0x40c58e
cmp byte [ebp - 3], 0x3a
jne 0x40c58e
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 0x40c5ba
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40c5ba
cmp byte [ebp - 7], 0x3a
jne 0x40c5ba
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 0x40c5f2
call esi
test eax, eax
je 0x40c5de
cmp byte [ebp - 3], 0x3a
jne 0x40c5de
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 0x40c606
call esi
test eax, eax
je 0x40c606
cmp byte [ebp - 3], 0x3a
jne 0x40c606
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 0x40c620
cmp byte [ebp - 3], 0x3a
jne 0x40c620
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 0x40c65a
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40c65a
cmp byte [ebp - 7], 0x3a
jne 0x40c65a
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 0x40c692
call esi
test eax, eax
je 0x40c67e
cmp byte [ebp - 3], 0x3a
jne 0x40c67e
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 0x40c6a6
call esi
test eax, eax
je 0x40c6a6
cmp byte [ebp - 3], 0x3a
jne 0x40c6a6
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 0x40c6c0
cmp byte [ebp - 3], 0x3a
jne 0x40c6c0
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 0x40c6f7
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40c6f7
cmp byte [ebp - 7], 0x3a
jne 0x40c6f7
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 0x40c72f
call esi
test eax, eax
je 0x40c71b
cmp byte [ebp - 3], 0x3a
jne 0x40c71b
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 0x40c743
call esi
test eax, eax
je 0x40c743
cmp byte [ebp - 3], 0x3a
jne 0x40c743
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 0x40c75d
cmp byte [ebp - 3], 0x3a
jne 0x40c75d
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 0x40c78b
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40c78b
cmp byte [ebp - 7], 0x3a
jne 0x40c78b
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 0x40c7c3
call esi
test eax, eax
je 0x40c7af
cmp byte [ebp - 3], 0x3a
jne 0x40c7af
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 0x40c7d7
call esi
test eax, eax
je 0x40c7d7
cmp byte [ebp - 3], 0x3a
jne 0x40c7d7
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 0x40c7f1
cmp byte [ebp - 3], 0x3a
jne 0x40c7f1
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 0x40c825
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40c825
cmp byte [ebp - 7], 0x3a
jne 0x40c825
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 0x40c85d
call esi
test eax, eax
je 0x40c849
cmp byte [ebp - 3], 0x3a
jne 0x40c849
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 0x40c871
call esi
test eax, eax
je 0x40c871
cmp byte [ebp - 3], 0x3a
jne 0x40c871
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 0x40c88b
cmp byte [ebp - 3], 0x3a
jne 0x40c88b
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 0x40c8b9
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40c8b9
cmp byte [ebp - 7], 0x3a
jne 0x40c8b9
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 0x40c8f1
call esi
test eax, eax
je 0x40c8dd
cmp byte [ebp - 3], 0x3a
jne 0x40c8dd
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 0x40c905
call esi
test eax, eax
je 0x40c905
cmp byte [ebp - 3], 0x3a
jne 0x40c905
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 0x40c91f
cmp byte [ebp - 3], 0x3a
jne 0x40c91f
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 0x40c94b
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40c94b
cmp byte [ebp - 7], 0x3a
jne 0x40c94b
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 0x40c983
call esi
test eax, eax
je 0x40c96f
cmp byte [ebp - 3], 0x3a
jne 0x40c96f
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 0x40c997
call esi
test eax, eax
je 0x40c997
cmp byte [ebp - 3], 0x3a
jne 0x40c997
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 0x40c9b1
cmp byte [ebp - 3], 0x3a
jne 0x40c9b1
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 0x40c9df
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40c9df
cmp byte [ebp - 7], 0x3a
jne 0x40c9df
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 0x40ca17
call esi
test eax, eax
je 0x40ca03
cmp byte [ebp - 3], 0x3a
jne 0x40ca03
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 0x40ca2b
call esi
test eax, eax
je 0x40ca2b
cmp byte [ebp - 3], 0x3a
jne 0x40ca2b
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 0x40ca45
cmp byte [ebp - 3], 0x3a
jne 0x40ca45
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 0x40ca6f
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40ca6f
cmp byte [ebp - 7], 0x3a
jne 0x40ca6f
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 0x40caa7
call esi
test eax, eax
je 0x40ca93
cmp byte [ebp - 3], 0x3a
jne 0x40ca93
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 0x40cabb
call esi
test eax, eax
je 0x40cabb
cmp byte [ebp - 3], 0x3a
jne 0x40cabb
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 0x40cad5
cmp byte [ebp - 3], 0x3a
jne 0x40cad5
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 0x40cb04
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40cb04
cmp byte [ebp - 7], 0x3a
jne 0x40cb04
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 0x40cb3c
call esi
test eax, eax
je 0x40cb28
cmp byte [ebp - 3], 0x3a
jne 0x40cb28
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 0x40cb50
call esi
test eax, eax
je 0x40cb50
cmp byte [ebp - 3], 0x3a
jne 0x40cb50
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 0x40cb6a
cmp byte [ebp - 3], 0x3a
jne 0x40cb6a
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 0x40cb98
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40cb98
cmp byte [ebp - 7], 0x3a
jne 0x40cb98
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 0x40cbd0
call esi
test eax, eax
je 0x40cbbc
cmp byte [ebp - 3], 0x3a
jne 0x40cbbc
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 0x40cbe4
call esi
test eax, eax
je 0x40cbe4
cmp byte [ebp - 3], 0x3a
jne 0x40cbe4
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 0x40cbfe
cmp byte [ebp - 3], 0x3a
jne 0x40cbfe
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 0x40cc2c
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40cc2c
cmp byte [ebp - 7], 0x3a
jne 0x40cc2c
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 0x40cc64
call esi
test eax, eax
je 0x40cc50
cmp byte [ebp - 3], 0x3a
jne 0x40cc50
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 0x40cc78
call esi
test eax, eax
je 0x40cc78
cmp byte [ebp - 3], 0x3a
jne 0x40cc78
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 0x40cc92
cmp byte [ebp - 3], 0x3a
jne 0x40cc92
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 0x40ccbe
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40ccbe
cmp byte [ebp - 7], 0x3a
jne 0x40ccbe
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 0x40ccf6
call esi
test eax, eax
je 0x40cce2
cmp byte [ebp - 3], 0x3a
jne 0x40cce2
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 0x40cd0a
call esi
test eax, eax
je 0x40cd0a
cmp byte [ebp - 3], 0x3a
jne 0x40cd0a
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 0x40cd24
cmp byte [ebp - 3], 0x3a
jne 0x40cd24
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 0x40cd54
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40cd54
cmp byte [ebp - 7], 0x3a
jne 0x40cd54
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 0x40cd8c
call esi
test eax, eax
je 0x40cd78
cmp byte [ebp - 3], 0x3a
jne 0x40cd78
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 0x40cda0
call esi
test eax, eax
je 0x40cda0
cmp byte [ebp - 3], 0x3a
jne 0x40cda0
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 0x40cdba
cmp byte [ebp - 3], 0x3a
jne 0x40cdba
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 0x40cdf3
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40cdf3
cmp byte [ebp - 7], 0x3a
jne 0x40cdf3
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 0x40ce2b
call esi
test eax, eax
je 0x40ce17
cmp byte [ebp - 3], 0x3a
jne 0x40ce17
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 0x40ce3f
call esi
test eax, eax
je 0x40ce3f
cmp byte [ebp - 3], 0x3a
jne 0x40ce3f
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 0x40ce59
cmp byte [ebp - 3], 0x3a
jne 0x40ce59
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 0x40ce88
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40ce88
cmp byte [ebp - 7], 0x3a
jne 0x40ce88
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 0x40cec0
call esi
test eax, eax
je 0x40ceac
cmp byte [ebp - 3], 0x3a
jne 0x40ceac
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 0x40ced4
call esi
test eax, eax
je 0x40ced4
cmp byte [ebp - 3], 0x3a
jne 0x40ced4
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 0x40ceee
cmp byte [ebp - 3], 0x3a
jne 0x40ceee
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 0x40cf1a
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40cf1a
cmp byte [ebp - 7], 0x3a
jne 0x40cf1a
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 0x40cf52
call esi
test eax, eax
je 0x40cf3e
cmp byte [ebp - 3], 0x3a
jne 0x40cf3e
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 0x40cf66
call esi
test eax, eax
je 0x40cf66
cmp byte [ebp - 3], 0x3a
jne 0x40cf66
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 0x40cf80
cmp byte [ebp - 3], 0x3a
jne 0x40cf80
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 0x40cfb0
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40cfb0
cmp byte [ebp - 7], 0x3a
jne 0x40cfb0
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 0x40cfe8
call esi
test eax, eax
je 0x40cfd4
cmp byte [ebp - 3], 0x3a
jne 0x40cfd4
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 0x40cffc
call esi
test eax, eax
je 0x40cffc
cmp byte [ebp - 3], 0x3a
jne 0x40cffc
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 0x40d016
cmp byte [ebp - 3], 0x3a
jne 0x40d016
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 0x40d077
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40d077
cmp byte [ebp - 7], 0x3a
jne 0x40d077
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 0x40d0af
call esi
test eax, eax
je 0x40d09b
cmp byte [ebp - 3], 0x3a
jne 0x40d09b
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 0x40d0c3
call esi
test eax, eax
je 0x40d0c3
cmp byte [ebp - 3], 0x3a
jne 0x40d0c3
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 0x40d0dd
cmp byte [ebp - 3], 0x3a
jne 0x40d0dd
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
mov edi, dword [ebp - 0xc]
xor ebx, ebx
push ebx
push 0x80
push 3
push ebx
push 1
lea eax, [edi + 4]
push 0x80000000
push eax
mov eax, dword [0x4513d0]
call dword [eax + 0x50]
mov esi, eax
cmp esi, 0xffffffff
jne 0x40d109
push 3
jmp 0x40d153
mov eax, dword [0x4513d0]
push ebx
push esi
call dword [eax + 0x38]
push eax
mov dword [edi + 0x114], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [edi + 0x110], eax
lea ecx, [ebp - 0xc]
push ebx
push ecx
push dword [edi + 0x114]
push eax
mov eax, dword [0x4513d0]
push esi
call dword [eax + 0x4c]
mov eax, dword [0x4513d0]
push esi
call dword [eax + 0x44]
mov eax, dword [edi + 0x114]
cmp eax, 0x2800
jae 0x40d156
push 2
pop eax
jmp 0x40d174
mov ecx, dword [edi + 0x110]
xor ebx, ebx
mov edx, dword [ecx + 0xffc]
add edx, 0x7bd
cmp dword [ecx + eax - 0x66], edx
setne bl
inc ebx
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret