Function at 0x404f70
Capabilities:
Get common file path
Read .ini file
Set current directory

Disassembly:
sub esp, 0x23c
mov eax, dword [0x42d664]
xor eax, esp
mov dword [esp + 0x238], eax
push ebx
push ebp
mov ebp, dword [esp + 0x248]
xor ebx, ebx
push 0x1f3
lea eax, [esp + 0x51]
push ebx
push eax
mov byte [esp + 0x58], bl
call fcn.00405be0
mov ecx, dword [str.myWindowClass]
mov eax, dword [0x428d68]
mov edx, dword [0x428d64]
mov dword [esp + 0x48], ecx
mov cx, word [0x428d6c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x25c]
mov word [esp + 0x54], cx
add esp, 0xc
mov dword [esp + 0x40], edx
mov ecx, 0x4286e8
jmp 0x404fe0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x405000
cmp dl, bl
je 0x404ffc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x405000
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x404fe0
xor eax, eax
jmp 0x405005
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4050fa
lea edx, [esp + 8]
push edx
lea eax, [esp + 0x50]
push eax
push str.ck_setup_path
push str.SOFTWAREARLCK_SETUP
push 0x80000001
mov dword [0x42f26c], 1
mov dword [esp + 0x1c], 0x1f4
mov byte [esp + 0x60], bl
call fcn.0040106e
add esp, 0x14
test eax, eax
je 0x40506c
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x4c]
mov byte [eax + 0x4300b8], cl
inc eax
cmp cl, bl
jne 0x405050
push 0x4300b8
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
jmp 0x40507e
push ebx
push str.Error
push str.Could_not_find_CryptoKit_installation_folder.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
push str.ck_setup.ini
push 0x4300b8
push str._s_s
push 0x42f308
call fcn.00405c5a
push str.ck_lang.ini
push 0x4300b8
push str._s_s
push 0x42efa8
call fcn.00405c5a
add esp, 0x20
push 0x42f308
push 5
push 0x42ed04
push 0x428d38
push str.Lang
push str.Language
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.ck_setup_restart.ini
push 0x4300b8
push str._s_s
push 0x42f308
call fcn.00405c5a
add esp, 0x10
call fcn.0040103c
jmp 0x4052ab
push esi
push edi
push 0x4300b8
push 0xc8
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push 0x2050
push ebx
push ebx
push ebx
push str.welcome.bmp
push ebx
call dword [sym.imp.USER32.dll_LoadImageA]
mov esi, dword [sym.imp.USER32.dll_LoadIconA]
push 0x7f00
push ebx
mov edi, eax
mov dword [esp + 0x1c], 0x30
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0x401055
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebp
call esi
push 0x7f00
push ebx
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
lea ecx, [esp + 0x48]
push ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 6
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ecx
call esi
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x44], eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
test ax, ax
je 0x40522a
push ebx
push ebp
mov ebp, dword [sym.imp.USER32.dll_CreateWindowExA]
push ebx
push ebx
push 0x190
push 0x190
push 0x80000000
push 0x80000000
push 0x800
push 0x42819c
lea eax, [esp + 0x6c]
push eax
push ebx
call ebp
mov esi, eax
cmp esi, ebx
je 0x40522a
push ebx
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
push ebx
push ebx
push esi
push 0x96
push 0x12c
push 0x12c
push 0x190
push 0x1000000e
push 0x42819c
push str.Static
push 0x20000
call ebp
mov esi, eax
cmp edi, ebx
je 0x405218
push edi
push ebx
push 0x172
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
push 0x4300b8
push 0xc8
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push str.ck_setup.ini
push 0x4300b8
push str._s_s
push 0x42f308
call fcn.00405c5a
push str.ck_lang.ini
push 0x4300b8
push str._s_s
push 0x42efa8
call fcn.00405c5a
add esp, 0x20
push 0x42f308
push 5
push 0x42ed04
push 0x428d38
push str.Lang
push str.Language
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push ebx
push 0x401050
push ebx
push 0x65
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x240]
pop ebp
pop ebx
xor ecx, esp
call fcn.00405bd0
add esp, 0x23c
ret 0x10