Function at 0x504a00
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x69dcc0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x114
push ebx
push ebp
push esi
push edi
mov ebp, ecx
xor ebx, ebx
mov dword [esp + 0x14], ebp
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x20], 1
mov dword [ebp + 0x24], ebx
lea esi, [ebp + 0x28]
mov dword [ebp], 0x6afce8
mov dword [esp + 0x12c], ebx
mov dword [esi + 4], ebx
mov dword [esi], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
lea edi, [ebp + 0x38]
mov dword [edi + 4], ebx
mov dword [edi], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
lea ecx, [ebp + 0x58]
mov byte [esp + 0x12c], 3
call fcn.005167e0
push fcn.00516950
push fcn.005167e0
push 2
lea eax, [ebp + 0x52c]
push 0x4d4
push eax
mov byte [esp + 0x140], 4
call fcn.005b9dbb
push fcn.00516950
push fcn.005167e0
push 6
push 0x4d4
lea eax, [ebp + 0xed4]
push eax
mov byte [esp + 0x140], 5
call fcn.005b9dbb
lea ecx, [ebp + 0x2bcc]
mov byte [esp + 0x12c], 6
call fcn.0051a260
push 0x200
push 0x400
push str.union_party.tga
push str.data_interface
mov ecx, esi
mov byte [esp + 0x13c], 7
mov dword [ebp + 0x3b1c], ebx
mov dword [ebp + 4], 0x106
mov dword [ebp + 8], 0x69
mov dword [ebp + 0xc], 0x6f
mov dword [ebp + 0x10], 0x25
call fcn.00538940
push pe_nt_image_headers32
push 0x80
push str.party2.tga
push str.data_interface
mov ecx, edi
call fcn.00538940
push 0x20
push 2
push str.party_graph.tga
push str.data_interface
lea ecx, [ebp + 0x48]
call fcn.00538940
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x3f800000
push ebx
push 0x3f400000
push 0x3f000000
push 0x3f800000
push ebx
push 0x3f000000
push 0x3e800000
push 0x3f800000
push ebx
push 0x3e800000
push ebx
mov ecx, dword [ebp + 8]
push 1
mov edx, dword [ebp + 4]
push 0x20
push 0x80
push str.talk1_close_button.tga
push ebx
push 0x16
push 0x16
push 0x20
push 0x20
push 1
push 0x227
push ecx
push edx
lea ecx, [ebp + 0x58]
call fcn.00517f80
push 0x3f800000
push 0x3f400000
push 0x3f800000
push ebx
push 0x3f400000
push 0x3f000000
push 0x3f800000
push ebx
push 0x3f400000
push 0x3f000000
push 0x3f800000
push ebx
push 0x3f000000
push 0x3e800000
push 0x3f800000
push ebx
push 0x3e800000
push ebx
push 0x3f800000
push ebx
mov eax, dword [ebp + 8]
push 1
mov ecx, dword [ebp + 4]
push 0x80
push 0x80
push str.ok_button.tga
push ebx
push 0x19
push 0x41
push 0x20
push 0x80
push 0x192
push 0x17c
push eax
push ecx
lea ecx, [ebp + 0x52c]
call fcn.00517f80
push 0x3f800000
push 0x3f400000
push 0x3f800000
push ebx
push 0x3f400000
push 0x3f000000
push 0x3f800000
push ebx
push 0x3f400000
push 0x3f000000
push 0x3f800000
push ebx
push 0x3f000000
push 0x3e800000
push 0x3f800000
push ebx
push 0x3e800000
push ebx
push 0x3f800000
push ebx
mov edx, dword [ebp + 8]
push 1
mov eax, dword [ebp + 4]
push 0x80
push 0x80
push str.cancel_button.tga
push ebx
push 0x19
push 0x41
push 0x20
push 0x80
push 0x192
push 0x1d3
push edx
push eax
lea ecx, [ebp + 0xa00]
call fcn.00517f80
xor esi, esi
lea edi, [ebp + 0xf77]
jmp 0x504ce0
push ebx
push ebx
push ebx
push ebx
push 0x3f800000
push ebx
push 0x3f800000
push ebx
push 0x3f800000
push ebx
push 0x3f800000
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
mov ecx, dword [ebp + 8]
push ebx
mov edx, dword [ebp + 4]
push ebx
push 3
push 0x10
push 0x10
push str.chat_check.tga
push ebx
push 0x10
push 0x10
push ebx
push ebx
push ecx
push edx
lea ecx, [edi - 0xa3]
call fcn.00517e50
cmp esi, 4
je 0x504d37
cmp esi, 5
je 0x504d37
mov byte [edi], bl
jmp 0x504d3a
mov byte [edi], 1
inc esi
add edi, 0x4d4
cmp esi, 6
jl 0x504ce0
push 1
push 0x3f580000
push ebx
push 0x3f800000
push 0x3f000000
push 0x3f580000
push ebx
push 0x3f000000
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x42000000
push 0x42000000
push str.option_graphic_slider.tga
mov eax, dword [ebp + 8]
push 0x41e00000
mov ecx, dword [ebp + 4]
push 0x43808000
push ebx
push 0x41700000
push ebx
push 0x1c
push 0xf
push 0x1c
push 0x11f
push ebx
push ebx
push eax
push ecx
lea esi, [ebp + 0x2bcc]
mov ecx, esi
call fcn.0051bea0
push 0x10
push 0x64
push ebx
mov ecx, esi
call fcn.0051b380
push 1
mov ecx, esi
call fcn.0051a420
push 1
mov ecx, esi
call fcn.0051a430
push ebx
push ebx
push str.party_icon.tga
mov ecx, 0x21ebebc
mov dword [ebp + 0x3b20], ebx
call fcn.0051a050
push 0x7034e0
push 0x104
lea edx, [esp + 0x20]
push edx
push 0x6a75d5
mov dword [ebp + 0x3b20], eax
push str.UNION_WINODW_VISIBLE
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x2c]
push 0x6afc64
rep stosd dword es:[edi], eax
call dword [sym.imp.kernel32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x504e3a
mov edi, str.FALSE
lea esi, [esp + 0x18]
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x504e3a
mov dword [0x21e6a30], ebx
jmp 0x504e42
cmp dword [0x21e6a30], ebx
jne 0x504e48
mov byte [ebp + 0x22c7], bl
mov ecx, dword [esp + 0x124]
pop edi
mov eax, ebp
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret