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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x41b3be
push eax
mov al, byte [0x426c14]
mov dword fs:[0], esp
sub esp, 0x134
test al, al
push ebp
mov ebp, ecx
jne 0x402da2
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 [0x426bcc]
cmp eax, ebx
jne 0x402a91
mov eax, 0x41d59c
push eax
lea eax, [esp + 0x7c]
push 0x64
push eax
push 0x426c34
push str.Closing
push str.Install_Page_Mx2Running
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [esp + 0x78]
push ecx
call fcn.0041255c
add esp, 4
test eax, eax
je 0x402d69
push esi
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0x14]
mov dword [esp + 0x14c], ebx
call fcn.0040ccd0
push ebx
push 0x42242c
lea edi, [ebp + 0x45c]
push 0x4221b0
lea edx, [esp + 0x20]
push ebx
push edx
mov ecx, edi
mov byte [esp + 0x160], 1
call fcn.0040c7b0
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x10]
mov byte [esp + 0x14c], 0
mov dword [esp + 0x14], 0x41d5a0
call fcn.0040c460
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 0x402cf2
mov eax, dword [ebp + 0x518]
lea ecx, [ebp + 0x510]
dec eax
push eax
lea eax, [esp + 0x50]
push ebx
push eax
call fcn.004068b0
lea ecx, [esp + 0x4c]
push 0x422428
lea edx, [esp + 0x60]
push ecx
push edx
mov byte [esp + 0x158], 2
call fcn.0040cf40
lea ecx, [ebp + 0x478]
lea edx, [esp + 0x20]
push ecx
push eax
push edx
mov byte [esp + 0x164], 3
call fcn.0040ce10
add esp, 0x18
mov bl, 5
push 1
lea ecx, [esp + 0x60]
mov byte [esp + 0x150], bl
call fcn.00409580
push 0x4224cc
call fcn.0041255c
add esp, 4
lea ecx, [esp + 0x14]
push eax
push 0x4224cc
call fcn.004067e0
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x40]
push ecx
push edx
call fcn.0040cf40
add esp, 0xc
mov ecx, dword [0x41d5a8]
mov byte [esp + 0x14c], 6
push ecx
push 0
push eax
lea ecx, [esp + 0x20]
call fcn.00409170
push 1
lea ecx, [esp + 0x40]
mov byte [esp + 0x150], bl
call fcn.00409580
lea edx, [esp + 0x14]
lea eax, [esp + 0x6c]
push edx
push str._li_
push eax
call fcn.0040d070
push str.__li_
lea ecx, [esp + 0x4c]
push eax
push ecx
mov byte [esp + 0x164], 7
call fcn.0040cf40
add esp, 0x18
mov edx, dword [0x41d5a8]
lea ecx, [esp + 0x14]
push edx
push 0
push eax
mov byte [esp + 0x158], 8
call fcn.00409170
push 1
lea ecx, [esp + 0x40]
mov byte [esp + 0x150], 7
call fcn.00409580
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x150], bl
call fcn.00409580
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x402c76
mov eax, 0x41d59c
push eax
lea eax, [esp + 0x2c]
push eax
mov ecx, ebp
call fcn.00405580
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x402c94
mov eax, 0x41d5a4
test eax, eax
je 0x402cad
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x402cad
push 0
push ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
call dword [sym.imp.MxUI.dll_HTMLayoutSetElementHtml]
jmp 0x402cbf
mov edx, dword [esp + 0x10]
push 0
push 0x426c34
push edx
call dword [sym.imp.MxUI.dll_HTMLayoutSetElementInnerText16]
push 1
lea ecx, [esp + 0x2c]
call fcn.00409120
push 1
lea ecx, [esp + 0x18]
mov byte [esp + 0x150], 2
call fcn.00409580
push 1
lea ecx, [esp + 0x50]
mov byte [esp + 0x150], 0
call fcn.00409580
xor ebx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], 0x41d5a0
push ebx
push str.closeMx2_continue
push 0x4221b0
lea eax, [esp + 0x20]
push ebx
push eax
mov ecx, edi
mov byte [esp + 0x160], 0xa
call fcn.0040c7b0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], 0x41d5a0
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 0x402d5d
push str.disabled
push 0x4224ac
push esi
call dword [sym.imp.MxUI.dll_HTMLayoutSetAttributeByName]
push esi
call edi
mov eax, dword [esp + 0x10]
pop esi
cmp eax, ebx
je 0x402d69
push eax
call edi
mov edx, dword [ebp + 4]
lea ecx, [esp + 0x20]
push ecx
push ebx
push edx
push 0x402900
push ebx
push ebx
mov dword [esp + 0x38], ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop edi
cmp eax, ebx
pop ebx
je 0x402da2
mov ecx, dword [esp + 0x18]
mov byte [0x426c14], 1
push eax
mov dword [ebp + 0x48c], ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x138]
pop ebp
mov dword fs:[0], ecx
add esp, 0x140
ret