Function at 0x4079b1
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xecc
mov eax, dword [0x413004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0xec8], ecx
lea ecx, [ebp - 0x688]
mov dword [ebp - 0xeb4], edx
mov dword [ebp - 0xecc], edi
mov dword [ebp - 0xeb0], esi
call fcn.0040fa55
mov ecx, dword [ebp - 0xeb4]
xor ebx, ebx
test ecx, ecx
je 0x407eab
test esi, esi
je 0x407eab
mov eax, edi
test edi, edi
jne 0x407a15
mov eax, 0x401e44
push eax
push ecx
push 0x401e58
push dword [0x4130e8]
call fcn.0040e818
add esp, 0x10
lea eax, [ebp - 0xeac]
xor edx, edx
xor ecx, ecx
push ebx
push ebx
push ebx
push eax
call fcn.004086b2
test eax, eax
je 0x407eab
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x28]
rep stosd dword es:[edi], eax
push 0x102
push ebx
stosw word es:[edi], ax
lea eax, [ebp - 0x130]
push eax
call sub.msvcrt.dll_memset
push 0x208
lea eax, [ebp - 0x338]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0x18
mov edx, 0x104
push 0x900
push ecx
push ecx
push 0x4014f8
lea ecx, [ebp - 0x338]
call fcn.00410ebe
test eax, eax
js 0x407ea7
push esi
push 1
push 0x401538
push 0x401498
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, dword [ebp - 0xeb0]
mov esi, eax
push edi
push 1
push 0x401548
push 0x401498
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0xeb0], eax
test esi, esi
je 0x407bd1
test eax, eax
je 0x407af6
push edi
push ebx
push 0x401558
push 0x401498
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x407bd1
push ebx
push ecx
lea eax, [ebp - 0x130]
mov esi, ebx
push eax
lea ecx, [ebp - 0x28]
call fcn.00407fd6
test eax, eax
jne 0x407b2b
push 0x401ef0
push dword [0x4130e8]
call fcn.0040e818
pop ecx
pop ecx
cmp dword [ebp - 0xeb0], ebx
jne 0x407bd4
cmp word [ebp - 0x28], bx
jne 0x407b92
push 0x900
push ecx
push ecx
push 0x401fa4
push 0x11
pop edx
lea ecx, [ebp - 0x28]
call fcn.00410ebe
test eax, eax
js 0x407ea7
push 0x900
push ecx
push ecx
push 0x401fb0
mov edx, 0x81
lea ecx, [ebp - 0x130]
call fcn.00410ebe
test eax, eax
js 0x407ea7
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x28]
push eax
push 0x401fe0
push dword [0x4130e8]
call fcn.0040e818
add esp, 0x10
mov edi, 0x1618
push edi
call dword [sym.imp.cmutil.dll_CmMalloc]
mov esi, eax
cmp dword [ebp - 0xec8], ebx
je 0x407df1
mov dword [ebp - 0xeb0], esi
test esi, esi
jne 0x407cb3
push 0x402050
push dword [0x4130e8]
call fcn.0040e818
pop ecx
pop ecx
jmp 0x407ea7
xor esi, esi
inc esi
push 1
push ecx
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x28]
call fcn.00407fd6
test eax, eax
jne 0x407c01
push 0x401f48
push dword [0x4130e8]
call fcn.0040e818
pop ecx
pop ecx
jmp 0x407b2b
test esi, esi
jne 0x407b2b
push edi
lea ecx, [ebp - 0xea8]
call fcn.0040eb66
lea eax, [ebp - 0xc94]
mov esi, 0x105
push eax
lea eax, [ebp - 0xc9e]
push eax
push 0x401f98
push 0x900
push ebx
push ebx
lea eax, [ebp - 0x548]
push esi
push eax
call fcn.00410f98
add esp, 0x20
test eax, eax
js 0x407ea7
lea eax, [ebp - 0x548]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax*2 - 2]
cmp eax, 0x20a
jae 0x407ec0
sub esp, 0xc
xor ecx, ecx
mov word [ebp + eax - 0x548], cx
mov edx, esi
lea ecx, [ebp - 0x548]
push 0x401578
call fcn.00410f31
test eax, eax
js 0x407ea7
lea eax, [ebp - 0x548]
push eax
push 0x4011bc
push 0x401558
push 0x401498
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
jmp 0x407b2b
push edi
push ebx
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esi], edi
lea eax, [ebp - 0x28]
mov dword [esi + 0xda8], 4
mov edi, 0x40143c
mov dword [ebp - 0xebc], eax
mov dword [ebp - 0xec4], edi
push 0x900
push ecx
push ecx
push eax
push 0x11
lea ecx, [esi + 0x764]
mov dword [ebp - 0xec0], eax
pop edx
mov dword [ebp - 0xeb8], ebx
call fcn.00410ebe
lea ecx, [ebp - 0xec4]
call fcn.00405c45
push 0x900
push ecx
lea eax, [ebp - 0x130]
mov dword [ebp - 0xec4], edi
push ecx
push eax
lea ecx, [esi + 0x786]
mov dword [ebp - 0xebc], eax
mov edx, 0x81
mov dword [ebp - 0xec0], eax
mov dword [ebp - 0xeb8], ebx
call fcn.00410ebe
lea ecx, [ebp - 0xec4]
call fcn.00405c45
push 0x900
push ecx
lea eax, [ebp - 0x338]
mov dword [ebp - 0xec4], edi
push ecx
push eax
lea ecx, [esi + 0xdc4]
mov dword [ebp - 0xebc], eax
mov edx, 0x104
mov dword [ebp - 0xec0], eax
mov dword [ebp - 0xeb8], ebx
call fcn.00410ebe
lea ecx, [ebp - 0xec4]
call fcn.00405c45
mov edi, dword [esi]
mov ecx, esi
mov edx, edi
call fcn.0040f355
mov dword [ebp - 0xeac], eax
test eax, eax
je 0x407dea
mov eax, dword [ebp - 0xec8]
lea ecx, [ebp - 0xeac]
push edi
push ecx
push dword [ebp - 0xeb4]
mov esi, dword [eax]
push dword [ebp - 0xecc]
push eax
mov ecx, dword [esi + 0x10]
call dword [0x414220]
call dword [esi + 0x10]
push dword [ebp - 0xeac]
mov edi, eax
and edi, 0xffff
call dword [sym.imp.cmutil.dll_CmFree]
mov esi, dword [ebp - 0xeb0]
jmp 0x407e83
mov edi, ebx
jmp 0x407e83
test esi, esi
je 0x407bba
push edi
push ebx
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esi], edi
mov edi, 0x900
mov dword [esi + 0xda8], 4
lea eax, [ebp - 0x28]
push edi
push ecx
push ecx
push eax
push 0x11
lea ecx, [esi + 0x764]
pop edx
call fcn.00410ebe
push edi
push ecx
push ecx
lea eax, [ebp - 0x130]
mov edx, 0x81
push eax
lea ecx, [esi + 0x786]
call fcn.00410ebe
push edi
push ecx
push ecx
lea eax, [ebp - 0x338]
mov edx, 0x104
push eax
lea ecx, [esi + 0xdc4]
call fcn.00410ebe
mov ecx, dword [ebp - 0xeac]
push ebx
push ebx
push dword [esi]
push esi
push dword [ebp - 0xeb4]
push dword [ebp - 0xecc]
call dword [0x414220]
call dword [ebp - 0xeac]
mov edi, eax
push esi
call dword [sym.imp.cmutil.dll_CmFree]
test edi, edi
jne 0x407e93
xor ebx, ebx
inc ebx
jmp 0x407ea7
push edi
push 0x4020a8
push dword [0x4130e8]
call fcn.0040e818
add esp, 0xc
mov eax, ebx
jmp 0x407ead
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00411980
mov esp, ebp
pop ebp
ret 8
call fcn.00411ad9
int3