Function at 0x41c83d
Capabilities:
Allocate thread local storage
Create directory
Get common file path
Read file on windows
Resume thread
Set current directory
Set environment variable
Set file attributes
Suspend thread

Disassembly:
mov eax, 0x434a5e
call fcn.00433ea0
sub esp, 0x57c
push ebx
push esi
push edi
lea eax, [ebp - 0x14]
xor edi, edi
mov ebx, ecx
test eax, eax
jne 0x41cfb9
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_OpenEventA]
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41c8ad
call esi
test eax, eax
je 0x41c895
cmp byte [ebp - 0xf], 0x3a
jne 0x41c895
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41c8c4
call esi
test eax, eax
je 0x41c8c4
cmp byte [ebp - 0xf], 0x3a
jne 0x41c8c4
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41c90b
call esi
test eax, eax
je 0x41c8f3
cmp byte [ebp - 0xf], 0x3a
jne 0x41c8f3
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41c922
call esi
test eax, eax
je 0x41c922
cmp byte [ebp - 0xf], 0x3a
jne 0x41c922
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableA]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41c969
call esi
test eax, eax
je 0x41c951
cmp byte [ebp - 0xf], 0x3a
jne 0x41c951
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41c980
call esi
test eax, eax
je 0x41c980
cmp byte [ebp - 0xf], 0x3a
jne 0x41c980
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41c9c5
call esi
test eax, eax
je 0x41c9ad
cmp byte [ebp - 0xf], 0x3a
jne 0x41c9ad
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41c9dc
call esi
test eax, eax
je 0x41c9dc
cmp byte [ebp - 0xf], 0x3a
jne 0x41c9dc
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_SetHandleCount]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41ca22
call esi
test eax, eax
je 0x41ca0a
cmp byte [ebp - 0xf], 0x3a
jne 0x41ca0a
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41ca39
call esi
test eax, eax
je 0x41ca39
cmp byte [ebp - 0xf], 0x3a
jne 0x41ca39
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41ca80
call esi
test eax, eax
je 0x41ca68
cmp byte [ebp - 0xf], 0x3a
jne 0x41ca68
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41ca97
call esi
test eax, eax
je 0x41ca97
cmp byte [ebp - 0xf], 0x3a
jne 0x41ca97
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_ReleaseSemaphore]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41cadf
call esi
test eax, eax
je 0x41cac7
cmp byte [ebp - 0xf], 0x3a
jne 0x41cac7
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41caf6
call esi
test eax, eax
je 0x41caf6
cmp byte [ebp - 0xf], 0x3a
jne 0x41caf6
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41cb3e
call esi
test eax, eax
je 0x41cb26
cmp byte [ebp - 0xf], 0x3a
jne 0x41cb26
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41cb55
call esi
test eax, eax
je 0x41cb55
cmp byte [ebp - 0xf], 0x3a
jne 0x41cb55
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41cb9b
call esi
test eax, eax
je 0x41cb83
cmp byte [ebp - 0xf], 0x3a
jne 0x41cb83
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41cbb2
call esi
test eax, eax
je 0x41cbb2
cmp byte [ebp - 0xf], 0x3a
jne 0x41cbb2
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryExA]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41cc17
call esi
test eax, eax
je 0x41cbe2
cmp byte [ebp - 0xf], 0x3a
jne 0x41cbe2
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push 3
call esi
test eax, eax
je 0x41cbff
cmp byte [ebp - 0xf], 0x3a
jne 0x41cbff
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41cc2e
call esi
test eax, eax
je 0x41cc2e
cmp byte [ebp - 0xf], 0x3a
jne 0x41cc2e
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetAtomNameA]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41cc93
call esi
test eax, eax
je 0x41cc5e
cmp byte [ebp - 0xf], 0x3a
jne 0x41cc5e
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push 3
call esi
test eax, eax
je 0x41cc7b
cmp byte [ebp - 0xf], 0x3a
jne 0x41cc7b
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41ccaa
call esi
test eax, eax
je 0x41ccaa
cmp byte [ebp - 0xf], 0x3a
jne 0x41ccaa
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_OpenEventW]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41cd0f
call esi
test eax, eax
je 0x41ccda
cmp byte [ebp - 0xf], 0x3a
jne 0x41ccda
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push 3
call esi
test eax, eax
je 0x41ccf7
cmp byte [ebp - 0xf], 0x3a
jne 0x41ccf7
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41cd26
call esi
test eax, eax
je 0x41cd26
cmp byte [ebp - 0xf], 0x3a
jne 0x41cd26
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
push edi
call dword [sym.imp.USER32.dll_SetWindowLongA]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41cd8b
call esi
test eax, eax
je 0x41cd56
cmp byte [ebp - 0xf], 0x3a
jne 0x41cd56
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push 3
call esi
test eax, eax
je 0x41cd73
cmp byte [ebp - 0xf], 0x3a
jne 0x41cd73
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41cda2
call esi
test eax, eax
je 0x41cda2
cmp byte [ebp - 0xf], 0x3a
jne 0x41cda2
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
call dword [sym.imp.KERNEL32.dll_ResetEvent]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41ce05
call esi
test eax, eax
je 0x41cdd0
cmp byte [ebp - 0xf], 0x3a
jne 0x41cdd0
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push 3
call esi
test eax, eax
je 0x41cded
cmp byte [ebp - 0xf], 0x3a
jne 0x41cded
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41ce1c
call esi
test eax, eax
je 0x41ce1c
cmp byte [ebp - 0xf], 0x3a
jne 0x41ce1c
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41ce82
call esi
test eax, eax
je 0x41ce4d
cmp byte [ebp - 0xf], 0x3a
jne 0x41ce4d
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push 3
call esi
test eax, eax
je 0x41ce6a
cmp byte [ebp - 0xf], 0x3a
jne 0x41ce6a
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41ce99
call esi
test eax, eax
je 0x41ce99
cmp byte [ebp - 0xf], 0x3a
jne 0x41ce99
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41cefd
call esi
test eax, eax
je 0x41cec8
cmp byte [ebp - 0xf], 0x3a
jne 0x41cec8
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push 3
call esi
test eax, eax
je 0x41cee5
cmp byte [ebp - 0xf], 0x3a
jne 0x41cee5
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41cf14
call esi
test eax, eax
je 0x41cf14
cmp byte [ebp - 0xf], 0x3a
jne 0x41cf14
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_OpenMutexA]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push edi
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
push edi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push edi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push edi
push edi
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [ebp - 0x14]
cmp eax, 0x4db
lea eax, [ebp - 0x10]
push eax
push 3
jne 0x41cfa2
call esi
test eax, eax
je 0x41cf6d
cmp byte [ebp - 0xf], 0x3a
jne 0x41cf6d
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push 3
call esi
test eax, eax
je 0x41cf8a
cmp byte [ebp - 0xf], 0x3a
jne 0x41cf8a
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x41cfb9
call esi
test eax, eax
je 0x41cfb9
cmp byte [ebp - 0xf], 0x3a
jne 0x41cfb9
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
push 0x5e
lea eax, [eax + ecx - 0x5e]
push eax
lea eax, [ebp - 0x90]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
push edi
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 esi
push esi
push 0x46
pop eax
push eax
push 0x43
push 0x39
push 0x42
push esi
push 0x36
push 0x62
push 0x35
push 0x34
push esi
push 0x44
push 0x30
push 0x39
push 0x45
push esi
push 0x35
push eax
push eax
push eax
push 0x45
push 0x37
push 0x38
push 0x37
lea eax, [ebp - 0x1b0]
push 0x7b
push eax
call fcn.0040d32b
lea eax, [ebp - 0x1b0]
push eax
mov eax, dword [0x43c3d0]
call dword [eax + 0x1f0]
add esp, 0xa4
lea ecx, [ebp - 0x380]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.004214bb
lea eax, [ebp - 0x90]
push 0x5e
push eax
lea ecx, [ebp - 0x380]
mov dword [ebp - 4], edi
call fcn.0042155d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x380]
call fcn.00421556
push ebx
push 0x41daed
call fcn.00421739
cmp dword [ebp - 0x90], 3
pop ecx
pop ecx
push dword [ebp - 0x34]
lea eax, [ebp - 0x78]
push dword [ebp - 0x38]
push eax
push dword [ebp - 0x7c]
jne 0x41d0c2
sub esp, 0x10
lea esi, [ebp - 0x8c]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
push 0
movsd dword es:[edi], dword [esi]
call fcn.004216a4
add esp, 0x28
xor edi, edi
push 0x2d
pop esi
jmp 0x41d0cc
push edi
push edi
call fcn.0042163e
add esp, 0x18
push edi
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 esi
push 0x36
push 0x31
push 0x43
push 0x39
push esi
push eax
push 0x65
push 0x31
push 0x34
push esi
push eax
push 0x34
push 0x30
push 0x46
push esi
push 0x44
push 0x46
push 0x30
push 0x34
push eax
push 0x37
push eax
push 0x41
lea eax, [ebp - 0xf4]
push 0x7b
push eax
call fcn.0040d32b
add esp, 0xa0
lea eax, [ebp - 0xf4]
push eax
mov eax, dword [0x43c3d0]
push edi
push 1
push edi
call dword [eax + 0x68]
push edi
mov dword [ebx + 0xc], eax
mov eax, dword [0x43c3d0]
push edi
push 1
push edi
call dword [eax + 0x68]
push edi
push 0x7d
push 0x34
mov dword [ebx + 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 esi
push 0x46
push 0x46
push 0x42
push 0x41
push esi
push 0x66
push 0x36
push ecx
push ecx
push esi
push 0x32
push 0x38
push ecx
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.0040d32b
add esp, 0xa0
lea eax, [ebp - 0xf4]
push eax
mov eax, dword [0x43c3d0]
push edi
push 1
push edi
call dword [eax + 0x68]
mov ecx, dword [ebx + 0xc]
mov dword [ebx + 0x14], eax
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x20]
push edi
push eax
mov eax, dword [0x43c3d0]
push 3
call dword [eax + 0x80]
sub eax, edi
je 0x41d34e
dec eax
je 0x41d339
dec eax
jne 0x41d353
push dword [ebx + 0x14]
mov eax, dword [0x43c3d0]
call dword [eax + 0x7c]
push 0x5e
push 0x400
push dword [ebx + 8]
lea ecx, [ebp - 0x14c]
push dword [ebx + 4]
call fcn.00421327
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x14c]
push eax
mov dword [ebp - 4], 1
call fcn.0042140a
lea eax, [ebp - 0x484]
push eax
mov eax, dword [0x43c3d0]
push 0x104
call dword [eax + 0x54]
push edi
push 0x73
push 0x25
push 0x73
lea eax, [ebp - 0x214]
push 0x25
push eax
call fcn.0040d32b
add esp, 0x18
push edi
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 0x34
push esi
push 0x38
push 0x34
push 0x45
push 0x45
push esi
push 0x41
push 0x39
push 0x46
push eax
push 0x34
push ecx
push 0x46
push 0x46
lea eax, [ebp - 0x278]
push 0x7b
push eax
call fcn.0040d32b
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x484]
push eax
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x588]
push eax
mov eax, dword [0x43c3d0]
call dword [eax + 0x1dc]
add esp, 0xc0
lea eax, [ebp - 0x588]
push edi
push 0x80
push 2
push edi
push 1
push 0x40000000
push eax
mov eax, dword [0x43c3d0]
call dword [eax + 0x50]
cmp eax, 0xffffffff
mov dword [ebp - 0x14], eax
je 0x41d325
lea eax, [ebp - 0x10]
push edi
push eax
lea eax, [ebp - 0x30]
push 0x10
push eax
push dword [ebp - 0x14]
mov eax, dword [0x43c3d0]
call dword [eax + 0x78]
push dword [ebp - 0x14]
mov eax, dword [0x43c3d0]
call dword [eax + 0x44]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14c]
call fcn.004213d8
jmp 0x41d1c7
push dword [ebx + 0x10]
mov eax, dword [0x43c3d0]
call dword [eax + 0x7c]
call fcn.0042171a
jmp 0x41d1c7
call fcn.0042171a
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret