Function at 0x4120a0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x110
mov eax, dword [0x4e0c44]
xor eax, esp
mov dword [esp + 0x10c], eax
mov ecx, 0x104
mov eax, esi
jmp 0x4120c0
cmp byte [eax], 0
je 0x4120cf
add eax, 1
sub ecx, 1
jne 0x4120c0
jmp 0x4120ee
test ecx, ecx
je 0x4120ee
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [esi + eax]
mov eax, 0x4c52fc
call fcn.00413800
push str._NT_SYMBOL_PATH
lea eax, [esp + 8]
push eax
lea ecx, [esp + 8]
push ecx
call fcn.00493957
add esp, 0xc
test eax, eax
je 0x412171
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x41211f
add eax, 1
sub ecx, 1
jne 0x412110
jmp 0x41213e
test ecx, ecx
je 0x41213e
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [esi + eax]
mov eax, 0x4c5310
call fcn.00413800
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x412154
add eax, 1
sub ecx, 1
jne 0x412145
jmp 0x412171
test ecx, ecx
je 0x412171
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [esi + eax]
mov eax, dword [esp]
call fcn.00413800
push str._NT_ALT_SYMBOL_PATH
lea edx, [esp + 8]
push edx
lea eax, [esp + 8]
push eax
call fcn.00493957
add esp, 0xc
test eax, eax
je 0x4121f4
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x4121a2
add eax, 1
sub ecx, 1
jne 0x412193
jmp 0x4121c1
test ecx, ecx
je 0x4121c1
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [esi + eax]
mov eax, 0x4c5310
call fcn.00413800
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x4121d7
add eax, 1
sub ecx, 1
jne 0x4121c8
jmp 0x4121f4
test ecx, ecx
je 0x4121f4
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [esi + eax]
mov eax, dword [esp]
call fcn.00413800
push str.SYSTEMROOT
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 8]
push edx
call fcn.00493957
add esp, 0xc
test eax, eax
je 0x412338
mov ecx, 0x104
mov eax, esi
lea ebx, [ebx]
cmp byte [eax], 0
je 0x41222f
add eax, 1
sub ecx, 1
jne 0x412220
jmp 0x41224e
test ecx, ecx
je 0x41224e
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [eax + esi]
mov eax, 0x4c5310
call fcn.00413800
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x412264
add eax, 1
sub ecx, 1
jne 0x412255
jmp 0x412281
test ecx, ecx
je 0x412281
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [eax + esi]
mov eax, dword [esp]
call fcn.00413800
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x412297
add eax, 1
sub ecx, 1
jne 0x412288
jmp 0x4122b6
test ecx, ecx
je 0x4122b6
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [eax + esi]
mov eax, 0x4c5310
call fcn.00413800
mov ecx, 0x104
mov eax, esi
lea ecx, [ecx]
cmp byte [eax], 0
je 0x4122cf
add eax, 1
sub ecx, 1
jne 0x4122c0
jmp 0x4122ec
test ecx, ecx
je 0x4122ec
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [eax + esi]
mov eax, dword [esp]
call fcn.00413800
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x412315
add eax, 1
sub ecx, 1
jne 0x4122f3
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.0047e4dd
add esp, 0x110
ret
test ecx, ecx
je 0x412475
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [eax + esi]
mov eax, str.System32
jmp 0x412470
push 0x103
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x412475
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x412366
add eax, 1
sub ecx, 1
jne 0x412357
jmp 0x412385
test ecx, ecx
je 0x412385
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [eax + esi]
mov eax, 0x4c5310
call fcn.00413800
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x41239f
add eax, 1
sub ecx, 1
jne 0x412390
jmp 0x4123bd
test ecx, ecx
je 0x4123bd
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [eax + esi]
lea eax, [esp + 8]
call fcn.00413800
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x4123d3
add eax, 1
sub ecx, 1
jne 0x4123c4
jmp 0x4123f2
test ecx, ecx
je 0x4123f2
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [eax + esi]
mov eax, 0x4c5310
call fcn.00413800
mov ecx, 0x104
mov eax, esi
lea esp, [esp]
cmp byte [eax], 0
je 0x41240f
add eax, 1
sub ecx, 1
jne 0x412400
jmp 0x41242d
test ecx, ecx
je 0x41242d
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [eax + esi]
lea eax, [esp + 8]
call fcn.00413800
mov ecx, 0x104
mov eax, esi
cmp byte [eax], 0
je 0x412456
add eax, 1
sub ecx, 1
jne 0x412434
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.0047e4dd
add esp, 0x110
ret
test ecx, ecx
je 0x412475
mov eax, 0x104
sub eax, ecx
mov edx, 0x104
sub edx, eax
lea ecx, [eax + esi]
mov eax, str.System
call fcn.00413800
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.0047e4dd
add esp, 0x110
ret