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

Disassembly:
mov eax, 0x43d370
call fcn.0043c8c0
push ecx
push ecx
push ebx
lea eax, [ebp + 0x10]
xor ebx, ebx
push esi
test eax, eax
push edi
jne 0x40d4f2
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov edi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40cbf9
call esi
test eax, eax
je 0x40cbe6
cmp byte [ebp - 0xf], 0x3a
jne 0x40cbe6
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 edi
jmp 0x40cc10
call esi
test eax, eax
je 0x40cc10
cmp byte [ebp - 0xf], 0x3a
jne 0x40cc10
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40cc51
call esi
test eax, eax
je 0x40cc3e
cmp byte [ebp - 0xf], 0x3a
jne 0x40cc3e
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 edi
jmp 0x40cc68
call esi
test eax, eax
je 0x40cc68
cmp byte [ebp - 0xf], 0x3a
jne 0x40cc68
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_OpenSemaphoreW]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40ccab
call esi
test eax, eax
je 0x40cc98
cmp byte [ebp - 0xf], 0x3a
jne 0x40cc98
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 edi
jmp 0x40ccc2
call esi
test eax, eax
je 0x40ccc2
cmp byte [ebp - 0xf], 0x3a
jne 0x40ccc2
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]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40cd05
call esi
test eax, eax
je 0x40ccf2
cmp byte [ebp - 0xf], 0x3a
jne 0x40ccf2
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 edi
jmp 0x40cd1c
call esi
test eax, eax
je 0x40cd1c
cmp byte [ebp - 0xf], 0x3a
jne 0x40cd1c
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40cd5e
call esi
test eax, eax
je 0x40cd4b
cmp byte [ebp - 0xf], 0x3a
jne 0x40cd4b
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 edi
jmp 0x40cd75
call esi
test eax, eax
je 0x40cd75
cmp byte [ebp - 0xf], 0x3a
jne 0x40cd75
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetHandleCount]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40cdb6
call esi
test eax, eax
je 0x40cda3
cmp byte [ebp - 0xf], 0x3a
jne 0x40cda3
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 edi
jmp 0x40cdcd
call esi
test eax, eax
je 0x40cdcd
cmp byte [ebp - 0xf], 0x3a
jne 0x40cdcd
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_WriteFileEx]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40ce12
call esi
test eax, eax
je 0x40cdff
cmp byte [ebp - 0xf], 0x3a
jne 0x40cdff
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 edi
jmp 0x40ce29
call esi
test eax, eax
je 0x40ce29
cmp byte [ebp - 0xf], 0x3a
jne 0x40ce29
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_PulseEvent]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40ce6a
call esi
test eax, eax
je 0x40ce57
cmp byte [ebp - 0xf], 0x3a
jne 0x40ce57
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 edi
jmp 0x40ce81
call esi
test eax, eax
je 0x40ce81
cmp byte [ebp - 0xf], 0x3a
jne 0x40ce81
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40cec2
call esi
test eax, eax
je 0x40ceaf
cmp byte [ebp - 0xf], 0x3a
jne 0x40ceaf
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 edi
jmp 0x40ced9
call esi
test eax, eax
je 0x40ced9
cmp byte [ebp - 0xf], 0x3a
jne 0x40ced9
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40cf1b
call esi
test eax, eax
je 0x40cf08
cmp byte [ebp - 0xf], 0x3a
jne 0x40cf08
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 edi
jmp 0x40cf32
call esi
test eax, eax
je 0x40cf32
cmp byte [ebp - 0xf], 0x3a
jne 0x40cf32
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]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40cf73
call esi
test eax, eax
je 0x40cf60
cmp byte [ebp - 0xf], 0x3a
jne 0x40cf60
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 edi
jmp 0x40cf8a
call esi
test eax, eax
je 0x40cf8a
cmp byte [ebp - 0xf], 0x3a
jne 0x40cf8a
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]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40cfcb
call esi
test eax, eax
je 0x40cfb8
cmp byte [ebp - 0xf], 0x3a
jne 0x40cfb8
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 edi
jmp 0x40cfe2
call esi
test eax, eax
je 0x40cfe2
cmp byte [ebp - 0xf], 0x3a
jne 0x40cfe2
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]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d027
call esi
test eax, eax
je 0x40d014
cmp byte [ebp - 0xf], 0x3a
jne 0x40d014
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 edi
jmp 0x40d03e
call esi
test eax, eax
je 0x40d03e
cmp byte [ebp - 0xf], 0x3a
jne 0x40d03e
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]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d080
call esi
test eax, eax
je 0x40d06d
cmp byte [ebp - 0xf], 0x3a
jne 0x40d06d
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 edi
jmp 0x40d097
call esi
test eax, eax
je 0x40d097
cmp byte [ebp - 0xf], 0x3a
jne 0x40d097
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d0db
call esi
test eax, eax
je 0x40d0c8
cmp byte [ebp - 0xf], 0x3a
jne 0x40d0c8
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 edi
jmp 0x40d0f2
call esi
test eax, eax
je 0x40d0f2
cmp byte [ebp - 0xf], 0x3a
jne 0x40d0f2
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]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d134
call esi
test eax, eax
je 0x40d121
cmp byte [ebp - 0xf], 0x3a
jne 0x40d121
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 edi
jmp 0x40d14b
call esi
test eax, eax
je 0x40d14b
cmp byte [ebp - 0xf], 0x3a
jne 0x40d14b
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_GetWindowTextA]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d18e
call esi
test eax, eax
je 0x40d17b
cmp byte [ebp - 0xf], 0x3a
jne 0x40d17b
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 edi
jmp 0x40d1a5
call esi
test eax, eax
je 0x40d1a5
cmp byte [ebp - 0xf], 0x3a
jne 0x40d1a5
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d1e6
call esi
test eax, eax
je 0x40d1d3
cmp byte [ebp - 0xf], 0x3a
jne 0x40d1d3
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 edi
jmp 0x40d1fd
call esi
test eax, eax
je 0x40d1fd
cmp byte [ebp - 0xf], 0x3a
jne 0x40d1fd
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]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d23e
call esi
test eax, eax
je 0x40d22b
cmp byte [ebp - 0xf], 0x3a
jne 0x40d22b
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 edi
jmp 0x40d255
call esi
test eax, eax
je 0x40d255
cmp byte [ebp - 0xf], 0x3a
jne 0x40d255
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d296
call esi
test eax, eax
je 0x40d283
cmp byte [ebp - 0xf], 0x3a
jne 0x40d283
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 edi
jmp 0x40d2ad
call esi
test eax, eax
je 0x40d2ad
cmp byte [ebp - 0xf], 0x3a
jne 0x40d2ad
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d2ef
call esi
test eax, eax
je 0x40d2dc
cmp byte [ebp - 0xf], 0x3a
jne 0x40d2dc
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 edi
jmp 0x40d306
call esi
test eax, eax
je 0x40d306
cmp byte [ebp - 0xf], 0x3a
jne 0x40d306
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetComputerNameA]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d347
call esi
test eax, eax
je 0x40d334
cmp byte [ebp - 0xf], 0x3a
jne 0x40d334
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 edi
jmp 0x40d35e
call esi
test eax, eax
je 0x40d35e
cmp byte [ebp - 0xf], 0x3a
jne 0x40d35e
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEvent]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d39f
call esi
test eax, eax
je 0x40d38c
cmp byte [ebp - 0xf], 0x3a
jne 0x40d38c
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 edi
jmp 0x40d3b6
call esi
test eax, eax
je 0x40d3b6
cmp byte [ebp - 0xf], 0x3a
jne 0x40d3b6
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SleepEx]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d3f8
call esi
test eax, eax
je 0x40d3e5
cmp byte [ebp - 0xf], 0x3a
jne 0x40d3e5
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 edi
jmp 0x40d40f
call esi
test eax, eax
je 0x40d40f
cmp byte [ebp - 0xf], 0x3a
jne 0x40d40f
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_OpenFileMappingA]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d452
call esi
test eax, eax
je 0x40d43f
cmp byte [ebp - 0xf], 0x3a
jne 0x40d43f
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 edi
jmp 0x40d469
call esi
test eax, eax
je 0x40d469
cmp byte [ebp - 0xf], 0x3a
jne 0x40d469
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenEventA]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenThread]
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
lea eax, [ebp + 0x10]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x40d4db
call esi
test eax, eax
je 0x40d4c8
cmp byte [ebp - 0xf], 0x3a
jne 0x40d4c8
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 edi
jmp 0x40d4f2
call esi
test eax, eax
je 0x40d4f2
cmp byte [ebp - 0xf], 0x3a
jne 0x40d4f2
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
mov esi, dword [ebp + 0x10]
push esi
call sub.MFC42.DLL_operatornew
push esi
mov edi, eax
push dword [ebp + 0xc]
push edi
call sub.MSVCRT.dll_memcpy
mov eax, dword [0x4453d0]
add esp, 0x10
call dword [eax + 0x8c]
add esi, edi
mov dword [esi - 0x66], eax
add eax, 0xfffff843
mov dword [edi + 0xffc], eax
cmp dword [esi - 0x6a], ebx
jne 0x40d54d
lea ecx, [ebp + 0xc]
call fcn.004289f1
push dword [ebp + 0x10]
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], ebx
push edi
call fcn.00428a40
or dword [ebp - 4], 0xffffffff
mov dword [esi - 0x6a], eax
lea ecx, [ebp + 0xc]
jmp 0x40d572
lea ecx, [ebp + 0xc]
call fcn.004289f1
push dword [esi - 0x6a]
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 1
push dword [ebp + 0x10]
push edi
call fcn.00428afc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00428a1f
cmp dword [ebp + 0x18], ebx
push 2
pop esi
je 0x40d5a5
lea ecx, [ebp + 0xc]
call fcn.00428bd8
push dword [ebp + 0x18]
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], esi
push dword [ebp + 0x14]
push edi
call fcn.00428c86
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0xc]
call fcn.00428bfd
mov eax, dword [0x4453d0]
push ebx
push 0x80
push esi
push ebx
push 1
push 0x40000000
push dword [ebp + 8]
call dword [eax + 0x50]
mov esi, eax
cmp esi, 0xffffffff
je 0x40d5e1
lea eax, [ebp + 0x18]
push ebx
push eax
mov eax, dword [0x4453d0]
push dword [ebp + 0x10]
push edi
push esi
call dword [eax + 0x78]
mov eax, dword [0x4453d0]
push esi
call dword [eax + 0x44]
push edi
call fcn.0043c8a1
pop ecx
pop edi
mov ecx, dword [ebp - 0xc]
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x14