Function at 0x421594
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, 0x238
lea eax, [ebp + 0xc]
push ebx
push esi
push edi
test eax, eax
mov dword [ebp - 0xc], ecx
jne 0x42223e
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 0x4215f1
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x4215f1
cmp byte [ebp - 7], 0x3a
jne 0x4215f1
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 0x42162f
call esi
test eax, eax
je 0x42161b
cmp byte [ebp - 3], 0x3a
jne 0x42161b
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 0x421643
call esi
test eax, eax
je 0x421643
cmp byte [ebp - 3], 0x3a
jne 0x421643
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 0x42165d
cmp byte [ebp - 3], 0x3a
jne 0x42165d
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 0x421689
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421689
cmp byte [ebp - 7], 0x3a
jne 0x421689
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 0x4216c1
call esi
test eax, eax
je 0x4216ad
cmp byte [ebp - 3], 0x3a
jne 0x4216ad
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 0x4216d5
call esi
test eax, eax
je 0x4216d5
cmp byte [ebp - 3], 0x3a
jne 0x4216d5
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 0x4216ef
cmp byte [ebp - 3], 0x3a
jne 0x4216ef
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 0x42171b
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x42171b
cmp byte [ebp - 7], 0x3a
jne 0x42171b
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 0x421753
call esi
test eax, eax
je 0x42173f
cmp byte [ebp - 3], 0x3a
jne 0x42173f
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 0x421767
call esi
test eax, eax
je 0x421767
cmp byte [ebp - 3], 0x3a
jne 0x421767
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 0x421781
cmp byte [ebp - 3], 0x3a
jne 0x421781
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 0x4217bb
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x4217bb
cmp byte [ebp - 7], 0x3a
jne 0x4217bb
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 0x4217f3
call esi
test eax, eax
je 0x4217df
cmp byte [ebp - 3], 0x3a
jne 0x4217df
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 0x421807
call esi
test eax, eax
je 0x421807
cmp byte [ebp - 3], 0x3a
jne 0x421807
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 0x421821
cmp byte [ebp - 3], 0x3a
jne 0x421821
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 0x421858
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421858
cmp byte [ebp - 7], 0x3a
jne 0x421858
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 0x421890
call esi
test eax, eax
je 0x42187c
cmp byte [ebp - 3], 0x3a
jne 0x42187c
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 0x4218a4
call esi
test eax, eax
je 0x4218a4
cmp byte [ebp - 3], 0x3a
jne 0x4218a4
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 0x4218be
cmp byte [ebp - 3], 0x3a
jne 0x4218be
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 0x4218ec
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x4218ec
cmp byte [ebp - 7], 0x3a
jne 0x4218ec
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 0x421924
call esi
test eax, eax
je 0x421910
cmp byte [ebp - 3], 0x3a
jne 0x421910
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 0x421938
call esi
test eax, eax
je 0x421938
cmp byte [ebp - 3], 0x3a
jne 0x421938
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 0x421952
cmp byte [ebp - 3], 0x3a
jne 0x421952
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 0x421986
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421986
cmp byte [ebp - 7], 0x3a
jne 0x421986
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 0x4219be
call esi
test eax, eax
je 0x4219aa
cmp byte [ebp - 3], 0x3a
jne 0x4219aa
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 0x4219d2
call esi
test eax, eax
je 0x4219d2
cmp byte [ebp - 3], 0x3a
jne 0x4219d2
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 0x4219ec
cmp byte [ebp - 3], 0x3a
jne 0x4219ec
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 0x421a1a
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421a1a
cmp byte [ebp - 7], 0x3a
jne 0x421a1a
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 0x421a52
call esi
test eax, eax
je 0x421a3e
cmp byte [ebp - 3], 0x3a
jne 0x421a3e
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 0x421a66
call esi
test eax, eax
je 0x421a66
cmp byte [ebp - 3], 0x3a
jne 0x421a66
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 0x421a80
cmp byte [ebp - 3], 0x3a
jne 0x421a80
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 0x421aac
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421aac
cmp byte [ebp - 7], 0x3a
jne 0x421aac
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 0x421ae4
call esi
test eax, eax
je 0x421ad0
cmp byte [ebp - 3], 0x3a
jne 0x421ad0
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 0x421af8
call esi
test eax, eax
je 0x421af8
cmp byte [ebp - 3], 0x3a
jne 0x421af8
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 0x421b12
cmp byte [ebp - 3], 0x3a
jne 0x421b12
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 0x421b40
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421b40
cmp byte [ebp - 7], 0x3a
jne 0x421b40
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 0x421b78
call esi
test eax, eax
je 0x421b64
cmp byte [ebp - 3], 0x3a
jne 0x421b64
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 0x421b8c
call esi
test eax, eax
je 0x421b8c
cmp byte [ebp - 3], 0x3a
jne 0x421b8c
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 0x421ba6
cmp byte [ebp - 3], 0x3a
jne 0x421ba6
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 0x421bd0
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421bd0
cmp byte [ebp - 7], 0x3a
jne 0x421bd0
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 0x421c08
call esi
test eax, eax
je 0x421bf4
cmp byte [ebp - 3], 0x3a
jne 0x421bf4
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 0x421c1c
call esi
test eax, eax
je 0x421c1c
cmp byte [ebp - 3], 0x3a
jne 0x421c1c
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 0x421c36
cmp byte [ebp - 3], 0x3a
jne 0x421c36
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 0x421c65
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421c65
cmp byte [ebp - 7], 0x3a
jne 0x421c65
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 0x421c9d
call esi
test eax, eax
je 0x421c89
cmp byte [ebp - 3], 0x3a
jne 0x421c89
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 0x421cb1
call esi
test eax, eax
je 0x421cb1
cmp byte [ebp - 3], 0x3a
jne 0x421cb1
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 0x421ccb
cmp byte [ebp - 3], 0x3a
jne 0x421ccb
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 0x421cf9
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421cf9
cmp byte [ebp - 7], 0x3a
jne 0x421cf9
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 0x421d31
call esi
test eax, eax
je 0x421d1d
cmp byte [ebp - 3], 0x3a
jne 0x421d1d
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 0x421d45
call esi
test eax, eax
je 0x421d45
cmp byte [ebp - 3], 0x3a
jne 0x421d45
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 0x421d5f
cmp byte [ebp - 3], 0x3a
jne 0x421d5f
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 0x421d8d
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421d8d
cmp byte [ebp - 7], 0x3a
jne 0x421d8d
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 0x421dc5
call esi
test eax, eax
je 0x421db1
cmp byte [ebp - 3], 0x3a
jne 0x421db1
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 0x421dd9
call esi
test eax, eax
je 0x421dd9
cmp byte [ebp - 3], 0x3a
jne 0x421dd9
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 0x421df3
cmp byte [ebp - 3], 0x3a
jne 0x421df3
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 0x421e1f
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421e1f
cmp byte [ebp - 7], 0x3a
jne 0x421e1f
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 0x421e57
call esi
test eax, eax
je 0x421e43
cmp byte [ebp - 3], 0x3a
jne 0x421e43
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 0x421e6b
call esi
test eax, eax
je 0x421e6b
cmp byte [ebp - 3], 0x3a
jne 0x421e6b
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 0x421e85
cmp byte [ebp - 3], 0x3a
jne 0x421e85
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 0x421eb5
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421eb5
cmp byte [ebp - 7], 0x3a
jne 0x421eb5
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 0x421eed
call esi
test eax, eax
je 0x421ed9
cmp byte [ebp - 3], 0x3a
jne 0x421ed9
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 0x421f01
call esi
test eax, eax
je 0x421f01
cmp byte [ebp - 3], 0x3a
jne 0x421f01
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 0x421f1b
cmp byte [ebp - 3], 0x3a
jne 0x421f1b
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 0x421f54
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421f54
cmp byte [ebp - 7], 0x3a
jne 0x421f54
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 0x421f8c
call esi
test eax, eax
je 0x421f78
cmp byte [ebp - 3], 0x3a
jne 0x421f78
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 0x421fa0
call esi
test eax, eax
je 0x421fa0
cmp byte [ebp - 3], 0x3a
jne 0x421fa0
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 0x421fba
cmp byte [ebp - 3], 0x3a
jne 0x421fba
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 0x421fe9
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x421fe9
cmp byte [ebp - 7], 0x3a
jne 0x421fe9
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 0x422021
call esi
test eax, eax
je 0x42200d
cmp byte [ebp - 3], 0x3a
jne 0x42200d
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 0x422035
call esi
test eax, eax
je 0x422035
cmp byte [ebp - 3], 0x3a
jne 0x422035
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 0x42204f
cmp byte [ebp - 3], 0x3a
jne 0x42204f
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 0x42207b
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x42207b
cmp byte [ebp - 7], 0x3a
jne 0x42207b
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 0x4220b3
call esi
test eax, eax
je 0x42209f
cmp byte [ebp - 3], 0x3a
jne 0x42209f
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 0x4220c7
call esi
test eax, eax
je 0x4220c7
cmp byte [ebp - 3], 0x3a
jne 0x4220c7
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 0x4220e1
cmp byte [ebp - 3], 0x3a
jne 0x4220e1
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 0x422111
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x422111
cmp byte [ebp - 7], 0x3a
jne 0x422111
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 0x422149
call esi
test eax, eax
je 0x422135
cmp byte [ebp - 3], 0x3a
jne 0x422135
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 0x42215d
call esi
test eax, eax
je 0x42215d
cmp byte [ebp - 3], 0x3a
jne 0x42215d
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 0x422177
cmp byte [ebp - 3], 0x3a
jne 0x422177
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 0x4221d8
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x4221d8
cmp byte [ebp - 7], 0x3a
jne 0x4221d8
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 0x422210
call esi
test eax, eax
je 0x4221fc
cmp byte [ebp - 3], 0x3a
jne 0x4221fc
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 0x422224
call esi
test eax, eax
je 0x422224
cmp byte [ebp - 3], 0x3a
jne 0x422224
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 0x42223e
cmp byte [ebp - 3], 0x3a
jne 0x42223e
movzx eax, byte [ebp - 4]
push eax
call ebx
pop ecx
mov ebx, dword [ebp + 0xc]
push 0
push 2
and dword [ebx], 0
mov eax, dword [0x4513d0]
call dword [eax + 0xc]
mov edi, eax
cmp edi, 0xffffffff
je 0x422303
mov esi, 0x128
lea eax, [ebp - 0x134]
push esi
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x134]
mov dword [ebp - 0x134], esi
push eax
mov eax, dword [0x4513d0]
push edi
call dword [eax + 8]
test eax, eax
je 0x422303
push 0x104
lea eax, [ebp - 0x238]
push 0
push eax
call sub.MSVCRT.dll_memset
mov esi, dword [ebp - 0xc]
add esp, 0xc
lea eax, [ebp - 0x238]
mov ecx, esi
push eax
push dword [ebp - 0x12c]
call fcn.00423eee
lea eax, [ebp - 0x238]
mov ecx, esi
push eax
call fcn.0042308c
test eax, eax
je 0x4222da
lea eax, [ebp - 0x238]
lea ecx, [esi + 4]
push eax
call fcn.00429143
lea eax, [ebp - 0x134]
push eax
mov eax, dword [0x4513d0]
push edi
call dword [eax + 4]
test eax, eax
jne 0x42228c
mov eax, dword [0x4513d0]
push edi
call dword [eax + 0x44]
push ebx
lea ecx, [esi + 4]
push dword [ebp + 8]
call fcn.00429e55
pop edi
pop esi
pop ebx
leave
ret 8