Function at 0x414b70
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c96d3
mov eax, dword fs:[0]
push eax
mov eax, 0x2107c
call fcn.00481120
mov eax, dword [0x5053c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2107c], ecx
mov dword [ebp - 0xa4], 0
push 0x20d40
push 0
lea eax, [ebp - 0x20dec]
push eax
call fcn.00480360
add esp, 0xc
push 0x4d8950
mov ecx, dword [ebp + 8]
push ecx
call fcn.00480f2b
add esp, 8
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
jne 0x414bfc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
jmp 0x4158c8
mov edx, dword [ebp - 0x9c]
push edx
call fcn.00480c29
add esp, 4
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0xa0]
call fcn.00402590
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x20ee0], ecx
push 0x5c
mov edx, dword [ebp - 0x20ee0]
push edx
call fcn.00481738
add esp, 8
mov dword [ebp - 0x20edc], eax
cmp dword [ebp - 0x20edc], 0
jne 0x414c59
mov dword [ebp - 0x21080], 0xffffffff
jmp 0x414c6b
mov eax, dword [ebp - 0x20edc]
sub eax, dword [ebp - 0xa0]
mov dword [ebp - 0x21080], eax
mov ecx, dword [ebp - 0x21080]
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0xa8], 0xffffffff
jne 0x414cd6
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0x20ee8], edx
push 0x2f
mov eax, dword [ebp - 0x20ee8]
push eax
call fcn.00481738
add esp, 8
mov dword [ebp - 0x20ee4], eax
cmp dword [ebp - 0x20ee4], 0
jne 0x414cb8
mov dword [ebp - 0x21084], 0xffffffff
jmp 0x414cca
mov ecx, dword [ebp - 0x20ee4]
sub ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x21084], ecx
mov edx, dword [ebp - 0x21084]
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0xffffffff
je 0x414d34
mov eax, dword [ebp - 0xa8]
add eax, 1
push eax
lea ecx, [ebp - 0x20eb0]
push ecx
lea ecx, [ebp - 0xa0]
call fcn.0040a230
mov dword [ebp - 0x21088], eax
mov edx, dword [ebp - 0x21088]
mov dword [ebp - 0x20eec], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x20eec]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0040a9a0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20eb0]
call fcn.00402970
jmp 0x414d3f
lea ecx, [ebp - 0xa0]
call fcn.00402ac0
push 0x20d40
push 0
lea ecx, [ebp - 0x20dec]
push ecx
call fcn.00480360
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push 0
push str.RebuildFS
push 0x4d7830
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x20dd0], eax
mov eax, dword [ebp + 8]
push eax
push 0x104
lea ecx, [ebp - 0x4bc]
push ecx
push 0x4d6adc
push str.USPUK
push 0x4d7830
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx edx, byte [ebp - 0x4bc]
test edx, edx
je 0x414e98
lea eax, [ebp - 0x4bc]
push eax
lea ecx, [ebp - 0x20e30]
call fcn.00402590
mov byte [ebp - 4], 2
push 0
push 0x3a
lea ecx, [ebp - 0x20e30]
call fcn.0041e9e0
cmp eax, 0xffffffff
jne 0x414e7f
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x20f14], edx
mov eax, dword [ebp - 0x20e30]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20f18], ecx
mov edx, dword [ebp - 0x20f14]
add edx, dword [ebp - 0x20f18]
mov dword [ebp - 0x20e34], edx
cmp dword [ebp - 0x20e34], 0x103
jge 0x414e3d
lea ecx, [ebp - 0x20e30]
call fcn.0041ec20
push eax
lea ecx, [ebp - 0xa0]
call fcn.0041ec20
push eax
push 0x4d8948
lea eax, [ebp - 0x4bc]
push eax
call fcn.004803da
add esp, 0x10
jmp 0x414e7f
mov dword [ebp - 0xa4], 0x2c
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x20eb4], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e30]
call fcn.00402970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00402970
mov eax, dword [ebp - 0x20eb4]
jmp 0x4158c8
mov dword [ebp - 0x20ddc], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e30]
call fcn.00402970
mov edx, dword [ebp + 8]
push edx
push 0x104
lea eax, [ebp - 0x3b8]
push eax
push 0x4d6adc
push str.UAPUK
push 0x4d7830
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx ecx, byte [ebp - 0x3b8]
test ecx, ecx
je 0x414fbf
lea edx, [ebp - 0x3b8]
push edx
lea ecx, [ebp - 0x20e38]
call fcn.00402590
mov byte [ebp - 4], 3
push 0
push 0x3a
lea ecx, [ebp - 0x20e38]
call fcn.0041e9e0
cmp eax, 0xffffffff
jne 0x414fa6
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20f44], ecx
mov edx, dword [ebp - 0x20e38]
mov eax, dword [edx - 0xc]
mov dword [ebp - 0x20f48], eax
mov ecx, dword [ebp - 0x20f44]
add ecx, dword [ebp - 0x20f48]
mov dword [ebp - 0x20e3c], ecx
cmp dword [ebp - 0x20e3c], 0x103
jge 0x414f64
lea ecx, [ebp - 0x20e38]
call fcn.0041ec20
push eax
lea ecx, [ebp - 0xa0]
call fcn.0041ec20
push eax
push 0x4d8948
lea edx, [ebp - 0x3b8]
push edx
call fcn.004803da
add esp, 0x10
jmp 0x414fa6
mov dword [ebp - 0xa4], 0x2c
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x20eb8], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e38]
call fcn.00402970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00402970
mov eax, dword [ebp - 0x20eb8]
jmp 0x4158c8
mov dword [ebp - 0x20dd8], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e38]
call fcn.00402970
mov ecx, dword [ebp + 8]
push ecx
push 0x104
lea edx, [ebp - 0x2b4]
push edx
push 0x4d6adc
push str.MagDriver
push 0x4d7830
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx eax, byte [ebp - 0x2b4]
test eax, eax
je 0x4150e6
lea ecx, [ebp - 0x2b4]
push ecx
lea ecx, [ebp - 0x20e40]
call fcn.00402590
mov byte [ebp - 4], 4
push 0
push 0x3a
lea ecx, [ebp - 0x20e40]
call fcn.0041e9e0
cmp eax, 0xffffffff
jne 0x4150cd
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx - 0xc]
mov dword [ebp - 0x20f74], eax
mov ecx, dword [ebp - 0x20e40]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x20f78], edx
mov eax, dword [ebp - 0x20f74]
add eax, dword [ebp - 0x20f78]
mov dword [ebp - 0x20e44], eax
cmp dword [ebp - 0x20e44], 0x103
jge 0x41508b
lea ecx, [ebp - 0x20e40]
call fcn.0041ec20
push eax
lea ecx, [ebp - 0xa0]
call fcn.0041ec20
push eax
push 0x4d8948
lea ecx, [ebp - 0x2b4]
push ecx
call fcn.004803da
add esp, 0x10
jmp 0x4150cd
mov dword [ebp - 0xa4], 0x2c
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x20ebc], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e40]
call fcn.00402970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00402970
mov eax, dword [ebp - 0x20ebc]
jmp 0x4158c8
mov dword [ebp - 0x20dd4], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e40]
call fcn.00402970
mov eax, dword [ebp + 8]
push eax
push 0x104
lea ecx, [ebp - 0x20cbc]
push ecx
push 0x4d6adc
push str.Fontlib1
push str.FONT
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx edx, byte [ebp - 0x20cbc]
test edx, edx
je 0x41520d
lea eax, [ebp - 0x20cbc]
push eax
lea ecx, [ebp - 0x20e48]
call fcn.00402590
mov byte [ebp - 4], 5
push 0
push 0x3a
lea ecx, [ebp - 0x20e48]
call fcn.0041e9e0
cmp eax, 0xffffffff
jne 0x4151f4
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x20fac], edx
mov eax, dword [ebp - 0x20e48]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20fb0], ecx
mov edx, dword [ebp - 0x20fac]
add edx, dword [ebp - 0x20fb0]
mov dword [ebp - 0x20e4c], edx
cmp dword [ebp - 0x20e4c], 0x103
jge 0x4151b2
lea ecx, [ebp - 0x20e48]
call fcn.0041ec20
push eax
lea ecx, [ebp - 0xa0]
call fcn.0041ec20
push eax
push 0x4d8948
lea eax, [ebp - 0x20cbc]
push eax
call fcn.004803da
add esp, 0x10
jmp 0x4151f4
mov dword [ebp - 0xa4], 0x2c
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x20ec0], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e48]
call fcn.00402970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00402970
mov eax, dword [ebp - 0x20ec0]
jmp 0x4158c8
mov dword [ebp - 0x20de8], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e48]
call fcn.00402970
mov dword [ebp - 0x98], 0
jmp 0x415228
mov edx, dword [ebp - 0x98]
add edx, 1
mov dword [ebp - 0x98], edx
cmp dword [ebp - 0x98], 0xff
jge 0x4153ce
mov byte [ebp - 0x20e8c], 0
push 0x3f
push 0
lea eax, [ebp - 0x20e8b]
push eax
call fcn.00480360
add esp, 0xc
mov ecx, dword [ebp - 0x98]
add ecx, 1
push ecx
push str.PublicFile_d
lea edx, [ebp - 0x20e8c]
push edx
call fcn.004803da
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push 0x104
mov ecx, dword [ebp - 0x98]
imul ecx, ecx, 0x104
lea edx, [ebp + ecx - 0x107b8]
push edx
push 0x4d6adc
lea eax, [ebp - 0x20e8c]
push eax
push 0x4d7830
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [ebp - 0x98]
imul ecx, ecx, 0x104
movsx edx, byte [ebp + ecx - 0x107b8]
test edx, edx
jne 0x4152c6
jmp 0x4153ce
mov eax, dword [ebp - 0x98]
imul eax, eax, 0x104
lea ecx, [ebp + eax - 0x107b8]
push ecx
lea ecx, [ebp - 0x20e90]
call fcn.00402590
mov byte [ebp - 4], 6
push 0
push 0x3a
lea ecx, [ebp - 0x20e90]
call fcn.0041e9e0
cmp eax, 0xffffffff
jne 0x4153ba
mov edx, dword [ebp - 0xa0]
mov eax, dword [edx - 0xc]
mov dword [ebp - 0x20fe4], eax
mov ecx, dword [ebp - 0x20e90]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x20fe8], edx
mov eax, dword [ebp - 0x20fe4]
add eax, dword [ebp - 0x20fe8]
mov dword [ebp - 0x20e94], eax
cmp dword [ebp - 0x20e94], 0x103
jge 0x415378
lea ecx, [ebp - 0x20e90]
call fcn.0041ec20
push eax
lea ecx, [ebp - 0xa0]
call fcn.0041ec20
push eax
push 0x4d8948
mov ecx, dword [ebp - 0x98]
imul ecx, ecx, 0x104
lea edx, [ebp + ecx - 0x107b8]
push edx
call fcn.004803da
add esp, 0x10
jmp 0x4153ba
mov dword [ebp - 0xa4], 0x2c
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x20ec4], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e90]
call fcn.00402970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00402970
mov eax, dword [ebp - 0x20ec4]
jmp 0x4158c8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e90]
call fcn.00402970
jmp 0x415219
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x20dc4], ecx
cmp dword [ebp - 0x20dc4], 0
jle 0x4153ed
mov dword [ebp - 0x20de0], 1
cmp dword [ebp - 0x20dd0], 0
jne 0x415423
cmp dword [ebp - 0x20ddc], 0
jne 0x415423
cmp dword [ebp - 0x20dd8], 0
jne 0x415423
cmp dword [ebp - 0x20dd4], 0
jne 0x415423
cmp dword [ebp - 0x20de8], 0
jne 0x415423
cmp dword [ebp - 0x20de0], 0
je 0x41546e
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x20dec]
push eax
mov ecx, dword [ebp - 0x2107c]
call fcn.004158f0
mov dword [ebp - 0xa4], eax
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x56cbcc], 0
je 0x415458
jmp 0x4158a4
cmp dword [ebp - 0xa4], 0
jne 0x415469
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
je 0x41546e
jmp 0x4158a4
mov dword [ebp - 0x98], 0
jmp 0x415489
mov edx, dword [ebp - 0x98]
add edx, 1
mov dword [ebp - 0x98], edx
cmp dword [ebp - 0x98], 0x19
jge 0x4158a4
push 0x20d40
push 0
lea eax, [ebp - 0x20dec]
push eax
call fcn.00480360
add esp, 0xc
mov ecx, dword [ebp - 0x98]
add ecx, 1
push ecx
push str.APP_d
lea edx, [ebp - 0x20e2c]
push edx
call fcn.004803da
add esp, 0xc
push 0x4d77e8
lea eax, [ebp - 0x54]
push eax
call fcn.004803da
add esp, 8
push str.AppName
lea ecx, [ebp - 0x94]
push ecx
call fcn.004803da
add esp, 8
mov edx, dword [ebp + 8]
push edx
push 0x104
lea eax, [ebp - 0x20dc0]
push eax
push 0x4d6adc
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0x20e2c]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov eax, dword [ebp + 8]
push eax
push 0x104
lea ecx, [ebp - 0x1b0]
push ecx
push 0x4d6adc
lea edx, [ebp - 0x94]
push edx
lea eax, [ebp - 0x20e2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
movsx ecx, byte [ebp - 0x20dc0]
test ecx, ecx
jne 0x415559
movsx edx, byte [ebp - 0x1b0]
test edx, edx
jne 0x415559
jmp 0x41547a
movsx eax, byte [ebp - 0x20dc0]
test eax, eax
je 0x415574
movsx ecx, byte [ebp - 0x1b0]
test ecx, ecx
je 0x415574
jmp 0x41547a
movsx edx, byte [ebp - 0x20dc0]
test edx, edx
je 0x41566c
lea eax, [ebp - 0x20dc0]
push eax
lea ecx, [ebp - 0x20e9c]
call fcn.00402590
mov byte [ebp - 4], 7
push 0
push 0x3a
lea ecx, [ebp - 0x20e9c]
call fcn.0041e9e0
cmp eax, 0xffffffff
jne 0x41565d
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x2101c], edx
mov eax, dword [ebp - 0x20e9c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x21020], ecx
mov edx, dword [ebp - 0x2101c]
add edx, dword [ebp - 0x21020]
mov dword [ebp - 0x20ea0], edx
cmp dword [ebp - 0x20ea0], 0x103
jge 0x41561b
lea ecx, [ebp - 0x20e9c]
call fcn.0041ec20
push eax
lea ecx, [ebp - 0xa0]
call fcn.0041ec20
push eax
push 0x4d8948
lea eax, [ebp - 0x20dc0]
push eax
call fcn.004803da
add esp, 0x10
jmp 0x41565d
mov dword [ebp - 0xa4], 0x2c
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x20ec8], ecx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e9c]
call fcn.00402970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00402970
mov eax, dword [ebp - 0x20ec8]
jmp 0x4158c8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20e9c]
call fcn.00402970
mov dword [ebp - 0x20dec], 1
mov dword [ebp - 0x20e98], 0
mov dword [ebp - 0x20ea4], 0
jmp 0x41569b
mov edx, dword [ebp - 0x20ea4]
add edx, 1
mov dword [ebp - 0x20ea4], edx
cmp dword [ebp - 0x20ea4], 0xff
jge 0x415846
mov eax, dword [ebp - 0x20ea4]
add eax, 1
push eax
push str.Parafile_d
lea ecx, [ebp - 0x54]
push ecx
call fcn.004803da
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push 0x104
mov eax, dword [ebp - 0x20e98]
imul eax, eax, 0x104
lea ecx, [ebp + eax - 0x20ab4]
push ecx
push 0
lea edx, [ebp - 0x54]
push edx
lea eax, [ebp - 0x20e2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [ebp - 0x20e98]
imul ecx, ecx, 0x104
movsx edx, byte [ebp + ecx - 0x20ab4]
test edx, edx
jne 0x415713
jmp 0x41568c
mov eax, dword [ebp - 0x20e98]
imul eax, eax, 0x104
movsx ecx, byte [ebp + eax - 0x20ab4]
test ecx, ecx
je 0x415832
mov edx, dword [ebp - 0x20e98]
imul edx, edx, 0x104
lea eax, [ebp + edx - 0x20ab4]
push eax
lea ecx, [ebp - 0x20ea8]
call fcn.00402590
mov byte [ebp - 4], 8
push 0
push 0x3a
lea ecx, [ebp - 0x20ea8]
call fcn.0041e9e0
cmp eax, 0xffffffff
jne 0x415823
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x2105c], edx
mov eax, dword [ebp - 0x20ea8]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x21060], ecx
mov edx, dword [ebp - 0x2105c]
add edx, dword [ebp - 0x21060]
mov dword [ebp - 0x20eac], edx
cmp dword [ebp - 0x20eac], 0x103
jge 0x4157e1
lea ecx, [ebp - 0x20ea8]
call fcn.0041ec20
push eax
lea ecx, [ebp - 0xa0]
call fcn.0041ec20
push eax
push 0x4d8948
mov eax, dword [ebp - 0x20e98]
imul eax, eax, 0x104
lea ecx, [ebp + eax - 0x20ab4]
push ecx
call fcn.004803da
add esp, 0x10
jmp 0x415823
mov dword [ebp - 0xa4], 0x2c
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x20ecc], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20ea8]
call fcn.00402970
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00402970
mov eax, dword [ebp - 0x20ecc]
jmp 0x4158c8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20ea8]
call fcn.00402970
mov eax, dword [ebp - 0x20e98]
add eax, 1
mov dword [ebp - 0x20e98], eax
jmp 0x41568c
cmp dword [ebp - 0x20e98], 0
jle 0x415865
mov ecx, dword [ebp - 0x20e98]
mov dword [ebp - 0x20dc8], ecx
mov dword [ebp - 0x20de4], 1
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x20dec]
push eax
mov ecx, dword [ebp - 0x2107c]
call fcn.004158f0
mov dword [ebp - 0xa4], eax
cmp dword [0x56cbcc], 0
je 0x41588c
jmp 0x4158a4
cmp dword [ebp - 0xa4], 0
jne 0x41589d
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
je 0x41589f
jmp 0x4158a4
jmp 0x41547a
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x20ed0], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
call fcn.00402970
mov eax, dword [ebp - 0x20ed0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00480296
mov esp, ebp
pop ebp
ret 8