Function at 0x40fc91
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, 0x448dd0
call fcn.00448330
sub esp, 0x10
push ebx
lea eax, [ebp + 8]
xor ebx, ebx
push esi
test eax, eax
push edi
jne 0x410941
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 0x40fcd5
cmp byte [ebp - 0xf], 0x3a
jne 0x40fcd5
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 0x40fd15
call edi
test eax, eax
je 0x40fd02
cmp byte [ebp - 0xf], 0x3a
jne 0x40fd02
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 0x40fd2c
call edi
test eax, eax
je 0x40fd2c
cmp byte [ebp - 0xf], 0x3a
jne 0x40fd2c
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 0x40fd47
cmp byte [ebp - 0xf], 0x3a
jne 0x40fd47
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 0x40fd81
call edi
test eax, eax
je 0x40fd6e
cmp byte [ebp - 0xf], 0x3a
jne 0x40fd6e
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 0x40fd98
call edi
test eax, eax
je 0x40fd98
cmp byte [ebp - 0xf], 0x3a
jne 0x40fd98
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 0x40fdcb
cmp byte [ebp - 0xf], 0x3a
jne 0x40fdcb
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 0x40fe05
call edi
test eax, eax
je 0x40fdf2
cmp byte [ebp - 0xf], 0x3a
jne 0x40fdf2
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 0x40fe1c
call edi
test eax, eax
je 0x40fe1c
cmp byte [ebp - 0xf], 0x3a
jne 0x40fe1c
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 0x40fe3e
cmp byte [ebp - 0xf], 0x3a
jne 0x40fe3e
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 0x40fe78
call edi
test eax, eax
je 0x40fe65
cmp byte [ebp - 0xf], 0x3a
jne 0x40fe65
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 0x40fe8f
call edi
test eax, eax
je 0x40fe8f
cmp byte [ebp - 0xf], 0x3a
jne 0x40fe8f
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 0x40feb0
cmp byte [ebp - 0xf], 0x3a
jne 0x40feb0
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 0x40feea
call edi
test eax, eax
je 0x40fed7
cmp byte [ebp - 0xf], 0x3a
jne 0x40fed7
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 0x40ff01
call edi
test eax, eax
je 0x40ff01
cmp byte [ebp - 0xf], 0x3a
jne 0x40ff01
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 0x40ff3d
cmp byte [ebp - 0xf], 0x3a
jne 0x40ff3d
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 0x40ff77
call edi
test eax, eax
je 0x40ff64
cmp byte [ebp - 0xf], 0x3a
jne 0x40ff64
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 0x40ff8e
call edi
test eax, eax
je 0x40ff8e
cmp byte [ebp - 0xf], 0x3a
jne 0x40ff8e
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 0x40ffb9
cmp byte [ebp - 0xf], 0x3a
jne 0x40ffb9
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 0x40fff3
call edi
test eax, eax
je 0x40ffe0
cmp byte [ebp - 0xf], 0x3a
jne 0x40ffe0
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 0x41000a
call edi
test eax, eax
je 0x41000a
cmp byte [ebp - 0xf], 0x3a
jne 0x41000a
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 0x410034
cmp byte [ebp - 0xf], 0x3a
jne 0x410034
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 0x41006e
call edi
test eax, eax
je 0x41005b
cmp byte [ebp - 0xf], 0x3a
jne 0x41005b
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 0x410085
call edi
test eax, eax
je 0x410085
cmp byte [ebp - 0xf], 0x3a
jne 0x410085
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 0x4100b2
cmp byte [ebp - 0xf], 0x3a
jne 0x4100b2
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 0x4100ec
call edi
test eax, eax
je 0x4100d9
cmp byte [ebp - 0xf], 0x3a
jne 0x4100d9
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 0x410103
call edi
test eax, eax
je 0x410103
cmp byte [ebp - 0xf], 0x3a
jne 0x410103
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 0x410136
cmp byte [ebp - 0xf], 0x3a
jne 0x410136
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 0x410170
call edi
test eax, eax
je 0x41015d
cmp byte [ebp - 0xf], 0x3a
jne 0x41015d
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 0x410187
call edi
test eax, eax
je 0x410187
cmp byte [ebp - 0xf], 0x3a
jne 0x410187
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 0x4101b6
cmp byte [ebp - 0xf], 0x3a
jne 0x4101b6
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 0x4101f0
call edi
test eax, eax
je 0x4101dd
cmp byte [ebp - 0xf], 0x3a
jne 0x4101dd
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 0x410207
call edi
test eax, eax
je 0x410207
cmp byte [ebp - 0xf], 0x3a
jne 0x410207
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 0x410229
cmp byte [ebp - 0xf], 0x3a
jne 0x410229
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 0x410263
call edi
test eax, eax
je 0x410250
cmp byte [ebp - 0xf], 0x3a
jne 0x410250
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 0x41027a
call edi
test eax, eax
je 0x41027a
cmp byte [ebp - 0xf], 0x3a
jne 0x41027a
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 0x41029c
cmp byte [ebp - 0xf], 0x3a
jne 0x41029c
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 0x4102d6
call edi
test eax, eax
je 0x4102c3
cmp byte [ebp - 0xf], 0x3a
jne 0x4102c3
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 0x4102ed
call edi
test eax, eax
je 0x4102ed
cmp byte [ebp - 0xf], 0x3a
jne 0x4102ed
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 0x410317
cmp byte [ebp - 0xf], 0x3a
jne 0x410317
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 0x410351
call edi
test eax, eax
je 0x41033e
cmp byte [ebp - 0xf], 0x3a
jne 0x41033e
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 0x410368
call edi
test eax, eax
je 0x410368
cmp byte [ebp - 0xf], 0x3a
jne 0x410368
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 0x410393
cmp byte [ebp - 0xf], 0x3a
jne 0x410393
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 0x4103cd
call edi
test eax, eax
je 0x4103ba
cmp byte [ebp - 0xf], 0x3a
jne 0x4103ba
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 0x4103e4
call edi
test eax, eax
je 0x4103e4
cmp byte [ebp - 0xf], 0x3a
jne 0x4103e4
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 0x41040f
cmp byte [ebp - 0xf], 0x3a
jne 0x41040f
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 0x410449
call edi
test eax, eax
je 0x410436
cmp byte [ebp - 0xf], 0x3a
jne 0x410436
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 0x410460
call edi
test eax, eax
je 0x410460
cmp byte [ebp - 0xf], 0x3a
jne 0x410460
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 0x41048a
cmp byte [ebp - 0xf], 0x3a
jne 0x41048a
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 0x4104c4
call edi
test eax, eax
je 0x4104b1
cmp byte [ebp - 0xf], 0x3a
jne 0x4104b1
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 0x4104db
call edi
test eax, eax
je 0x4104db
cmp byte [ebp - 0xf], 0x3a
jne 0x4104db
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 0x4104ff
cmp byte [ebp - 0xf], 0x3a
jne 0x4104ff
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 0x410539
call edi
test eax, eax
je 0x410526
cmp byte [ebp - 0xf], 0x3a
jne 0x410526
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 0x410550
call edi
test eax, eax
je 0x410550
cmp byte [ebp - 0xf], 0x3a
jne 0x410550
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 0x410579
cmp byte [ebp - 0xf], 0x3a
jne 0x410579
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 0x4105b3
call edi
test eax, eax
je 0x4105a0
cmp byte [ebp - 0xf], 0x3a
jne 0x4105a0
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 0x4105ca
call edi
test eax, eax
je 0x4105ca
cmp byte [ebp - 0xf], 0x3a
jne 0x4105ca
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 0x4105f3
cmp byte [ebp - 0xf], 0x3a
jne 0x4105f3
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 0x41062d
call edi
test eax, eax
je 0x41061a
cmp byte [ebp - 0xf], 0x3a
jne 0x41061a
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 0x410644
call edi
test eax, eax
je 0x410644
cmp byte [ebp - 0xf], 0x3a
jne 0x410644
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 0x410672
cmp byte [ebp - 0xf], 0x3a
jne 0x410672
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 0x4106ac
call edi
test eax, eax
je 0x410699
cmp byte [ebp - 0xf], 0x3a
jne 0x410699
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 0x4106c3
call edi
test eax, eax
je 0x4106c3
cmp byte [ebp - 0xf], 0x3a
jne 0x4106c3
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 0x4106ec
cmp byte [ebp - 0xf], 0x3a
jne 0x4106ec
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 0x410726
call edi
test eax, eax
je 0x410713
cmp byte [ebp - 0xf], 0x3a
jne 0x410713
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 0x41073d
call edi
test eax, eax
je 0x41073d
cmp byte [ebp - 0xf], 0x3a
jne 0x41073d
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 0x41075f
cmp byte [ebp - 0xf], 0x3a
jne 0x41075f
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 0x410799
call edi
test eax, eax
je 0x410786
cmp byte [ebp - 0xf], 0x3a
jne 0x410786
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 0x4107b0
call edi
test eax, eax
je 0x4107b0
cmp byte [ebp - 0xf], 0x3a
jne 0x4107b0
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 0x4107d9
cmp byte [ebp - 0xf], 0x3a
jne 0x4107d9
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 0x410813
call edi
test eax, eax
je 0x410800
cmp byte [ebp - 0xf], 0x3a
jne 0x410800
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 0x41082a
call edi
test eax, eax
je 0x41082a
cmp byte [ebp - 0xf], 0x3a
jne 0x41082a
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 0x410854
cmp byte [ebp - 0xf], 0x3a
jne 0x410854
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 0x41088e
call edi
test eax, eax
je 0x41087b
cmp byte [ebp - 0xf], 0x3a
jne 0x41087b
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 0x4108a5
call edi
test eax, eax
je 0x4108a5
cmp byte [ebp - 0xf], 0x3a
jne 0x4108a5
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 0x4108d0
cmp byte [ebp - 0xf], 0x3a
jne 0x4108d0
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 0x41090a
call edi
test eax, eax
je 0x4108f7
cmp byte [ebp - 0xf], 0x3a
jne 0x4108f7
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 0x410921
call edi
test eax, eax
je 0x410921
cmp byte [ebp - 0xf], 0x3a
jne 0x410921
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 0x20
lea ecx, [ebp - 0x14]
pop esi
mov dword [ebp - 0x10], 0x30
call fcn.0043463e
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x14]
push edi
push esi
push 0x30
mov dword [ebp - 4], ebx
call fcn.0043466a
test eax, eax
jne 0x410a57
push 0x18
lea ecx, [ebp - 0x14]
pop esi
push edi
push esi
push 0x30
call fcn.0043466a
test eax, eax
jne 0x410a57
push 8
lea ecx, [ebp - 0x14]
pop esi
push edi
push esi
push 0x30
call fcn.0043466a
test eax, eax
jne 0x410a57
push 4
lea ecx, [ebp - 0x14]
pop esi
push edi
push esi
push 0x30
call fcn.0043466a
test eax, eax
jne 0x410a57
push 0x20
lea ecx, [ebp - 0x14]
pop esi
push edi
push esi
push esi
mov dword [ebp - 0x10], esi
call fcn.0043466a
test eax, eax
jne 0x410a57
push 0x18
lea ecx, [ebp - 0x14]
pop esi
push edi
push esi
push 0x20
call fcn.0043466a
test eax, eax
jne 0x410a57
push 8
lea ecx, [ebp - 0x14]
pop esi
push edi
push esi
push 0x20
call fcn.0043466a
test eax, eax
jne 0x410a57
push 4
lea ecx, [ebp - 0x14]
pop esi
push edi
push esi
push 0x20
call fcn.0043466a
test eax, eax
jne 0x410a57
push 0x10
lea ecx, [ebp - 0x14]
pop eax
push 0x20
mov dword [ebp - 0x10], eax
pop esi
push edi
push esi
push eax
call fcn.0043466a
test eax, eax
jne 0x410a57
push 0x18
lea ecx, [ebp - 0x14]
pop esi
push edi
push esi
push 0x10
call fcn.0043466a
test eax, eax
jne 0x410a57
push 8
lea ecx, [ebp - 0x14]
pop esi
push edi
push esi
push 0x10
call fcn.0043466a
test eax, eax
jne 0x410a57
push 4
lea ecx, [ebp - 0x14]
pop esi
push edi
push esi
push 0x10
call fcn.0043466a
test eax, eax
jne 0x410a57
xor esi, esi
cmp esi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
je 0x410a91
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
push edi
push esi
push dword [ebp - 0x10]
call fcn.004346a8
test eax, eax
je 0x410a91
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp + 0x10]
push eax
push dword [ebp - 0x1c]
mov dword [ecx], eax
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00434663
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc