Function at 0x4121c0
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, 0x228
lea eax, [ebp + 8]
push ebx
push esi
push edi
test eax, eax
jne 0x412e67
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 0x41221a
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x41221a
cmp byte [ebp - 7], 0x3a
jne 0x41221a
movzx eax, byte [ebp - 8]
push eax
call ebx
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x412258
call esi
test eax, eax
je 0x412244
cmp byte [ebp - 3], 0x3a
jne 0x412244
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 0x41226c
call esi
test eax, eax
je 0x41226c
cmp byte [ebp - 3], 0x3a
jne 0x41226c
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 0x412286
cmp byte [ebp - 3], 0x3a
jne 0x412286
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 0x4122b2
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x4122b2
cmp byte [ebp - 7], 0x3a
jne 0x4122b2
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 0x4122ea
call esi
test eax, eax
je 0x4122d6
cmp byte [ebp - 3], 0x3a
jne 0x4122d6
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 0x4122fe
call esi
test eax, eax
je 0x4122fe
cmp byte [ebp - 3], 0x3a
jne 0x4122fe
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 0x412318
cmp byte [ebp - 3], 0x3a
jne 0x412318
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 0x412344
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412344
cmp byte [ebp - 7], 0x3a
jne 0x412344
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 0x41237c
call esi
test eax, eax
je 0x412368
cmp byte [ebp - 3], 0x3a
jne 0x412368
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 0x412390
call esi
test eax, eax
je 0x412390
cmp byte [ebp - 3], 0x3a
jne 0x412390
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 0x4123aa
cmp byte [ebp - 3], 0x3a
jne 0x4123aa
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 0x4123e4
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x4123e4
cmp byte [ebp - 7], 0x3a
jne 0x4123e4
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 0x41241c
call esi
test eax, eax
je 0x412408
cmp byte [ebp - 3], 0x3a
jne 0x412408
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 0x412430
call esi
test eax, eax
je 0x412430
cmp byte [ebp - 3], 0x3a
jne 0x412430
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 0x41244a
cmp byte [ebp - 3], 0x3a
jne 0x41244a
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 0x412481
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412481
cmp byte [ebp - 7], 0x3a
jne 0x412481
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 0x4124b9
call esi
test eax, eax
je 0x4124a5
cmp byte [ebp - 3], 0x3a
jne 0x4124a5
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 0x4124cd
call esi
test eax, eax
je 0x4124cd
cmp byte [ebp - 3], 0x3a
jne 0x4124cd
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 0x4124e7
cmp byte [ebp - 3], 0x3a
jne 0x4124e7
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 0x412515
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412515
cmp byte [ebp - 7], 0x3a
jne 0x412515
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 0x41254d
call esi
test eax, eax
je 0x412539
cmp byte [ebp - 3], 0x3a
jne 0x412539
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 0x412561
call esi
test eax, eax
je 0x412561
cmp byte [ebp - 3], 0x3a
jne 0x412561
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 0x41257b
cmp byte [ebp - 3], 0x3a
jne 0x41257b
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 0x4125af
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x4125af
cmp byte [ebp - 7], 0x3a
jne 0x4125af
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 0x4125e7
call esi
test eax, eax
je 0x4125d3
cmp byte [ebp - 3], 0x3a
jne 0x4125d3
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 0x4125fb
call esi
test eax, eax
je 0x4125fb
cmp byte [ebp - 3], 0x3a
jne 0x4125fb
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 0x412615
cmp byte [ebp - 3], 0x3a
jne 0x412615
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 0x412643
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412643
cmp byte [ebp - 7], 0x3a
jne 0x412643
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 0x41267b
call esi
test eax, eax
je 0x412667
cmp byte [ebp - 3], 0x3a
jne 0x412667
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 0x41268f
call esi
test eax, eax
je 0x41268f
cmp byte [ebp - 3], 0x3a
jne 0x41268f
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 0x4126a9
cmp byte [ebp - 3], 0x3a
jne 0x4126a9
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 0x4126d5
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x4126d5
cmp byte [ebp - 7], 0x3a
jne 0x4126d5
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 0x41270d
call esi
test eax, eax
je 0x4126f9
cmp byte [ebp - 3], 0x3a
jne 0x4126f9
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 0x412721
call esi
test eax, eax
je 0x412721
cmp byte [ebp - 3], 0x3a
jne 0x412721
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 0x41273b
cmp byte [ebp - 3], 0x3a
jne 0x41273b
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 0x412769
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412769
cmp byte [ebp - 7], 0x3a
jne 0x412769
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 0x4127a1
call esi
test eax, eax
je 0x41278d
cmp byte [ebp - 3], 0x3a
jne 0x41278d
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 0x4127b5
call esi
test eax, eax
je 0x4127b5
cmp byte [ebp - 3], 0x3a
jne 0x4127b5
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 0x4127cf
cmp byte [ebp - 3], 0x3a
jne 0x4127cf
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 0x4127f9
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x4127f9
cmp byte [ebp - 7], 0x3a
jne 0x4127f9
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 0x412831
call esi
test eax, eax
je 0x41281d
cmp byte [ebp - 3], 0x3a
jne 0x41281d
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 0x412845
call esi
test eax, eax
je 0x412845
cmp byte [ebp - 3], 0x3a
jne 0x412845
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 0x41285f
cmp byte [ebp - 3], 0x3a
jne 0x41285f
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 0x41288e
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x41288e
cmp byte [ebp - 7], 0x3a
jne 0x41288e
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 0x4128c6
call esi
test eax, eax
je 0x4128b2
cmp byte [ebp - 3], 0x3a
jne 0x4128b2
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 0x4128da
call esi
test eax, eax
je 0x4128da
cmp byte [ebp - 3], 0x3a
jne 0x4128da
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 0x4128f4
cmp byte [ebp - 3], 0x3a
jne 0x4128f4
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 0x412922
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412922
cmp byte [ebp - 7], 0x3a
jne 0x412922
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 0x41295a
call esi
test eax, eax
je 0x412946
cmp byte [ebp - 3], 0x3a
jne 0x412946
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 0x41296e
call esi
test eax, eax
je 0x41296e
cmp byte [ebp - 3], 0x3a
jne 0x41296e
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 0x412988
cmp byte [ebp - 3], 0x3a
jne 0x412988
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 0x4129b6
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x4129b6
cmp byte [ebp - 7], 0x3a
jne 0x4129b6
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 0x4129ee
call esi
test eax, eax
je 0x4129da
cmp byte [ebp - 3], 0x3a
jne 0x4129da
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 0x412a02
call esi
test eax, eax
je 0x412a02
cmp byte [ebp - 3], 0x3a
jne 0x412a02
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 0x412a1c
cmp byte [ebp - 3], 0x3a
jne 0x412a1c
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 0x412a48
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412a48
cmp byte [ebp - 7], 0x3a
jne 0x412a48
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 0x412a80
call esi
test eax, eax
je 0x412a6c
cmp byte [ebp - 3], 0x3a
jne 0x412a6c
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 0x412a94
call esi
test eax, eax
je 0x412a94
cmp byte [ebp - 3], 0x3a
jne 0x412a94
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 0x412aae
cmp byte [ebp - 3], 0x3a
jne 0x412aae
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 0x412ade
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412ade
cmp byte [ebp - 7], 0x3a
jne 0x412ade
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 0x412b16
call esi
test eax, eax
je 0x412b02
cmp byte [ebp - 3], 0x3a
jne 0x412b02
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 0x412b2a
call esi
test eax, eax
je 0x412b2a
cmp byte [ebp - 3], 0x3a
jne 0x412b2a
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 0x412b44
cmp byte [ebp - 3], 0x3a
jne 0x412b44
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 0x412b7d
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412b7d
cmp byte [ebp - 7], 0x3a
jne 0x412b7d
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 0x412bb5
call esi
test eax, eax
je 0x412ba1
cmp byte [ebp - 3], 0x3a
jne 0x412ba1
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 0x412bc9
call esi
test eax, eax
je 0x412bc9
cmp byte [ebp - 3], 0x3a
jne 0x412bc9
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 0x412be3
cmp byte [ebp - 3], 0x3a
jne 0x412be3
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 0x412c12
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412c12
cmp byte [ebp - 7], 0x3a
jne 0x412c12
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 0x412c4a
call esi
test eax, eax
je 0x412c36
cmp byte [ebp - 3], 0x3a
jne 0x412c36
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 0x412c5e
call esi
test eax, eax
je 0x412c5e
cmp byte [ebp - 3], 0x3a
jne 0x412c5e
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 0x412c78
cmp byte [ebp - 3], 0x3a
jne 0x412c78
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 0x412ca4
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412ca4
cmp byte [ebp - 7], 0x3a
jne 0x412ca4
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 0x412cdc
call esi
test eax, eax
je 0x412cc8
cmp byte [ebp - 3], 0x3a
jne 0x412cc8
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 0x412cf0
call esi
test eax, eax
je 0x412cf0
cmp byte [ebp - 3], 0x3a
jne 0x412cf0
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 0x412d0a
cmp byte [ebp - 3], 0x3a
jne 0x412d0a
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 0x412d3a
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412d3a
cmp byte [ebp - 7], 0x3a
jne 0x412d3a
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 0x412d72
call esi
test eax, eax
je 0x412d5e
cmp byte [ebp - 3], 0x3a
jne 0x412d5e
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 0x412d86
call esi
test eax, eax
je 0x412d86
cmp byte [ebp - 3], 0x3a
jne 0x412d86
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 0x412da0
cmp byte [ebp - 3], 0x3a
jne 0x412da0
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 0x412e01
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x412e01
cmp byte [ebp - 7], 0x3a
jne 0x412e01
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 0x412e39
call esi
test eax, eax
je 0x412e25
cmp byte [ebp - 3], 0x3a
jne 0x412e25
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 0x412e4d
call esi
test eax, eax
je 0x412e4d
cmp byte [ebp - 3], 0x3a
jne 0x412e4d
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 0x412e67
cmp byte [ebp - 3], 0x3a
jne 0x412e67
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
mov esi, 0x100
xor edi, edi
push esi
lea eax, [ebp - 0x128]
push edi
push eax
call sub.MSVCRT.dll_memset
push dword [ebp + 8]
lea eax, [ebp - 0x128]
push eax
mov eax, dword [0x4513d0]
call dword [eax + 0x1e8]
push esi
lea eax, [ebp - 0x228]
push edi
push eax
call sub.MSVCRT.dll_memset
push dword [ebp + 0xc]
lea eax, [ebp - 0x228]
push eax
mov eax, dword [0x4513d0]
call dword [eax + 0x1e8]
push 0x1e
lea eax, [ebp - 0x28]
push edi
push eax
call sub.MSVCRT.dll_memset
lea eax, [ebp - 0x128]
add esp, 0x34
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x228]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [0x4513d0]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], 4
mov word [ebp - 0x18], 0x614
call dword [eax + 0x114]
neg eax
sbb eax, eax
pop edi
pop esi
inc eax
pop ebx
leave
ret 8