Function at 0x10019648
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x18], edx
push 2
pop edi
test cl, cl
je 0x1001982b
mov dword [ebp - 8], 0xfffffffc
mov dword [ebp - 0x1c], 0xfffffff9
push 0xffffffffffffffff
mov dword [ebp - 0x20], 0x33ee6768
mov dword [ebp - 0x14], ebx
pop edx
jmp 0x1001968b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x3c], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10019681
push 1
mov dword [ebp - 8], 0xfffffffd
pop esi
jmp 0x10019722
mov dword [ebp - 0x14], 0xa654
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x28], 0xc0a9c5a7
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x1c], ebx
jne 0x100196d6
mov eax, dword [ebp - 0x14]
mov ecx, ebx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
dec eax
neg eax
sbb eax, eax
neg eax
inc eax
neg eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 8]
jge 0x100196d8
mov ecx, esi
mov eax, dword [ebp - 0x14]
add eax, ecx
cmp eax, 0xc312fbb6
je 0x100196eb
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
je 0x100196ed
mov eax, esi
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], ebx
jmp 0x1001971a
mov eax, dword [ebp - 0xc]
mov dword [ebp + eax*4 - 0x3c], esi
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], edi
jl 0x10019710
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x17
jne 0x1001969f
mov dword [ebp - 0x14], 0x1f2c29a3
mov dword [ebp - 0x28], 0xbe76d238
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], 0x3cc25429
mov dword [ebp - 0x28], 0xef068cd5
push 6
pop ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0xfffffff6
mov dword [ebp - 0x28], 0xe6fc2e60
mov dword [ebp - 0x28], 0xfffffff7
mov dword [ebp - 0x28], 0x2e6c0b33
mov dword [ebp - 0x28], 0x3f6a0837
mov dword [ebp - 0x28], 0x3cef3392
mov dword [ebp - 0x28], 0x56e623b2
mov dword [ebp - 0x28], 0x8993dd61
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x28], 0xb4b26d8f
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], edx
push 5
pop eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x28], 0x890ba5fc
mov dword [ebp - 0x28], 0xfffffffb
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], ebx
jmp 0x100197dd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c], 0xfffa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100197cf
mov dword [ebp - 0x14], ebx
jmp 0x1001980f
mov dword [ebp - 0x28], 0xdb785b64
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x10019802
push 0xfbf
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], 0xd1a4e665
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x100197e7
dec dword [ebp - 0x20]
push ebx
push ebx
push 0xc1b
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
jmp 0x10019c9f
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x20], 0xfc3c737e
mov dword [ebp - 0x28], 0xa391de2f
mov dword [ebp - 0x14], ebx
jmp 0x10019858
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x34], 0x8261
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1001984a
xor esi, esi
inc esi
mov dword [ebp - 0x5c], esi
cmp dword [ebp - 0x5c], ebx
jl 0x10019960
mov dword [ebp - 0x24], 0xfffffffd
mov dword [ebp - 0x14], ebx
jmp 0x10019882
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x10], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10019878
mov dword [ebp - 0x10], ebx
jmp 0x1001994e
mov dword [ebp - 8], esi
mov dword [ebp - 8], esi
cmp dword [ebp - 8], ebx
jl 0x1001994b
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], ebx
jl 0x100198d0
mov byte [ebp - 1], bl
cmp byte [ebp - 1], bl
je 0x100198cb
push 0x241c
push 0x1aba
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_EnableScrollBar]
dec dword [ebp - 0xc]
jns 0x100198ac
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], ebx
jl 0x10019942
mov dword [ebp - 0x1c], 0x5493e623
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x58], ebx
je 0x1001992a
mov ecx, esi
cmp dword [ebp - 0x10], ebx
jne 0x100198f6
mov ecx, ebx
mov eax, dword [ebp - 0x60]
imul eax, ecx
test eax, eax
je 0x1001990b
mov eax, dword [ebp - 8]
mov edx, esi
cmp dword [ebp + eax*4 - 0x34], ebx
jne 0x1001990d
mov edx, ebx
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp edx, eax
setge cl
add ecx, dword [ebp - 0xc]
je 0x10019924
cmp dword [ebp - 0x28], ebx
je 0x10019924
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x34]
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
dec dword [ebp - 0xc]
jns 0x100198d8
dec dword [ebp - 8]
jns 0x1001989e
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x1001988f
dec dword [ebp - 0x5c]
jns 0x1001986c
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
sub ecx, eax
cmp ecx, esi
setge dl
xor ecx, ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x34]
cmp edx, eax
mov eax, dword [ebp - 0x34]
setl cl
xor edx, edx
cmp eax, ecx
mov eax, dword [ebp - 0x34]
setl dl
xor ebx, ebx
cmp edx, eax
mov eax, dword [ebp - 0x30]
setg bl
xor ecx, ecx
cmp ebx, eax
setne cl
xor ebx, ebx
cmp ecx, dword [ebp - 0x34]
jl 0x100199b3
mov edx, ebx
cmp dword [ebp - 0x30], ebx
je 0x100199b5
mov edx, esi
mov eax, dword [ebp - 0x30]
xor ecx, ecx
cmp edx, eax
push 4
setl cl
xor edx, edx
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
sete cl
mov dword [ebp - 0x28], ecx
cmp byte [eax], 0
pop ecx
push 3
pop edx
je 0x10019bee
mov dword [ebp - 0x1c], 0xada439be
mov dword [ebp - 0x28], 0xfffffffa
mov dword [ebp - 0x14], ebx
jmp 0x10019a18
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x80], 0xbbca
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10019a0a
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], ebx
jl 0x10019be1
mov dword [ebp - 0xc], 0x4cdb8faa
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x10019a44
push ebx
push ebx
call dword [sym.imp.USER32.dll_UnregisterClassA]
push 3
pop edx
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], ebx
jl 0x10019a71
mov byte [ebp - 1], bl
cmp byte [ebp - 1], 0
je 0x10019a69
push ebx
push 0x23f9
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetTimer]
dec dword [ebp - 0xc]
jns 0x10019a4c
push 3
pop edx
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0xc], ebx
jl 0x10019bd8
push 4
pop ecx
mov dword [ebp - 8], 0xfffffffd
mov dword [ebp - 0x28], ecx
mov dword [ebp - 8], edx
cmp dword [ebp - 8], ebx
jl 0x10019bb7
mov dword [ebp - 0x18], 0x8d3a18e4
mov dword [ebp - 0x20], 0xca779041
mov dword [ebp - 0x20], 0xe07ea4c5
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], ebx
jl 0x10019bab
mov dword [ebp - 0x14], 0x17c10977
mov dword [ebp - 0x24], 0xd058bbe5
mov dword [ebp - 0x14], ebx
jmp 0x10019ad4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x44], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10019aca
mov dword [ebp - 0x14], ebx
jmp 0x10019b99
mov eax, dword [ebp - 8]
mov ecx, 0xf15cc7c4
mov eax, dword [ebp + eax*4 - 0x80]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x80]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + eax*4 - 0x80]
cmp ecx, eax
sbb eax, eax
neg eax
cmp eax, dword [ebp - 0x14]
jge 0x10019b8a
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], 0x4c3f121f
cmp dword [ebp - 0xc], ebx
je 0x10019b34
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x20]
mov dword [ebp - 0x20], esi
test eax, eax
jne 0x10019b37
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 8]
xor edx, edx
cmp eax, 0xff93
mov eax, dword [ebp - 0x44]
push 3
setle dl
xor ecx, ecx
imul edx, eax
mov eax, dword [ebp - 0xc]
cmp eax, edx
mov eax, dword [ebp - 0x20]
setg cl
xor edx, edx
sub eax, ecx
add eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
sub ecx, 0x7a5e1371
cmp eax, ecx
mov eax, dword [ebp - 0xc]
setg dl
xor ecx, ecx
cmp edx, eax
pop edx
setge cl
sub ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
jmp 0x10019b96
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x10019ae1
dec dword [ebp - 0x18]
jns 0x10019ab7
dec dword [ebp - 8]
jns 0x10019a96
push 4
pop ecx
mov dword [ebp - 8], ebx
jmp 0x10019bca
mov eax, dword [ebp - 8]
mov dword [ebp + eax*4 - 0x80], 0x3b7d
inc dword [ebp - 8]
cmp dword [ebp - 8], ecx
jl 0x10019bbc
dec dword [ebp - 0xc]
jns 0x10019a80
dec dword [ebp - 0x1c]
jns 0x10019a29
push esi
call dword [sym.imp.USER32.dll_ShowCursor]
push 3
pop edx
push 4
pop ecx
mov dword [ebp - 0x18], 0xb1cecb45
mov dword [ebp - 0x28], 0x2abb
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x24], 0xf2fdad5
mov dword [ebp - 8], 0x79b69b2e
mov dword [ebp - 0x24], 0x17473468
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0xc], 0x4b67
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], ebx
jmp 0x10019c44
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x50], 0xfffffff7
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edx
jl 0x10019c36
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 8]
jg 0x10019c67
mov ecx, esi
cmp dword [ebp - 0x14], ebx
jne 0x10019c69
mov ecx, ebx
mov eax, dword [ebp - 0x20]
dec dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x6c]
cmovne esi, ebx
xor edx, edx
cmp esi, 0x7b332e0c
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x18]
sub ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
mov dword [ebp - 0x24], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret