Function at 0x401f80
Capabilities:
Contain obfuscated stackstrings
Get common file path
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2ac
push ebx
push esi
mov esi, ecx
mov al, 0x6f
mov cl, 0x6e
mov dl, 0x74
mov ebx, 0x5c
push edi
mov byte [ebp - 0x18], 0x44
mov byte [ebp - 0x17], al
mov byte [ebp - 0x16], 0x63
mov byte [ebp - 0x15], 0x75
mov byte [ebp - 0x14], 0x6d
mov byte [ebp - 0x13], 0x65
mov byte [ebp - 0x12], cl
mov byte [ebp - 0x11], dl
mov byte [ebp - 0x10], 0x73
mov byte [ebp - 0xf], 0x20
mov byte [ebp - 0xe], 0x61
mov byte [ebp - 0xd], cl
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x20
mov byte [ebp - 0xa], 0x53
mov byte [ebp - 9], 0x65
mov byte [ebp - 8], dl
mov byte [ebp - 7], dl
mov byte [ebp - 6], 0x69
mov byte [ebp - 5], cl
mov byte [ebp - 4], 0x67
mov byte [ebp - 3], 0x73
mov byte [ebp - 2], bl
mov byte [ebp - 1], 0
mov byte [ebp - 0x8c], bl
mov byte [ebp - 0x8b], 0x41
mov byte [ebp - 0x8a], 0x70
mov byte [ebp - 0x89], 0x70
mov byte [ebp - 0x88], 0x6c
mov byte [ebp - 0x87], 0x69
mov byte [ebp - 0x86], 0x63
mov byte [ebp - 0x85], 0x61
mov byte [ebp - 0x84], dl
mov byte [ebp - 0x83], 0x69
mov byte [ebp - 0x82], al
mov byte [ebp - 0x81], cl
mov byte [ebp - 0x80], 0x20
mov byte [ebp - 0x7f], 0x44
mov byte [ebp - 0x7e], 0x61
mov byte [ebp - 0x7d], dl
mov byte [ebp - 0x7c], 0x61
mov byte [ebp - 0x7b], bl
mov byte [ebp - 0x7a], 0x4d
mov byte [ebp - 0x79], 0x69
mov byte [ebp - 0x78], 0x63
mov byte [ebp - 0x77], 0x72
mov byte [ebp - 0x76], al
mov byte [ebp - 0x75], 0x73
mov byte [ebp - 0x74], al
mov byte [ebp - 0x73], 0x66
mov byte [ebp - 0x72], dl
mov byte [ebp - 0x71], bl
mov byte [ebp - 0x70], 0x4e
mov byte [ebp - 0x6f], 0x65
mov byte [ebp - 0x6e], dl
mov byte [ebp - 0x6d], 0x77
mov byte [ebp - 0x6c], al
mov byte [ebp - 0x6b], 0x72
mov byte [ebp - 0x6a], 0x6b
mov byte [ebp - 0x69], bl
mov byte [ebp - 0x68], 0x43
mov byte [ebp - 0x67], al
mov byte [ebp - 0x66], cl
mov byte [ebp - 0x65], cl
mov byte [ebp - 0x64], 0x65
mov byte [ebp - 0x63], 0x63
mov byte [ebp - 0x62], dl
mov byte [ebp - 0x61], 0x69
mov byte [ebp - 0x60], al
mov byte [ebp - 0x5f], cl
mov byte [ebp - 0x5e], 0x73
mov byte [ebp - 0x5d], bl
mov byte [ebp - 0x5c], 0x70
mov byte [ebp - 0x5b], 0x62
mov byte [ebp - 0x5a], 0x6b
mov byte [ebp - 0x59], bl
mov byte [ebp - 0x58], 0x72
mov byte [ebp - 0x57], 0x61
mov byte [ebp - 0x56], 0x73
mov byte [ebp - 0x55], 0x70
mov byte [ebp - 0x54], 0x68
mov byte [ebp - 0x53], al
mov byte [ebp - 0x52], cl
mov byte [ebp - 0x51], 0x65
mov byte [ebp - 0x50], 0x2e
mov byte [ebp - 0x4f], 0x70
mov byte [ebp - 0x4e], 0x62
mov byte [ebp - 0x4d], 0x6b
mov byte [ebp - 0x4c], 0
mov byte [ebp - 0x48], 0x4d
mov byte [ebp - 0x47], 0x69
mov byte [ebp - 0x46], 0x63
mov byte [ebp - 0x45], 0x72
mov byte [ebp - 0x44], al
mov byte [ebp - 0x43], 0x73
mov byte [ebp - 0x42], al
mov byte [ebp - 0x41], 0x66
mov byte [ebp - 0x40], dl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0x4e
mov byte [ebp - 0x3d], 0x65
mov byte [ebp - 0x3c], dl
mov byte [ebp - 0x3b], 0x77
mov byte [ebp - 0x3a], al
mov byte [ebp - 0x39], 0x72
mov byte [ebp - 0x38], 0x6b
mov byte [ebp - 0x37], bl
mov byte [ebp - 0x36], 0x43
mov byte [ebp - 0x35], al
mov byte [ebp - 0x34], cl
mov byte [ebp - 0x33], cl
mov byte [ebp - 0x32], 0x65
mov byte [ebp - 0x31], 0x63
mov byte [ebp - 0x30], dl
mov byte [ebp - 0x2f], 0x69
mov byte [ebp - 0x2e], al
mov byte [ebp - 0x2d], cl
mov byte [ebp - 0x2c], 0x73
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], 0x70
mov byte [ebp - 0x29], 0x62
mov byte [ebp - 0x28], 0x6b
mov byte [ebp - 0x27], bl
mov byte [ebp - 0x26], 0x72
mov byte [ebp - 0x25], 0x61
mov byte [ebp - 0x24], 0x73
mov byte [ebp - 0x23], 0x70
mov byte [ebp - 0x22], 0x68
mov byte [ebp - 0x21], al
mov byte [ebp - 0x20], cl
mov byte [ebp - 0x1f], 0x65
mov byte [ebp - 0x1e], 0x2e
mov byte [ebp - 0x1d], 0x70
mov byte [ebp - 0x1c], 0x62
mov byte [ebp - 0x1b], 0x6b
mov byte [ebp - 0x1a], 0
nop
nop
nop
nop
nop
nop
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call edi
lea eax, [ebp - 0x1a4]
push 0x105
push eax
mov dword [ebp - 0x90], 0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
lea ecx, [ebp - 0x18]
lea edx, [ebp - 0x1a4]
push ecx
push ebx
push edx
call sub.MSVCRT.dll_strchr
add esp, 8
inc eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi + 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [ebp - 0x1a4]
push eax
push ecx
call esi
lea edx, [ebp - 0x8c]
lea eax, [ebp - 0x1a4]
push edx
push eax
call esi
push 0
lea ecx, [ebp - 0x2ac]
push 0x23
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea edx, [ebp - 0x48]
lea eax, [ebp - 0x2ac]
push edx
push eax
lea ecx, [ebp - 0x2ac]
push 0x418038
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
nop
nop
nop
nop
nop
nop
push 0
call edi
lea edx, [ebp - 0x1a4]
lea eax, [ebp - 0x2ac]
push 0x1000
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x98], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
nop
nop
nop
nop
nop
nop
push 0
call edi
lea esi, [ebp - 0x9c]
mov dword [ebp - 0x94], 2
mov ecx, 0x400
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov ecx, dword [esi]
push ecx
push 0x1000
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
mov al, byte [ebx]
mov edi, ebx
test al, al
je 0x4022d5
mov edx, dword [ebp - 0x90]
push edi
inc edx
mov dword [ebp - 0x90], edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [edi + eax + 1]
cmp byte [edi], 0
jne 0x4022b8
mov eax, dword [ebp - 0x94]
add esi, 4
dec eax
mov dword [ebp - 0x94], eax
jne 0x402296
push ebx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x90]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret