Function at 0x49d800
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40c
mov eax, dword [0x4f6fc0]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x54e900], 0
je 0x49d821
jmp 0x49df1f
mov eax, 1
imul eax, eax, 0
movsx ecx, byte [eax + 0x4fa370]
test ecx, ecx
je 0x49d84a
push 0x4fa370
mov edx, dword [ebp + 8]
push edx
call fcn.004b5e60
add esp, 8
jmp 0x49df1f
mov eax, 1
imul eax, eax, 0
movsx ecx, byte [eax + 0x526a98]
test ecx, ecx
jne 0x49d86d
push 0xff
push 0x526a98
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 0x4f2ed8
lea edx, [ebp - 0x104]
push edx
call fcn.004b5e60
add esp, 8
lea eax, [ebp - 0x204]
push eax
push 0x4f2f04
lea ecx, [ebp - 0x104]
push ecx
push 0x80000002
call fcn.00487ad0
add esp, 0x10
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0
je 0x49d8c5
mov edx, 1
shl edx, 0
movsx eax, byte [ebp + edx - 0x204]
cmp eax, 0x3a
je 0x49d8f4
mov ecx, 1
imul ecx, ecx, 0
mov dword [ebp - 0x40c], ecx
cmp dword [ebp - 0x40c], 0xff
jae 0x49d8e1
jmp 0x49d8e6
call fcn.004b64ae
mov edx, dword [ebp - 0x40c]
mov byte [ebp + edx - 0x204], 0
push 0x4f2f14
lea eax, [ebp - 0x104]
push eax
call fcn.004b5e60
add esp, 8
lea ecx, [ebp - 0x304]
push ecx
push 0x4f2f24
lea edx, [ebp - 0x104]
push edx
push 0x80000002
call fcn.00487ad0
add esp, 0x10
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0
je 0x49d9ce
mov eax, 1
shl eax, 0
movsx ecx, byte [ebp + eax - 0x304]
cmp ecx, 0x3a
je 0x49d965
mov edx, 1
shl edx, 0
movsx eax, byte [ebp + edx - 0x304]
cmp eax, 0x5c
jne 0x49d9ce
mov ecx, 1
imul ecx, ecx, 0
movsx edx, byte [ebp + ecx - 0x304]
test edx, edx
je 0x49d9ce
lea eax, [ebp - 0x304]
push eax
call fcn.00429ab0
add esp, 4
lea ecx, [ebp - 0x304]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004b5e60
add esp, 8
mov eax, dword [ebp + 8]
push eax
push 0x4fa370
call fcn.004b5e60
add esp, 8
push 0x4f2f34
push 0
call fcn.00440830
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
push 0
call fcn.00440830
add esp, 8
jmp 0x49dcb3
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x4fc0b8]
test eax, eax
jne 0x49da0e
push 0x4fc0b8
call fcn.0049d760
add esp, 4
mov ecx, 1
imul ecx, ecx, 0
movsx edx, byte [ecx + 0x4fc0b8]
test edx, edx
je 0x49da0e
push 0x4fc0b8
call fcn.0049d6b0
add esp, 4
mov eax, 1
imul eax, eax, 0
movsx ecx, byte [eax + 0x4fc0b8]
test ecx, ecx
je 0x49dbce
push 0x4fc0b8
mov edx, dword [ebp + 8]
push edx
call fcn.004b5e60
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.00419490
add esp, 4
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0
je 0x49da6e
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00418e80
add esp, 8
cmp eax, 0xffffffff
jne 0x49da6e
mov dword [ebp - 0x408], 0
cmp dword [ebp - 0x408], 0
jne 0x49dbc9
mov dword [0x52575c], 0xfffffc19
push str.DynEdInstaller.exe
lea edx, [ebp - 0x204]
push edx
call fcn.004b5e60
add esp, 8
push 1
lea eax, [ebp - 0x204]
push eax
push 0x4f2f70
call fcn.00486be0
add esp, 0xc
push 0x200
push 0x4fc4b8
mov ecx, dword [0x18a0250]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x4fc4b8
call fcn.0042e130
add esp, 4
push 0x4f2f80
push 0x4fc4b8
call fcn.004b5e70
add esp, 8
lea edx, [ebp - 0x204]
push edx
push str.Launchw.exe
push 0x4fc4b8
push str._s_s__s
lea eax, [ebp - 0x304]
push eax
call fcn.004b6e08
add esp, 0x14
push 1
lea ecx, [ebp - 0x304]
push ecx
call fcn.00487ce0
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.00419490
add esp, 4
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0
je 0x49db53
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.00418e80
add esp, 8
cmp eax, 0xffffffff
jne 0x49db53
mov dword [ebp - 0x408], 0
cmp dword [ebp - 0x408], 0
jne 0x49dbbf
mov ecx, dword [ebp + 8]
push ecx
push str.ERROR:_Cannot_create_directory__2_:__s._nMake_sure_that_you_have_full__read_write_edit_create_delete__privileges_to_this_directory.
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0xc
push 0x552c40
push 0x552c41
push 0x4f3020
lea eax, [ebp - 0x104]
push eax
call fcn.00499760
add esp, 0x10
lea ecx, [ebp - 0x104]
push ecx
push 1
call fcn.00440830
add esp, 8
push 0x552c42
push 0x4c5
push 0x4f3024
call fcn.0042b120
add esp, 0xc
jmp 0x49df1f
mov dword [0x52575c], 0
jmp 0x49dcb3
mov edx, dword [ebp + 8]
push edx
call fcn.0049d760
add esp, 4
push 0x4f303c
mov eax, dword [ebp + 8]
push eax
call fcn.004b5e70
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
call fcn.00419490
add esp, 4
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0
jne 0x49dcb3
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x526a98]
push eax
push 0x4f3044
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b6e08
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
call fcn.00419490
add esp, 4
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0
jne 0x49dcb3
mov eax, 1
imul eax, eax, 0
movsx ecx, byte [ebp + eax - 0x204]
test ecx, ecx
je 0x49dcb3
lea edx, [ebp - 0x204]
push edx
call fcn.00419490
add esp, 4
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 1
jne 0x49dc92
lea eax, [ebp - 0x204]
push eax
push 0x4f3054
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b6e08
add esp, 0xc
jmp 0x49dcb3
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x526a98]
push eax
push 0x4f3060
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b6e08
add esp, 0xc
cmp dword [0x4e1478], 1
jne 0x49dcd6
cmp dword [0x4fe970], 1
jne 0x49dcd6
push 0x4fc4b8
mov edx, dword [ebp + 8]
push edx
call fcn.004b5e60
add esp, 8
mov eax, dword [ebp + 8]
push eax
push 0x4fa370
call fcn.004b5e60
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x404]
push edx
call fcn.004b5e60
add esp, 8
mov eax, dword [ebp + 8]
push eax
call fcn.00419870
add esp, 4
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0
jne 0x49dd2c
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00418e80
add esp, 8
cmp eax, 0xffffffff
jne 0x49decf
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x526a98]
push eax
push 0x4f3070
mov ecx, dword [ebp + 8]
push ecx
call fcn.004b6e08
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push 0x4fa370
call fcn.004b5e60
add esp, 8
mov eax, 1
imul eax, eax, 0
movsx ecx, byte [eax + 0x4fc0b8]
test ecx, ecx
jne 0x49dd9e
push 0x4fc0b8
call fcn.0049d760
add esp, 4
mov edx, 1
imul edx, edx, 0
movsx eax, byte [edx + 0x4fc0b8]
test eax, eax
je 0x49dd9e
push 0x4fc0b8
call fcn.0049d6b0
add esp, 4
mov ecx, 1
imul ecx, ecx, 0
movsx edx, byte [ecx + 0x4fc0b8]
test edx, edx
je 0x49ddc2
push 0x4fc0b8
mov eax, dword [ebp + 8]
push eax
call fcn.004b5e60
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
push 0x4fa370
call fcn.004b5e60
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.00419870
add esp, 4
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0
jne 0x49de05
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.00418e80
add esp, 8
cmp eax, 0xffffffff
jne 0x49decf
mov ecx, dword [ebp + 8]
push ecx
call fcn.0049d2c0
add esp, 4
mov dword [ebp - 0x408], eax
push 0x4f3080
mov edx, dword [ebp + 8]
push edx
call fcn.004b5e70
add esp, 8
mov eax, dword [ebp + 8]
push eax
push 0x4fa370
call fcn.004b5e60
add esp, 8
mov ecx, dword [ebp + 8]
push ecx
call fcn.00419870
add esp, 4
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0
jne 0x49de67
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00418e80
add esp, 8
cmp eax, 0xffffffff
jne 0x49decf
lea eax, [ebp - 0x404]
push eax
mov ecx, dword [ebp - 0x408]
push ecx
push str.ERROR:_Cannot_create_directory__3__d_:__s._nMake_sure_that_you_have_full__read_write_edit_create_delete__privileges_to_this_directory.
lea edx, [ebp - 0x104]
push edx
call fcn.004b6e08
add esp, 0x10
push 0x552c43
push 0x552c44
push 0x4f3110
lea eax, [ebp - 0x104]
push eax
call fcn.00499760
add esp, 0x10
lea ecx, [ebp - 0x104]
push ecx
push 1
call fcn.00440830
add esp, 8
push 0x552c45
push 0x516
push 0x4f3114
call fcn.0042b120
add esp, 0xc
cmp dword [0x54e900], 0
jne 0x49df0c
push 1
mov edx, dword [ebp + 8]
push edx
call fcn.00418e80
add esp, 8
mov dword [ebp - 0x408], eax
cmp dword [ebp - 0x408], 0xffffffff
jne 0x49df0c
push 0x552c46
push 0x521
push str.FindLocalDynEdDirectory
call fcn.0042b120
add esp, 0xc
cmp dword [0x54e900], 0
jne 0x49df1a
call fcn.004873e0
call fcn.0042a900
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b6253
mov esp, ebp
pop ebp
ret