Function at 0x404b20
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
mov eax, dword [0x4b1570]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x4c], 0
mov ecx, dword [ebp - 0x16c]
call fcn.004053c0
mov eax, dword [ebp + 8]
push eax
push 0
push str.RebuildFS
push 0x480374
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0x16c]
mov dword [ecx + 0x5e8], eax
mov edx, dword [ebp + 8]
push edx
push 0x104
push 0x104
mov ecx, dword [ebp - 0x16c]
add ecx, 0x5fc
call fcn.004081e0
push eax
push 0x47f760
push str.UAPUK
push 0x480374
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0xb4], 0xffffffff
mov eax, dword [ebp - 0x16c]
add eax, 0x5fc
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb4], 0xffffffff
jne 0x404bfe
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
mov dword [ebp - 0xac], edx
cmp dword [ebp - 0xac], 0
jne 0x404be9
mov dword [ebp - 0xb4], 0
jmp 0x404bfe
mov eax, dword [ebp - 0xac]
push eax
call fcn.0045fc50
add esp, 4
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0xb4]
push ecx
mov ecx, dword [ebp - 0xb0]
call fcn.00408230
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx + 0x5fc]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0xb8], ecx
xor edx, edx
cmp dword [ebp - 0xb8], 0
sete dl
movzx eax, dl
neg eax
sbb eax, eax
add eax, 1
mov ecx, dword [ebp - 0x16c]
mov dword [ecx + 0x5ec], eax
mov edx, dword [ebp - 0x16c]
add edx, 0x600
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0xc4]
mov eax, 1
sub eax, dword [edx + 0xc]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ecx + 8]
sub edx, 0x104
mov dword [ebp - 0xc0], edx
mov eax, dword [ebp - 0xbc]
or eax, dword [ebp - 0xc0]
jge 0x404cb1
push 0x104
mov ecx, dword [ebp - 0xcc]
call fcn.004021d0
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ecx]
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp + 8]
push eax
push 0x104
mov ecx, dword [ebp - 0xc8]
push ecx
push 0x47f760
push str.USPUK
push 0x480374
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x16c]
add ecx, 0x600
call fcn.00407e40
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx + 0x600]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0xd4], ecx
xor edx, edx
cmp dword [ebp - 0xd4], 0
sete dl
movzx eax, dl
neg eax
sbb eax, eax
add eax, 1
mov ecx, dword [ebp - 0x16c]
mov dword [ecx + 0x5f0], eax
mov dword [ebp - 0x94], 0
jmp 0x404d49
mov edx, dword [ebp - 0x94]
add edx, 1
mov dword [ebp - 0x94], edx
cmp dword [ebp - 0x94], 0xff
jge 0x405043
mov eax, dword [ebp - 0x94]
add eax, 1
push eax
push str.APP_d
lea ecx, [ebp - 0x90]
push ecx
call fcn.004600f6
add esp, 0xc
mov edx, dword [ebp - 0x16c]
add edx, 0x5f4
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xe0]
mov eax, 1
sub eax, dword [edx + 0xc]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 8]
sub edx, 0x104
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xd8]
or eax, dword [ebp - 0xdc]
jge 0x404de1
push 0x104
mov ecx, dword [ebp - 0xe8]
call fcn.004021d0
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ecx]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp + 8]
push eax
push 0x104
mov ecx, dword [ebp - 0xe4]
push ecx
push 0x47f760
push 0x480348
lea edx, [ebp - 0x90]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x16c]
add ecx, 0x5f4
call fcn.00407e40
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax + 0x5f4]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0xf0], edx
xor eax, eax
cmp dword [ebp - 0xf0], 0
sete al
movzx ecx, al
test ecx, ecx
je 0x404e56
jmp 0x404d3a
push 0x10505
call fcn.004608f2
add esp, 4
mov dword [ebp - 0x4c], eax
push 0x10505
push 0
mov edx, dword [ebp - 0x4c]
push edx
call fcn.004602b0
add esp, 0xc
mov eax, dword [ebp - 0x16c]
add eax, 0x5f4
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x104]
mov edx, dword [ecx]
sub edx, 0x10
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0xfc]
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0xfc]
mov eax, dword [edx + 8]
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xf4]
or ecx, dword [ebp - 0xf8]
jge 0x404ed9
push 0
mov ecx, dword [ebp - 0x104]
call fcn.004021d0
mov edx, dword [ebp - 0x104]
mov eax, dword [edx]
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
push ecx
mov edx, dword [ebp - 0x4c]
add edx, 0x105
push edx
call fcn.004601b0
add esp, 8
mov eax, dword [ebp + 8]
push eax
push 0x104
mov ecx, dword [ebp - 0x4c]
push ecx
push 0x47f760
push str.COMMENT
lea edx, [ebp - 0x90]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0x4c]
movsx ecx, byte [eax]
test ecx, ecx
jne 0x404f44
mov edx, dword [ebp - 0x4c]
add edx, 0x105
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004601b0
add esp, 8
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 0
cmp dword [ebp - 0x98], 0xff
jge 0x404ff7
mov ecx, dword [ebp - 0x98]
add ecx, 1
push ecx
push str.ParaFile_d
lea edx, [ebp - 0x48]
push edx
call fcn.004600f6
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push 0x104
mov ecx, dword [ebp - 0xa0]
imul ecx, ecx, 0x104
mov edx, dword [ebp - 0x4c]
lea eax, [edx + ecx + 0x209]
push eax
push 0x47f760
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0x90]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp - 0xa0]
imul eax, eax, 0x104
mov ecx, dword [ebp - 0x4c]
movsx edx, byte [ecx + eax + 0x209]
test edx, edx
je 0x404fe3
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0x98]
add ecx, 1
mov dword [ebp - 0x98], ecx
jmp 0x404f58
mov edx, dword [ebp - 0x4c]
push edx
push 0
push 0x180
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax + 0x2c0]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x9c], eax
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x9c]
push eax
push 0x19a
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx + 0x2c0]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x404d3a
mov eax, dword [ebp - 0x16c]
add eax, 0x5f8
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
mov edx, dword [ecx]
sub edx, 0x10
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x110]
mov ecx, 1
sub ecx, dword [eax + 0xc]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x110]
mov eax, dword [edx + 8]
sub eax, 0x104
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x108]
or ecx, dword [ebp - 0x10c]
jge 0x4050ab
push 0x104
mov ecx, dword [ebp - 0x118]
call fcn.004021d0
mov edx, dword [ebp - 0x118]
mov eax, dword [edx]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp + 8]
push ecx
push 0x104
mov edx, dword [ebp - 0x114]
push edx
push 0x47f760
push str.Fontlib1
push str.FONT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x16c]
add ecx, 0x5f8
call fcn.00407e40
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax + 0x5f8]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x120], edx
xor eax, eax
cmp dword [ebp - 0x120], 0
sete al
movzx ecx, al
neg ecx
sbb ecx, ecx
add ecx, 1
mov edx, dword [ebp - 0x16c]
mov dword [edx + 0x5e4], ecx
push 0
push 0
push 0x18b
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax + 0x2c0]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jle 0x4052a9
push 0
push 0
push 0x186
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx + 0x2c0]
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x199
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx + 0x2c0]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x16c]
add eax, 0x604
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x4c], 0
jne 0x4051aa
mov dword [ebp - 0x124], 0
jmp 0x4051bc
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.0045fc50
add esp, 4
mov dword [ebp - 0x124], eax
mov edx, dword [ebp - 0x124]
push edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x13c]
call fcn.00402000
mov ecx, dword [ebp - 0x4c]
add ecx, 0x105
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x16c]
add edx, 0x5f4
mov dword [ebp - 0x164], edx
cmp dword [ebp - 0x168], 0
jne 0x405208
mov dword [ebp - 0x140], 0
jmp 0x40521d
mov eax, dword [ebp - 0x168]
push eax
call fcn.0045fc50
add esp, 4
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x168]
push edx
mov ecx, dword [ebp - 0x164]
call fcn.00402000
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa8], 0
jmp 0x40525b
mov eax, dword [ebp - 0xa8]
add eax, 1
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xa8]
imul ecx, ecx, 0x104
mov edx, dword [ebp - 0x4c]
movsx eax, byte [edx + ecx + 0x209]
test eax, eax
je 0x4052a9
mov ecx, dword [ebp - 0xa8]
imul ecx, ecx, 0x104
mov edx, dword [ebp - 0x4c]
lea eax, [edx + ecx + 0x209]
push eax
push 0
push 0x180
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx + 0x238]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x40524c
push 0
mov ecx, dword [ebp - 0x16c]
call fcn.0044146c
mov eax, dword [ebp - 0x16c]
mov dword [eax + 0x72c], 0
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004600a2
mov esp, ebp
pop ebp
ret 4