Function at 0x43635a
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
mov eax, dword [0x4434f4]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 8], 0
push ebx
push esi
push edi
mov edi, edx
mov ebx, ecx
mov esi, 0x80004005
test edi, edi
jne 0x436387
lea eax, [esi - 2]
jmp 0x4366ee
lea eax, [ebp - 8]
push eax
push 0x4043d0
push ebx
call dword [sym.imp.msvcrt.dll_swscanf]
add esp, 0xc
test eax, eax
jne 0x4363a8
mov eax, 0x80070057
jmp 0x4366ee
mov eax, dword [ebp - 8]
cmp eax, 0xffffffff
je 0x43639e
cmp eax, 0x19
ja 0x4365df
je 0x4365c8
cmp eax, 0x11
ja 0x4364c6
je 0x436486
sub eax, 0
je 0x4366ec
sub eax, 1
je 0x436452
sub eax, 9
je 0x4365c8
sub eax, 1
je 0x43643c
sub eax, 1
jne 0x4366ec
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x436405
xor esi, esi
jmp 0x436429
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x436416
push 0x57
pop esi
test esi, esi
jle 0x436421
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x4366ec
push 0x409934
mov edx, edi
mov ecx, ebx
call fcn.0040c045
jmp 0x4366ec
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
jmp 0x4365d2
xor esi, esi
jmp 0x4366ec
push ebx
shr edi, 1
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
jmp 0x4365d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x436472
push 0x57
pop esi
test esi, esi
jle 0x4366ec
movzx esi, si
or esi, 0x80070000
jmp 0x4366ec
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x436498
xor esi, esi
jmp 0x4364bc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x4364a9
push 0x57
pop esi
test esi, esi
jle 0x4364b4
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x4366ec
push 0x409948
jmp 0x43642e
sub eax, 0x12
je 0x436588
dec eax
sub eax, 1
je 0x436548
sub eax, 1
je 0x4366ec
dec eax
sub eax, 1
je 0x4366ec
sub eax, 1
jne 0x4366ec
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x436503
xor esi, esi
jmp 0x436527
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x436514
push 0x57
pop esi
test esi, esi
jle 0x43651f
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x4366ec
push 0x4043d8
push ebx
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
test eax, eax
je 0x4366ec
xor ecx, ecx
mov word [eax + 4], cx
jmp 0x4366ec
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x43655a
xor esi, esi
jmp 0x43657e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x43656b
push 0x57
pop esi
test esi, esi
jle 0x436576
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x4366ec
push 0x409960
jmp 0x43642e
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x43659a
xor esi, esi
jmp 0x4365be
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x4365ab
push 0x57
pop esi
test esi, esi
jle 0x4365b6
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x4366ec
push 0x409954
jmp 0x43642e
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
jne 0x43644b
jmp 0x436461
cmp eax, 0x4019
ja 0x436691
cmp eax, 0x4016
jae 0x4366ec
cmp eax, 0x1e
je 0x4366ec
cmp eax, 0x32
je 0x4366ec
cmp eax, 0x33
je 0x436655
cmp eax, 0x34
jne 0x4366ec
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x436627
xor esi, esi
jmp 0x43664b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x436638
push 0x57
pop esi
test esi, esi
jle 0x436643
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x4366ec
push 0x409980
jmp 0x43642e
shr edi, 1
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test eax, eax
je 0x436667
xor esi, esi
jmp 0x436687
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
test esi, esi
jne 0x436678
push 0x57
pop esi
test esi, esi
jle 0x436683
movzx esi, si
or esi, 0x80070000
test esi, esi
jne 0x4366ec
push 0x409970
jmp 0x43642e
sub eax, 0x401f
je 0x4366ec
sub eax, 4
je 0x4366df
sub eax, 3
je 0x4366d2
sub eax, 5
je 0x4366c5
sub eax, 0x3825
jne 0x4366ec
xor edx, edx
mov ecx, ebx
inc edx
call fcn.0041fda0
neg eax
sbb eax, eax
and eax, 0x7fffbffb
add esi, eax
jmp 0x4366ec
shr edi, 1
mov ecx, ebx
mov edx, edi
call fcn.00435ca2
jmp 0x4366ea
shr edi, 1
mov ecx, ebx
mov edx, edi
call fcn.004358e8
jmp 0x4366ea
shr edi, 1
mov ecx, ebx
mov edx, edi
call fcn.00435ec8
mov esi, eax
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00441b90
mov esp, ebp
pop ebp
ret