Function at 0x564488
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 4
add esp, 0xfffff004
push eax
dec eax
jne 0x564491
mov eax, dword [ebp - 4]
add esp, 0xfffff0c8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x4f3c], edx
mov dword [ebp - 0x4f38], edx
mov dword [ebp - 0x4f34], edx
mov dword [ebp - 0x4f2c], edx
mov dword [ebp - 0x4f30], edx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x564e6d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
call fcn.0056879c
lea eax, [ebx + 0x4f0]
mov edx, 0x564e84
call fcn.00404130
lea eax, [ebx + 0x4f4]
mov edx, 0x564ea0
call fcn.00404130
lea eax, [ebx + 0x4f8]
mov edx, 0x564ee0
call fcn.00404130
lea edx, [ebp - 0x4f30]
mov eax, dword [0x663c8c]
mov eax, dword [eax]
call fcn.004af6b8
mov eax, dword [ebp - 0x4f30]
lea edx, [ebp - 0x4f2c]
call fcn.0040c65c
mov edx, dword [ebp - 0x4f2c]
lea eax, [ebx + 0x430]
call fcn.00404130
lea eax, [ebp - 0x4f34]
mov ecx, 0x564f30
mov edx, dword [ebx + 0x430]
call fcn.004043c4
mov ecx, dword [ebp - 0x4f34]
mov dl, 1
mov eax, dword [0x4c228c]
call fcn.004c2334
mov esi, eax
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x564f48
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebx + 0x3fc]
mov eax, dword [eax + 0x1f0]
mov edx, dword [ebp - 4]
call fcn.004177b4
lea eax, [ebp - 4]
call fcn.004040dc
mov eax, dword [esi + 4]
call fcn.0040453c
push eax
push 0x4e1f
lea eax, [ebp - 0x4f25]
push eax
push 0x564f78
push 0x564f7c
push 0x564f9c
call sub.kernel32.dll_GetPrivateProfileStringA
lea eax, [ebp - 4]
lea edx, [ebp - 0x4f25]
mov ecx, 0x4e21
call fcn.0040430c
mov eax, dword [ebx + 0x334]
mov eax, dword [eax + 0x1f0]
mov edx, dword [ebp - 4]
call fcn.004177b4
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x564fac
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebx + 0x3bc]
mov eax, dword [eax + 0x1f0]
mov edx, dword [ebp - 4]
call fcn.004177b4
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x564fd0
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebx + 0x320]
mov eax, dword [eax + 0x1f0]
mov edx, dword [ebp - 4]
call fcn.004177b4
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x564fe4
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebx + 0x41c]
mov eax, dword [eax + 0x1f0]
mov edx, dword [ebp - 4]
call fcn.004177b4
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x565014
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebx + 0x358]
mov eax, dword [ebp - 4]
call fcn.004f3ac4
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x56503c
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebx + 0x370]
mov eax, dword [ebp - 4]
call fcn.004f3ac4
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x56506c
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebx + 0x38c]
mov eax, dword [ebp - 4]
call fcn.004f3ac4
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x5650a0
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebx + 0x3a0]
mov eax, dword [ebp - 4]
call fcn.004f3ac4
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x5650dc
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebp - 4]
mov edx, 0x5650fc
call fcn.00404488
jne 0x564776
mov dl, 1
mov eax, dword [ebx + 0x318]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
jmp 0x564786
xor edx, edx
mov eax, dword [ebx + 0x318]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x565108
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebp - 4]
mov edx, 0x5650fc
call fcn.00404488
jne 0x5647c5
mov dl, 1
mov eax, dword [ebx + 0x308]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
jmp 0x5647d5
xor edx, edx
mov eax, dword [ebx + 0x308]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x565130
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebp - 4]
mov edx, 0x565160
call fcn.00404488
jne 0x564814
mov dl, 1
mov eax, dword [ebx + 0x2f8]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
jmp 0x564866
mov eax, dword [ebp - 4]
mov edx, 0x5650fc
call fcn.00404488
jne 0x564835
mov dl, 1
mov eax, dword [ebx + 0x2fc]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
jmp 0x564866
mov eax, dword [ebp - 4]
mov edx, 0x56516c
call fcn.00404488
jne 0x564856
mov dl, 1
mov eax, dword [ebx + 0x300]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
jmp 0x564866
mov dl, 1
mov eax, dword [ebx + 0x2f8]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x565178
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebp - 4]
mov edx, 0x5650fc
call fcn.00404488
jne 0x5648a5
mov dl, 1
mov eax, dword [ebx + 0x414]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
jmp 0x5648b5
xor edx, edx
mov eax, dword [ebx + 0x414]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
lea eax, [ebp - 4]
call fcn.004040dc
lea eax, [ebp - 4]
call fcn.004040dc
push 0x565160
lea eax, [ebp - 4]
push eax
mov ecx, 0x5651a0
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebp - 4]
mov edx, 0x5650fc
call fcn.00404488
jne 0x564908
mov dl, 1
mov eax, dword [ebx + 0x3e0]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
mov edx, ebx
mov eax, ebx
call fcn.00568e00
jmp 0x564921
xor edx, edx
mov eax, dword [ebx + 0x3e0]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
mov edx, ebx
mov eax, ebx
call fcn.00568e00
lea eax, [ebp - 4]
call fcn.004040dc
push 0x565160
lea eax, [ebp - 4]
push eax
mov ecx, 0x5651b8
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov eax, dword [ebp - 4]
mov edx, 0x5650fc
call fcn.00404488
jne 0x56496c
mov dl, 1
mov eax, dword [ebx + 0x3cc]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
mov edx, ebx
mov eax, ebx
call fcn.00568eb0
jmp 0x564985
xor edx, edx
mov eax, dword [ebx + 0x3cc]
mov ecx, dword [eax]
call dword [ecx + 0xb8]
mov edx, ebx
mov eax, ebx
call fcn.00568eb0
lea eax, [ebp - 4]
call fcn.004040dc
push 0
lea eax, [ebp - 0x4f38]
push eax
mov ecx, 0x5651d4
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x4f38]
mov eax, dword [ebx + 0x3ec]
call fcn.004900a4
push 0
lea eax, [ebp - 0x4f3c]
push eax
mov ecx, 0x5651f0
mov edx, 0x564f70
mov eax, esi
mov edi, dword [eax]
call dword [edi]
mov edx, dword [ebp - 0x4f3c]
mov eax, dword [ebx + 0x3d4]
call fcn.004900a4
mov eax, esi
call fcn.004032b4
mov esi, 0x565208
lea edi, [ebp - 0x104]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x104]
push eax
push 0xff
push 0xff
mov ecx, 0x564f78
mov edx, 0x565308
mov eax, 0x565318
call fcn.00502d20
cmp byte [ebp - 0x104], 0x35
jne 0x564a69
xor edx, edx
mov eax, dword [ebx + 0x3e0]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x3e4]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x3ec]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x3e8]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x42c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov edx, ebx
mov eax, ebx
call fcn.00565838
xor edx, edx
mov eax, dword [ebx + 0x324]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x328]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebx + 0x320]
mov eax, dword [eax + 0x1f0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x564ab0
mov dl, 1
mov eax, dword [ebx + 0x32c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
jmp 0x564abd
xor edx, edx
mov eax, dword [ebx + 0x32c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x338]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x33c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebx + 0x334]
mov eax, dword [eax + 0x1f0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x564afb
mov dl, 1
mov eax, dword [ebx + 0x340]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
jmp 0x564b08
xor edx, edx
mov eax, dword [ebx + 0x340]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebx + 0x2fc]
mov edx, dword [eax]
call dword [edx + 0xb4]
test al, al
je 0x564b4d
mov eax, dword [ebx + 0x414]
mov edx, dword [eax]
call dword [edx + 0xb4]
test al, al
je 0x564b37
mov dl, 1
mov eax, ebx
call fcn.00569b74
jmp 0x564b40
xor edx, edx
mov eax, ebx
call fcn.00569b74
mov dl, 1
mov eax, dword [ebx + 0x414]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebx + 0x2f8]
mov edx, dword [eax]
call dword [edx + 0xb4]
test al, al
je 0x564b68
xor edx, edx
mov eax, ebx
call fcn.00569b74
mov eax, dword [ebx + 0x3fc]
mov eax, dword [eax + 0x1f0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x564b8c
mov dl, 1
mov eax, dword [ebx + 0x408]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
jmp 0x564b99
xor edx, edx
mov eax, dword [ebx + 0x408]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebx + 0x358]
mov eax, dword [eax + 0x1f0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x564bbd
mov dl, 1
mov eax, dword [ebx + 0x364]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
jmp 0x564bca
xor edx, edx
mov eax, dword [ebx + 0x364]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebx + 0x370]
mov eax, dword [eax + 0x1f0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x564bee
mov dl, 1
mov eax, dword [ebx + 0x37c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
jmp 0x564bfb
xor edx, edx
mov eax, dword [ebx + 0x37c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebx + 0x38c]
mov eax, dword [eax + 0x1f0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x564c1f
mov dl, 1
mov eax, dword [ebx + 0x398]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
jmp 0x564c2c
xor edx, edx
mov eax, dword [ebx + 0x398]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebx + 0x3a0]
mov eax, dword [eax + 0x1f0]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x564c50
mov dl, 1
mov eax, dword [ebx + 0x3ac]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
jmp 0x564c5d
xor edx, edx
mov eax, dword [ebx + 0x3ac]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, ebx
call fcn.00565324
test al, al
jne 0x564dbe
xor edx, edx
mov eax, dword [ebx + 0x344]
call fcn.004cf6c4
xor edx, edx
mov eax, dword [ebx + 0x350]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x368]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x380]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x384]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x354]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x36c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x388]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x39c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x358]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x370]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x38c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x3a0]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x35c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x360]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x364]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x374]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x378]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x37c]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x390]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x394]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x398]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x3a4]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x3a8]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x3ac]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x3b0]
call fcn.0048ff8c
mov eax, dword [ebx + 0x318]
mov edx, dword [eax]
call dword [edx + 0xb4]
test al, al
je 0x564ddb
mov dl, 1
mov eax, ebx
call fcn.005655b4
jmp 0x564de4
xor edx, edx
mov eax, ebx
call fcn.005655b4
mov byte [ebx + 0x434], 0
xor edx, edx
mov eax, dword [ebx + 0x2e8]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov byte [ebx + 0x4fc], 0
xor edx, edx
mov eax, dword [ebx + 0x3c4]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
xor edx, edx
mov eax, dword [ebx + 0x3c8]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [0x663c28]
mov eax, dword [eax]
cmp byte [eax + 0x5d4], 0
je 0x564e36
xor edx, edx
mov eax, dword [ebx + 0x2dc]
call fcn.004cf6c4
mov edx, dword [ebx + 0x2d4]
mov eax, dword [ebx + 0x2d0]
call fcn.004cfe9c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x564e74
lea eax, [ebp - 0x4f3c]
mov edx, 5
call fcn.00404100
lea eax, [ebp - 4]
call fcn.004040dc
ret