Function at 0x4183a0
Capabilities:
Read .ini file
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x450
push ebx
push ebp
push esi
push edi
push 0x5e056b8
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x65f7
jne 0x4183ec
push 0
push 0
push 0
call fcn.0040120d
add esp, 0xc
push str.__s__d__f
push 0
call fcn.0040110a
push 0
push 0
push 0
push 0
call fcn.004011f0
add esp, 0x18
mov esi, dword [sym.imp.KERNEL32.dll_SetLocalTime]
mov ebx, dword [sym.imp.KERNEL32.dll_OpenWaitableTimerW]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructA]
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x14]
lea ebx, [ebx]
cmp dword [0x5fb9628], 0xfc
jne 0x418435
lea eax, [esp + 0x18]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
push 0
call dword [sym.imp.KERNEL32.dll_DisconnectNamedPipe]
push 0
call esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [0x5fb9628], 0x1264
jne 0x418471
push 0
call esi
push 0
push 0
push 0
call ebx
push 0
push 0
lea ecx, [esp + 0x68]
push ecx
push 0
push 0
call ebp
push 0
push edi
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ScrollConsoleScreenBufferA]
mov eax, dword [esp + 0x14]
cmp eax, 0x18f9a6
jle 0x41849a
cmp dword [esp + 0x34], 0x8a392
je 0x41849a
cmp dword [esp + 0x14], 0x14d7d90b
je 0x41849a
cmp dword [esp + 0x3c], 0x9d2d96
jne 0x4184aa
inc eax
cmp eax, 0x3532b7b1
mov dword [esp + 0x14], eax
jl 0x418410
mov edi, dword [sym.imp.KERNEL32.dll_SetCalendarInfoA]
mov ebx, dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
xor esi, esi
jmp 0x4184c0
cmp dword [0x5fb9628], 0x123f
jne 0x4184d6
push 0
push 0
push 0
push 0
call edi
cmp esi, 0x291c7
jne 0x4184ea
mov edx, dword [0x41d0cc]
mov dword [0x5fb9628], edx
cmp dword [0x5fb9628], 0x625
jne 0x418500
push 0
push 0
push 0
push 0
call ebx
inc esi
cmp esi, 0x499677
jl 0x4184c0
add dword [0x5fb9628], 0xa2401
push 0x41a490
push 0x41db40
mov byte [0x41db40], 0
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x41db40
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, dword [sym.imp.KERNEL32.dll_WriteConsoleW]
mov ebx, dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [0x5e056b4], eax
xor esi, esi
jmp 0x418550
cmp dword [0x5fb9628], 0x262
jne 0x41856b
push 0
lea eax, [esp + 0x18]
push eax
push 0
push 0
push 0
call edi
cmp esi, 0x5aa0c
jne 0x418583
mov ecx, dword [0x5fb9628]
push ecx
push 0
call ebx
mov dword [0x5d549e0], eax
inc esi
cmp esi, 0x673996
jl 0x418550
mov edi, dword [sym.imp.KERNEL32.dll_EnumResourceNamesW]
mov ebx, dword [sym.imp.KERNEL32.dll_AreFileApisANSI]
mov ebp, dword [sym.imp.KERNEL32.dll_OpenSemaphoreA]
xor esi, esi
cmp dword [0x5fb9628], 0x1266
jne 0x4185b8
push 0
push 0
push 0
push 0
call edi
call ebx
cmp esi, 0x171922
jne 0x4185cc
mov edx, dword [0x41cff8]
mov dword [0x5fb962c], edx
cmp dword [0x5fb9628], 0x9b2
jne 0x4185e0
push 0
push 0
push 0
call ebp
inc esi
cmp esi, 0x807b1d
jl 0x4185a0
mov eax, dword [0x5fb9628]
xor esi, esi
test eax, eax
jbe 0x418657
mov edi, dword [sym.imp.KERNEL32.dll_WriteProfileSectionW]
mov ebx, dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov ebp, dword [sym.imp.KERNEL32.dll_SetVolumeLabelA]
cmp eax, 0xc29
jne 0x41861b
push 0
push 0
call edi
call ebx
push 0
push 0
call ebp
call fcn.00418000
cmp dword [0x5fb9628], 0x75d
jne 0x41864d
lea eax, [esp + 0x20]
push eax
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindActCtxSectionStringW]
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceExA]
mov eax, dword [0x5fb9628]
inc esi
cmp esi, eax
jb 0x418606
mov edi, dword [sym.imp.KERNEL32.dll_AddAtomW]
mov ebx, dword [sym.imp.KERNEL32.dll_OpenMutexA]
mov ebp, dword [sym.imp.KERNEL32.dll_FillConsoleOutputCharacterW]
xor esi, esi
jmp 0x418675
mov eax, dword [0x5fb9628]
cmp eax, 0x94d
jne 0x4186a5
push 0
call edi
push 0
push 0
push 0
call ebx
xor edx, edx
xor ecx, ecx
lea eax, [esp + 0x18]
push eax
mov word [esp + 0x18], cx
mov word [esp + 0x1a], dx
mov ecx, dword [esp + 0x18]
push ecx
push edx
push edx
push edx
call ebp
cmp esi, 0x75ec5
jne 0x4186bd
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x5e056b4], eax
inc esi
cmp esi, 0x17584b
jl 0x418670
push str.WirtualProtect
push 0x41db40
mov byte [0x41db40], 0
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [0x5e056b4]
push 0x41db40
push edx
mov byte [0x41db40], 0x56
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [sym.imp.KERNEL32.dll_GetTimeZoneInformation]
mov dword [0x5d549dc], eax
xor esi, esi
cmp esi, 0xd26c
jne 0x418710
call fcn.00417fb0
cmp dword [0x5fb9628], 0x3fe
jne 0x418720
push 0
call edi
inc esi
cmp esi, 0x3dc4a3
jl 0x418703
call fcn.00418320
mov edi, dword [sym.imp.KERNEL32.dll_GetNumberOfConsoleInputEvents]
mov ebp, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor esi, esi
cmp dword [0x5fb9628], 0x768
jne 0x41875c
push 0
push 0
call edi
push 0
call ebp
push 0
call ebx
cmp esi, 0x4f3b6
jne 0x418769
call fcn.00417fe0
inc esi
cmp esi, 0x270c5f
jl 0x418742
mov esi, dword [sym.imp.KERNEL32.dll_GetBinaryTypeA]
mov edi, dword [sym.imp.ADVAPI32.dll_RevertToSelf]
mov ebx, 0xdd9a7
cmp dword [0x5fb9628], 0xfe9
jne 0x41879a
lea eax, [esp + 0x18]
push eax
push 0
call esi
call edi
sub ebx, 1
jne 0x418783
call fcn.00417ff0
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret