Function at 0x4638b4
Capabilities:
Get common file path

Disassembly:
push 0x654
mov eax, 0x44c3a3
call fcn.0043bc61
mov dword [ebp - 0x648], edx
mov esi, ecx
mov dword [ebp - 0x650], esi
call fcn.00436c07
test al, al
jne 0x4638e1
xor eax, eax
jmp 0x463ce7
lea ecx, [ebp - 0x644]
call fcn.004647bf
mov ecx, dword [ebp + 4]
mov edi, eax
test edi, edi
jns 0x46397a
push edi
push 0x409960
mov edx, 0x67d
call fcn.0045e47c
xor ebx, ebx
lea eax, [ebp - 0x220]
push 0x208
push ebx
push eax
mov dword [ebp - 0x658], ebx
mov dword [ebp - 0x654], ebx
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x220]
push 0x104
push eax
push ebx
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x658]
call fcn.0046496f
push dword [esi + 8]
lea ecx, [ebp - 0x658]
push dword [esi + 4]
push 0x7e1
call fcn.004649a0
lea ecx, [ebp - 0x658]
mov dword [esi + 0xc], eax
call fcn.0043a882
jmp 0x463ce5
xor ebx, ebx
lea ecx, [ebp - 0x631]
mov byte [ebp - 0x631], bl
call fcn.00465f13
mov ecx, dword [ebp + 4]
mov edi, eax
test edi, edi
jns 0x4639a6
push edi
push 0x409960
mov edx, 0x685
call fcn.0045e47c
mov dword [ebp - 0x640], ebx
mov dword [ebp - 4], ebx
test edi, edi
js 0x463cd9
cmp byte [ebp - 0x631], 0
je 0x463a01
mov ax, word [ebp - 0x644]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0x3a0020
mov dword [ebp - 0x14], 0x5c
mov word [ebp - 0x18], ax
call fcn.00423980
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x640]
call fcn.0045fe08
mov ecx, dword [ebp + 4]
mov edi, eax
test edi, edi
jns 0x463a2c
mov edx, 0x690
jmp 0x463a1c
mov edx, esi
lea ecx, [ebp - 0x640]
call fcn.004643a8
mov ecx, dword [ebp + 4]
mov edi, eax
test edi, edi
jns 0x463a2c
mov edx, 0x695
push edi
push 0x409960
call fcn.0045e47c
jmp 0x463cd9
push 0x407ce8
lea ecx, [ebp - 0x638]
call fcn.004234c2
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x638]
mov ecx, dword [ebp + 4]
neg edi
sbb edi, edi
and edi, 0x7ff8fff2
add edi, 0x8007000e
jns 0x463a62
mov edx, 0x69d
jmp 0x463a94
lea eax, [ebp - 0x640]
push eax
lea ecx, [ebp - 0x638]
call fcn.0045fad1
mov edi, dword [ebp - 0x638]
mov ecx, dword [ebp + 4]
neg edi
sbb edi, edi
and edi, 0x7ff8fff2
add edi, 0x8007000e
jns 0x463aa1
mov edx, 0x6a3
push edi
push 0x409960
call fcn.0045e47c
jmp 0x463af1
call fcn.0043dc56
test al, al
jne 0x463af1
mov eax, dword [ebp - 0x648]
push ebx
push 1
push dword [ebp - 0x638]
mov esi, dword [eax]
push eax
mov ecx, dword [esi + 0xc]
call dword [0x4a3670]
call dword [esi + 0xc]
push dword [ebp - 0x638]
mov edi, eax
push 0x4099a0
push edi
push 0x409960
push 0x6aa
push dword [ebp + 4]
call fcn.00464a2e
mov esi, dword [ebp - 0x650]
add esp, 0x18
mov byte [ebp - 4], bl
push dword [ebp - 0x638]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
js 0x463cd9
call fcn.0043dc56
test al, al
jne 0x463cd9
lea eax, [ebp - 0x428]
push eax
push 1
push ebx
push 0x16
push ebx
call dword [sym.imp.ext_ms_win_shell32_shellfolders_l1_1_0.dll_SHGetFolderPathW]
mov edi, eax
test edi, edi
js 0x463c2c
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x64c]
call fcn.004234c2
mov byte [ebp - 4], 2
mov esi, 0x8007000e
mov edi, dword [ebp - 0x64c]
mov ecx, dword [ebp + 4]
neg edi
sbb edi, edi
and edi, 0x7ff8fff2
add edi, esi
jns 0x463b79
push edi
push 0x409960
mov edx, 0x6b8
call fcn.0045e47c
jmp 0x463c1b
push 0x407ce8
lea ecx, [ebp - 0x63c]
call fcn.004234c2
mov byte [ebp - 4], 3
cmp dword [ebp - 0x63c], 0
jne 0x463ba0
mov edi, esi
mov edx, 0x6be
push esi
jmp 0x463bc9
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp - 0x63c]
call fcn.0045faf5
mov esi, dword [ebp - 0x63c]
test esi, esi
jne 0x463bd8
mov eax, 0x8007000e
mov edx, 0x6c4
mov edi, eax
push eax
mov ecx, dword [ebp + 4]
push 0x409960
call fcn.0045e47c
jmp 0x463c0f
mov eax, dword [ebp - 0x648]
push ebx
push 1
push esi
mov edi, dword [eax]
push eax
mov ecx, dword [edi + 0xc]
call dword [0x4a3670]
call dword [edi + 0xc]
push esi
push 0x4099a0
mov edi, eax
push edi
push 0x409960
push 0x6c9
push dword [ebp + 4]
call fcn.00464a2e
add esp, 0x18
push dword [ebp - 0x63c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x64c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x463cd9
cmp edi, 0x80070057
jne 0x463c3b
mov edi, ebx
jmp 0x463cd9
mov ecx, dword [ebp + 4]
mov edx, 0x6d5
push edi
push 0x409960
call fcn.004649e6
push 0x208
lea eax, [ebp - 0x630]
mov dword [ebp - 0x660], ebx
push ebx
push eax
mov dword [ebp - 0x65c], ebx
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x630]
push 0x104
push eax
push ebx
call dword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_GetModuleFileNameW]
lea eax, [ebp - 0x630]
push eax
lea ecx, [ebp - 0x660]
call fcn.0046496f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x660]
push dword [esi + 8]
push dword [esi + 4]
push 0x7df
call fcn.004649a0
mov edx, dword [esi]
push 0xffffffffffffffff
mov dword [esi + 0xc], eax
push eax
mov esi, dword [edx + 0x10]
mov ecx, esi
push 0x4099b0
call dword [0x4a3670]
mov ecx, dword [ebp - 0x650]
call esi
lea ecx, [ebp - 0x660]
call fcn.0043a882
push dword [ebp - 0x640]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, edi
call fcn.0043bc10
ret