Function at 0x40ab30
Capabilities:
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x464c60
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
xor ebp, ebp
push str.Info
lea ecx, [esp + 0x2c]
mov dword [esp + 0x78], ebp
call fcn.0043d00b
push str.Setting
lea ecx, [esp + 0x28]
mov byte [esp + 0x78], 1
call fcn.0043d00b
push str.Language
lea ecx, [esp + 0x24]
mov byte [esp + 0x78], 2
call fcn.0043d00b
mov eax, dword [0x480520]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x7c]
mov byte [esp + 0x74], 4
cmp dword [ecx - 8], ebp
je 0x40abb0
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x10]
push edx
call fcn.0043d0d6
jmp 0x40acbf
lea ecx, [esp + 0x50]
call fcn.0041d954
push str.AccessPort.ini
lea eax, [esp + 0x1c]
mov bl, 5
push 0x4a5284
push eax
mov byte [esp + 0x80], bl
call fcn.0043d232
mov eax, dword [eax]
push ebp
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x7c], 6
call fcn.0041da17
lea ecx, [esp + 0x18]
mov esi, eax
mov byte [esp + 0x74], bl
call fcn.0043cf9d
cmp esi, ebp
jne 0x40ac51
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov ecx, eax
and ecx, 0x3ff
shr ax, 0xa
cmp cx, 4
jne 0x40ac1e
and eax, 0xffff
dec eax
je 0x40ac41
dec eax
je 0x40ac31
push str.English
lea ecx, [esp + 0x14]
call fcn.0043d126
jmp 0x40acb1
push str.Chinese_Simplified_
lea ecx, [esp + 0x14]
call fcn.0043d126
jmp 0x40acb1
push str.Chinese_Traditional_
lea ecx, [esp + 0x14]
call fcn.0043d126
jmp 0x40acb1
push str.AccessPort.ini
lea ecx, [esp + 0x1c]
push 0x4a5284
push ecx
call fcn.0043d232
mov eax, dword [eax]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
push eax
push 0x3e8
push 0x3e8
lea ecx, [esp + 0x1c]
mov byte [esp + 0x80], 7
call fcn.0043d3cd
push eax
push str.English
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [esp + 0x18]
mov byte [esp + 0x74], bl
call fcn.0043cf9d
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
call fcn.0043d41c
lea ecx, [esp + 0x50]
mov byte [esp + 0x74], 4
call fcn.0041d991
mov edx, dword [0x480520]
mov dword [esp + 0x1c], edx
lea ecx, [esp + 0x34]
mov byte [esp + 0x74], 8
call fcn.0041d954
push str.Language.ini
lea eax, [esp + 0x1c]
push 0x4a5284
push eax
mov byte [esp + 0x80], 9
call fcn.0043d232
mov eax, dword [eax]
push ebp
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x7c], 0xa
call fcn.0041da17
lea ecx, [esp + 0x18]
mov esi, eax
mov byte [esp + 0x74], 9
call fcn.0043cf9d
push 0x485264
lea ecx, [esp + 0x34]
call fcn.0043d00b
test esi, esi
mov byte [esp + 0x74], 0xb
je 0x40ae57
mov bl, 0xc
lea ecx, [esp + 0x34]
call fcn.0041dc37
lea ecx, [esp + 0x34]
mov dword [esp + 0x2c], eax
call fcn.0041dbfe
test eax, eax
jne 0x40ae1a
mov edx, dword [esp + 0x34]
push 0x10
lea ecx, [esp + 0x38]
call dword [edx + 0x38]
test eax, eax
jne 0x40ae1a
mov eax, dword [0x480520]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x74], bl
push ecx
lea ecx, [esp + 0x38]
call fcn.0041dd06
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
push edx
push 0x3e8
push 0x3e8
lea ecx, [esp + 0x20]
mov byte [esp + 0x80], 0xd
call fcn.0043d3cd
push eax
push 0x485264
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
je 0x40adff
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
call fcn.0043d41c
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.00425d9e
add esp, 8
test eax, eax
je 0x40ae28
mov edx, dword [esp + 0x14]
push str.English
push edx
call fcn.00425d9e
add esp, 8
test eax, eax
jne 0x40adff
lea eax, [esp + 0x18]
lea ecx, [esp + 0x1c]
push eax
call fcn.0043d0d6
lea ecx, [esp + 0x18]
mov byte [esp + 0x74], bl
call fcn.0043cf9d
lea ecx, [esp + 0x14]
mov byte [esp + 0x74], 0xb
call fcn.0043cf9d
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x40ad32
jmp 0x40ae57
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x4a5290
call fcn.0043d0d6
lea ecx, [esp + 0x18]
mov ebp, 1
mov byte [esp + 0x74], bl
call fcn.0043cf9d
lea ecx, [esp + 0x14]
mov byte [esp + 0x74], 0xb
call fcn.0043cf9d
lea ecx, [esp + 0x34]
call fcn.0041d9cd
pop edi
pop esi
test ebp, ebp
pop ebp
pop ebx
jne 0x40ae9d
mov edx, dword [esp + 0xc]
push 0x485264
push edx
call fcn.00425d9e
add esp, 8
test eax, eax
jne 0x40ae8e
push str.English
lea ecx, [esp + 4]
call fcn.0043d126
jmp 0x40ae9d
lea eax, [esp + 0xc]
mov ecx, 0x4a5290
push eax
call fcn.0043d0d6
push str.AccessPort.ini
lea ecx, [esp + 0x20]
push 0x4a5284
push ecx
call fcn.0043d232
mov eax, dword [eax]
mov edx, dword [esp]
mov ecx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x14]
push edx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [esp + 0x1c]
call fcn.0043cf9d
lea edx, [esp]
mov ecx, 0x4a5280
push edx
call fcn.0043d0d6
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 9
call fcn.0043cf9d
lea ecx, [esp + 0x24]
mov byte [esp + 0x64], 8
call fcn.0041d991
lea ecx, [esp + 0xc]
mov byte [esp + 0x64], 4
call fcn.0043cf9d
lea ecx, [esp]
mov byte [esp + 0x64], 3
call fcn.0043cf9d
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 2
call fcn.0043cf9d
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 1
call fcn.0043cf9d
lea ecx, [esp + 0x18]
mov byte [esp + 0x64], 0
call fcn.0043cf9d
lea ecx, [esp + 0x6c]
mov dword [esp + 0x64], 0xffffffff
call fcn.0043cf9d
mov ecx, dword [esp + 0x5c]
mov dword fs:[0], ecx
add esp, 0x68
ret