Function at 0x536e92
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x575c97
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1230
call fcn.0054c740
push ebx
push esi
push edi
mov dword [ebp - 0x11c8], 1
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1184], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1180], 0
mov dword [ebp - 0x1178], 0
mov dword [ebp - 0x117c], 0
mov dword [ebp - 0x11d0], 0
lea ecx, [ebp - 0x24]
call fcn.00401420
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.00401420
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x11cc]
call fcn.00401420
mov byte [ebp - 4], 2
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp + 0x10]
xor eax, eax
mov edi, dword [ebp + 0xc]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
push 0
push 0
lea eax, [ebp - 0x96c]
push eax
call fcn.00537952
add esp, 0xc
test eax, eax
je 0x536f8a
lea ecx, [ebp - 0x96c]
push ecx
push 0x5cc8c8
lea edx, [ebp - 0x24]
push edx
call fcn.0055f827
add esp, 0xc
jmp 0x536fc9
mov dword [ebp - 0x1218], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x11cc]
call fcn.0056206c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0056206c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.0056206c
mov eax, dword [ebp - 0x1218]
jmp 0x537941
mov edi, 0x6783a4
lea edx, [ebp - 0x96c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1184], 0
cmp dword [ebp + 0x18], 0
je 0x5374eb
mov ecx, 8
xor eax, eax
lea edi, [ebp - 0x11c4]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x1184], 0
jmp 0x537036
mov ecx, dword [ebp - 0x1184]
add ecx, 1
mov dword [ebp - 0x1184], ecx
cmp dword [ebp - 0x1184], 0x11
jge 0x53708b
mov edx, dword [ebp - 0x1184]
imul edx, edx, 0xc
mov eax, dword [0x673ea0]
cmp eax, dword [edx + 0x5cb0e0]
jne 0x537089
mov ecx, dword [ebp - 0x1184]
imul ecx, ecx, 0xc
mov edi, dword [ecx + 0x5cb0d8]
lea edx, [ebp - 0x11c4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x53708b
jmp 0x537027
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 5]
push edx
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax + 4]
push ecx
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx + 3]
push eax
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 2]
push edx
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax + 1]
push ecx
mov edx, dword [ebp + 8]
xor eax, eax
mov al, byte [edx]
push eax
push str.Flash__02X_02X_02X_02X_02X_02X
lea ecx, [ebp - 0x864]
push ecx
call fcn.0054c6e3
add esp, 0x20
lea edx, [ebp - 0x96c]
push edx
push 0x800
lea eax, [ebp - 0x116c]
push eax
push 0x685908
lea ecx, [ebp - 0x864]
push ecx
lea edx, [ebp - 0x11c4]
push edx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x537115
mov eax, dword [ebp - 0x14]
push eax
call fcn.0054ccb2
add esp, 4
jmp 0x5374eb
lea ecx, [ebp - 0x116c]
mov dword [ebp - 0x14], ecx
mov edi, dword [ebp - 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
test ecx, ecx
jne 0x537136
jmp 0x537499
mov dword [ebp - 0x868], 0
push 0x5cc8ec
mov edx, dword [ebp - 0x14]
push edx
call fcn.0054cb20
add esp, 8
mov dword [ebp - 0x868], eax
cmp dword [ebp - 0x868], 0
jne 0x537188
mov edi, dword [ebp - 0x14]
lea edx, [ebp - 0x844]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x5371be
mov ecx, dword [ebp - 0x868]
sub ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
mov byte [edx + ecx], 0
mov edi, dword [ebp - 0x14]
lea edx, [ebp - 0x844]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x844]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov dword [ebp - 0x1178], ecx
mov dword [ebp - 0x10], 0
push 0x5cc8f0
lea ecx, [ebp - 0x844]
push ecx
call fcn.0054cb20
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x5372c9
mov ecx, 0x200
xor eax, eax
lea edi, [ebp - 0x824]
rep stosd dword es:[edi], eax
lea edx, [ebp - 0x96c]
push edx
push 0x800
lea eax, [ebp - 0x824]
push eax
push 0x68590c
lea ecx, [ebp - 0x844]
push ecx
lea ecx, [ebp - 0x24]
call fcn.005287a0
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x537250
mov edx, dword [ebp - 0x868]
add edx, 1
mov dword [ebp - 0x14], edx
jmp 0x53748c
mov edi, dword [ebp - 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
test ecx, ecx
jne 0x537274
mov eax, dword [ebp - 0x868]
add eax, 1
mov dword [ebp - 0x14], eax
jmp 0x53748c
lea edi, [ebp - 0x824]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov edx, dword [ebp - 0x1c]
lea eax, [edx + ecx + 1]
cmp eax, dword [ebp + 0x10]
jge 0x5372c4
lea ecx, [ebp - 0x824]
push ecx
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0x1c]
push edx
call fcn.0054bea0
add esp, 8
mov edi, dword [ebp + 0xc]
add edi, dword [ebp - 0x1c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + ecx + 1]
mov dword [ebp - 0x1c], ecx
jmp 0x537475
mov ecx, 8
xor eax, eax
lea edi, [ebp - 0x11f0]
rep stosd dword es:[edi], eax
mov ecx, 8
xor eax, eax
lea edi, [ebp - 0x11a4]
rep stosd dword es:[edi], eax
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov byte [eax + edx], 0
mov edi, dword [ebp - 0x14]
lea edx, [ebp - 0x11f0]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov edi, ecx
lea edx, [ebp - 0x11a4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x117c]
push ecx
push 0x5cc8f4
lea edx, [ebp - 0x11f0]
push edx
call fcn.0054d536
add esp, 0xc
lea eax, [ebp - 0x11d0]
push eax
push 0x5cc8f8
lea ecx, [ebp - 0x11a4]
push ecx
call fcn.0054d536
add esp, 0xc
mov edx, dword [ebp - 0x117c]
mov dword [ebp - 0x1184], edx
jmp 0x537398
mov eax, dword [ebp - 0x1184]
add eax, 1
mov dword [ebp - 0x1184], eax
mov ecx, dword [ebp - 0x1184]
cmp ecx, dword [ebp - 0x11d0]
jg 0x537475
mov edx, dword [ebp - 0x1184]
push edx
push 0x5cc8fc
lea eax, [ebp - 0x844]
push eax
call fcn.0054c6e3
add esp, 0xc
mov ecx, 0x200
xor eax, eax
lea edi, [ebp - 0x824]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x96c]
push ecx
push 0x800
lea edx, [ebp - 0x824]
push edx
push 0x685910
lea eax, [ebp - 0x844]
push eax
lea ecx, [ebp - 0x24]
call fcn.005287a0
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x537408
jmp 0x537389
mov edi, dword [ebp - 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
test ecx, ecx
jne 0x537420
jmp 0x537389
lea edi, [ebp - 0x824]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov edx, dword [ebp - 0x1c]
lea eax, [edx + ecx + 1]
cmp eax, dword [ebp + 0x10]
jge 0x537470
lea ecx, [ebp - 0x824]
push ecx
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0x1c]
push edx
call fcn.0054bea0
add esp, 8
mov edi, dword [ebp + 0xc]
add edi, dword [ebp - 0x1c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + ecx + 1]
mov dword [ebp - 0x1c], ecx
jmp 0x537389
cmp dword [ebp - 0x868], 0
jne 0x537480
jmp 0x537499
mov edx, dword [ebp - 0x868]
add edx, 1
mov dword [ebp - 0x14], edx
mov eax, 1
test eax, eax
jne 0x53711e
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
test ecx, ecx
je 0x5374eb
mov dword [ebp - 0x121c], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x11cc]
call fcn.0056206c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0056206c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.0056206c
mov eax, dword [ebp - 0x121c]
jmp 0x537941
mov dword [ebp - 0x1184], 0
mov ecx, 0x200
xor eax, eax
lea edi, [ebp - 0x116c]
rep stosd dword es:[edi], eax
mov ecx, 1
test ecx, ecx
je 0x537905
mov dword [ebp - 0x11f4], 1
mov edx, dword [ebp - 0x1184]
push edx
push 0x5cc900
lea eax, [ebp - 0x20]
push eax
call fcn.0055f827
add esp, 0xc
push str.A1119
lea ecx, [ebp - 0x20]
push ecx
call fcn.00402840
and eax, 0xff
test eax, eax
je 0x537554
mov dword [ebp - 0x1204], 0
lea edx, [ebp - 0x96c]
push edx
push 0x800
lea eax, [ebp - 0x116c]
push eax
push 0x685914
lea ecx, [ebp - 0x20]
call fcn.005287a0
push eax
lea ecx, [ebp - 0x24]
call fcn.005287a0
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x53758d
jmp 0x537905
lea ecx, [ebp - 0x116c]
push ecx
lea ecx, [ebp - 0x11cc]
call fcn.005621f5
lea edx, [ebp - 0x96c]
push edx
push 0x800
lea eax, [ebp - 0x116c]
push eax
push 0x685918
lea ecx, [ebp - 0x11cc]
call fcn.005287a0
push eax
lea ecx, [ebp - 0x24]
call fcn.005287a0
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jne 0x5375db
jmp 0x537905
lea ecx, [ebp - 0x116c]
push ecx
lea ecx, [ebp - 0x20]
call fcn.005621f5
mov dword [ebp - 0x11fc], 0
jmp 0x537605
mov edx, dword [ebp - 0x11fc]
add edx, 1
mov dword [ebp - 0x11fc], edx
cmp dword [ebp - 0x11fc], 6
jge 0x53776e
lea ecx, [ebp - 0x120c]
call fcn.00401420
mov byte [ebp - 4], 3
push 0x5cc90c
lea ecx, [ebp - 0x20]
call fcn.0055f4a1
mov dword [ebp - 0x1208], eax
cmp dword [ebp - 0x1208], 0xffffffff
jne 0x53768b
mov dword [ebp - 0x1220], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x120c]
call fcn.0056206c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x11cc]
call fcn.0056206c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0056206c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.0056206c
mov eax, dword [ebp - 0x1220]
jmp 0x537941
mov eax, dword [ebp - 0x1208]
push eax
lea ecx, [ebp - 0x1224]
push ecx
lea ecx, [ebp - 0x20]
call fcn.0055f407
mov dword [ebp - 0x1230], eax
mov edx, dword [ebp - 0x1230]
mov dword [ebp - 0x1234], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1234]
push eax
lea ecx, [ebp - 0x120c]
call fcn.005621a5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1224]
call fcn.0056206c
lea ecx, [ebp - 0x120c]
call fcn.00401440
push eax
lea ecx, [ebp - 0x120c]
call fcn.0056249c
push eax
call fcn.00529529
add esp, 4
mov ecx, dword [ebp - 0x11fc]
mov byte [ebp + ecx - 0x1174], al
lea ecx, [ebp - 0x20]
call fcn.00401440
sub eax, dword [ebp - 0x1208]
sub eax, 1
push eax
lea edx, [ebp - 0x1228]
push edx
lea ecx, [ebp - 0x20]
call fcn.0055f38b
mov dword [ebp - 0x1238], eax
mov eax, dword [ebp - 0x1238]
mov dword [ebp - 0x123c], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x123c]
push ecx
lea ecx, [ebp - 0x20]
call fcn.005621a5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1228]
call fcn.0056206c
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x120c]
call fcn.0056206c
jmp 0x5375f6
mov dword [ebp - 0x11f8], 6
mov dword [ebp - 0x1200], 0
jmp 0x537793
mov edx, dword [ebp - 0x1200]
add edx, 1
mov dword [ebp - 0x1200], edx
cmp dword [ebp - 0x1200], 2
jae 0x53780e
mov dword [ebp - 0x11f4], 1
mov dword [ebp - 0x1210], 0
jmp 0x5377c1
mov eax, dword [ebp - 0x1210]
add eax, 1
mov dword [ebp - 0x1210], eax
cmp dword [ebp - 0x1210], 4
jge 0x5377fe
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x1210]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp - 0x1200]
mov ecx, dword [ebp - 0x1210]
xor ebx, ebx
mov bl, byte [ecx + eax*4 + 0x5cb1a4]
cmp edx, ebx
je 0x5377fc
mov dword [ebp - 0x11f4], 0
jmp 0x5377fe
jmp 0x5377b2
cmp dword [ebp - 0x11f4], 0
je 0x537809
jmp 0x53780e
jmp 0x537784
cmp dword [ebp - 0x11f4], 0
je 0x53782b
mov dword [ebp - 0x11f8], 6
mov dword [ebp - 0x1214], 0
mov dword [ebp - 0x11f4], 1
mov dword [ebp - 0x11fc], 0
jmp 0x537850
mov edx, dword [ebp - 0x11fc]
add edx, 1
mov dword [ebp - 0x11fc], edx
mov eax, dword [ebp - 0x11fc]
cmp eax, dword [ebp - 0x11f8]
jge 0x53788c
mov ecx, dword [ebp - 0x11fc]
xor edx, edx
mov dl, byte [ebp + ecx - 0x1174]
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x11fc]
xor ecx, ecx
mov cl, byte [eax]
cmp edx, ecx
je 0x53788a
mov dword [ebp - 0x11f4], 0
jmp 0x53788c
jmp 0x537841
cmp dword [ebp - 0x11f4], 0
je 0x5378f1
lea ecx, [ebp - 0x11cc]
call fcn.005287a0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov edx, dword [ebp - 0x1c]
lea eax, [edx + ecx + 1]
cmp eax, dword [ebp + 0x10]
jge 0x5378f1
lea ecx, [ebp - 0x11cc]
call fcn.005287a0
push eax
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x1c]
push ecx
call fcn.0054bea0
add esp, 8
mov edi, dword [ebp + 0xc]
add edi, dword [ebp - 0x1c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
mov edx, dword [ebp - 0x1c]
lea eax, [edx + ecx + 1]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1184]
add ecx, 1
mov dword [ebp - 0x1184], ecx
jmp 0x537504
mov edx, dword [ebp - 0x11c8]
mov dword [ebp - 0x122c], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x11cc]
call fcn.0056206c
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.0056206c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.0056206c
mov eax, dword [ebp - 0x122c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret