Function at 0x4167c0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
xor eax, eax
push eax
mov edi, dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, ecx
mov ecx, dword [esi + 0x710]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x714]
push eax
push 0x3e8
push ecx
mov ebx, 1
push ebx
push ebx
push 0xffffffffffffff9c
push 0xffffffffffffff9c
push 0x5031000d
push 0
push str.SysListView32
push 0
mov dword [esp + 0x40], 0
call edi
mov edx, dword [esi + 0x714]
push 0
push edx
push 0x3e9
mov dword [esi + 0x6dc], eax
mov eax, dword [esi + 0x710]
push eax
push ebx
push ebx
push 0xffffffffffffff9c
push 0xffffffffffffff9c
push 0x5031000d
push 0
push str.SysListView32
push 0
call edi
mov ecx, dword [esi + 0x714]
mov edx, dword [esi + 0x710]
push 0
push ecx
push 0x3f2
push edx
push ebx
push ebx
push 0xffffffffffffff9c
push 0xffffffffffffff9c
push 0x50b00104
push 0x42652d
push str.EDIT
push 0
mov dword [esi + 0x6e0], eax
mov dword [esp + 0x40], 0x50b00104
call edi
mov ecx, dword [esi + 0x710]
push 0
mov dword [esi + 0x6e4], eax
mov eax, dword [esi + 0x714]
push eax
push 0x3ea
push ecx
push ebx
push ebx
push 0xffffffffffffff9c
push 0xffffffffffffff9c
push 0x50800000
mov dword [esp + 0x34], 0x50800000
push 0x42652d
push str.EDIT
push 0
call edi
mov edx, dword [esi + 0x714]
mov ecx, dword [esp + 0x10]
push 0
push edx
push 0x3eb
mov dword [esi + 0x6ec], eax
mov eax, dword [esi + 0x710]
push eax
push ebx
push ebx
push 0xffffffffffffff9c
push 0xffffffffffffff9c
push ecx
push 0x42652d
push str.EDIT
push 0
call edi
mov edx, dword [esi + 0x714]
push 0
push edx
push 0x3ec
mov dword [esi + 0x6f0], eax
mov eax, dword [esi + 0x710]
push eax
push ebx
push ebx
push 0xffffffffffffff9c
push 0xffffffffffffff9c
push 0x50800000
push str.Start
push str.BUTTON
mov ebp, 0x58800000
push 0
mov dword [esp + 0x40], ebp
call edi
mov ecx, dword [esi + 0x714]
mov edx, dword [esi + 0x710]
push 0
push ecx
push 0x3ed
push edx
push ebx
push ebx
push 0xffffffffffffff9c
push 0xffffffffffffff9c
push ebp
mov dword [esp + 0x34], ebp
mov ebp, 0x42737c
push ebp
push str.BUTTON
push 0
mov dword [esi + 0x6f4], eax
call edi
mov ecx, dword [esi + 0x710]
mov edx, dword [esp + 0x10]
push 0
mov dword [esi + 0x6f8], eax
mov eax, dword [esi + 0x714]
push eax
push 0x3ee
push ecx
push ebx
push ebx
push 0xffffffffffffff9c
push 0xffffffffffffff9c
push edx
push ebp
push str.BUTTON
push 0
call edi
mov ecx, dword [esi + 0x710]
push 0
mov dword [esi + 0x6fc], eax
mov eax, dword [esi + 0x714]
push eax
push 0x3ef
push ecx
push ebx
mov edx, dword [esp + 0x24]
push ebx
push 0xffffffffffffff9c
push 0xffffffffffffff9c
push edx
push ebp
push str.BUTTON
push 0
call edi
mov ecx, dword [esi + 0x710]
mov edx, dword [esp + 0x10]
push 0
mov dword [esi + 0x700], eax
mov eax, dword [esi + 0x714]
push eax
push 0x3f0
push ecx
push ebx
push ebx
push 0xffffffffffffff9c
push 0xffffffffffffff9c
push edx
push ebp
push str.BUTTON
push 0
call edi
mov ecx, dword [esi + 0x710]
mov edx, dword [esp + 0x10]
push 0
mov dword [esi + 0x704], eax
mov eax, dword [esi + 0x714]
push eax
push 0x3f1
push ecx
push ebx
push ebx
push 0xffffffffffffff9c
push 0xffffffffffffff9c
push edx
push 0x427378
push str.BUTTON
push 0
call edi
mov ecx, dword [esi + 0x6f8]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
mov dword [esi + 0x708], eax
mov eax, dword [esi]
push eax
push 0x30
push ecx
call edi
mov edx, dword [esi]
mov eax, dword [esi + 0x6fc]
push 0
push edx
push 0x30
push eax
call edi
mov ecx, dword [esi]
mov edx, dword [esi + 0x700]
push 0
push ecx
push 0x30
push edx
call edi
mov eax, dword [esi]
mov ecx, dword [esi + 0x704]
push 0
push eax
push 0x30
push ecx
call edi
mov edx, dword [esi]
mov eax, dword [esi + 0x708]
push 0
push edx
push 0x30
push eax
call edi
push 0
mov ecx, dword [esi]
mov edx, dword [esi + 0x6e8]
push ecx
push 0x30
push edx
call edi
mov eax, dword [esi + 0x6e8]
push 0
push ebx
push 0xf1
push eax
call edi
mov ecx, dword [esi]
mov edx, dword [esi + 0x6e4]
push 0
push ecx
push 0x30
push edx
call edi
mov eax, dword [esi]
mov ecx, dword [esi + 0x6e0]
push 0
push eax
push 0x30
push ecx
call edi
mov edx, dword [esi]
mov eax, dword [esi + 0x6dc]
push 0
push edx
push 0x30
push eax
call edi
mov ecx, dword [esi + 0x6e0]
push 0xe6e6e6
push 0
push 0x1001
push ecx
call edi
mov edx, dword [esi + 0x6dc]
push 0x21
push 0
push 0x1036
push edx
call edi
mov eax, dword [esi + 0x6e0]
push 0x21
push 0
push 0x1036
push eax
call edi
push 0x2c
lea ecx, [esp + 0x14]
push 0
push ecx
call fcn.00418570
mov eax, dword [esi + 0x6dc]
add esp, 0xc
lea edx, [esp + 0x10]
push edx
push 0
push 0x101b
push eax
mov dword [esp + 0x20], 0xf
mov dword [esp + 0x28], 0x28
mov dword [esp + 0x34], 0
mov dword [esp + 0x2c], ebp
call edi
mov edx, dword [esi + 0x6e0]
lea ecx, [esp + 0x10]
push ecx
push 0
push 0x101b
push edx
call edi
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebp
push ebx
mov ecx, dword [esi + 0x6dc]
push 0x101b
push ecx
call edi
mov eax, dword [esi + 0x6e0]
lea edx, [esp + 0x10]
push edx
push ebx
push 0x101b
push eax
call edi
mov edx, dword [esi + 0x6dc]
lea ecx, [esp + 0x10]
push ecx
push 2
push 0x101b
push edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], 2
mov dword [esp + 0x2c], ebp
call edi
mov ecx, dword [esi + 0x6e0]
lea eax, [esp + 0x10]
push eax
push 2
push 0x101b
push ecx
mov dword [esp + 0x2c], ebp
call edi
mov eax, dword [esi + 0x6dc]
lea edx, [esp + 0x10]
push edx
push 3
push 0x101b
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], 3
mov dword [esp + 0x2c], ebp
call edi
mov edx, dword [esi + 0x6e0]
lea ecx, [esp + 0x10]
push ecx
push 3
push 0x101b
push edx
call edi
mov ecx, dword [esi + 0x6dc]
lea eax, [esp + 0x10]
push eax
push 4
push 0x101b
push ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], 4
mov dword [esp + 0x2c], ebp
call edi
mov eax, dword [esi + 0x6e0]
lea edx, [esp + 0x10]
push edx
push 4
push 0x101b
push eax
call edi
mov edx, dword [esi + 0x6dc]
lea ecx, [esp + 0x10]
push ecx
push 5
push 0x101b
push edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], 5
mov dword [esp + 0x2c], ebp
call edi
mov ecx, dword [esi + 0x6e0]
lea eax, [esp + 0x10]
push eax
push 5
push 0x101b
push ecx
call edi
add esi, 0x5c4
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
push 0
push 0x10
push esi
push 0
call edi
test eax, eax
jne 0x416cd5
push eax
push 0x19
push esi
push eax
call edi
test eax, eax
jne 0x416cd5
push eax
push eax
push esi
push eax
call edi
test eax, eax
jne 0x416cd5
push eax
push 0x2e
push esi
push eax
call edi
dec esi
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x416cd6
mov dx, word [0x427374]
mov edi, esi
mov word [edi], dx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret