Function at 0x40aa67
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 + 8]
push ebx
test eax, eax
push esi
mov dword [ebp - 0xc], ecx
mov dword [ecx], 0x44b110
jne 0x40b715
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 + 8]
cmp eax, 0xd5
jne 0x40aac6
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40aac6
cmp byte [ebp - 7], 0x3a
jne 0x40aac6
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40ab05
call esi
test eax, eax
je 0x40aaf1
cmp byte [ebp - 3], 0x3a
jne 0x40aaf1
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 0x40ab19
call esi
test eax, eax
je 0x40ab19
cmp byte [ebp - 3], 0x3a
jne 0x40ab19
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 0x40ab33
cmp byte [ebp - 3], 0x3a
jne 0x40ab33
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp + 8]
cmp eax, 0xd5
jne 0x40ab5f
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40ab5f
cmp byte [ebp - 7], 0x3a
jne 0x40ab5f
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40ab97
call esi
test eax, eax
je 0x40ab83
cmp byte [ebp - 3], 0x3a
jne 0x40ab83
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 0x40abab
call esi
test eax, eax
je 0x40abab
cmp byte [ebp - 3], 0x3a
jne 0x40abab
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 0x40abc5
cmp byte [ebp - 3], 0x3a
jne 0x40abc5
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_SetComputerNameA]
lea eax, [ebp + 8]
cmp eax, 0xd5
jne 0x40abf1
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40abf1
cmp byte [ebp - 7], 0x3a
jne 0x40abf1
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40ac29
call esi
test eax, eax
je 0x40ac15
cmp byte [ebp - 3], 0x3a
jne 0x40ac15
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 0x40ac3d
call esi
test eax, eax
je 0x40ac3d
cmp byte [ebp - 3], 0x3a
jne 0x40ac3d
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 0x40ac57
cmp byte [ebp - 3], 0x3a
jne 0x40ac57
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 + 8]
cmp eax, 0xd5
jne 0x40ac91
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40ac91
cmp byte [ebp - 7], 0x3a
jne 0x40ac91
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40acc9
call esi
test eax, eax
je 0x40acb5
cmp byte [ebp - 3], 0x3a
jne 0x40acb5
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 0x40acdd
call esi
test eax, eax
je 0x40acdd
cmp byte [ebp - 3], 0x3a
jne 0x40acdd
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 0x40acf7
cmp byte [ebp - 3], 0x3a
jne 0x40acf7
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 + 8]
cmp eax, 0xd5
jne 0x40ad2e
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40ad2e
cmp byte [ebp - 7], 0x3a
jne 0x40ad2e
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40ad66
call esi
test eax, eax
je 0x40ad52
cmp byte [ebp - 3], 0x3a
jne 0x40ad52
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 0x40ad7a
call esi
test eax, eax
je 0x40ad7a
cmp byte [ebp - 3], 0x3a
jne 0x40ad7a
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 0x40ad94
cmp byte [ebp - 3], 0x3a
jne 0x40ad94
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 + 8]
cmp eax, 0xd5
jne 0x40adc2
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40adc2
cmp byte [ebp - 7], 0x3a
jne 0x40adc2
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40adfa
call esi
test eax, eax
je 0x40ade6
cmp byte [ebp - 3], 0x3a
jne 0x40ade6
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 0x40ae0e
call esi
test eax, eax
je 0x40ae0e
cmp byte [ebp - 3], 0x3a
jne 0x40ae0e
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 0x40ae28
cmp byte [ebp - 3], 0x3a
jne 0x40ae28
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 + 8]
cmp eax, 0xd5
jne 0x40ae5c
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40ae5c
cmp byte [ebp - 7], 0x3a
jne 0x40ae5c
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40ae94
call esi
test eax, eax
je 0x40ae80
cmp byte [ebp - 3], 0x3a
jne 0x40ae80
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 0x40aea8
call esi
test eax, eax
je 0x40aea8
cmp byte [ebp - 3], 0x3a
jne 0x40aea8
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 0x40aec2
cmp byte [ebp - 3], 0x3a
jne 0x40aec2
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 + 8]
cmp eax, 0xd5
jne 0x40aef0
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40aef0
cmp byte [ebp - 7], 0x3a
jne 0x40aef0
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40af28
call esi
test eax, eax
je 0x40af14
cmp byte [ebp - 3], 0x3a
jne 0x40af14
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 0x40af3c
call esi
test eax, eax
je 0x40af3c
cmp byte [ebp - 3], 0x3a
jne 0x40af3c
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 0x40af56
cmp byte [ebp - 3], 0x3a
jne 0x40af56
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_ResumeThread]
lea eax, [ebp + 8]
cmp eax, 0xd5
jne 0x40af82
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40af82
cmp byte [ebp - 7], 0x3a
jne 0x40af82
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40afba
call esi
test eax, eax
je 0x40afa6
cmp byte [ebp - 3], 0x3a
jne 0x40afa6
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 0x40afce
call esi
test eax, eax
je 0x40afce
cmp byte [ebp - 3], 0x3a
jne 0x40afce
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 0x40afe8
cmp byte [ebp - 3], 0x3a
jne 0x40afe8
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 + 8]
cmp eax, 0xd5
jne 0x40b016
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b016
cmp byte [ebp - 7], 0x3a
jne 0x40b016
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b04e
call esi
test eax, eax
je 0x40b03a
cmp byte [ebp - 3], 0x3a
jne 0x40b03a
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 0x40b062
call esi
test eax, eax
je 0x40b062
cmp byte [ebp - 3], 0x3a
jne 0x40b062
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 0x40b07c
cmp byte [ebp - 3], 0x3a
jne 0x40b07c
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
lea eax, [ebp + 8]
cmp eax, 0xd5
jne 0x40b0a6
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b0a6
cmp byte [ebp - 7], 0x3a
jne 0x40b0a6
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b0de
call esi
test eax, eax
je 0x40b0ca
cmp byte [ebp - 3], 0x3a
jne 0x40b0ca
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 0x40b0f2
call esi
test eax, eax
je 0x40b0f2
cmp byte [ebp - 3], 0x3a
jne 0x40b0f2
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 0x40b10c
cmp byte [ebp - 3], 0x3a
jne 0x40b10c
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 + 8]
cmp eax, 0xd5
jne 0x40b13b
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b13b
cmp byte [ebp - 7], 0x3a
jne 0x40b13b
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b173
call esi
test eax, eax
je 0x40b15f
cmp byte [ebp - 3], 0x3a
jne 0x40b15f
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 0x40b187
call esi
test eax, eax
je 0x40b187
cmp byte [ebp - 3], 0x3a
jne 0x40b187
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 0x40b1a1
cmp byte [ebp - 3], 0x3a
jne 0x40b1a1
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 + 8]
cmp eax, 0xd5
jne 0x40b1cf
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b1cf
cmp byte [ebp - 7], 0x3a
jne 0x40b1cf
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b207
call esi
test eax, eax
je 0x40b1f3
cmp byte [ebp - 3], 0x3a
jne 0x40b1f3
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 0x40b21b
call esi
test eax, eax
je 0x40b21b
cmp byte [ebp - 3], 0x3a
jne 0x40b21b
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 0x40b235
cmp byte [ebp - 3], 0x3a
jne 0x40b235
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 + 8]
cmp eax, 0xd5
jne 0x40b263
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b263
cmp byte [ebp - 7], 0x3a
jne 0x40b263
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b29b
call esi
test eax, eax
je 0x40b287
cmp byte [ebp - 3], 0x3a
jne 0x40b287
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 0x40b2af
call esi
test eax, eax
je 0x40b2af
cmp byte [ebp - 3], 0x3a
jne 0x40b2af
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 0x40b2c9
cmp byte [ebp - 3], 0x3a
jne 0x40b2c9
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_PulseEvent]
lea eax, [ebp + 8]
cmp eax, 0xd5
jne 0x40b2f5
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b2f5
cmp byte [ebp - 7], 0x3a
jne 0x40b2f5
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b32d
call esi
test eax, eax
je 0x40b319
cmp byte [ebp - 3], 0x3a
jne 0x40b319
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 0x40b341
call esi
test eax, eax
je 0x40b341
cmp byte [ebp - 3], 0x3a
jne 0x40b341
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 0x40b35b
cmp byte [ebp - 3], 0x3a
jne 0x40b35b
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 + 8]
cmp eax, 0xd5
jne 0x40b38b
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b38b
cmp byte [ebp - 7], 0x3a
jne 0x40b38b
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b3c3
call esi
test eax, eax
je 0x40b3af
cmp byte [ebp - 3], 0x3a
jne 0x40b3af
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 0x40b3d7
call esi
test eax, eax
je 0x40b3d7
cmp byte [ebp - 3], 0x3a
jne 0x40b3d7
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 0x40b3f1
cmp byte [ebp - 3], 0x3a
jne 0x40b3f1
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 + 8]
cmp eax, 0xd5
jne 0x40b42a
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b42a
cmp byte [ebp - 7], 0x3a
jne 0x40b42a
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b462
call esi
test eax, eax
je 0x40b44e
cmp byte [ebp - 3], 0x3a
jne 0x40b44e
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 0x40b476
call esi
test eax, eax
je 0x40b476
cmp byte [ebp - 3], 0x3a
jne 0x40b476
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 0x40b490
cmp byte [ebp - 3], 0x3a
jne 0x40b490
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 + 8]
cmp eax, 0xd5
jne 0x40b4bf
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b4bf
cmp byte [ebp - 7], 0x3a
jne 0x40b4bf
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b4f7
call esi
test eax, eax
je 0x40b4e3
cmp byte [ebp - 3], 0x3a
jne 0x40b4e3
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 0x40b50b
call esi
test eax, eax
je 0x40b50b
cmp byte [ebp - 3], 0x3a
jne 0x40b50b
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 0x40b525
cmp byte [ebp - 3], 0x3a
jne 0x40b525
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
push 0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp + 8]
cmp eax, 0xd5
jne 0x40b551
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b551
cmp byte [ebp - 7], 0x3a
jne 0x40b551
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b589
call esi
test eax, eax
je 0x40b575
cmp byte [ebp - 3], 0x3a
jne 0x40b575
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 0x40b59d
call esi
test eax, eax
je 0x40b59d
cmp byte [ebp - 3], 0x3a
jne 0x40b59d
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 0x40b5b7
cmp byte [ebp - 3], 0x3a
jne 0x40b5b7
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 + 8]
cmp eax, 0xd5
jne 0x40b5e7
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b5e7
cmp byte [ebp - 7], 0x3a
jne 0x40b5e7
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b61f
call esi
test eax, eax
je 0x40b60b
cmp byte [ebp - 3], 0x3a
jne 0x40b60b
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 0x40b633
call esi
test eax, eax
je 0x40b633
cmp byte [ebp - 3], 0x3a
jne 0x40b633
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 0x40b64d
cmp byte [ebp - 3], 0x3a
jne 0x40b64d
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 + 8]
cmp eax, 0xd5
jne 0x40b6ae
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b6ae
cmp byte [ebp - 7], 0x3a
jne 0x40b6ae
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x40b6e6
call esi
test eax, eax
je 0x40b6d2
cmp byte [ebp - 3], 0x3a
jne 0x40b6d2
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 0x40b6fa
call esi
test eax, eax
je 0x40b6fa
cmp byte [ebp - 3], 0x3a
jne 0x40b6fa
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
pop edi
je 0x40b715
cmp byte [ebp - 3], 0x3a
jne 0x40b715
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
mov esi, dword [ebp - 0xc]
push dword [ebp + 8]
and dword [esi + 0x110], 0
and dword [esi + 0x114], 0
lea eax, [esi + 4]
push eax
mov eax, dword [0x4513d0]
call dword [eax + 0x1e8]
mov eax, dword [ebp + 0xc]
pop ecx
mov dword [esi + 0x108], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x10c], eax
pop ecx
mov eax, esi
pop esi
pop ebx
leave
ret 0xc