Function at 0x1003e9e
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x17c
push ebx
mov ebx, dword [esp + 0x184]
mov dword [0x10052e8], ebx
call fcn.010025a0
push ebx
call fcn.01003e41
test eax, eax
je 0x1004260
push ebp
push esi
push edi
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x1e
push 0x1005240
push 2
push ebx
call edi
push 0x1e
mov esi, 0x10053c0
push esi
push 0x17
push ebx
call edi
push 0x14
mov ebp, 0x1005300
push ebp
push 0x18
push ebx
call edi
xor ebx, ebx
push ebx
call fcn.010013f7
push ebx
call dword [sym.imp.USER32.dll_GetDC]
push 0x18
push eax
mov dword [esp + 0x18], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
cmp eax, 2
ja 0x1003f1e
mov word [0x1005164], 1
push dword [esp + 0x10]
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
push ebp
push ebx
push str.NoShadow
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x1003f42
or byte [0x1005164], 2
push ebp
push 0x50
lea eax, [esp + 0x54]
push eax
push 0x1001260
push str.Position
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x1005370
lea eax, [esp + 0x50]
push eax
call fcn.0100278f
push ebx
push dword [esp + 0x194]
push ebx
push ebx
push dword [0x100537c]
push dword [0x1005378]
push dword [0x1005374]
push dword [0x1005370]
push 0xcf0000
push esi
push esi
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExW]
push 0x10053a0
mov dword [esp + 0x18], eax
call fcn.010014c1
lea eax, [esp + 0x34]
push eax
call fcn.010014c1
mov eax, dword [esp + 0x44]
cmp eax, dword [0x10053b0]
jne 0x1003fd6
mov eax, dword [esp + 0x40]
cmp eax, dword [0x10053ac]
jne 0x1003fd6
mov eax, dword [esp + 0x3c]
cmp eax, dword [0x10053a8]
je 0x1003fa8
push 0x10052f0
call fcn.01001531
push ebx
push 0x1c2
push dword [0x1005058]
push dword [esp + 0x20]
call dword [sym.imp.USER32.dll_SetTimer]
test eax, eax
jne 0x1004038
push 0x140
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
push 0xa0
mov esi, eax
push esi
push 3
push dword [esp + 0x19c]
call edi
push 0x1010
push 0x1005280
push esi
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.0100273e
xor eax, eax
jmp 0x100425d
push 0x14
push 0x1005340
push 4
push dword [esp + 0x19c]
call edi
push 0x14
push 0x10052c0
push 0x16
push dword [esp + 0x19c]
call edi
push ebp
push 0x14
push 0x10051dc
push 0x1005340
push 0x10052c0
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push ebp
push 0x50
lea eax, [esp + 0x54]
push eax
push 0x1001260
push str.Options
push esi
mov byte [0x10051db], 0x22
mov byte [0x10051d7], bl
mov dword [0x10051d0], 0x190
mov byte [0x10051da], bl
mov byte [0x10051d5], bl
mov byte [0x10051d6], bl
mov dword [0x10051c8], ebx
mov dword [0x10051cc], ebx
mov byte [0x10051d8], bl
mov byte [0x10051d9], bl
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push 0x1005420
lea eax, [esp + 0x50]
push eax
call fcn.0100291e
call fcn.0100156d
push dword [0x1005424]
push 0x10052f0
call fcn.01001ce0
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_GetMenu]
movzx ecx, word [0x1005420]
push 8
push ecx
push eax
mov dword [esp + 0x1c], eax
call dword [sym.imp.USER32.dll_CheckMenuItem]
cmp word [0x1005420], 1
jne 0x100412a
push 3
push 3
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_EnableMenuItem]
cmp dword [0x1005428], ebx
jne 0x1004149
push 8
push 7
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_CheckMenuItem]
push dword [esp + 0x14]
call fcn.0100146c
cmp dword [0x1005434], ebx
jne 0x1004168
push 8
push 8
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_CheckMenuItem]
push dword [esp + 0x14]
call fcn.010012fa
push ebx
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_GetSystemMenu]
push ebx
push ebx
push 0x800
push eax
mov dword [esp + 0x20], eax
call dword [sym.imp.USER32.dll_AppendMenuW]
push 0x4f
lea eax, [esp + 0xf0]
push eax
push 5
push dword [esp + 0x19c]
call edi
cmp dword [0x1005430], ebx
lea eax, [esp + 0xec]
push eax
push 5
je 0x10041cd
push 8
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_AppendMenuW]
mov edi, dword [esp + 0x14]
push 3
push ebx
push ebx
push ebx
push ebx
push 0xffffffffffffffff
push edi
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x10041dc
push ebx
push dword [esp + 0x1c]
call dword [sym.imp.USER32.dll_AppendMenuW]
mov edi, dword [esp + 0x14]
cmp dword [0x100542c], ebx
je 0x10041ea
push edi
call fcn.01003477
cmp dword [0x1005424], ebx
jne 0x1004224
push ebp
push ebx
push str.Maximized
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x1004208
push 3
jmp 0x1004226
push dword [esp + 0x19c]
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x1005370
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
jmp 0x100422d
push 6
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
jmp 0x100424b
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebx
push ebx
lea eax, [esp + 0x20]
push ebx
push eax
call esi
test eax, eax
jne 0x1004235
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x17c
ret 0x10