Function at 0x40632a
Capabilities:
Create directory
Get common file path
Get program files directory

Disassembly:
push 0x68
mov eax, 0x43a097
call fcn.00424c9a
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x44]
xor edi, edi
push edi
push 0x2a
mov esi, 0x456f40
push esi
push edi
mov dword [ebp - 0x54], eax
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
push str.BetelgeuseDirectory
push esi
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
cmp dword [0x458f70], edi
je 0x406416
push edi
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x18], 0xf
call fcn.004025f8
mov dword [ebp - 4], edi
mov eax, dword [ebx + 0x119c]
cmp eax, 4
je 0x40639b
cmp eax, 5
je 0x40639b
push str.v59__
jmp 0x4063a0
push str.v62__
lea eax, [ebp - 0x30]
push eax
call fcn.00403c71
push str.25b8df9ddd1d463ba23e9fb44a316f89
lea eax, [ebp - 0x30]
push eax
call fcn.00403c71
push str.___
lea eax, [ebp - 0x30]
push eax
call fcn.00403c71
push 0xffffffffffffffff
push edi
mov eax, 0x45a5d4
lea esi, [ebp - 0x30]
call fcn.00403d2c
push str.____
mov eax, esi
push eax
call fcn.00403c71
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
jae 0x4063ee
lea eax, [ebp - 0x2c]
cmp dword [0x458f70], 0
je 0x406406
push eax
push dword [0x45a5d0]
call dword [0x458f60]
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x30]
call fcn.00402614
lea eax, [ebp - 0x4d]
push eax
mov esi, 0x45a178
push esi
lea ecx, [ebp - 0x4e]
mov byte [ebp - 0x4e], 0
mov byte [ebp - 0x4d], 0
call fcn.00403643
cmp byte [ebp - 0x4d], 0
je 0x406451
push 0xa59
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
push 9
push 1
push 0x501
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x406
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
push 0x407
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
push 9
push 2
push 0x501
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [ebx + 0x94], 0
jne 0x4064f7
cmp byte [ebx + 0x95], 0
jne 0x4064f7
push 0x776
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
push 8
pop ecx
mov edx, 0x45a5bc
call fcn.00404616
push dword [ebp - 0x54]
mov dword [ebx + 0x11ac], 5
call fcn.00405b2f
push 9
push 3
push 0x501
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x408
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
cmp dword [ebx + 0x11a4], 4
jne 0x40653c
mov dword [ebx + 0x11a4], 5
call fcn.00405daa
push 9
push 4
push 0x501
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x409
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
cmp dword [ebx + 0x11a0], 4
jne 0x406581
mov dword [ebx + 0x11a0], 5
call fcn.0040612c
push 0x40a
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
push 9
push 5
pop edi
push edi
push 0x501
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [ebx + 0x11b0], 4
jne 0x4065cc
mov dword [ebx + 0x11b0], edi
mov edi, dword [ebp - 0x54]
call fcn.00405e99
call fcn.00410c58
push 0x40b
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
push 9
push 6
push 0x501
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [ebx + 0x11a8], 4
jne 0x40661f
mov dword [ebx + 0x11a8], 5
call fcn.0040feb9
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 0x58], al
push dword [ebp - 0x58]
call fcn.00405fcb
push 0x40c
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
push 9
push 7
push 0x501
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x40d
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
push 0x40e
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
push 0x40f
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
push 0x410
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
xor edi, edi
push 0
inc edi
push edi
lea ecx, [ebp - 0x30]
call fcn.00402614
push 9
push 8
push 0x501
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [ebx + 0x98], 0
jne 0x4066ff
cmp byte [ebx + 0x95], 0
jne 0x40681e
lea eax, [ebx + 0x1198]
cmp dword [eax], 4
jne 0x4066ff
mov edi, dword [ebp - 0x54]
mov dword [eax], 5
call fcn.00405caf
xor edi, edi
inc edi
cmp byte [ebx + 0x95], 0
jne 0x40681e
cmp dword [ebx + 0x11a8], 5
jne 0x40674d
push 0x440820
lea eax, [ebp - 0x4c]
push eax
mov dword [ebx + 0x11a8], edi
call fcn.00404040
lea esi, [ebp - 0x4c]
mov dword [ebp - 4], edi
call fcn.004040e0
push eax
call fcn.004062ca
or dword [ebp - 4], 0xffffffff
mov eax, esi
call fcn.004041bd
xor edi, edi
inc edi
mov esi, 0x45a178
cmp dword [ebx + 0x11a4], 5
jne 0x406792
push 0x440894
lea eax, [ebp - 0x4c]
push eax
mov dword [ebx + 0x11a4], edi
call fcn.00404040
lea esi, [ebp - 0x4c]
mov dword [ebp - 4], 2
call fcn.004040e0
push eax
call fcn.004062ca
or dword [ebp - 4], 0xffffffff
mov eax, esi
call fcn.004041bd
xor edi, edi
inc edi
mov esi, 0x45a178
cmp dword [ebx + 0x11b0], 5
jne 0x4067dc
push 0x4406f0
lea eax, [ebp - 0x4c]
push eax
mov dword [ebx + 0x11b0], edi
call fcn.00404040
lea esi, [ebp - 0x4c]
mov dword [ebp - 4], 3
call fcn.004040e0
push eax
call fcn.004062ca
call fcn.00410c58
or dword [ebp - 4], 0xffffffff
mov eax, esi
call fcn.004041bd
xor edi, edi
inc edi
mov esi, 0x45a178
cmp dword [ebx + 0x11a0], 5
jne 0x40681e
push 0x440894
lea eax, [ebp - 0x4c]
push eax
mov dword [ebx + 0x11a0], edi
call fcn.00404040
lea esi, [ebp - 0x4c]
mov dword [ebp - 4], 4
call fcn.004040e0
push eax
call fcn.004062ca
or dword [ebp - 4], 0xffffffff
mov eax, esi
call fcn.004041bd
mov esi, 0x45a178
push 0x411
push esi
xor ecx, ecx
lea edi, [ebp - 0x30]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
push 0x412
push esi
xor ecx, ecx
lea edi, [ebp - 0x74]
call fcn.004033b1
push 0
push 1
mov ecx, edi
call fcn.00402614
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 9
push 9
push 0x501
push dword [ebx + 0x20]
call esi
push 0
push 5
push 0x500
push dword [ebx + 0x20]
call esi
xor eax, eax
inc eax
call fcn.00424d1d
ret 4