Function at 0x4241b3
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, 0x43d3a6
call fcn.0043c8c0
sub esp, 0x580
push ebx
push esi
lea eax, [ebp - 0x18]
mov esi, ecx
xor ebx, ebx
push edi
test eax, eax
mov dword [ebp - 0x18], esi
jne 0x424b82
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x424225
call edi
test eax, eax
je 0x42420e
cmp byte [ebp - 0xf], 0x3a
jne 0x42420e
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x42423c
call edi
test eax, eax
je 0x42423c
cmp byte [ebp - 0xf], 0x3a
jne 0x42423c
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x424281
call edi
test eax, eax
je 0x42426a
cmp byte [ebp - 0xf], 0x3a
jne 0x42426a
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424298
call edi
test eax, eax
je 0x424298
cmp byte [ebp - 0xf], 0x3a
jne 0x424298
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4242df
call edi
test eax, eax
je 0x4242c8
cmp byte [ebp - 0xf], 0x3a
jne 0x4242c8
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x4242f6
call edi
test eax, eax
je 0x4242f6
cmp byte [ebp - 0xf], 0x3a
jne 0x4242f6
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x42433d
call edi
test eax, eax
je 0x424326
cmp byte [ebp - 0xf], 0x3a
jne 0x424326
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424354
call edi
test eax, eax
je 0x424354
cmp byte [ebp - 0xf], 0x3a
jne 0x424354
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x42439a
call edi
test eax, eax
je 0x424383
cmp byte [ebp - 0xf], 0x3a
jne 0x424383
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x4243b1
call edi
test eax, eax
je 0x4243b1
cmp byte [ebp - 0xf], 0x3a
jne 0x4243b1
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4243f6
call edi
test eax, eax
je 0x4243df
cmp byte [ebp - 0xf], 0x3a
jne 0x4243df
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x42440d
call edi
test eax, eax
je 0x42440d
cmp byte [ebp - 0xf], 0x3a
jne 0x42440d
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x424456
call edi
test eax, eax
je 0x42443f
cmp byte [ebp - 0xf], 0x3a
jne 0x42443f
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x42446d
call edi
test eax, eax
je 0x42446d
cmp byte [ebp - 0xf], 0x3a
jne 0x42446d
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4244b2
call edi
test eax, eax
je 0x42449b
cmp byte [ebp - 0xf], 0x3a
jne 0x42449b
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x4244c9
call edi
test eax, eax
je 0x4244c9
cmp byte [ebp - 0xf], 0x3a
jne 0x4244c9
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x42450e
call edi
test eax, eax
je 0x4244f7
cmp byte [ebp - 0xf], 0x3a
jne 0x4244f7
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424525
call edi
test eax, eax
je 0x424525
cmp byte [ebp - 0xf], 0x3a
jne 0x424525
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x42456b
call edi
test eax, eax
je 0x424554
cmp byte [ebp - 0xf], 0x3a
jne 0x424554
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424582
call edi
test eax, eax
je 0x424582
cmp byte [ebp - 0xf], 0x3a
jne 0x424582
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4245c7
call edi
test eax, eax
je 0x4245b0
cmp byte [ebp - 0xf], 0x3a
jne 0x4245b0
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x4245de
call edi
test eax, eax
je 0x4245de
cmp byte [ebp - 0xf], 0x3a
jne 0x4245de
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x424623
call edi
test eax, eax
je 0x42460c
cmp byte [ebp - 0xf], 0x3a
jne 0x42460c
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x42463a
call edi
test eax, eax
je 0x42463a
cmp byte [ebp - 0xf], 0x3a
jne 0x42463a
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x424683
call edi
test eax, eax
je 0x42466c
cmp byte [ebp - 0xf], 0x3a
jne 0x42466c
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x42469a
call edi
test eax, eax
je 0x42469a
cmp byte [ebp - 0xf], 0x3a
jne 0x42469a
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4246e0
call edi
test eax, eax
je 0x4246c9
cmp byte [ebp - 0xf], 0x3a
jne 0x4246c9
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x4246f7
call edi
test eax, eax
je 0x4246f7
cmp byte [ebp - 0xf], 0x3a
jne 0x4246f7
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x42473f
call edi
test eax, eax
je 0x424728
cmp byte [ebp - 0xf], 0x3a
jne 0x424728
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424756
call edi
test eax, eax
je 0x424756
cmp byte [ebp - 0xf], 0x3a
jne 0x424756
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x42479c
call edi
test eax, eax
je 0x424785
cmp byte [ebp - 0xf], 0x3a
jne 0x424785
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x4247b3
call edi
test eax, eax
je 0x4247b3
cmp byte [ebp - 0xf], 0x3a
jne 0x4247b3
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4247fa
call edi
test eax, eax
je 0x4247e3
cmp byte [ebp - 0xf], 0x3a
jne 0x4247e3
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424811
call edi
test eax, eax
je 0x424811
cmp byte [ebp - 0xf], 0x3a
jne 0x424811
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x424856
call edi
test eax, eax
je 0x42483f
cmp byte [ebp - 0xf], 0x3a
jne 0x42483f
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x42486d
call edi
test eax, eax
je 0x42486d
cmp byte [ebp - 0xf], 0x3a
jne 0x42486d
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4248b2
call edi
test eax, eax
je 0x42489b
cmp byte [ebp - 0xf], 0x3a
jne 0x42489b
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x4248c9
call edi
test eax, eax
je 0x4248c9
cmp byte [ebp - 0xf], 0x3a
jne 0x4248c9
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x42490e
call edi
test eax, eax
je 0x4248f7
cmp byte [ebp - 0xf], 0x3a
jne 0x4248f7
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424925
call edi
test eax, eax
je 0x424925
cmp byte [ebp - 0xf], 0x3a
jne 0x424925
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x42496b
call edi
test eax, eax
je 0x424954
cmp byte [ebp - 0xf], 0x3a
jne 0x424954
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424982
call edi
test eax, eax
je 0x424982
cmp byte [ebp - 0xf], 0x3a
jne 0x424982
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x4249c7
call edi
test eax, eax
je 0x4249b0
cmp byte [ebp - 0xf], 0x3a
jne 0x4249b0
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x4249de
call edi
test eax, eax
je 0x4249de
cmp byte [ebp - 0xf], 0x3a
jne 0x4249de
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x424a23
call edi
test eax, eax
je 0x424a0c
cmp byte [ebp - 0xf], 0x3a
jne 0x424a0c
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424a3a
call edi
test eax, eax
je 0x424a3a
cmp byte [ebp - 0xf], 0x3a
jne 0x424a3a
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x424a80
call edi
test eax, eax
je 0x424a69
cmp byte [ebp - 0xf], 0x3a
jne 0x424a69
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424a97
call edi
test eax, eax
je 0x424a97
cmp byte [ebp - 0xf], 0x3a
jne 0x424a97
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x424ade
call edi
test eax, eax
je 0x424ac7
cmp byte [ebp - 0xf], 0x3a
jne 0x424ac7
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424af5
call edi
test eax, eax
je 0x424af5
cmp byte [ebp - 0xf], 0x3a
jne 0x424af5
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 - 0x18]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x424b6b
call edi
test eax, eax
je 0x424b54
cmp byte [ebp - 0xf], 0x3a
jne 0x424b54
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 dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x424b82
call edi
test eax, eax
je 0x424b82
cmp byte [ebp - 0xf], 0x3a
jne 0x424b82
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
push 0x5e
lea eax, [eax + ecx - 0x5e]
push eax
lea eax, [ebp - 0x84]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
push ebx
push 0x7d
push 0x32
push 0x35
push 0x32
push 0x38
push 0x45
push 0x36
push 0x45
push 0x46
push 0x31
push 0x35
push 0x37
push 0x42
push 0x2d
pop edi
push edi
push 0x46
pop eax
push eax
push 0x43
push 0x39
push 0x42
push edi
push 0x36
push 0x62
push 0x35
push 0x34
push edi
push 0x44
push 0x30
push 0x39
push 0x45
push edi
push 0x35
push eax
push eax
push eax
push 0x45
push 0x37
push 0x38
push 0x37
lea eax, [ebp - 0x1b4]
push 0x7b
push eax
call fcn.004105f6
lea eax, [ebp - 0x1b4]
push eax
mov eax, dword [0x4453d0]
call dword [eax + 0x1f0]
add esp, 0xa4
lea ecx, [ebp - 0x384]
push eax
lea eax, [ebp - 0x1b4]
push eax
call fcn.00429df4
lea eax, [ebp - 0x84]
push 0x5e
push eax
lea ecx, [ebp - 0x384]
mov dword [ebp - 4], ebx
call fcn.00429e96
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x384]
call fcn.00429e8f
push esi
push 0x4258f5
call fcn.0042a072
cmp dword [ebp - 0x84], 3
pop ecx
pop ecx
push dword [ebp - 0x28]
lea eax, [ebp - 0x6c]
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x70]
jne 0x424c87
sub esp, 0x10
lea esi, [ebp - 0x80]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
push ebx
movsd dword es:[edi], dword [esi]
call fcn.00429fdd
mov esi, dword [ebp - 0x18]
add esp, 0x28
push 0x2d
pop edi
jmp 0x424c91
push ebx
push ebx
call fcn.00429f77
add esp, 0x18
push ebx
push 0x7d
push 0x39
push 0x39
push 0x31
push 0x37
push 0x38
push 0x33
pop eax
push eax
push 0x32
push eax
push 0x36
push 0x32
push 0x46
push 0x32
push edi
push 0x36
push 0x31
push 0x43
push 0x39
push edi
push eax
push 0x65
push 0x31
push 0x34
push edi
push eax
push 0x34
push 0x30
push 0x46
push edi
push 0x44
push 0x46
push 0x30
push 0x34
push eax
push 0x37
push eax
push 0x41
lea eax, [ebp - 0xf8]
push 0x7b
push eax
call fcn.004105f6
add esp, 0xa0
lea eax, [ebp - 0xf8]
push eax
mov eax, dword [0x4453d0]
push ebx
push 1
push ebx
call dword [eax + 0x68]
push ebx
mov dword [esi + 0xc], eax
mov eax, dword [0x4453d0]
push ebx
push 1
push ebx
call dword [eax + 0x68]
push ebx
push 0x7d
push 0x34
mov dword [esi + 0x10], eax
pop ecx
push ecx
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 edi
push 0x46
push 0x46
push 0x42
push 0x41
push edi
push 0x66
push 0x36
push ecx
push ecx
push edi
push 0x32
push 0x38
push ecx
push 0x39
push edi
push 0x41
push eax
push 0x46
push eax
push eax
push 0x44
push eax
push 0x38
lea eax, [ebp - 0xf8]
push 0x7b
push eax
call fcn.004105f6
add esp, 0xa0
lea eax, [ebp - 0xf8]
push eax
mov eax, dword [0x4453d0]
push ebx
push 1
push ebx
call dword [eax + 0x68]
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x14], eax
mov dword [ebp - 0x24], ecx
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x24]
push ebx
push eax
mov eax, dword [0x4453d0]
push 3
call dword [eax + 0x80]
sub eax, ebx
je 0x424f19
dec eax
je 0x424f04
dec eax
jne 0x424f1e
push dword [esi + 0x14]
mov eax, dword [0x4453d0]
call dword [eax + 0x7c]
push 0x5e
push 0x400
push dword [esi + 8]
lea ecx, [ebp - 0x150]
push dword [esi + 4]
call fcn.00429c60
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0x150]
push eax
mov dword [ebp - 4], 1
call fcn.00429d43
lea eax, [ebp - 0x488]
push eax
mov eax, dword [0x4453d0]
push 0x104
call dword [eax + 0x54]
push ebx
push 0x73
push 0x25
push 0x73
lea eax, [ebp - 0x27c]
push 0x25
push eax
call fcn.004105f6
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 edi
push 0x30
push 0x31
push eax
push 0x41
push edi
push 0x65
push 0x64
push 0x63
push 0x34
push edi
push 0x38
push 0x34
push 0x45
push 0x45
push edi
push 0x41
push 0x39
push 0x46
push eax
push 0x34
push ecx
push 0x46
push 0x46
lea eax, [ebp - 0x218]
push 0x7b
push eax
call fcn.004105f6
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x488]
push eax
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x58c]
push eax
mov eax, dword [0x4453d0]
call dword [eax + 0x1dc]
add esp, 0xc0
lea eax, [ebp - 0x58c]
push ebx
push 0x80
push 2
push ebx
push 1
push 0x40000000
push eax
mov eax, dword [0x4453d0]
call dword [eax + 0x50]
cmp eax, 0xffffffff
mov dword [ebp - 0x14], eax
je 0x424ef0
lea eax, [ebp - 0x18]
push ebx
push eax
lea eax, [ebp - 0x94]
push 0x10
push eax
push dword [ebp - 0x14]
mov eax, dword [0x4453d0]
call dword [eax + 0x78]
push dword [ebp - 0x14]
mov eax, dword [0x4453d0]
call dword [eax + 0x44]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x150]
call fcn.00429d11
jmp 0x424d8c
push dword [esi + 0x10]
mov eax, dword [0x4453d0]
call dword [eax + 0x7c]
call fcn.0042a053
jmp 0x424d8c
call fcn.0042a053
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret