Function at 0x434f80
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x630
mov eax, dword [0x4ce724]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov word [ebp - 0x210], ax
push 0x206
push 0
lea ecx, [ebp - 0x20e]
push ecx
call fcn.00467d60
add esp, 0xc
mov dword [ebp - 0x214], 0
cmp dword [ebp + 0xc], 0
je 0x435222
mov edx, dword [ebp + 0x10]
push edx
push 0x104
lea eax, [ebp - 0x210]
push eax
call fcn.0046a6ad
add esp, 0xc
lea ecx, [ebp - 0x210]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov edx, dword [ebp + 0x10]
push edx
push str.OLRDisplay__s_
call fcn.00456fc0
add esp, 8
xor eax, eax
mov word [ebp - 0x420], ax
push 0x206
push 0
lea ecx, [ebp - 0x41e]
push ecx
call fcn.00467d60
add esp, 0xc
lea edx, [ebp - 0x420]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x4d0cf0], eax
cmp dword [0x4d0cf0], 0
je 0x435209
xor edx, edx
mov word [ebp - 0x628], dx
push 0x206
push 0
lea eax, [ebp - 0x626]
push eax
call fcn.00467d60
add esp, 0xc
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 0x628]
push edx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str.OLRegist.ini
lea ecx, [ebp - 0x628]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea edx, [ebp - 0x628]
push edx
push str.OLRDisplay____OLRegistIni_s
call fcn.00456fc0
add esp, 8
lea eax, [ebp - 0x628]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 0x4f1
push ecx
push 0x4b4098
push 0x4b40b0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea edx, [ebp - 0x628]
push edx
mov eax, dword [ebp + 0xc]
add eax, 0x531
push eax
push str.NameProduct
push 0x4b40d0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x628]
push ecx
mov edx, dword [ebp + 0xc]
add edx, 0x491
push edx
push 0x4b40d8
push 0x4b40f8
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea eax, [ebp - 0x628]
push eax
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [0x4d0cf0]
push edx
call fcn.00434590
add esp, 8
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
jne 0x4351e0
cmp dword [ebp + 0x14], 0
je 0x4351e0
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + 0x208]
cmp ecx, 1
jne 0x435179
mov dword [ebp - 0x630], 0x69
jmp 0x4351b9
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + 0x208]
cmp eax, 2
jne 0x435194
mov dword [ebp - 0x630], 0x6d
jmp 0x4351b9
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + 0x208]
cmp edx, 3
jne 0x4351af
mov dword [ebp - 0x630], 0x86
jmp 0x4351b9
mov dword [ebp - 0x630], 0x89
mov eax, dword [ebp + 0xc]
push eax
push 0x434920
mov ecx, dword [ebp + 8]
push ecx
movzx edx, word [ebp - 0x630]
push edx
mov eax, dword [0x4d0cf0]
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
mov dword [ebp - 0x214], eax
mov ecx, dword [0x4d0cf0]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x62c], eax
mov edx, dword [ebp - 0x62c]
push edx
push str.OLRDisplay____FreeLibrary_____d
call fcn.00456fc0
add esp, 8
jmp 0x435213
mov dword [ebp - 0x214], 0x6e
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
jmp 0x43522c
mov dword [ebp - 0x214], 0x57
mov ecx, dword [ebp - 0x214]
push ecx
push str.OLRDisplay_____d
call fcn.00456fc0
add esp, 8
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00467d4f
mov esp, ebp
pop ebp
ret