Function at 0x46b320
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x4ec63a
mov eax, dword fs:[0]
push eax
sub esp, 0x638
mov eax, dword [0x53fa2c]
xor eax, esp
mov dword [esp + 0x634], eax
push ebx
mov eax, dword [0x53fa2c]
xor eax, esp
push eax
lea eax, [esp + 0x640]
mov dword fs:[0], eax
mov eax, dword [0x10da2dc]
test eax, eax
je 0x46b492
cmp dword [eax + 0x88], 0
je 0x46b492
mov ecx, dword [0x10dd2b0]
mov ecx, dword [ecx - 0xc]
test ecx, ecx
je 0x46b397
mov ecx, dword [eax + 0x88]
push 0x10dd2b0
add ecx, 0x74
call fcn.00408640
mov eax, dword [0x10da2dc]
mov edx, dword [0x10de368]
cmp dword [edx - 0xc], 0
je 0x46b3bb
mov ecx, dword [eax + 0x88]
push 0x10de368
add ecx, 0x74
call fcn.00408640
mov eax, dword [0x10da2dc]
mov ecx, dword [0x10de384]
cmp dword [ecx - 0xc], 0
je 0x46b3df
mov ecx, dword [eax + 0x88]
push 0x10de384
add ecx, 0x74
call fcn.00408640
mov eax, dword [0x10da2dc]
mov edx, dword [0x10dd39c]
cmp dword [edx - 0xc], 0
je 0x46b466
mov ecx, dword [eax + 0x88]
push 0x10dd39c
add ecx, 0x74
call fcn.00408640
lea eax, [esp + 0x23c]
push eax
push 0
push 0
push 0x25
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea ecx, [esp + 0x23c]
push ecx
lea ecx, [esp + 0xc]
mov byte [esp + 0x243], 0
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov dword [esp + 0x648], 0
mov eax, dword [0x10da2dc]
mov ecx, dword [eax + 0x88]
lea edx, [esp + 8]
push edx
add ecx, 0x74
call fcn.00408640
mov dword [esp + 0x648], 0xffffffff
lea ecx, [esp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
push 0x50bd94
call fcn.004670f0
add esp, 4
cmp eax, 1
jg 0x46b482
call fcn.0049a530
call fcn.0049a6d0
mov ecx, dword [0x10da2dc]
mov dword [ecx + 0x88], 0
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov dword [esp + 0x648], 1
lea edx, [esp + 8]
push edx
call fcn.00465390
add esp, 4
mov byte [esp + 0x648], 2
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_817]
mov byte [esp + 0x648], 1
lea ecx, [esp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
push str.SOFTWAREMicrosoftWindowsCurrentVersionUninstall_
lea ecx, [esp + 0x1c]
call fcn.00456910
mov bl, 3
mov byte [esp + 0x648], bl
push 0x1ff
lea eax, [esp + 0x41]
push 0
push eax
mov byte [esp + 0x48], 0
call sub.MSVCR90.dll_memset
mov edx, dword [0x1038f4c]
add esp, 0xc
push 0x200
lea ecx, [esp + 0x40]
push ecx
push 0xa0
push edx
call dword [sym.imp.USER32.dll_LoadStringA]
push ecx
lea eax, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0xc], esp
push eax
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x64c], 4
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.DisplayName
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x650], 5
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4ff784
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x654], 6
mov byte [esp + 0x654], bl
lea ecx, [esp + 0x24]
call fcn.00457170
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str._trojancut.exe
lea edx, [esp + 0x1c]
push edx
push ecx
call fcn.00402a60
mov byte [esp + 0x658], 7
add esp, 8
mov ecx, esp
mov dword [esp + 0x14], esp
push str.DisplayIcon
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x650], 8
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4ff784
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x654], 9
mov byte [esp + 0x654], bl
lea ecx, [esp + 0x24]
call fcn.00457170
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x1070a96
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x64c], 0xa
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.DisplayVersion
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x650], 0xb
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4ff784
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x654], 0xc
mov byte [esp + 0x654], bl
lea ecx, [esp + 0x24]
call fcn.00457170
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x508b98
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x64c], 0xd
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.Publisher
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x650], 0xe
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4ff784
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x654], 0xf
mov byte [esp + 0x654], bl
lea ecx, [esp + 0x24]
call fcn.00457170
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.http:__www.truecut.co.kr
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x64c], 0x10
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.URLInfoAbout
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x650], 0x11
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4ff784
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x654], 0x12
mov byte [esp + 0x654], bl
lea ecx, [esp + 0x24]
call fcn.00457170
push ecx
mov ecx, esp
lea eax, [esp + 0x18]
mov dword [esp + 0x14], esp
push eax
call dword [sym.imp.mfc90.dll_Ordinal_300]
mov byte [esp + 0x64c], 0x13
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x5034f4
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x650], 0x14
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4ff784
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x654], 0x15
mov byte [esp + 0x654], bl
lea ecx, [esp + 0x24]
call fcn.00457170
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str._tc_un.exe
lea edx, [esp + 0x1c]
push edx
push ecx
call fcn.00402a60
mov byte [esp + 0x658], 0x16
add esp, 8
mov ecx, esp
mov dword [esp + 0x14], esp
push str.UninstallString
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x650], 0x17
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4ff784
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x654], 0x18
mov byte [esp + 0x654], bl
lea ecx, [esp + 0x24]
call fcn.00457170
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.5600
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x64c], 0x19
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push str.EstimatedSize
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x650], 0x1a
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4ff784
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x654], 0x1b
mov byte [esp + 0x654], bl
lea ecx, [esp + 0x24]
call fcn.00457170
push 0x200
lea eax, [esp + 0x440]
push eax
push str.TC_IDATE
push str.SOFTWARETrueCut_tc_INSTALL
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00491b30
add esp, 0x14
cmp eax, 0xffffffff
jne 0x46b854
mov byte [esp + 0x43c], 0
lea ecx, [esp + 0x28]
call sub.mfc90.dll_Ordinal_580
mov byte [esp + 0x648], 0x1c
lea ecx, [esp + 0x43c]
push ecx
lea ecx, [esp + 0xc]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x648], 0x1d
push 0x502aa0
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x10]
push eax
call fcn.00492540
add esp, 0xc
mov byte [esp + 0x648], 0x1c
lea ecx, [esp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov eax, dword [esp + 0x30]
cmp eax, 2
jle 0x46b952
cmp eax, 1
jg 0x46b8bf
call sub.mfc90.dll_Ordinal_1252
mov ecx, dword [esp + 0x2c]
test eax, eax
jg 0x46b8cc
call sub.mfc90.dll_Ordinal_1252
cmp eax, 2
jg 0x46b8d6
call sub.mfc90.dll_Ordinal_1252
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov ecx, dword [ecx + 8]
push edx
push eax
push ecx
lea edx, [esp + 0x20]
push 0x511800
push edx
call dword [sym.imp.mfc90.dll_Ordinal_2539]
add esp, 0x10
lea eax, [esp + 0x18]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call dword [sym.imp.mfc90.dll_Ordinal_300]
mov byte [esp + 0x64c], 0x1e
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x5034cc
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x650], 0x1f
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x4ff784
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x654], 0x20
mov byte [esp + 0x654], 0x1c
lea ecx, [esp + 0x24]
call fcn.00457170
mov byte [esp + 0x648], bl
lea ecx, [esp + 0x28]
call sub.mfc90.dll_Ordinal_781
mov byte [esp + 0x648], 1
lea ecx, [esp + 0x18]
call fcn.00456840
mov dword [esp + 0x648], 0xffffffff
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov ecx, dword [esp + 0x640]
mov dword fs:[0], ecx
pop ecx
pop ebx
mov ecx, dword [esp + 0x634]
xor ecx, esp
call fcn.004e0148
add esp, 0x644
ret