Function at 0x416665
Capabilities:
Allocate thread local storage
Clear file content
Create directory
Delete directory
Delete file
Get common file path
Get graphical window text
Read file on windows
Resume thread
Set current directory
Set environment variable
Set file attributes
Suspend thread
Write file on windows

Disassembly:
mov eax, 0x448e0a
call fcn.00448330
sub esp, 0x354
push ebx
lea eax, [ebp + 8]
xor ebx, ebx
push esi
test eax, eax
push edi
jne 0x417318
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x4166ac
cmp byte [ebp - 0xf], 0x3a
jne 0x4166ac
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4166ec
call edi
test eax, eax
je 0x4166d9
cmp byte [ebp - 0xf], 0x3a
jne 0x4166d9
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416703
call edi
test eax, eax
je 0x416703
cmp byte [ebp - 0xf], 0x3a
jne 0x416703
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x41671e
cmp byte [ebp - 0xf], 0x3a
jne 0x41671e
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416758
call edi
test eax, eax
je 0x416745
cmp byte [ebp - 0xf], 0x3a
jne 0x416745
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x41676f
call edi
test eax, eax
je 0x41676f
cmp byte [ebp - 0xf], 0x3a
jne 0x41676f
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_ToUnicode]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CompareStringA]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x4167a2
cmp byte [ebp - 0xf], 0x3a
jne 0x4167a2
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4167dc
call edi
test eax, eax
je 0x4167c9
cmp byte [ebp - 0xf], 0x3a
jne 0x4167c9
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x4167f3
call edi
test eax, eax
je 0x4167f3
cmp byte [ebp - 0xf], 0x3a
jne 0x4167f3
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416815
cmp byte [ebp - 0xf], 0x3a
jne 0x416815
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41684f
call edi
test eax, eax
je 0x41683c
cmp byte [ebp - 0xf], 0x3a
jne 0x41683c
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416866
call edi
test eax, eax
je 0x416866
cmp byte [ebp - 0xf], 0x3a
jne 0x416866
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416887
cmp byte [ebp - 0xf], 0x3a
jne 0x416887
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4168c1
call edi
test eax, eax
je 0x4168ae
cmp byte [ebp - 0xf], 0x3a
jne 0x4168ae
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x4168d8
call edi
test eax, eax
je 0x4168d8
cmp byte [ebp - 0xf], 0x3a
jne 0x4168d8
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenThread]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SleepEx]
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416914
cmp byte [ebp - 0xf], 0x3a
jne 0x416914
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41694e
call edi
test eax, eax
je 0x41693b
cmp byte [ebp - 0xf], 0x3a
jne 0x41693b
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416965
call edi
test eax, eax
je 0x416965
cmp byte [ebp - 0xf], 0x3a
jne 0x416965
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenEventA]
push ebx
call dword [sym.imp.KERNEL32.dll_SetEvent]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416990
cmp byte [ebp - 0xf], 0x3a
jne 0x416990
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4169ca
call edi
test eax, eax
je 0x4169b7
cmp byte [ebp - 0xf], 0x3a
jne 0x4169b7
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x4169e1
call edi
test eax, eax
je 0x4169e1
cmp byte [ebp - 0xf], 0x3a
jne 0x4169e1
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.USER32.dll_FindWindowA]
push ebx
call dword [sym.imp.KERNEL32.dll_PulseEvent]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416a0b
cmp byte [ebp - 0xf], 0x3a
jne 0x416a0b
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416a45
call edi
test eax, eax
je 0x416a32
cmp byte [ebp - 0xf], 0x3a
jne 0x416a32
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416a5c
call edi
test eax, eax
je 0x416a5c
cmp byte [ebp - 0xf], 0x3a
jne 0x416a5c
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.USER32.dll_DestroyIcon]
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_DrawTextA]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416a89
cmp byte [ebp - 0xf], 0x3a
jne 0x416a89
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416ac3
call edi
test eax, eax
je 0x416ab0
cmp byte [ebp - 0xf], 0x3a
jne 0x416ab0
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416ada
call edi
test eax, eax
je 0x416ada
cmp byte [ebp - 0xf], 0x3a
jne 0x416ada
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFileEx]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416b0d
cmp byte [ebp - 0xf], 0x3a
jne 0x416b0d
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416b47
call edi
test eax, eax
je 0x416b34
cmp byte [ebp - 0xf], 0x3a
jne 0x416b34
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416b5e
call edi
test eax, eax
je 0x416b5e
cmp byte [ebp - 0xf], 0x3a
jne 0x416b5e
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416b8d
cmp byte [ebp - 0xf], 0x3a
jne 0x416b8d
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416bc7
call edi
test eax, eax
je 0x416bb4
cmp byte [ebp - 0xf], 0x3a
jne 0x416bb4
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416bde
call edi
test eax, eax
je 0x416bde
cmp byte [ebp - 0xf], 0x3a
jne 0x416bde
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416c00
cmp byte [ebp - 0xf], 0x3a
jne 0x416c00
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416c3a
call edi
test eax, eax
je 0x416c27
cmp byte [ebp - 0xf], 0x3a
jne 0x416c27
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416c51
call edi
test eax, eax
je 0x416c51
cmp byte [ebp - 0xf], 0x3a
jne 0x416c51
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416c73
cmp byte [ebp - 0xf], 0x3a
jne 0x416c73
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416cad
call edi
test eax, eax
je 0x416c9a
cmp byte [ebp - 0xf], 0x3a
jne 0x416c9a
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416cc4
call edi
test eax, eax
je 0x416cc4
cmp byte [ebp - 0xf], 0x3a
jne 0x416cc4
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.USER32.dll_CloseDesktop]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416cee
cmp byte [ebp - 0xf], 0x3a
jne 0x416cee
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416d28
call edi
test eax, eax
je 0x416d15
cmp byte [ebp - 0xf], 0x3a
jne 0x416d15
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416d3f
call edi
test eax, eax
je 0x416d3f
cmp byte [ebp - 0xf], 0x3a
jne 0x416d3f
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_DeleteMenu]
push ebx
call dword [sym.imp.USER32.dll_DestroyWindow]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416d6a
cmp byte [ebp - 0xf], 0x3a
jne 0x416d6a
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416da4
call edi
test eax, eax
je 0x416d91
cmp byte [ebp - 0xf], 0x3a
jne 0x416d91
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416dbb
call edi
test eax, eax
je 0x416dbb
cmp byte [ebp - 0xf], 0x3a
jne 0x416dbb
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
push ebx
call dword [sym.imp.USER32.dll_CloseWindow]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416de6
cmp byte [ebp - 0xf], 0x3a
jne 0x416de6
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416e20
call edi
test eax, eax
je 0x416e0d
cmp byte [ebp - 0xf], 0x3a
jne 0x416e0d
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416e37
call edi
test eax, eax
je 0x416e37
cmp byte [ebp - 0xf], 0x3a
jne 0x416e37
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteProfileSectionA]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416e61
cmp byte [ebp - 0xf], 0x3a
jne 0x416e61
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416e9b
call edi
test eax, eax
je 0x416e88
cmp byte [ebp - 0xf], 0x3a
jne 0x416e88
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416eb2
call edi
test eax, eax
je 0x416eb2
cmp byte [ebp - 0xf], 0x3a
jne 0x416eb2
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryExA]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416ed6
cmp byte [ebp - 0xf], 0x3a
jne 0x416ed6
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416f10
call edi
test eax, eax
je 0x416efd
cmp byte [ebp - 0xf], 0x3a
jne 0x416efd
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416f27
call edi
test eax, eax
je 0x416f27
cmp byte [ebp - 0xf], 0x3a
jne 0x416f27
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
call dword [sym.imp.USER32.dll_CloseClipboard]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416f50
cmp byte [ebp - 0xf], 0x3a
jne 0x416f50
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x416f8a
call edi
test eax, eax
je 0x416f77
cmp byte [ebp - 0xf], 0x3a
jne 0x416f77
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x416fa1
call edi
test eax, eax
je 0x416fa1
cmp byte [ebp - 0xf], 0x3a
jne 0x416fa1
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.USER32.dll_ShowCursor]
push ebx
call dword [sym.imp.KERNEL32.dll_FindAtomA]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x416fca
cmp byte [ebp - 0xf], 0x3a
jne 0x416fca
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x417004
call edi
test eax, eax
je 0x416ff1
cmp byte [ebp - 0xf], 0x3a
jne 0x416ff1
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x41701b
call edi
test eax, eax
je 0x41701b
cmp byte [ebp - 0xf], 0x3a
jne 0x41701b
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_ToAscii]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x417049
cmp byte [ebp - 0xf], 0x3a
jne 0x417049
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x417083
call edi
test eax, eax
je 0x417070
cmp byte [ebp - 0xf], 0x3a
jne 0x417070
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x41709a
call edi
test eax, eax
je 0x41709a
cmp byte [ebp - 0xf], 0x3a
jne 0x41709a
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.USER32.dll_CopyIcon]
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x4170c3
cmp byte [ebp - 0xf], 0x3a
jne 0x4170c3
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4170fd
call edi
test eax, eax
je 0x4170ea
cmp byte [ebp - 0xf], 0x3a
jne 0x4170ea
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x417114
call edi
test eax, eax
je 0x417114
cmp byte [ebp - 0xf], 0x3a
jne 0x417114
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call sub.MSVCRT.dll_iswspace
pop ecx
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x417136
cmp byte [ebp - 0xf], 0x3a
jne 0x417136
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x417170
call edi
test eax, eax
je 0x41715d
cmp byte [ebp - 0xf], 0x3a
jne 0x41715d
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x417187
call edi
test eax, eax
je 0x417187
cmp byte [ebp - 0xf], 0x3a
jne 0x417187
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.USER32.dll_CloseDesktop]
push ebx
call dword [sym.imp.KERNEL32.dll_SetHandleCount]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x4171b0
cmp byte [ebp - 0xf], 0x3a
jne 0x4171b0
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4171ea
call edi
test eax, eax
je 0x4171d7
cmp byte [ebp - 0xf], 0x3a
jne 0x4171d7
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x417201
call edi
test eax, eax
je 0x417201
cmp byte [ebp - 0xf], 0x3a
jne 0x417201
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push ebx
call dword [sym.imp.USER32.dll_GetDC]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x41722b
cmp byte [ebp - 0xf], 0x3a
jne 0x41722b
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x417265
call edi
test eax, eax
je 0x417252
cmp byte [ebp - 0xf], 0x3a
jne 0x417252
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x41727c
call edi
test eax, eax
je 0x41727c
cmp byte [ebp - 0xf], 0x3a
jne 0x41727c
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetWindowLongA]
lea eax, [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x4172a7
cmp byte [ebp - 0xf], 0x3a
jne 0x4172a7
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4172e1
call edi
test eax, eax
je 0x4172ce
cmp byte [ebp - 0xf], 0x3a
jne 0x4172ce
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
mov byte [ebp - 0x14], 0x42
push eax
mov byte [ebp - 0x13], 0x3a
mov byte [ebp - 0x12], bl
call esi
jmp 0x4172f8
call edi
test eax, eax
je 0x4172f8
cmp byte [ebp - 0xf], 0x3a
jne 0x4172f8
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
push ebx
push ebx
call sub.MSVCRT.dll_vprintf
pop ecx
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
push ebx
push 0x7d
push 0x34
pop edi
push edi
push 0x33
pop eax
push eax
push 0x36
push 0x31
push 0x43
push 0x38
push 0x35
push 0x44
push 0x39
push 0x36
push 0x42
push 0x37
push 0x2d
pop esi
push esi
push 0x46
push 0x46
push 0x42
push 0x41
push esi
push 0x66
push 0x36
push edi
push edi
push esi
push 0x32
push 0x38
push edi
push 0x39
push esi
push 0x41
push eax
push 0x46
push eax
push eax
push 0x44
push eax
push 0x38
lea eax, [ebp - 0xf4]
push 0x7b
push eax
call fcn.0041591e
add esp, 0xa0
lea eax, [ebp - 0xf4]
push eax
mov eax, dword [0x4503d0]
push ebx
push 0x1f0003
call dword [eax + 0x30]
cmp eax, ebx
mov dword [ebp - 0x18], eax
je 0x41748a
push eax
mov eax, dword [0x4503d0]
call dword [eax + 0x48]
push dword [ebp - 0x18]
mov eax, dword [0x4503d0]
call dword [eax + 0x44]
mov eax, dword [0x4503d0]
push 0xbb8
call dword [eax + 0x3c]
lea eax, [ebp - 0x360]
push eax
mov eax, dword [0x4503d0]
push 0x104
call dword [eax + 0x54]
push ebx
push 0x73
push 0x25
push 0x73
lea eax, [ebp - 0x90]
push 0x25
push eax
call fcn.0041591e
add esp, 0x18
push ebx
push 0x74
push 0x61
push 0x64
push 0x2e
push 0x7d
push 0x43
pop eax
push eax
push 0x32
pop ecx
push ecx
push 0x37
push ecx
push eax
push ecx
push 0x45
push eax
push 0x31
push 0x44
push 0x35
push 0x31
push esi
push 0x30
push 0x31
push eax
push 0x41
push esi
push 0x65
push 0x64
push 0x63
push edi
push esi
push 0x38
push edi
push 0x45
push 0x45
push esi
push 0x41
push 0x39
push 0x46
push eax
push edi
push ecx
push 0x46
push 0x46
lea eax, [ebp - 0x158]
push 0x7b
push eax
call fcn.0041591e
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x25c]
push eax
mov eax, dword [0x4503d0]
call dword [eax + 0x1dc]
add esp, 0xc0
lea eax, [ebp - 0x25c]
push ebx
push 0x80
push 3
push ebx
push 1
push 0x80000000
push eax
mov eax, dword [0x4503d0]
call dword [eax + 0x50]
mov esi, eax
cmp esi, 0xffffffff
jne 0x41748e
xor eax, eax
jmp 0x4174e7
lea eax, [ebp - 0x1c]
push ebx
push eax
lea eax, [ebp - 0x2c]
push 0x10
push eax
mov eax, dword [0x4503d0]
push esi
call dword [eax + 0x4c]
mov eax, dword [0x4503d0]
push esi
call dword [eax + 0x44]
push 0x58
call sub.MFC42.DLL_operatornew
pop ecx
mov ecx, eax
mov dword [ebp - 0x18], ecx
cmp ecx, ebx
mov dword [ebp - 4], ebx
je 0x4174ca
lea eax, [ebp - 0x2c]
push eax
call fcn.004355ca
jmp 0x4174cc
xor eax, eax
mov ecx, dword [ebp + 8]
or dword [ebp - 4], 0xffffffff
mov dword [ecx], eax
lea eax, [ebp - 0x25c]
push eax
mov eax, dword [0x4503d0]
call dword [eax + 0x40]
push 1
pop eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4