Function at 0x30012272
Capabilities:
Read .ini file

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x108
mov eax, dword [0x30034be8]
push ebx
push esi
push edi
push 0x13
pop ecx
xor ebx, ebx
push 0x13
mov dword [ebp + 0x74], eax
xor eax, eax
mov word [ebp - 0x2c], bx
lea edi, [ebp - 0x2a]
rep stosd dword es:[edi], eax
pop ecx
push 0x13
mov word [ebp + 0x24], bx
lea edi, [ebp + 0x26]
rep stosd dword es:[edi], eax
pop ecx
mov word [ebp - 0x7c], bx
lea edi, [ebp - 0x7a]
push 0x30004258
rep stosd dword es:[edi], eax
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x84], ebx
call fcn.3000fe20
push 0x27
lea eax, [ebp - 0x2c]
push eax
call fcn.300112ab
mov esi, eax
cmp esi, ebx
je 0x300122e4
push 0x3000388c
call fcn.3000fdf9
pop ecx
jmp 0x300124e8
push 0x30056678
push ebx
push 0x30002c20
push 0x30002b0c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push eax
push 0x3000422c
mov dword [ebp - 0x8c], eax
call fcn.3000ff32
cmp word [ebp - 0x2c], bx
pop ecx
pop ecx
jne 0x3001231f
mov esi, 0xfffffe6e
push 0x30004204
jmp 0x300122d9
lea eax, [ebp - 0x2c]
push eax
call fcn.3001c6ee
cmp eax, ebx
mov dword [ebp - 0x88], eax
jne 0x30012341
push 0x300041cc
call fcn.3000fe20
jmp 0x300124e6
mov eax, dword [ebp - 0x2a]
mov dword [ebp - 0x90], eax
lea eax, [ebp + 0x24]
push eax
push ebx
call sub.msi.dll_MsiGetActiveDatabase
mov esi, eax
cmp esi, ebx
jne 0x300124de
mov edi, 0x3000285c
inc dword [ebp - 0x80]
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x3001252c
cmp dword [ebp - 0x8c], ebx
je 0x300123e3
cmp word [ebp + 0x2a], 0x32
jne 0x300123e3
cmp word [ebp + 0x2c], 0x32
jne 0x300123e3
cmp dword [ebp - 0x84], ebx
jne 0x300123ae
lea eax, [ebp + 0x24]
push eax
push 0x7d
call fcn.3000d52a
cmp eax, 1
jne 0x300124fa
push edi
lea eax, [ebp + 0x24]
push eax
mov dword [ebp - 0x84], 1
call fcn.3001c820
mov esi, eax
cmp esi, ebx
jne 0x30012547
lea eax, [ebp + 0x24]
push eax
push 0x27
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0x80], ebx
call fcn.3000cd1d
mov dword [0x30076cfc], eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 0x24]
push eax
call dword [sym.imp.MSVCRT.dll_wcsstr]
test eax, eax
pop ecx
pop ecx
je 0x300124c8
mov eax, dword [ebp - 0x88]
dec eax
je 0x3001240f
dec eax
jne 0x300124e6
push 0x79
jmp 0x30012411
push 0x3a
mov ax, word [ebp - 0x90]
cmp word [ebp + 0x26], ax
mov cx, word [ebp + 0x2c]
mov ax, word [ebp + 0x2a]
pop esi
jb 0x3001244d
cmp word [ebp - 0x28], 0x32
je 0x300124c8
cmp word [ebp + 0x28], 0x32
jne 0x300124c8
cmp ax, word [ebp - 0x26]
jne 0x300124c8
cmp cx, word [ebp - 0x24]
jne 0x300124c8
cmp ax, 0x31
jne 0x30012459
cmp cx, 0x44
je 0x300124c8
lea eax, [ebp + 0x24]
push eax
push 0x3000419c
call fcn.3000ff32
cmp dword [ebp - 0x88], 2
pop ecx
pop ecx
je 0x30012551
cmp dword [ebp - 0x84], ebx
jne 0x30012493
push 0x100
push esi
push ebx
call fcn.3000d3e1
cmp eax, 1
jne 0x30012513
push edi
lea eax, [ebp + 0x24]
push eax
mov dword [ebp - 0x84], 1
call fcn.3001c820
mov esi, eax
cmp esi, ebx
jne 0x30012547
lea eax, [ebp + 0x24]
push eax
push 0x27
lea eax, [ebp - 0x7c]
push eax
mov dword [ebp - 0x80], ebx
call fcn.3000cd1d
mov dword [0x30076cfc], eax
lea eax, [ebp + 0x24]
push eax
push dword [ebp - 0x80]
call sub.msi.dll_MsiGetActiveDatabase
mov esi, eax
cmp esi, ebx
je 0x30012363
cmp esi, 0x103
jne 0x300124e8
xor esi, esi
mov eax, esi
mov ecx, dword [ebp + 0x74]
pop edi
pop esi
pop ebx
call fcn.3001f57d
add ebp, 0x78
leave
ret
push 0x30004118
call fcn.3000fe20
mov esi, 0xfffffecd
push 0x300040d0
jmp 0x300122d9
push 0x30004048
call fcn.3000fe20
mov esi, 0xfffffecd
push 0x30004000
jmp 0x300122d9
push 0x30003f88
call fcn.3000fe20
push 0x30003f54
call fcn.3000fe20
mov eax, 0x642
jmp 0x300124ea
push 0x30003f38
jmp 0x300122d9
push esi
push ebx
call fcn.3000d12f
mov eax, 0xfffffecd
jmp 0x300124ea