Function at 0x401700
Capabilities:
Contain obfuscated stackstrings
Copy file
Create process on windows
Delete file
Get common file path
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43ceeb
mov eax, dword fs:[0]
push eax
sub esp, 0x3fc
mov eax, dword [0x452550]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x447f2c
call fcn.00413e30
add esp, 4
test eax, eax
je 0x401768
push ecx
mov ecx, esp
mov dword [ebp - 0x364], esp
push 0x447f38
call fcn.00404bb0
mov dword [ebp - 0x400], eax
call fcn.00414310
add esp, 4
push 0x320
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x447f44
call fcn.00413e30
add esp, 4
test eax, eax
je 0x4017a5
push ecx
mov ecx, esp
mov dword [ebp - 0x408], esp
push str.Update.exe
call fcn.00404bb0
mov dword [ebp - 0x36c], eax
call fcn.00414310
add esp, 4
push 0x320
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x447f5c
call fcn.00413e30
add esp, 4
test eax, eax
je 0x4017e2
push ecx
mov ecx, esp
mov dword [ebp - 0x3bc], esp
push str.regsvr32.exe
call fcn.00404bb0
mov dword [ebp - 0x374], eax
call fcn.00414310
add esp, 4
push 0x320
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x22c]
call fcn.00404060
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x21c]
call fcn.00404060
mov byte [ebp - 4], 1
lea eax, [ebp - 0x22c]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x3e4], esp
push 0x447f7c
call fcn.00404bb0
mov dword [ebp - 0x37c], eax
push SysReAllocStringLen
call fcn.00404ff0
add esp, 0xc
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x2b8], 0
je 0x401856
lea ecx, [ebp - 0x22c]
push ecx
lea ecx, [ebp - 0x21c]
call fcn.004041e0
jmp 0x401992
lea edx, [ebp - 0x318]
push edx
call fcn.00413c10
add esp, 4
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x2f0], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x274]
push ecx
call fcn.00402f30
add esp, 4
mov dword [ebp - 0x2b4], eax
mov edx, dword [ebp - 0x2b4]
mov dword [ebp - 0x2e8], edx
mov byte [ebp - 4], 3
push 0x447f88
mov eax, dword [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x310]
push ecx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x24c], eax
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x254], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x2f0]
push eax
mov ecx, dword [ebp - 0x254]
push ecx
lea edx, [ebp - 0x26c]
push edx
call fcn.004032b0
add esp, 0xc
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x25c], eax
mov byte [ebp - 4], 5
push 0x447f84
mov ecx, dword [ebp - 0x25c]
push ecx
lea edx, [ebp - 0x308]
push edx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x264], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x21c]
call fcn.004041e0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x308]
call fcn.00404200
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x26c]
call fcn.00404200
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x310]
call fcn.00404200
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x274]
call fcn.00404200
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x318]
call fcn.00404200
push ecx
mov ecx, esp
mov dword [ebp - 0x3c4], esp
lea edx, [ebp - 0x21c]
push edx
call fcn.00403ea0
mov dword [ebp - 0x384], eax
call fcn.00414520
add esp, 4
mov dword [ebp - 0x27c], eax
cmp dword [ebp - 0x27c], 0
jne 0x401ab1
lea eax, [ebp - 0x340]
push eax
call fcn.00413c10
add esp, 4
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x320]
mov dword [ebp - 0x284], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x284]
push edx
push 0x447f90
lea eax, [ebp - 0x29c]
push eax
call fcn.00403a40
add esp, 0xc
mov dword [ebp - 0x328], eax
mov ecx, dword [ebp - 0x328]
mov dword [ebp - 0x28c], ecx
mov byte [ebp - 4], 8
push 0x447f8c
mov edx, dword [ebp - 0x28c]
push edx
lea eax, [ebp - 0x338]
push eax
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x294], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x294]
push edx
lea ecx, [ebp - 0x21c]
call fcn.004041e0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x338]
call fcn.00404200
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x29c]
call fcn.00404200
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x340]
call fcn.00404200
push ecx
mov ecx, esp
mov dword [ebp - 0x404], esp
lea eax, [ebp - 0x21c]
push eax
call fcn.00403ea0
mov dword [ebp - 0x38c], eax
call fcn.00414520
add esp, 4
mov byte [ebp - 0x114], 0
push 0x103
push 0
lea ecx, [ebp - 0x113]
push ecx
call fcn.00429bc0
add esp, 0xc
mov byte [ebp - 0x218], 0
push 0x103
push 0
lea edx, [ebp - 0x217]
push edx
call fcn.00429bc0
add esp, 0xc
mov dword [ebp - 0x2a4], 0x104
lea eax, [ebp - 0x114]
push eax
mov ecx, dword [ebp - 0x2a4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x104
lea edx, [ebp - 0x218]
push edx
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameA]
lea ecx, [ebp - 0x114]
push ecx
lea ecx, [ebp - 0x220]
call fcn.00404bb0
mov byte [ebp - 4], 0xa
push 0x5c
lea ecx, [ebp - 0x220]
call fcn.00403080
push eax
push 0
lea edx, [ebp - 0x350]
push edx
lea ecx, [ebp - 0x220]
call fcn.004030d0
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x2ac], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x2ac]
push ecx
lea ecx, [ebp - 0x220]
call fcn.004041e0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x350]
call fcn.00404200
push 0x5c
lea ecx, [ebp - 0x220]
call fcn.00403080
push eax
push 0
lea edx, [ebp - 0x2bc]
push edx
lea ecx, [ebp - 0x220]
call fcn.004030d0
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x30c], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x30c]
push ecx
lea ecx, [ebp - 0x220]
call fcn.004041e0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2bc]
call fcn.00404200
push ecx
mov edx, esp
mov dword [ebp - 0x3cc], esp
push 0x447fa4
lea eax, [ebp - 0x21c]
push eax
push edx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x394], eax
call fcn.00401620
add esp, 4
push 0x447fb0
lea ecx, [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x314]
push edx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x2c4], eax
mov byte [ebp - 4], 0xd
push 0
push 0
lea ecx, [ebp - 0x21c]
call fcn.00403660
push eax
mov ecx, dword [ebp - 0x2c4]
call fcn.00403660
push eax
call fcn.00412df0
add esp, 0x10
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x314]
call fcn.00404200
push 0x447fbc
lea ecx, [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x33c]
push edx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x2cc]
call fcn.00403660
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x33c]
call fcn.00404200
push ecx
mov ecx, esp
mov dword [ebp - 0x3ec], esp
push 0x447fc8
call fcn.00404bb0
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2d4]
mov dword [ebp - 0x39c], eax
mov byte [ebp - 4], 0xe
push ecx
mov ecx, esp
mov dword [ebp - 0x3d4], esp
push 0x447fd0
lea edx, [ebp - 0x21c]
push edx
push ecx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x3a4], eax
mov byte [ebp - 4], 0xa
call fcn.0040a350
add esp, 8
push ecx
mov ecx, esp
mov dword [ebp - 0x3fc], esp
push 0x447fdc
call fcn.00404bb0
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x31c]
mov dword [ebp - 0x3ac], eax
mov byte [ebp - 4], 0xf
push ecx
mov ecx, esp
mov dword [ebp - 0x3dc], esp
push 0x447fe4
call fcn.00404bb0
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x3b4], ecx
mov byte [ebp - 4], 0x10
push ecx
mov edx, esp
mov dword [ebp - 0x3f4], esp
push 0x447fec
lea eax, [ebp - 0x21c]
push eax
push edx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x368], eax
mov byte [ebp - 4], 0xa
call fcn.0040a460
add esp, 0xc
push 0x447ff8
lea ecx, [ebp - 0x230]
call fcn.00404bb0
mov byte [ebp - 4], 0x11
push 0x448000
lea ecx, [ebp - 0x230]
call fcn.00403d50
push ecx
mov ecx, esp
mov dword [ebp - 0x370], esp
lea edx, [ebp - 0x230]
push edx
call fcn.00403ea0
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x35c]
mov dword [ebp - 0x378], eax
mov byte [ebp - 4], 0x12
push ecx
mov ecx, esp
mov dword [ebp - 0x380], esp
push 0x448008
call fcn.00404bb0
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x2e4]
mov dword [ebp - 0x388], ecx
mov byte [ebp - 4], 0x13
push ecx
mov edx, esp
mov dword [ebp - 0x390], esp
push 0x448010
lea eax, [ebp - 0x21c]
push eax
push edx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x398], eax
mov byte [ebp - 4], 0x11
call fcn.0040a460
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x3a0], esp
push 0x448020
call fcn.00404bb0
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x3a8], ecx
mov byte [ebp - 4], 0x14
push ecx
mov edx, esp
mov dword [ebp - 0x3b0], esp
push 0x448028
lea eax, [ebp - 0x21c]
push eax
push edx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x3b8], eax
mov byte [ebp - 4], 0x11
call fcn.0040a5d0
add esp, 8
push ecx
mov ecx, esp
mov dword [ebp - 0x3c0], esp
push 0x448034
call fcn.00404bb0
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2ec]
mov dword [ebp - 0x3c8], ecx
mov byte [ebp - 4], 0x15
push ecx
mov edx, esp
mov dword [ebp - 0x3d0], esp
push 0x44803c
lea eax, [ebp - 0x21c]
push eax
push edx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x3d8], eax
mov byte [ebp - 4], 0x11
call fcn.00404db0
add esp, 8
push ecx
mov ecx, esp
mov dword [ebp - 0x3e0], esp
push 0x448048
call fcn.00404bb0
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x344]
mov dword [ebp - 0x3e8], ecx
mov byte [ebp - 4], 0x16
push ecx
mov edx, esp
mov dword [ebp - 0x3f0], esp
push 0x448050
lea eax, [ebp - 0x21c]
push eax
push edx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x3f8], eax
mov byte [ebp - 4], 0x11
call fcn.00404e70
add esp, 8
call fcn.004024c0
lea ecx, [ebp - 0x228]
push ecx
call fcn.00402dc0
add esp, 4
mov byte [ebp - 4], 0x17
call fcn.00413a50
test eax, eax
je 0x401f73
mov dword [ebp - 0x23c], 0x44805c
jmp 0x401f7d
mov dword [ebp - 0x23c], 0x448070
mov edx, dword [ebp - 0x23c]
push edx
lea ecx, [ebp - 0x224]
call fcn.00404bb0
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x228]
push eax
push str.regsvr32__u__s__
lea ecx, [ebp - 0x334]
push ecx
call fcn.00403a40
add esp, 0xc
mov dword [ebp - 0x2f4], eax
mov edx, dword [ebp - 0x2f4]
mov dword [ebp - 0x32c], edx
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x224]
push eax
mov ecx, dword [ebp - 0x32c]
push ecx
lea edx, [ebp - 0x304]
push edx
call fcn.004032b0
add esp, 0xc
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x354], eax
mov byte [ebp - 4], 0x1a
push 0x448084
mov ecx, dword [ebp - 0x354]
push ecx
lea edx, [ebp - 0x234]
push edx
call fcn.00403c00
add esp, 0xc
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x304]
call fcn.00404200
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x334]
call fcn.00404200
push 0
lea ecx, [ebp - 0x234]
call fcn.00403660
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x228]
push ecx
lea edx, [ebp - 0x240]
push edx
call fcn.004032b0
add esp, 0xc
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x2b0]
call fcn.00403660
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x240]
call fcn.00404200
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x228]
push ecx
lea edx, [ebp - 0x2e0]
push edx
call fcn.004032b0
add esp, 0xc
mov dword [ebp - 0x2c0], eax
mov eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x2c8], eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x224]
push ecx
lea edx, [ebp - 0x21c]
push edx
lea eax, [ebp - 0x2d8]
push eax
call fcn.004032b0
add esp, 0xc
mov dword [ebp - 0x2d0], eax
push 0
mov ecx, dword [ebp - 0x2c8]
call fcn.00403660
push eax
mov ecx, dword [ebp - 0x2d0]
call fcn.00403660
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [ebp - 0x2d8]
call fcn.00404200
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x2e0]
call fcn.00404200
lea ecx, [ebp - 0x21c]
push ecx
push 0x4480ac
lea edx, [ebp - 0x278]
push edx
call fcn.00403a40
add esp, 0xc
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x248], eax
mov byte [ebp - 4], 0x1f
push 0x4480a0
mov ecx, dword [ebp - 0x248]
push ecx
lea edx, [ebp - 0x270]
push edx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x258], eax
mov byte [ebp - 4], 0x20
push 0x44809c
mov ecx, dword [ebp - 0x258]
push ecx
lea edx, [ebp - 0x268]
push edx
call fcn.00403c00
add esp, 0xc
mov dword [ebp - 0x260], eax
push 0
mov ecx, dword [ebp - 0x260]
call fcn.00403660
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
lea ecx, [ebp - 0x268]
call fcn.00404200
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x270]
call fcn.00404200
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x278]
call fcn.00404200
lea eax, [ebp - 0x228]
push eax
push 0x4480b4
lea ecx, [ebp - 0x2a8]
push ecx
call fcn.00403a40
add esp, 0xc
mov dword [ebp - 0x280], eax
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x288], edx
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x224]
push eax
mov ecx, dword [ebp - 0x288]
push ecx
lea edx, [ebp - 0x2a0]
push edx
call fcn.004032b0
add esp, 0xc
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x298], eax
mov byte [ebp - 4], 0x22
push 0x4480b0
mov ecx, dword [ebp - 0x298]
push ecx
lea edx, [ebp - 0x238]
push edx
call fcn.00403c00
add esp, 0xc
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x2a0]
call fcn.00404200
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x2a8]
call fcn.00404200
push 0
lea ecx, [ebp - 0x238]
call fcn.00403660
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
push 0
call fcn.004286ee
lea ecx, [ebp - 0x238]
call fcn.00404200
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x234]
call fcn.00404200
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x224]
call fcn.00404200
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x228]
call fcn.00404200
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x230]
call fcn.00404200
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x220]
call fcn.00404200
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x21c]
call fcn.00404200
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x22c]
call fcn.00404200
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00427fb1
mov esp, ebp
pop ebp
ret