Function at 0x46ca40
Capabilities:
Access peb ldr_data
Copy file
Get number of processors
Get process heap flags
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x4eca6a
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
mov eax, dword [0x53fa2c]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
lea ecx, [esp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov dword [esp + 0x60], 0
push str.SOFTWARETrueCut_
lea ecx, [esp + 0x4c]
call fcn.00456910
mov byte [esp + 0x60], 1
push str._truecutsecurity
lea ecx, [esp + 0x38]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov bl, 2
mov byte [esp + 0x60], bl
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push eax
push str.C:Program_Files
push ecx
call fcn.00410070
mov byte [esp + 0x70], 3
add esp, 8
mov ecx, esp
mov dword [esp + 0x48], esp
push str.TC_InstallPath
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x68], 4
push ecx
mov ecx, esp
mov dword [esp + 0x50], esp
push str.tc_INSTALL
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x6c], 5
lea edx, [esp + 0x3c]
push edx
mov byte [esp + 0x70], bl
lea ecx, [esp + 0x58]
call fcn.00457a60
mov byte [esp + 0x60], 6
push eax
lea ecx, [esp + 0xc]
call dword [sym.imp.mfc90.dll_Ordinal_817]
mov byte [esp + 0x60], bl
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], 1
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_601]
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_300]
mov byte [esp + 0x60], 7
push str._trojancut.exe
lea ecx, [esp + 0xc]
call dword [sym.imp.mfc90.dll_Ordinal_945]
push str._tc_au.exe
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_945]
push 0x4ff418
push 0x502d68
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc90.dll_Ordinal_5924]
push 0x4ff418
push 0x502d68
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_5924]
lea ecx, [esp + 0x38]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov byte [esp + 0x60], 8
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov byte [esp + 0x60], 9
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov byte [esp + 0x60], 0xa
lea ecx, [esp + 0xc]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov byte [esp + 0x60], 0xb
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov byte [esp + 0x60], 0xc
lea ecx, [esp + 0x28]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov byte [esp + 0x60], 0xd
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov byte [esp + 0x60], 0xe
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov byte [esp + 0x60], 0xf
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov bl, 0x10
mov byte [esp + 0x60], bl
push 0x4ff784
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x60], 0x11
push str._Patch_Server
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.00402a60
add esp, 0xc
mov byte [esp + 0x60], 0x12
push eax
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_817]
mov byte [esp + 0x60], 0x11
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], bl
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90.dll_Ordinal_601]
push 0x4ff784
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x60], 0x13
push str._Server
push eax
lea edx, [esp + 0x3c]
push edx
call fcn.00402a60
add esp, 0xc
mov byte [esp + 0x60], 0x14
push eax
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_817]
mov byte [esp + 0x60], 0x13
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], bl
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90.dll_Ordinal_601]
push 0x4ff784
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x60], 0x15
push str._Server_Connect
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00402a60
add esp, 0xc
mov byte [esp + 0x60], 0x16
push eax
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc90.dll_Ordinal_817]
mov byte [esp + 0x60], 0x15
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], bl
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90.dll_Ordinal_601]
push 0x4ff784
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x60], 0x17
push str._Patch_Server_Connect
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.00402a60
add esp, 0xc
mov byte [esp + 0x60], 0x18
push eax
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90.dll_Ordinal_817]
mov byte [esp + 0x60], 0x17
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], bl
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90.dll_Ordinal_601]
push 0x4ff784
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x60], 0x19
push str._Patch_Server_in
push eax
lea edx, [esp + 0x3c]
push edx
call fcn.00402a60
add esp, 0xc
mov byte [esp + 0x60], 0x1a
push eax
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc90.dll_Ordinal_817]
mov byte [esp + 0x60], 0x19
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], bl
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90.dll_Ordinal_601]
push 0x4ff784
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x60], 0x1b
push str._Patch_Server_out
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00402a60
add esp, 0xc
mov byte [esp + 0x60], 0x1c
push eax
lea ecx, [esp + 0x28]
call dword [sym.imp.mfc90.dll_Ordinal_817]
mov byte [esp + 0x60], 0x1b
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], bl
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90.dll_Ordinal_601]
push 0x4ff784
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x60], 0x1d
push str._Server_in
push eax
lea ecx, [esp + 0x3c]
push ecx
call fcn.00402a60
add esp, 0xc
mov byte [esp + 0x60], 0x1e
push eax
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90.dll_Ordinal_817]
mov byte [esp + 0x60], 0x1d
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], bl
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90.dll_Ordinal_601]
push 0x4ff784
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_310]
mov byte [esp + 0x60], 0x1f
push str._Server_out
push eax
lea edx, [esp + 0x3c]
push edx
call fcn.00402a60
add esp, 0xc
mov byte [esp + 0x60], 0x20
push eax
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_817]
mov byte [esp + 0x60], 0x1f
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], bl
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90.dll_Ordinal_601]
cmp dword [0x53f200], 0x501
jg 0x46ced9
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
push eax
push ecx
call fcn.0046c670
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
push edx
push eax
call fcn.0046c670
add esp, 0x10
jmp 0x46cf67
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0xc]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ecx
push 0x505018
push 1
push 1
call fcn.0046c770
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x44]
push eax
push ecx
push edx
push 0x505018
push 0
push 1
call fcn.0046c770
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x5c]
push ecx
push edx
push eax
push 0x505018
push 1
push 1
call fcn.0046c770
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
add esp, 0x54
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
push ecx
push 0x505018
push 0
push 1
call fcn.0046c770
add esp, 0x1c
test dword [0x53f200], 0x500
je 0x46cfdc
push 0
push 1
push str.C:Program_FilesTrueCutSecuritygdiplus.dll
call fcn.0046aae0
add esp, 0xc
test eax, eax
jne 0x46cfdc
lea edx, [esp + 0x30]
push edx
call fcn.00465390
mov byte [esp + 0x64], 0x21
push str.gdiplus.dll
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00402a60
add esp, 0x10
mov byte [esp + 0x60], 0x22
mov eax, dword [eax]
push 0
push eax
push str.C:OPOSApplicationStore21BINgdiplus.dll
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov byte [esp + 0x60], 0x21
lea ecx, [esp + 0x34]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], bl
lea ecx, [esp + 0x30]
call dword [sym.imp.mfc90.dll_Ordinal_601]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [esp + 0x60], 0xf
lea ecx, [esp + 0x1c]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], 0xe
lea ecx, [esp + 0x20]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], 0xd
lea ecx, [esp + 0x24]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], 0xc
lea ecx, [esp + 0x28]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], 0xb
lea ecx, [esp + 0x2c]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], 0xa
lea ecx, [esp + 0xc]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], 9
lea ecx, [esp + 0x14]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], 8
lea ecx, [esp + 0x18]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], 7
lea ecx, [esp + 0x38]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], 1
lea ecx, [esp + 0x10]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov byte [esp + 0x60], 0
lea ecx, [esp + 0x48]
call fcn.00456840
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 8]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop ebx
add esp, 0x5c
ret