Function at 0x10001af0
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xe4
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x14]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0xe4], ecx
cmp eax, 0x110
ja 0x10001d91
je 0x10001b4f
add eax, 0xfffffff4
cmp eax, 0x7a
ja case.0x10001b33.12
movzx eax, byte [eax + 0x10001e58]
jmp dword [eax*4 + 0x10001e50]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10002a00
mov esp, ebp
pop ebp
ret 0x10
push ecx
push 0xffffffffffffffeb
push esi
mov dword [ebp - 0xd8], 0
mov byte [ebp - 0x54], 0
call dword [sym.imp.USER32.dll_SetWindowLongA]
push esi
call fcn.10001490
push 0x80
lea ecx, [ebp - 0xd4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push 0x100010f4
push 0x80
lea edx, [ebp - 0xd4]
push edx
call fcn.10001570
test eax, eax
jl case.0x10001b33.12
mov ebx, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
lea eax, [ebp - 0xd4]
push eax
push 0x11
push 0x18d
push 0xca
push esi
call ebx
mov dword [ebp - 0xdc], eax
test eax, eax
jl 0x10001ccc
push 0x10004024
push eax
push 0x189
push 0xca
push esi
call ebx
push 4
push 0x100010ec
push 0x10004024
call dword [sym.imp.msvcrt.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x10001cb7
push 0x50
lea edx, [ebp - 0x54]
lea edi, [ebp - 0xe0]
mov ecx, 0x10004024
call fcn.10001330
test ax, ax
jne 0x10001c4e
mov ecx, dword [ebp - 0xe0]
push ecx
call dword [sym.imp.KERNEL32.dll__lclose]
lea edx, [ebp - 0x54]
push edx
push 0
push 0x180
push 0xc9
push esi
call ebx
push 0x10004024
mov edi, eax
call dword [sym.imp.msvcrt.dll_atol]
add esp, 4
push eax
push edi
push 0x19a
push 0xc9
push esi
call ebx
jmp 0x10001cb7
mov al, byte [0x10004024]
sub al, 0x30
cmp al, 9
ja 0x10001cb7
mov edx, dword [0x1000435c]
mov edi, dword [sym.imp.USER32.dll_LoadStringA]
push 0x50
lea ecx, [ebp - 0x54]
push ecx
push 0x12e
push edx
call edi
push 0x10004024
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0xd4]
push 0x80
push ecx
call fcn.10001630
mov eax, dword [0x1000435c]
add esp, 0x10
push 0x50
lea edx, [ebp - 0x54]
push edx
push 0x12d
push eax
call edi
push 0x30
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0xd4]
push edx
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0xdc]
sub eax, 1
mov dword [ebp - 0xdc], eax
jns 0x10001bc3
push 0
push 0
push 0x18b
push 0xc9
push esi
call ebx
mov edi, eax
test edi, edi
jne 0x10001d35
mov ecx, dword [0x1000435c]
mov edi, dword [sym.imp.USER32.dll_LoadStringA]
push 0x80
lea eax, [ebp - 0xd4]
push eax
push 0x12c
push ecx
call edi
mov eax, dword [0x1000435c]
push 0x50
lea edx, [ebp - 0x54]
push edx
push 0x12d
push eax
call edi
push 0x30
lea ecx, [ebp - 0x54]
push ecx
lea edx, [ebp - 0xd4]
push edx
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push esi
call dword [sym.imp.USER32.dll_EndDialog]
jmp 0x10001d65
sub edi, 1
js 0x10001d65
lea ebx, [ebx]
push 0
push edi
push 0x199
push 0xc9
push esi
call ebx
mov ecx, dword [ebp - 0xe4]
cmp eax, dword [ecx]
jne 0x10001d60
mov dword [ebp - 0xd8], edi
sub edi, 1
jns 0x10001d40
mov edx, dword [ebp - 0xd8]
push 0
push edx
push 0x186
push 0xc9
push esi
call ebx
push 0
push 0
push 0x184
push 0xca
push esi
call ebx
jmp 0x10001e38
cmp eax, 0x111
je 0x10001dc3
cmp eax, 0x131
jbe case.0x10001b33.12
cmp eax, 0x138
ja case.0x10001b33.12
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10002a00
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp + 0x10]
movzx eax, cx
sub eax, 1
je 0x10001dea
sub eax, 1
je 0x10001e27
sub eax, 0xc7
jne case.0x10001b33.12
shr ecx, 0x10
cmp ecx, 2
jne case.0x10001b33.12
push 0xffffffffffffffeb
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ebx, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push 0
push 0
push 0x188
push 0xc9
push esi
mov edi, eax
call ebx
movzx eax, ax
push 0
movzx eax, ax
push eax
push 0x199
push 0xc9
push esi
call ebx
mov ecx, dword [ebp + 0x10]
mov dword [edi], eax
xor edx, edx
cmp cx, 2
setne dl
push edx
push esi
call dword [sym.imp.USER32.dll_EndDialog]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.10002a00
mov esp, ebp
pop ebp
ret 0x10