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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10418
call fcn.3001fd80
mov eax, dword [0x30034b3c]
push ebx
push esi
push edi
push 0x30005a68
mov dword [ebp - 4], eax
call fcn.300105be
mov ebx, dword [ebp + 0xc]
push 0xc8
lea eax, [ebp - 0x400]
push eax
mov esi, 0x300021a4
push esi
push 0x30002c1c
push ebx
call fcn.30010b2b
push 0xa
mov edi, eax
lea eax, [ebp - 0x40]
push eax
push esi
push 0x30002c58
push ebx
call fcn.30010b2b
push 2
add edi, eax
lea eax, [ebp - 0x10414]
push eax
push esi
push 0x30002c6c
push ebx
call fcn.30010b2b
push 0x118
add edi, eax
lea eax, [ebp - 0x270]
push eax
push esi
push 0x30002748
push ebx
call fcn.30010b2b
add edi, eax
lea eax, [ebp - 0x270]
push eax
mov dword [ebp + 0xc], edi
call fcn.30010dfa
push 0x300566d8
xor edi, edi
push edi
push 0x30002afc
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x10418], eax
lea eax, [ebp - 0x40]
push eax
call fcn.3001a1ea
cmp dword [0x30077240], edi
mov esi, dword [ebp + 0x1c]
mov dword [ebp - 0x10410], eax
je 0x30015217
cmp eax, edi
je 0x3001521f
xor eax, eax
jmp 0x30015669
cmp eax, edi
jne 0x30015343
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 [0x3007721c], edi
je 0x30015272
push 0x30005a60
push dword [ebp + 8]
call fcn.300162a1
cmp eax, edi
je 0x30015272
xor edx, edx
jmp 0x30015262
cmp cx, di
je 0x3001526b
cmp edx, 0xa
jge 0x3001526b
mov word [ebp + edx*2 - 0x18], cx
inc edx
inc eax
inc eax
mov cx, word [eax]
cmp cx, 0x20
jne 0x30015250
lea eax, [ebp - 0x18]
test eax, eax
jne 0x30015289
lea eax, [ebp + 0x1c]
push eax
push edi
push 0xa
lea eax, [ebp - 0x18]
push eax
push ebx
call fcn.3001250e
cmp word [ebp - 0x18], di
je 0x300152cd
lea eax, [ebp - 0x18]
push eax
push 0x30005a10
call fcn.300106d0
cmp dword [esi + 4], edi
pop ecx
pop ecx
je 0x300152b1
push 0x30003be8
mov ecx, esi
call fcn.3000d701
cmp eax, edi
mov dword [ebp + 0xc], eax
jne 0x300152c3
lea eax, [ebp - 0x18]
push eax
mov ecx, esi
call fcn.3000d701
cmp eax, edi
mov dword [ebp + 0xc], eax
je 0x300152cd
push 0x300059ec
jmp 0x30015660
cmp dword [ebp + 0x1c], edi
je 0x300152e0
push 0x300059d4
mov ecx, esi
call fcn.3000d701
jmp 0x30015343
lea ecx, [ebp - 0x10408]
call fcn.3000d430
push 0xa
lea ecx, [ebp - 0x10408]
call fcn.3000d531
push dword [0x30076d50]
lea eax, [ebp - 0x10408]
push eax
push 0x300059c0
call fcn.30011ffa
push dword [ebp - 0x10408]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x30015338
push 0x300059a8
mov ecx, esi
call fcn.3000d701
push dword [ebp - 0x10408]
mov ecx, esi
call fcn.3000d701
lea ecx, [ebp - 0x10408]
call fcn.3000d43a
push dword [ebp + 0x14]
mov ebx, 0x8000
push ebx
lea eax, [ebp - 0x10400]
push eax
call fcn.3000d4b9
xor edi, edi
push edi
mov dword [0x30076d5c], eax
push ebx
lea eax, [ebp - 0x10400]
push eax
call fcn.3000ea27
test eax, eax
jne 0x3001539a
cmp dword [ebp + 0x18], 0x7fffffff
jbe 0x30015381
mov eax, 0x80070057
jmp 0x30015393
lea eax, [ebp - 0x10400]
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.3000d4b9
mov dword [0x30076d5c], eax
jmp 0x300153b9
lea eax, [ebp - 0x10400]
push eax
call fcn.3000e480
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push 0x30005970
call fcn.300106d0
add esp, 0xc
cmp dword [ebp - 0x10410], edi
jne 0x30015600
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 [0x300771d4], edi
je 0x300153e6
push 0x30005964
jmp 0x300153fa
cmp dword [0x300771d8], edi
je 0x300153f5
push 0x30005958
jmp 0x300153fa
push 0x30005950
lea eax, [ebp - 0x2c]
push 0x14
push eax
call fcn.3000d4b9
mov dword [0x30076d5c], eax
mov eax, dword [esi]
cmp word [eax], di
jne 0x30015489
lea eax, [ebp - 0x2c]
push eax
mov ecx, esi
call fcn.3000d622
cmp eax, edi
mov dword [ebp + 0xc], eax
je 0x3001542d
push 0x30005938
jmp 0x30015660
push 0x20
push dword [ebp + 0x14]
call fcn.3001621d
test eax, eax
mov ecx, esi
je 0x3001546c
mov edi, 0x30003be0
push edi
call fcn.3000d701
test eax, eax
mov dword [ebp + 0xc], eax
jne 0x3001547f
push dword [ebp + 0x14]
mov ecx, esi
call fcn.3000d701
test eax, eax
mov dword [ebp + 0xc], eax
jne 0x3001547f
push edi
mov ecx, esi
call fcn.3000d701
xor edi, edi
jmp 0x30015474
push dword [ebp + 0x14]
call fcn.3000d701
cmp eax, edi
mov dword [ebp + 0xc], eax
je 0x30015505
push 0x30005918
jmp 0x30015660
push eax
push ebx
lea eax, [ebp - 0x10400]
push eax
call fcn.3000d4b9
cmp eax, edi
jge 0x300154ad
push eax
push 0x30001420
call fcn.30010597
push 0x3000590c
jmp 0x300154f8
push 0x20
push dword [ebp + 0x14]
call fcn.3001621d
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 0x300154d5
push 0x300058f8
jmp 0x300154da
push 0x300058e8
push eax
push ecx
call fcn.3000def7
add esp, 0x18
cmp eax, edi
jge 0x30015505
push eax
push 0x30001420
call fcn.30010597
push 0x300058d8
call fcn.30010597
add esp, 0xc
jmp 0x30015666
cmp word [ebp - 0x270], di
je 0x300155cf
push dword [ebp + 0x14]
lea eax, [ebp - 0x10400]
push ebx
push eax
call fcn.3000d4b9
mov dword [0x30076d5c], eax
push 0x5c
lea eax, [ebp - 0x10400]
push eax
call fcn.3001624c
cmp eax, edi
je 0x3001553c
mov word [eax], di
lea eax, [ebp - 0x10400]
push eax
mov edi, 0x118
push edi
lea eax, [ebp - 0x270]
push eax
call fcn.3000ea27
cmp dword [0x300771d4], 0
jne 0x3001556e
cmp dword [0x300771d8], 0
jne 0x3001556e
push 0x300058bc
jmp 0x30015573
push 0x300058b0
lea eax, [ebp - 0x2c]
push 0x14
push eax
call fcn.3000d4b9
mov dword [0x30076d5c], eax
push dword [esi]
lea eax, [ebp - 0x10400]
push ebx
push eax
call fcn.3000d4b9
mov dword [0x30076d5c], eax
push edi
lea eax, [ebp - 0x270]
push eax
call fcn.3000e4d2
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 0x30002148
push eax
push ecx
call fcn.3000def7
add esp, 0x18
mov dword [0x30076d5c], eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp dword [ebp + 0x18], 0x7fffffff
jbe 0x300155eb
mov eax, 0x80070057
jmp 0x300155fb
push 0x30002860
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.3000d5f0
mov dword [0x30076d5c], eax
lea eax, [ebp - 0x1040c]
push eax
call fcn.30019c12
test eax, eax
mov dword [ebp + 0xc], eax
je 0x3001561a
push 0x30005884
jmp 0x30015660
mov esi, dword [esi]
push 1
xor eax, eax
cmp word [ebp - 0x10414], 0x31
push 0x30002a20
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.3001bb8c
test eax, eax
mov dword [ebp + 0xc], eax
je 0x30015666
push 0x30005860
call fcn.30010597
pop ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.3001fd67
leave
ret 0x1c