Function at 0x4062c0
Capabilities:
Create thread
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x420cfe
push eax
mov al, byte [0x42c530]
mov dword fs:[0], esp
sub esp, 0x134
test al, al
push ebp
mov ebp, ecx
jne 0x406623
push ebx
push edi
xor ebx, ebx
mov ecx, 0x31
xor eax, eax
lea edi, [esp + 0x7a]
mov word [esp + 0x78], bx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [0x42c43c]
cmp eax, ebx
jne 0x406311
mov eax, 0x422470
push eax
lea eax, [esp + 0x7c]
push 0x64
push eax
push 0x42c54c
push str.Closing
push str.Install_Page_Mx2Running
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [esp + 0x78]
push ecx
call fcn.00417a8e
add esp, 4
test eax, eax
je 0x4065ea
push esi
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0x14]
mov dword [esp + 0x14c], ebx
call fcn.004105e0
push ebx
push 0x427900
lea edi, [ebp + 0x45c]
push 0x42731c
lea edx, [esp + 0x20]
push ebx
push edx
mov ecx, edi
mov byte [esp + 0x160], 1
call fcn.0040f110
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 0
mov dword [esp + 0x14], 0x422600
call fcn.0040ecf0
push esi
call dword [sym.imp.MxUI.dll_HTMLayout_UseElement]
neg eax
sbb eax, eax
not eax
and eax, esi
mov dword [esp + 0x10], eax
je 0x406573
mov eax, dword [ebp + 0x57c]
lea ecx, [ebp + 0x574]
dec eax
push eax
lea eax, [esp + 0x50]
push ebx
push eax
call fcn.0040a270
lea ecx, [esp + 0x4c]
push 0x4278fc
lea edx, [esp + 0x60]
push ecx
push edx
mov byte [esp + 0x158], 2
call fcn.00410f20
lea ecx, [ebp + 0x470]
lea edx, [esp + 0x20]
push ecx
push eax
push edx
mov byte [esp + 0x164], 3
call fcn.00410df0
add esp, 0x18
mov bl, 5
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0x150], bl
call fcn.0040cf30
push 0x4279b4
call fcn.00417a8e
add esp, 4
lea ecx, [esp + 0x14]
push eax
push 0x4279b4
call fcn.0040a1a0
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x40]
push ecx
push edx
call fcn.00410f20
add esp, 0xc
mov ecx, dword [0x422604]
mov byte [esp + 0x14c], 6
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.0040c980
push 1
lea ecx, [esp + 0x40]
mov byte [esp + 0x150], bl
call fcn.0040cf30
lea edx, [esp + 0x14]
lea eax, [esp + 0x6c]
push edx
push str._li_
push eax
call fcn.00411050
push str.__li_
lea ecx, [esp + 0x4c]
push eax
push ecx
mov byte [esp + 0x164], 7
call fcn.00410f20
add esp, 0x18
mov edx, dword [0x422604]
lea ecx, [esp + 0x14]
push edx
push 0
push eax
mov byte [esp + 0x158], 8
call fcn.0040c980
push 1
lea ecx, [esp + 0x40]
mov byte [esp + 0x150], 7
call fcn.0040cf30
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x150], bl
call fcn.0040cf30
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4064f6
mov eax, 0x422470
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.004123c0
mov eax, dword [esp + 0x34]
add esp, 8
test eax, eax
jne 0x406515
mov eax, 0x422608
test eax, eax
je 0x40652e
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x40652e
push 0
push ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
call dword [sym.imp.MxUI.dll_HTMLayoutSetElementHtml]
jmp 0x406540
mov edx, dword [esp + 0x10]
push 0
push 0x42c54c
push edx
call dword [sym.imp.MxUI.dll_HTMLayoutSetElementInnerText16]
push 1
lea ecx, [esp + 0x2c]
call fcn.0040c930
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x150], 2
call fcn.0040cf30
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0x150], 0
call fcn.0040cf30
xor ebx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], 0x422600
push ebx
push str.closeMx2_continue
push 0x42731c
lea eax, [esp + 0x20]
push ebx
push eax
mov ecx, edi
mov byte [esp + 0x160], 0xa
call fcn.0040f110
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], 0x422600
push eax
mov edi, eax
call dword [sym.imp.MxUI.dll_HTMLayout_UseElement]
mov esi, eax
neg esi
sbb esi, esi
not esi
and esi, edi
mov edi, dword [sym.imp.MxUI.dll_HTMLayout_UnuseElement]
je 0x4065de
push str.disabled
push 0x427994
push esi
call dword [sym.imp.MxUI.dll_HTMLayoutSetAttributeByName]
push esi
call edi
mov eax, dword [esp + 0x10]
pop esi
cmp eax, ebx
je 0x4065ea
push eax
call edi
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x20]
push ecx
push ebx
push edx
push 0x406180
push ebx
push ebx
mov dword [esp + 0x38], ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop edi
cmp eax, ebx
pop ebx
je 0x406623
mov ecx, dword [esp + 0x18]
mov byte [0x42c530], 1
push eax
mov dword [ebp + 0x490], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x138]
pop ebp
mov dword fs:[0], ecx
add esp, 0x140
ret