Function at 0x430160
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x414
push ebx
push ebp
push esi
mov esi, dword [esp + 0x424]
test esi, esi
push edi
je 0x43059d
mov edi, dword [esp + 0x42c]
test edi, edi
je 0x43059d
mov eax, dword [0x463628]
mov ebp, dword [sym.imp.MSVCRT.dll__wcsicmp]
push edi
push eax
xor ebx, ebx
call ebp
add esp, 8
test eax, eax
jne 0x4301a5
mov ebx, 1
mov ecx, dword [0x463624]
push edi
push ecx
call ebp
add esp, 8
test eax, eax
je 0x4301be
test ebx, ebx
je 0x43059d
mov ecx, esi
call fcn.0040aa40
cmp dword [esi + 0x5cf08], 7
jne 0x43052e
lea ebp, [esi + 0x5cf20]
test ebp, ebp
je 0x4304d9
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x21e]
mov word [esp + 0x21c], 0
rep stosd dword es:[edi], eax
lea edx, [esp + 0x21c]
push 0x104
push edx
push 0
stosw word es:[edi], ax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x21c]
push 0x5c
push eax
call dword [sym.imp.MSVCRT.dll_wcsrchr]
add esp, 8
lea ecx, [esp + 0x21c]
mov word [eax], 0
push 0x468a30
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea edx, [esp + 0x21c]
push 0x104
push edx
push 0x4dc548
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0x4dc340
push ebp
mov ecx, 0x472fa8
call fcn.00403f80
test eax, eax
je 0x430484
mov ecx, 0x472fa8
call fcn.00403900
test eax, eax
je 0x430316
test ebx, ebx
je 0x4302d7
mov ax, word [0x4d6e34]
mov edx, dword [0x4d5dd4]
mov word [esp + 0x14], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x16]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
push 0x104
push ecx
push 0x74
push edx
stosw word es:[edi], ax
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x40040
push 0xf
call fcn.0040f770
add esp, 4
push eax
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
call fcn.0042ecf0
test eax, eax
mov ecx, 0x472fa8
je 0x43046c
call fcn.00404960
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov eax, dword [0x4d5de0]
push 0
push 0
push 0x531
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x414
ret
test ebx, ebx
je 0x430334
push 0x4dc548
push 0x4637b4
push str.menu
push str.MenuUpdateMsg
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
call fcn.00410850
mov ebp, dword [sym.imp.USER32.dll_GetDesktopWindow]
test eax, eax
jne 0x430369
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 1
push eax
push 0x410a10
call ebp
mov ecx, dword [0x4d5dd4]
push eax
push 0x69
push ecx
call dword [sym.imp.USER32.dll_DialogBoxParamW]
jmp 0x4303bf
test ebx, ebx
je 0x4303bf
mov dx, word [0x4d6e34]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x16]
mov word [esp + 0x14], dx
push 0x104
rep stosd dword es:[edi], eax
mov ecx, dword [0x4d5dd4]
stosw word es:[edi], ax
lea eax, [esp + 0x18]
push eax
push 0x74
push ecx
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x40040
push 0xf
call fcn.0040f770
add esp, 4
lea edx, [esp + 0x18]
push eax
push edx
call ebp
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x4dc548
push 1
push 0x4652b0
push str.UpdateNow
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp eax, 1
je 0x430417
mov ecx, 0x472fa8
call fcn.00403960
test eax, eax
jle 0x43058b
call fcn.0042ecf0
test eax, eax
jne 0x43058b
mov ecx, 0x472fa8
call fcn.00404930
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x414
ret
push 0x4dc548
push 0x4637b0
push 0x4652b0
push str.UpdateNow
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push 0
call fcn.0040fcf0
add esp, 4
push 0
push 0x410070
call ebp
mov ecx, dword [0x4d5dd4]
push eax
push 0x68
push ecx
call dword [sym.imp.USER32.dll_CreateDialogParamW]
push 0x43
push 0
push 0
push 0
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, 0x472fa8
call fcn.00404930
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x414
ret
test ebx, ebx
je 0x43058b
mov ax, word [0x4d6e34]
mov edx, dword [0x4d5dd4]
mov word [esp + 0x14], ax
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x16]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x14]
push 0x104
push ecx
push 0x74
push edx
stosw word es:[edi], ax
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x40040
push 0xf
call fcn.0040f770
add esp, 4
push eax
lea eax, [esp + 0x1c]
push eax
jmp 0x43057e
test ebx, ebx
je 0x43058b
mov cx, word [0x4d6e34]
xor eax, eax
mov word [esp + 0x14], cx
mov ecx, 0x81
lea edi, [esp + 0x16]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [0x4d5dd4]
push 0x104
push edx
push 0xe4
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x40030
push 0xf
call fcn.0040f770
add esp, 4
lea ecx, [esp + 0x18]
push eax
push ecx
jmp 0x43057e
test ebx, ebx
je 0x43058b
mov dx, word [0x4d6e34]
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x16]
mov word [esp + 0x14], dx
push 0x104
rep stosd dword es:[edi], eax
mov ecx, dword [0x4d5dd4]
stosw word es:[edi], ax
lea eax, [esp + 0x18]
push eax
push 0xe4
push ecx
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x40030
push 0xf
call fcn.0040f770
add esp, 4
lea edx, [esp + 0x18]
push eax
push edx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, 0x472fa8
call fcn.00404960
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov ecx, dword [0x4d5de0]
push 0
push 0
push 0x531
push ecx
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x414
ret