Function at 0x41bd79
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:
push ebp
mov ebp, esp
sub esp, 0x210
push ebx
lea eax, [ebp + 0xc]
xor ebx, ebx
push esi
test eax, eax
push edi
jne 0x41c6da
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 + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41bde1
call esi
test eax, eax
je 0x41bdce
cmp byte [ebp - 3], 0x3a
jne 0x41bdce
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41bdf8
call esi
test eax, eax
je 0x41bdf8
cmp byte [ebp - 3], 0x3a
jne 0x41bdf8
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41be39
call esi
test eax, eax
je 0x41be26
cmp byte [ebp - 3], 0x3a
jne 0x41be26
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41be50
call esi
test eax, eax
je 0x41be50
cmp byte [ebp - 3], 0x3a
jne 0x41be50
movzx eax, byte [ebp - 4]
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 + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41be93
call esi
test eax, eax
je 0x41be80
cmp byte [ebp - 3], 0x3a
jne 0x41be80
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41beaa
call esi
test eax, eax
je 0x41beaa
cmp byte [ebp - 3], 0x3a
jne 0x41beaa
movzx eax, byte [ebp - 4]
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 + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41beed
call esi
test eax, eax
je 0x41beda
cmp byte [ebp - 3], 0x3a
jne 0x41beda
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41bf04
call esi
test eax, eax
je 0x41bf04
cmp byte [ebp - 3], 0x3a
jne 0x41bf04
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41bf46
call esi
test eax, eax
je 0x41bf33
cmp byte [ebp - 3], 0x3a
jne 0x41bf33
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41bf5d
call esi
test eax, eax
je 0x41bf5d
cmp byte [ebp - 3], 0x3a
jne 0x41bf5d
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetHandleCount]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41bf9e
call esi
test eax, eax
je 0x41bf8b
cmp byte [ebp - 3], 0x3a
jne 0x41bf8b
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41bfb5
call esi
test eax, eax
je 0x41bfb5
cmp byte [ebp - 3], 0x3a
jne 0x41bfb5
movzx eax, byte [ebp - 4]
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 + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41bffa
call esi
test eax, eax
je 0x41bfe7
cmp byte [ebp - 3], 0x3a
jne 0x41bfe7
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c011
call esi
test eax, eax
je 0x41c011
cmp byte [ebp - 3], 0x3a
jne 0x41c011
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_PulseEvent]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c052
call esi
test eax, eax
je 0x41c03f
cmp byte [ebp - 3], 0x3a
jne 0x41c03f
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c069
call esi
test eax, eax
je 0x41c069
cmp byte [ebp - 3], 0x3a
jne 0x41c069
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c0aa
call esi
test eax, eax
je 0x41c097
cmp byte [ebp - 3], 0x3a
jne 0x41c097
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c0c1
call esi
test eax, eax
je 0x41c0c1
cmp byte [ebp - 3], 0x3a
jne 0x41c0c1
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c103
call esi
test eax, eax
je 0x41c0f0
cmp byte [ebp - 3], 0x3a
jne 0x41c0f0
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c11a
call esi
test eax, eax
je 0x41c11a
cmp byte [ebp - 3], 0x3a
jne 0x41c11a
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c15b
call esi
test eax, eax
je 0x41c148
cmp byte [ebp - 3], 0x3a
jne 0x41c148
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c172
call esi
test eax, eax
je 0x41c172
cmp byte [ebp - 3], 0x3a
jne 0x41c172
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c1b3
call esi
test eax, eax
je 0x41c1a0
cmp byte [ebp - 3], 0x3a
jne 0x41c1a0
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c1ca
call esi
test eax, eax
je 0x41c1ca
cmp byte [ebp - 3], 0x3a
jne 0x41c1ca
movzx eax, byte [ebp - 4]
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 + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c20f
call esi
test eax, eax
je 0x41c1fc
cmp byte [ebp - 3], 0x3a
jne 0x41c1fc
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c226
call esi
test eax, eax
je 0x41c226
cmp byte [ebp - 3], 0x3a
jne 0x41c226
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c268
call esi
test eax, eax
je 0x41c255
cmp byte [ebp - 3], 0x3a
jne 0x41c255
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c27f
call esi
test eax, eax
je 0x41c27f
cmp byte [ebp - 3], 0x3a
jne 0x41c27f
movzx eax, byte [ebp - 4]
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 + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c2c3
call esi
test eax, eax
je 0x41c2b0
cmp byte [ebp - 3], 0x3a
jne 0x41c2b0
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c2da
call esi
test eax, eax
je 0x41c2da
cmp byte [ebp - 3], 0x3a
jne 0x41c2da
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c31c
call esi
test eax, eax
je 0x41c309
cmp byte [ebp - 3], 0x3a
jne 0x41c309
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c333
call esi
test eax, eax
je 0x41c333
cmp byte [ebp - 3], 0x3a
jne 0x41c333
movzx eax, byte [ebp - 4]
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 + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c376
call esi
test eax, eax
je 0x41c363
cmp byte [ebp - 3], 0x3a
jne 0x41c363
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c38d
call esi
test eax, eax
je 0x41c38d
cmp byte [ebp - 3], 0x3a
jne 0x41c38d
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c3ce
call esi
test eax, eax
je 0x41c3bb
cmp byte [ebp - 3], 0x3a
jne 0x41c3bb
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c3e5
call esi
test eax, eax
je 0x41c3e5
cmp byte [ebp - 3], 0x3a
jne 0x41c3e5
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c426
call esi
test eax, eax
je 0x41c413
cmp byte [ebp - 3], 0x3a
jne 0x41c413
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c43d
call esi
test eax, eax
je 0x41c43d
cmp byte [ebp - 3], 0x3a
jne 0x41c43d
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c47e
call esi
test eax, eax
je 0x41c46b
cmp byte [ebp - 3], 0x3a
jne 0x41c46b
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c495
call esi
test eax, eax
je 0x41c495
cmp byte [ebp - 3], 0x3a
jne 0x41c495
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c4d7
call esi
test eax, eax
je 0x41c4c4
cmp byte [ebp - 3], 0x3a
jne 0x41c4c4
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c4ee
call esi
test eax, eax
je 0x41c4ee
cmp byte [ebp - 3], 0x3a
jne 0x41c4ee
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetComputerNameA]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c52f
call esi
test eax, eax
je 0x41c51c
cmp byte [ebp - 3], 0x3a
jne 0x41c51c
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c546
call esi
test eax, eax
je 0x41c546
cmp byte [ebp - 3], 0x3a
jne 0x41c546
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetEvent]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c587
call esi
test eax, eax
je 0x41c574
cmp byte [ebp - 3], 0x3a
jne 0x41c574
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c59e
call esi
test eax, eax
je 0x41c59e
cmp byte [ebp - 3], 0x3a
jne 0x41c59e
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SleepEx]
lea eax, [ebp + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c5e0
call esi
test eax, eax
je 0x41c5cd
cmp byte [ebp - 3], 0x3a
jne 0x41c5cd
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c5f7
call esi
test eax, eax
je 0x41c5f7
cmp byte [ebp - 3], 0x3a
jne 0x41c5f7
movzx eax, byte [ebp - 4]
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 + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c63a
call esi
test eax, eax
je 0x41c627
cmp byte [ebp - 3], 0x3a
jne 0x41c627
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c651
call esi
test eax, eax
je 0x41c651
cmp byte [ebp - 3], 0x3a
jne 0x41c651
movzx eax, byte [ebp - 4]
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 + 0xc]
cmp eax, 0x4db
lea eax, [ebp - 4]
push eax
push 3
jne 0x41c6c3
call esi
test eax, eax
je 0x41c6b0
cmp byte [ebp - 3], 0x3a
jne 0x41c6b0
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
mov byte [ebp - 8], 0x42
push eax
mov byte [ebp - 7], 0x3a
mov byte [ebp - 6], bl
call edi
jmp 0x41c6da
call esi
test eax, eax
je 0x41c6da
cmp byte [ebp - 3], 0x3a
jne 0x41c6da
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push dword [ebp + 8]
mov eax, dword [0x4453d0]
push ebx
push 0x410
call dword [eax + 0x18]
mov edi, eax
cmp edi, ebx
je 0x41c7a5
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 8]
push 4
push eax
mov eax, dword [0x4453d0]
push edi
call dword [eax + 0xd8]
test eax, eax
je 0x41c79c
mov esi, 0x104
lea eax, [ebp - 0x10c]
push esi
push ebx
push eax
mov eax, dword [0x4453d0]
call dword [eax + 0x21c]
add esp, 0xc
lea eax, [ebp - 0x10c]
push esi
push eax
push dword [ebp + 8]
mov eax, dword [0x4453d0]
push edi
call dword [eax + 0xd4]
test eax, eax
je 0x41c79c
push esi
lea eax, [ebp - 0x210]
push ebx
push eax
mov eax, dword [0x4453d0]
call dword [eax + 0x21c]
add esp, 0xc
lea eax, [ebp - 0x210]
push esi
push eax
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [0x4453d0]
call dword [eax + 0xb4]
test eax, eax
lea eax, [ebp - 0x210]
jne 0x41c78b
lea eax, [ebp - 0x10c]
push eax
mov eax, dword [0x4453d0]
push dword [ebp + 0xc]
call dword [eax + 0x1e8]
pop ecx
pop ecx
mov eax, dword [0x4453d0]
push edi
call dword [eax + 0x44]
pop edi
pop esi
pop ebx
leave
ret 8