Function at 0x300149a2
Capabilities:
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10418
call fcn.3001f58a
mov eax, dword [0x30034be8]
push ebx
push esi
push edi
push 0x30005a28
mov dword [ebp - 4], eax
call fcn.3000fe20
mov ebx, dword [ebp + 0xc]
push 0xc8
lea eax, [ebp - 0x400]
push eax
mov esi, 0x30002184
push esi
push 0x30002bfc
push ebx
call fcn.3001038d
push 0xa
mov edi, eax
lea eax, [ebp - 0x40]
push eax
push esi
push 0x30002c38
push ebx
call fcn.3001038d
push 2
add edi, eax
lea eax, [ebp - 0x10414]
push eax
push esi
push 0x30002c4c
push ebx
call fcn.3001038d
push 0x118
add edi, eax
lea eax, [ebp - 0x270]
push eax
push esi
push 0x30002728
push ebx
call fcn.3001038d
add edi, eax
lea eax, [ebp - 0x270]
push eax
mov dword [ebp + 0xc], edi
call fcn.3001065c
push 0x30056678
xor edi, edi
push edi
push 0x30002adc
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x10418], eax
lea eax, [ebp - 0x40]
push eax
call fcn.30019a4c
cmp dword [0x300771d0], edi
mov esi, dword [ebp + 0x1c]
mov dword [ebp - 0x10410], eax
je 0x30014a79
cmp eax, edi
je 0x30014a81
xor eax, eax
jmp 0x30014ecb
cmp eax, edi
jne 0x30014ba5
mov dword [ebp + 0x1c], edi
mov word [ebp - 0x18], di
xor eax, eax
lea edi, [ebp - 0x16]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor edi, edi
cmp dword [0x300771b4], edi
je 0x30014ad4
push 0x30005a20
push dword [ebp + 8]
call fcn.30015b03
cmp eax, edi
je 0x30014ad4
xor edx, edx
jmp 0x30014ac4
cmp cx, di
je 0x30014acd
cmp edx, 0xa
jge 0x30014acd
mov word [ebp + edx*2 - 0x18], cx
inc edx
inc eax
inc eax
mov cx, word [eax]
cmp cx, 0x20
jne 0x30014ab2
lea eax, [ebp - 0x18]
test eax, eax
jne 0x30014aeb
lea eax, [ebp + 0x1c]
push eax
push edi
push 0xa
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.30011d70
cmp word [ebp - 0x18], di
je 0x30014b2f
lea eax, [ebp - 0x18]
push eax
push 0x300059d0
call fcn.3000ff32
cmp dword [esi + 4], edi
pop ecx
pop ecx
je 0x30014b13
push 0x30003ba8
mov ecx, esi
call fcn.3000cf63
cmp eax, edi
mov dword [ebp + 0xc], eax
jne 0x30014b25
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call fcn.3000cf63
cmp eax, edi
mov dword [ebp + 0xc], eax
je 0x30014b2f
push 0x300059ac
jmp 0x30014ec2
cmp dword [ebp + 0x1c], edi
je 0x30014b42
push 0x30005994
mov ecx, esi
call fcn.3000cf63
jmp 0x30014ba5
lea ecx, [ebp - 0x10408]
call fcn.3000cc94
push 0xa
lea ecx, [ebp - 0x10408]
call fcn.3000cd95
push dword [0x30076cf0]
lea eax, [ebp - 0x10408]
push eax
push 0x30005980
call fcn.3001185c
push dword [ebp - 0x10408]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x30014b9a
push 0x30005968
mov ecx, esi
call fcn.3000cf63
push dword [ebp - 0x10408]
mov ecx, esi
call fcn.3000cf63
lea ecx, [ebp - 0x10408]
call fcn.3000cc9e
push dword [ebp + 0x14]
mov ebx, 0x8000
push ebx
lea eax, [ebp - 0x10400]
push eax
call fcn.3000cd1d
xor edi, edi
push edi
mov dword [0x30076cfc], eax
push ebx
lea eax, [ebp - 0x10400]
push eax
call fcn.3000e289
test eax, eax
jne 0x30014bfc
cmp dword [ebp + 0x18], 0x7fffffff
jbe 0x30014be3
mov eax, 0x80070057
jmp 0x30014bf5
lea eax, [ebp - 0x10400]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.3000cd1d
mov dword [0x30076cfc], eax
jmp 0x30014c1b
lea eax, [ebp - 0x10400]
push eax
call fcn.3000dce2
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push 0x30005930
call fcn.3000ff32
add esp, 0xc
cmp dword [ebp - 0x10410], edi
jne 0x30014e62
mov word [ebp - 0x2c], di
push 9
xor eax, eax
pop ecx
lea edi, [ebp - 0x2a]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor edi, edi
cmp dword [0x30077174], edi
je 0x30014c48
push 0x30005924
jmp 0x30014c5c
cmp dword [0x30077178], edi
je 0x30014c57
push 0x30005918
jmp 0x30014c5c
push 0x30005910
lea eax, [ebp - 0x2c]
push 0x14
push eax
call fcn.3000cd1d
mov dword [0x30076cfc], eax
mov eax, dword [esi]
cmp word [eax], di
jne 0x30014ceb
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.3000ce85
cmp eax, edi
mov dword [ebp + 0xc], eax
je 0x30014c8f
push 0x300058f8
jmp 0x30014ec2
push 0x20
push dword [ebp + 0x14]
call fcn.30015a7f
test eax, eax
mov ecx, esi
je 0x30014cce
mov edi, 0x30003ba0
push edi
call fcn.3000cf63
test eax, eax
mov dword [ebp + 0xc], eax
jne 0x30014ce1
push dword [ebp + 0x14]
mov ecx, esi
call fcn.3000cf63
test eax, eax
mov dword [ebp + 0xc], eax
jne 0x30014ce1
push edi
mov ecx, esi
call fcn.3000cf63
xor edi, edi
jmp 0x30014cd6
push dword [ebp + 0x14]
call fcn.3000cf63
cmp eax, edi
mov dword [ebp + 0xc], eax
je 0x30014d67
push 0x300058d8
jmp 0x30014ec2
push eax
push ebx
lea eax, [ebp - 0x10400]
push eax
call fcn.3000cd1d
cmp eax, edi
jge 0x30014d0f
push eax
push 0x30001400
call fcn.3000fdf9
push 0x300058cc
jmp 0x30014d5a
push 0x20
push dword [ebp + 0x14]
call fcn.30015a7f
mov ecx, dword [esi]
lea edx, [ebp - 0x10400]
push edx
push dword [ebp + 0x14]
lea edx, [ebp - 0x2c]
test eax, eax
mov eax, dword [esi + 4]
push edx
je 0x30014d37
push 0x300058b8
jmp 0x30014d3c
push 0x300058a8
push eax
push ecx
call fcn.3000d759
add esp, 0x18
cmp eax, edi
jge 0x30014d67
push eax
push 0x30001400
call fcn.3000fdf9
push 0x30005898
call fcn.3000fdf9
add esp, 0xc
jmp 0x30014ec8
cmp word [ebp - 0x270], di
je 0x30014e31
push dword [ebp + 0x14]
lea eax, [ebp - 0x10400]
push ebx
push eax
call fcn.3000cd1d
mov dword [0x30076cfc], eax
push 0x5c
lea eax, [ebp - 0x10400]
push eax
call fcn.30015aae
cmp eax, edi
je 0x30014d9e
mov word [eax], di
lea eax, [ebp - 0x10400]
push eax
mov edi, 0x118
push edi
lea eax, [ebp - 0x270]
push eax
call fcn.3000e289
cmp dword [0x30077174], 0
jne 0x30014dd0
cmp dword [0x30077178], 0
jne 0x30014dd0
push 0x3000587c
jmp 0x30014dd5
push 0x30005870
lea eax, [ebp - 0x2c]
push 0x14
push eax
call fcn.3000cd1d
mov dword [0x30076cfc], eax
push dword [esi]
lea eax, [ebp - 0x10400]
push ebx
push eax
call fcn.3000cd1d
mov dword [0x30076cfc], eax
push edi
lea eax, [ebp - 0x270]
push eax
call fcn.3000dd34
mov eax, dword [esi + 4]
mov ecx, dword [esi]
lea edx, [ebp - 0x270]
push edx
lea edx, [ebp - 0x2c]
push edx
lea edx, [ebp - 0x10400]
push edx
push 0x30002128
push eax
push ecx
call fcn.3000d759
add esp, 0x18
mov dword [0x30076cfc], eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp dword [ebp + 0x18], 0x7fffffff
jbe 0x30014e4d
mov eax, 0x80070057
jmp 0x30014e5d
push 0x30002840
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.3000ce53
mov dword [0x30076cfc], eax
lea eax, [ebp - 0x1040c]
push eax
call fcn.30019474
test eax, eax
mov dword [ebp + 0xc], eax
je 0x30014e7c
push 0x30005844
jmp 0x30014ec2
mov esi, dword [esi]
push 1
xor eax, eax
cmp word [ebp - 0x10414], 0x31
push 0x30002a00
push dword [ebp - 0x10418]
sete al
push dword [ebp + 0x20]
push eax
lea eax, [ebp - 0x40]
push eax
push esi
push dword [ebp + 0x14]
lea eax, [ebp - 0x400]
push eax
push dword [ebp - 0x1040c]
call fcn.3001b3ee
test eax, eax
mov dword [ebp + 0xc], eax
je 0x30014ec8
push 0x30005820
call fcn.3000fdf9
pop ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.3001f57d
leave
ret 0x1c