Function at 0x10078c30
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc0
mov eax, dword [0x1010b070]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
mov ebx, dword [ebp + 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp + 0x28]
push edi
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp + 0x2c]
push 0x21
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0x54]
push eax
push 0
push str.config1
push str.Profile
mov byte [ebp - 0xa8], 1
movups xmmword [ebp - 0x54], xmm0
mov byte [ebp - 0x34], 0
movups xmmword [ebp - 0x44], xmm0
mov byte [ebp - 0x10], 0
movups xmmword [ebp - 0x30], xmm0
mov byte [ebp - 0x58], 0
movups xmmword [ebp - 0x20], xmm0
mov byte [ebp - 0x7c], 0
movups xmmword [ebp - 0x78], xmm0
movups xmmword [ebp - 0x68], xmm0
movups xmmword [ebp - 0x9c], xmm0
movups xmmword [ebp - 0x8c], xmm0
call esi
push edi
push 0x21
lea eax, [ebp - 0x30]
push eax
push 0
push str.config2
push str.Profile
call esi
push edi
push 0x21
lea eax, [ebp - 0x78]
push eax
push 0
push str.config3
push str.Profile
call esi
push edi
push 0x21
lea eax, [ebp - 0x9c]
push eax
push 0
push str.config4
push str.Profile
call esi
push edi
push 0
push str.config5
push str.Profile
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov esi, dword [ebp - 0xb4]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x9c]
push ebx
push eax
mov byte [esi], 1
call fcn.100a0764
add esp, 8
test eax, eax
je 0x10078d5a
mov byte [esi], 0
jmp 0x10078df7
push dword [ebp - 0xb8]
lea eax, [ebp - 0x30]
push eax
call fcn.100a0764
add esp, 8
test eax, eax
je 0x10078df7
push dword [ebp - 0xac]
lea eax, [ebp - 0x78]
push eax
call fcn.100a0764
add esp, 8
test eax, eax
je 0x10078df7
sub esp, 0x18
mov byte [esi], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
mov byte [edx], 0
cmp byte [ebp - 0x30], 0
jne 0x10078dad
xor ecx, ecx
jmp 0x10078dbc
lea ecx, [ebp - 0x30]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10078db3
sub ecx, edi
push ecx
lea eax, [ebp - 0x30]
mov ecx, edx
push eax
call fcn.100057f3
mov edi, dword [ebp - 0xb0]
lea ecx, [edi + 4]
call fcn.10081ed0
test eax, eax
je 0x10078df7
sub esp, 0x18
lea eax, [ebp - 0x78]
mov ecx, esp
push eax
call fcn.1001111d
lea ecx, [edi + 4]
call fcn.10081f70
test eax, eax
je 0x10078df7
mov byte [esi], 1
lea ecx, [ebp - 0x54]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10078e00
sub ecx, edx
cmp ecx, 0x20
jne 0x10078f29
mov edi, dword [ebp - 0xa0]
xor eax, eax
mov dword [ebp - 0xa], 0
xor esi, esi
mov word [ebp - 8], ax
mov dword [ebp - 0xa4], eax
nop dword [eax]
movsx eax, byte [ebp + esi*2 - 0x54]
mov word [ebp - 0xc], ax
movsx eax, byte [ebp + esi*2 - 0x53]
mov word [ebp - 0xa], ax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xc]
push 0x100f87cc
push eax
call fcn.10008ea8
mov al, byte [ebp - 0xa4]
add esp, 0xc
mov byte [edi + esi], al
inc esi
cmp esi, 0x10
jl 0x10078e30
mov bl, byte [ebp + 0x20]
xor ecx, ecx
cmp byte [ebp + 0x18], cl
setne cl
xor eax, eax
cmp byte [ebp + 0x1c], al
setne al
lea edi, [eax + ecx]
xor eax, eax
test bl, bl
lea ecx, [ebp - 0x30]
lea edx, [ecx + 1]
setne al
add edi, eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10078e90
sub ecx, edx
xor eax, eax
cmp eax, ecx
lea ecx, [ebp - 0x78]
lea edx, [ecx + 1]
sbb esi, esi
neg esi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10078ea7
sub ecx, edx
xor eax, eax
cmp eax, ecx
lea ecx, [ebp - 0x9c]
lea eax, [ecx + 1]
sbb edx, edx
mov dword [ebp - 0xa0], eax
neg edx
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10078ec7
sub ecx, dword [ebp - 0xa0]
xor eax, eax
cmp eax, ecx
sbb eax, eax
neg eax
lea ecx, [edx + eax]
mov eax, dword [ebp - 0xa8]
add ecx, esi
cmp edi, ecx
jbe 0x10078f01
test edx, edx
movzx eax, al
mov dword [ebp - 0xa0], 0
cmovne eax, dword [ebp - 0xa0]
cmp dword [ebp - 0xbc], 0
jne 0x10078f2b
test bl, bl
je 0x10078f2b
cmp edx, 1
jne 0x10078f17
cmp esi, edx
je 0x10078f2b
cmp edi, 3
je 0x10078f2b
cmp edi, ecx
jb 0x10078f2b
mov ecx, dword [ebp - 0xc0]
mov byte [ecx], 1
xor al, al
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1008a9f7
mov esp, ebp
pop ebp
ret 0x28