Function at 0x402d70
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x43b1b7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x410
mov eax, dword [0x44ed90]
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x428], 0
mov dword [esp + 0x10], eax
lea eax, [esi + 0x9c]
push str._access_text.ini
lea ecx, [esp + 0x20]
push eax
push ecx
mov byte [esp + 0x434], 1
call fcn.00431c7c
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x42c], 2
call fcn.00431b20
lea ecx, [esp + 0x1c]
mov byte [esp + 0x428], 1
call fcn.004319e7
lea edx, [esi + 0x98]
push str._access_config.ini
lea eax, [esp + 0x20]
push edx
push eax
call fcn.00431c7c
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x42c], 3
call fcn.00431b20
lea ecx, [esp + 0x1c]
mov byte [esp + 0x428], 1
call fcn.004319e7
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [esp + 0x20]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x20]
push ecx
push 0x400
push edx
push 0x452ac0
push str.DEFAULT_BACKGROUND
push str.Backgrounds
call ebp
mov ecx, dword [esi + 0xc4]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [esp + 0x20]
push eax
push 0
push 0x143
push ecx
call ebx
mov edx, dword [esp + 0x14]
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x24]
push 0x400
push eax
push 0x452ac0
push str.WHITE_BACKGROUND
push str.Backgrounds
call ebp
mov edx, dword [esi + 0xc4]
lea ecx, [esp + 0x20]
push ecx
push 0
push 0x143
push edx
call ebx
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x20]
push eax
push 0x400
push ecx
push 0x452ac0
push str.BLACK_BACKGROUND
push str.Backgrounds
call ebp
mov eax, dword [esi + 0xc4]
lea edx, [esp + 0x20]
push edx
push 0
push 0x143
push eax
call ebx
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [esp + 0x20]
lea edx, [esp + 0x20]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
push ecx
push 0x400
push edx
push 0x452ac0
push str.MENU1_BACKGROUND
push str.OTHER
call ebp
lea eax, [esp + 0x20]
lea ecx, [esp + 0x18]
push eax
call fcn.00431a55
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [esp + 0x20]
lea edx, [esp + 0x20]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
mov byte [esp + 0x428], 4
push ecx
push 0x400
push edx
push 0x452ac0
push str.WHITE_BACKGROUND
push str.OTHER
call ebp
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x20]
push eax
push ecx
call fcn.0041c499
add esp, 8
test eax, eax
jne 0x402f80
push eax
push 1
jmp 0x402fd7
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x20]
push eax
push 0x400
push ecx
push 0x452ac0
push str.BLACK_BACKGROUND
push str.OTHER
call ebp
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x20]
push edx
push eax
call fcn.0041c499
add esp, 8
test eax, eax
push 0
jne 0x402fd5
mov ecx, dword [esi + 0xc4]
push 2
push 0x14e
push ecx
jmp 0x402fe3
push 0
mov edx, dword [esi + 0xc4]
push 0x14e
push edx
call ebx
push 0
mov ecx, esi
call fcn.00430a58
lea ecx, [esp + 0x18]
mov byte [esp + 0x428], 1
call fcn.004319e7
lea ecx, [esp + 0x10]
mov byte [esp + 0x428], 0
call fcn.004319e7
lea ecx, [esp + 0x14]
mov dword [esp + 0x428], 0xffffffff
call fcn.004319e7
mov ecx, dword [esp + 0x420]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x41c
ret