Function at 0x4086b0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x41d7b1
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x42b75c]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov esi, ecx
xor eax, eax
xor ecx, ecx
mov word [esi + 0x38e4], ax
mov word [esi + 0x38e6], cx
call fcn.0040bcf0
test eax, eax
je 0x408745
push 0x321
call fcn.0040bd10
add esp, 4
test eax, eax
je 0x408745
movzx edx, word [esi + 0x38e4]
push edx
push 0x321
call fcn.0040db40
add esp, 8
cmp eax, 2
jne 0x408745
mov eax, dword [str.No_Function]
mov ecx, dword [str.No_Class]
push eax
push ecx
push 0x321
call fcn.0040bd30
add esp, 0xc
call fcn.0040bcf0
test eax, eax
je 0x408793
push 0x322
call fcn.0040bd10
add esp, 4
test eax, eax
je 0x408793
movzx edx, word [esi + 0x38e6]
push edx
push 0x322
call fcn.0040db40
add esp, 8
cmp eax, 2
jne 0x408793
mov eax, dword [str.No_Function]
mov ecx, dword [str.No_Class]
push eax
push ecx
push 0x322
call fcn.0040bd30
add esp, 0xc
lea ecx, [esp + 0x1c]
mov byte [esi + 0x2fdc], 0
mov byte [esi + 0x30e0], 0
call fcn.004019f0
lea ecx, [esp + 0x24]
mov dword [esp + 0xd0], 0
call fcn.004019f0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd0], 1
call fcn.004019f0
lea ecx, [esp + 0x44]
mov byte [esp + 0xd0], 2
call fcn.004019f0
mov edx, dword [0x42b818]
lea ebp, [esi + 0x38b0]
push ebp
push edx
mov ecx, esi
mov byte [esp + 0xd8], 3
call fcn.004040e0
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, eax
mov dword [esp + 0x18], edi
cmp edi, 9
je 0x408837
cmp edi, 7
je 0x408837
cmp edi, 2
je 0x408840
mov eax, dword [esi + 0x20]
push 0
push 0
push 0x10
push eax
mov dword [esi + 0x38e0], 1
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x408c67
cmp edi, 2
jne 0x408901
mov ecx, dword [ebp]
push ecx
lea edi, [esi + 0x186c]
push edi
call ebx
push edi
lea ecx, [esp + 0x40]
call fcn.00401a40
push eax
lea edx, [esp + 0x38]
push 0x421268
push edx
mov byte [esp + 0xdc], 4
call fcn.00401ea0
add esp, 0xc
mov eax, dword [eax + 4]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd4], 5
call fcn.00401580
lea ecx, [esp + 0x34]
mov byte [esp + 0xd0], 4
call fcn.00401cb0
lea ecx, [esp + 0x3c]
mov byte [esp + 0xd0], 3
call fcn.00401cb0
mov eax, dword [esp + 0x20]
push str.Threshold
push str.HUTtype
push eax
call fcn.00415250
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x30]
push ecx
push str.ThresholdConsent
push edx
call fcn.00414960
add esp, 0x18
push 0x42165c
lea ecx, [esp + 0x28]
call fcn.00401750
test eax, eax
jne 0x4088fd
push eax
mov dword [esi + 0x38e0], 1
mov dword [esi + 0x38d8], eax
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov edi, dword [esp + 0x18]
cmp edi, 7
jne 0x408991
mov eax, dword [esi + 0x38b8]
push eax
lea edi, [esi + 0x186c]
push edi
call ebx
push edi
lea ecx, [esp + 0x38]
call fcn.00401a40
push eax
lea ecx, [esp + 0x40]
push 0x421268
push ecx
mov byte [esp + 0xdc], 6
call fcn.00401ea0
add esp, 0xc
mov eax, dword [eax + 4]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd4], 7
call fcn.00401580
lea ecx, [esp + 0x3c]
mov byte [esp + 0xd0], 6
call fcn.00401cb0
lea ecx, [esp + 0x34]
mov byte [esp + 0xd0], 3
call fcn.00401cb0
mov edx, dword [esp + 0x20]
push str.Content
push str.HUTtype
push edx
call fcn.00415250
mov edi, dword [esp + 0x24]
add esp, 0xc
mov ecx, esi
call sub.mfc90.dll_Ordinal_4993
mov eax, dword [esi + 0xc8]
mov ebp, dword [sym.imp.USER32.dll_SendMessageA]
push eax
mov eax, dword [esi + 0x20]
push 1
push 0x80
push eax
call ebp
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0x20]
push eax
push 0
push 0x80
push ecx
call ebp
push 0x42099c
lea edx, [esp + 0x1c]
push 1
push edx
call fcn.00406e40
add esp, 0xc
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov eax, dword [esi + 0x20]
push 0
push eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
push eax
call sub.mfc90.dll_Ordinal_2591
push 0x4211ec
push 0
push str.BBUILocalizationDebug
push str.MagicNumber
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, 1
jne 0x408a1c
test ebp, ebp
jne 0x408b07
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x24]
push ecx
push str.ThresholdConsent
push edx
call fcn.00414960
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x38]
push eax
push str.ContentConsent
push ecx
call fcn.00414960
add esp, 0x18
push 0x42165c
lea ecx, [esp + 0x28]
call fcn.00401750
test eax, eax
je 0x408a99
lea edx, [esp + 0x18]
push edx
call fcn.00406db0
add esp, 4
push 0
push 0
push 0
push 0
mov ecx, eax
mov byte [esp + 0xe0], 8
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
lea ecx, [esi + 0x74]
call fcn.004190d0
lea ecx, [esp + 0x18]
mov byte [esp + 0xd0], 3
call dword [sym.imp.mfc90.dll_Ordinal_601]
push 0x42165c
lea ecx, [esp + 0x30]
call fcn.00401750
test eax, eax
je 0x408aed
lea eax, [esp + 0x18]
push eax
call fcn.00406db0
add esp, 4
push 0
push 0
push 0
push 0
mov ecx, eax
mov byte [esp + 0xe0], 9
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
lea ecx, [esi + 0x74]
call fcn.004190d0
lea ecx, [esp + 0x18]
mov byte [esp + 0xd0], 3
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x408b07
sub esp, 8
lea edx, [esp + 0x34]
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.00401a10
mov ecx, esi
call fcn.00406060
cmp edi, 9
jne 0x408c67
call fcn.0040bcf0
test eax, eax
je 0x408b5e
push 0x327
call fcn.0040bd10
add esp, 4
test eax, eax
je 0x408b5e
mov eax, dword [esi + 0x38c8]
push eax
push 0x327
call fcn.0040df10
add esp, 8
cmp eax, 2
jne 0x408b5e
mov ecx, dword [str.No_Function]
mov edx, dword [str.No_Class]
push ecx
push edx
push 0x327
call fcn.0040bd30
add esp, 0xc
mov eax, dword [esi + 0x38b8]
push eax
lea edi, [esi + 0x186c]
push edi
call ebx
push edi
lea ecx, [esp + 0x38]
call fcn.00401a40
push eax
lea ecx, [esp + 0x40]
push 0x421268
mov bl, 0xa
push ecx
mov byte [esp + 0xdc], bl
call fcn.00401ea0
add esp, 0xc
mov eax, dword [eax + 4]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd4], 0xb
call fcn.00401580
lea ecx, [esp + 0x3c]
mov byte [esp + 0xd0], bl
call fcn.00401cb0
lea ecx, [esp + 0x34]
mov byte [esp + 0xd0], 3
call fcn.00401cb0
mov edx, dword [esp + 0x20]
push str.Content
push str.HUTtype
push edx
call fcn.00415250
mov eax, dword [esi + 0x38c8]
mov edi, dword [sym.imp.MSVCR90.dll_atoi]
push eax
call edi
mov ecx, dword [esi + 0x38cc]
push ecx
mov word [esi + 0x38e4], ax
call edi
mov edx, 0x200
add esp, 0x14
mov word [esi + 0x38e6], ax
mov byte [esi + 0x38dc], 1
cmp word [esi + 0x38e4], dx
jne 0x408c67
push 0
lea ecx, [esp + 0x50]
call fcn.0040b040
lea ecx, [esp + 0x4c]
mov byte [esp + 0xd0], 0xc
call sub.mfc90.dll_Ordinal_2208
mov cx, word [esp + 0xc0]
mov ax, word [esp + 0xc2]
mov word [esi + 0x38e6], cx
lea ecx, [esp + 0x4c]
mov word [esi + 0x38e4], ax
mov byte [esp + 0xd0], 3
call sub.mfc90.dll_Ordinal_639
lea ecx, [esp + 0x44]
mov byte [esp + 0xd0], 2
call fcn.00401cb0
lea ecx, [esp + 0x2c]
mov byte [esp + 0xd0], 1
call fcn.00401cb0
lea ecx, [esp + 0x24]
mov byte [esp + 0xd0], 0
call fcn.00401cb0
lea ecx, [esp + 0x1c]
mov dword [esp + 0xd0], 0xffffffff
call fcn.00401cb0
mov eax, 1
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret