Function at 0x405070
Capabilities:
Contain obfuscated stackstrings
Copy file
Delete file
Delete registry key
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x4399e5
mov eax, dword fs:[0]
push eax
sub esp, 0x32c
mov eax, dword [0x44a6a0]
xor eax, esp
mov dword [esp + 0x328], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x44a6a0]
xor eax, esp
push eax
lea eax, [esp + 0x340]
mov dword fs:[0], eax
mov eax, dword [esp + 0x3c0]
xor ebp, ebp
add eax, 0xffffffff
mov ebx, 0x1f
cmp eax, ebx
mov dword [esp + 0x348], ebp
mov dword [esp + 0x18], ebp
ja case.0x4050d6.3
movzx eax, byte [eax + 0x405ff4]
jmp dword [eax*4 + 0x405fc4]
push ebp
mov esi, 1
push esi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x440c40
call fcn.00404b20
sub esp, 0x1c
mov byte [esp + 0x388], 1
lea edx, [esp + 0x390]
mov ecx, esp
mov dword [esp + 0x60], esp
push edx
call fcn.00404880
sub esp, 0x1c
mov byte [esp + 0x3a4], 2
mov ecx, esp
mov dword [esp + 0x70], esp
push str.PcManager.exe
call fcn.00404b20
mov byte [esp + 0x3a4], 0
call fcn.00406b10
add esp, 0x5c
cmp eax, ebp
jne 0x40528c
push str.PcManager.exe
lea ecx, [esp + 0x60]
call fcn.00404b20
push eax
lea eax, [esp + 0x38c]
push eax
lea edi, [esp + 0x304]
mov byte [esp + 0x350], 3
call fcn.00403a70
add esp, 8
lea ecx, [esp + 0x5c]
mov byte [esp + 0x348], 5
call fcn.00404c30
push str.PcManager.exe
lea ecx, [esp + 0x98]
call fcn.00404b20
push eax
lea ecx, [esp + 0x354]
push ecx
lea edi, [esp + 0x324]
mov byte [esp + 0x350], 6
call fcn.00403a70
add esp, 8
mov bl, 8
lea ecx, [esp + 0x94]
mov byte [esp + 0x348], bl
call fcn.00404c30
mov ecx, dword [esp + 0x320]
mov ebp, 0x10
cmp dword [esp + 0x334], ebp
jae 0x4051e9
lea ecx, [esp + 0x320]
cmp dword [esp + 0x314], ebp
mov eax, dword [esp + 0x300]
jae 0x405200
lea eax, [esp + 0x300]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
je 0x405274
push 0
push esi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x440c40
call fcn.00404b20
sub esp, 0x1c
mov byte [esp + 0x388], 9
lea edx, [esp + 0x390]
mov ecx, esp
mov dword [esp + 0x60], esp
push edx
call fcn.00404880
sub esp, 0x1c
mov byte [esp + 0x3a4], 0xa
mov ecx, esp
mov dword [esp + 0x78], esp
push str.PcManager.exe
call fcn.00404b20
mov byte [esp + 0x3a4], bl
call fcn.00406b10
add esp, 0x5c
test eax, eax
je 0x405274
mov dword [esp + 0x18], esi
lea ecx, [esp + 0x31c]
call fcn.00404c30
lea ecx, [esp + 0x2fc]
jmp 0x405f85
mov dword [esp + 0x18], esi
jmp case.0x4050d6.3
push ebp
push ebp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x440c40
call fcn.00404b20
sub esp, 0x1c
mov byte [esp + 0x388], 0xb
lea eax, [esp + 0x390]
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call fcn.00404880
sub esp, 0x1c
mov byte [esp + 0x3a4], 0xc
mov ecx, esp
mov dword [esp + 0x78], esp
push str.MonManager.exe
call fcn.00404b20
mov byte [esp + 0x3a4], 0
call fcn.00406b10
add esp, 0x5c
mov dword [esp + 0x18], eax
jmp case.0x4050d6.3
push ebp
push ebp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x440ccc
call fcn.00404b20
sub esp, 0x1c
mov byte [esp + 0x388], 0xd
lea edx, [esp + 0x390]
mov ecx, esp
mov dword [esp + 0x60], esp
push edx
call fcn.00404880
sub esp, 0x1c
mov byte [esp + 0x3a4], 0xe
mov ecx, esp
mov dword [esp + 0x78], esp
push str.SerManager.exe
call fcn.00404b20
mov byte [esp + 0x3a4], 0
call fcn.00406b10
add esp, 0x5c
cmp eax, ebp
je case.0x4050d6.3
push ebp
push ebp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x440cd0
call fcn.00404b20
sub esp, 0x1c
mov byte [esp + 0x388], 0xf
lea eax, [esp + 0x390]
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
call fcn.00404880
sub esp, 0x1c
mov byte [esp + 0x3a4], 0x10
mov ecx, esp
mov dword [esp + 0x78], esp
push str.SerManager.exe
jmp 0x4052de
mov eax, dword [0x4408dc]
mov ecx, dword [str.stop_right_now]
mov edx, dword [0x4408d8]
mov dword [esp + 0x304], eax
xor eax, eax
mov dword [esp + 0x30b], eax
mov dword [esp + 0x30f], eax
mov dword [esp + 0x313], eax
mov word [esp + 0x317], ax
mov byte [esp + 0x319], al
mov dword [esp + 0x2fc], ecx
mov cx, word [0x4408e0]
mov dword [esp + 0x300], edx
mov dl, byte [0x4408e2]
lea eax, [esp + 0x2fc]
push 0x440c94
push eax
mov word [esp + 0x310], cx
mov byte [esp + 0x312], dl
call fcn.00404e00
add esp, 8
mov dword [esp + 0x18], eax
jmp case.0x4050d6.3
mov eax, dword [0x4408dc]
mov ecx, dword [str.stop_right_now]
mov edx, dword [0x4408d8]
mov dword [esp + 0x304], eax
xor eax, eax
mov dword [esp + 0x30b], eax
mov dword [esp + 0x30f], eax
mov dword [esp + 0x313], eax
mov word [esp + 0x317], ax
mov byte [esp + 0x319], al
mov dword [esp + 0x2fc], ecx
mov cx, word [0x4408e0]
mov dword [esp + 0x300], edx
mov dl, byte [0x4408e2]
lea eax, [esp + 0x2fc]
push str.MonStatus
push eax
mov word [esp + 0x310], cx
mov byte [esp + 0x312], dl
call fcn.00404e00
add esp, 8
mov dword [esp + 0x18], eax
jmp case.0x4050d6.3
mov ecx, dword [str.stop_right_now]
mov edx, dword [0x4408d8]
mov eax, dword [0x4408dc]
mov dword [esp + 0x31c], ecx
mov cx, word [0x4408e0]
mov dword [esp + 0x320], edx
mov dl, byte [0x4408e2]
mov dword [esp + 0x324], eax
xor eax, eax
mov word [esp + 0x328], cx
push str.MonManager.exe
lea ecx, [esp + 0x258]
mov byte [esp + 0x32e], dl
mov dword [esp + 0x32f], eax
mov dword [esp + 0x333], eax
mov dword [esp + 0x337], eax
mov word [esp + 0x33b], ax
mov byte [esp + 0x33d], al
call fcn.00404b20
push eax
lea eax, [esp + 0x354]
push eax
lea edi, [esp + 0x304]
mov byte [esp + 0x350], 0x11
call fcn.00403a70
add esp, 8
mov bl, 0x13
lea ecx, [esp + 0x254]
mov byte [esp + 0x348], bl
call fcn.00404c30
mov eax, edi
call fcn.00406ac0
test eax, eax
jne 0x405592
mov ecx, edi
call fcn.00404c30
lea esi, [esp + 0x350]
call fcn.00401110
mov eax, 1
jmp 0x405f9a
lea ecx, [esp + 0x31c]
push str.MonStatus
push ecx
call fcn.00404e00
add esp, 8
test eax, eax
je 0x40560c
push ebp
push ebp
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 0x440cd4
call fcn.00404b20
sub esp, 0x1c
mov byte [esp + 0x388], 0x14
lea edx, [esp + 0x390]
mov ecx, esp
mov dword [esp + 0x60], esp
push edx
call fcn.00404880
sub esp, 0x1c
mov byte [esp + 0x3a4], 0x15
mov ecx, esp
mov dword [esp + 0x78], esp
push str.SerManager.exe
call fcn.00404b20
mov byte [esp + 0x3a4], bl
call fcn.00406b10
add esp, 0x5c
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x2fc]
jmp 0x405f85
push str.PcManager.exe
lea ecx, [esp + 0xd0]
call fcn.00404b20
push eax
lea eax, [esp + 0x354]
push eax
lea edi, [esp + 0x324]
mov byte [esp + 0x350], 0x16
call fcn.00403a70
add esp, 8
lea ecx, [esp + 0xcc]
call fcn.00404c30
mov eax, edi
call fcn.00406ac0
test eax, eax
jne 0x40566c
lea ecx, [esp + 0x31c]
jmp 0x405577
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor esi, esi
lea ebp, [esi + 0x10]
lea ecx, [ecx]
mov eax, dword [0x4408dc]
mov ecx, dword [str.stop_right_now]
mov edx, dword [0x4408d8]
mov dword [esp + 0x304], eax
xor eax, eax
mov dword [esp + 0x30b], eax
mov dword [esp + 0x30f], eax
mov dword [esp + 0x313], eax
mov word [esp + 0x317], ax
mov byte [esp + 0x319], al
mov dword [esp + 0x2fc], ecx
mov cx, word [0x4408e0]
mov dword [esp + 0x300], edx
mov dl, byte [0x4408e2]
lea eax, [esp + 0x2fc]
push 0x440c94
push eax
mov word [esp + 0x310], cx
mov byte [esp + 0x312], dl
call fcn.00404e00
add esp, 8
push 0x3e8
call edi
mov eax, dword [esp + 0x320]
add esi, 1
cmp dword [esp + 0x334], ebp
jae 0x40571e
lea eax, [esp + 0x320]
push eax
call ebx
test eax, eax
jne 0x405733
cmp esi, 0xa
jl 0x405680
jmp 0x405f7e
mov dword [esp + 0x18], 1
jmp 0x405f7e
push str.MonManager.exe
lea ecx, [esp + 0x1e8]
call fcn.00404b20
push eax
lea ecx, [esp + 0x354]
push ecx
lea edi, [esp + 0x324]
mov byte [esp + 0x350], 0x17
call fcn.00403a70
add esp, 8
lea ecx, [esp + 0x1e4]
call fcn.00404c30
mov eax, edi
call fcn.00406ac0
test eax, eax
je 0x405660
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor esi, esi
lea ebp, [esi + 0x10]
lea ecx, [ecx]
mov eax, dword [0x4408d8]
mov ecx, dword [0x4408dc]
mov edx, dword [str.stop_right_now]
mov dword [esp + 0x300], eax
mov al, byte [0x4408e2]
mov dword [esp + 0x304], ecx
mov dword [esp + 0x2fc], edx
mov dx, word [0x4408e0]
mov byte [esp + 0x30a], al
xor eax, eax
lea ecx, [esp + 0x2fc]
push str.MonStatus
push ecx
mov word [esp + 0x310], dx
mov dword [esp + 0x313], eax
mov dword [esp + 0x317], eax
mov dword [esp + 0x31b], eax
mov word [esp + 0x31f], ax
mov byte [esp + 0x321], al
call fcn.00404e00
add esp, 8
push 0x3e8
call edi
mov eax, dword [esp + 0x320]
add esi, 1
cmp dword [esp + 0x334], ebp
jae 0x40583d
lea eax, [esp + 0x320]
push eax
call ebx
test eax, eax
jne 0x405733
cmp esi, 0xa
jl 0x4057a0
jmp 0x405f7e
push str.SerManager.exe
lea ecx, [esp + 0x108]
call fcn.00404b20
push eax
lea edx, [esp + 0x354]
push edx
lea edi, [esp + 0x324]
mov byte [esp + 0x350], 0x18
call fcn.00403a70
add esp, 8
lea ecx, [esp + 0x104]
mov byte [esp + 0x348], 0x1a
call fcn.00404c30
mov eax, dword [esp + 0x320]
mov ebp, 0x10
cmp dword [esp + 0x334], ebp
jae 0x4058b7
lea eax, [esp + 0x320]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [esp + 0x31c]
call fcn.00406ac0
test eax, eax
je 0x405660
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
xor ebx, ebx
lea esi, [ebx + 0xf]
lea ecx, [ecx]
mov eax, dword [str.stop_right_now]
mov edx, dword [0x4408dc]
mov ecx, dword [0x4408d8]
mov dword [esp + 0x2fc], eax
mov ax, word [0x4408e0]
mov dword [esp + 0x304], edx
mov dword [esp + 0x300], ecx
mov cl, byte [0x4408e2]
mov word [esp + 0x308], ax
xor eax, eax
lea edx, [esp + 0x2fc]
push str.MonStatus
push edx
mov byte [esp + 0x312], cl
mov dword [esp + 0x313], eax
mov dword [esp + 0x317], eax
mov dword [esp + 0x31b], eax
mov word [esp + 0x31f], ax
mov byte [esp + 0x321], al
call fcn.00404e00
add esp, 8
push 0x3e8
call edi
push 0
push 0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push 2
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], 0
push 0x440cd8
add ebx, 1
mov byte [ecx + 4], 0
call fcn.00404b60
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x388], 0x1b
mov dword [esp + 0x60], esp
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x398]
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], 0
push eax
mov byte [ecx + 4], 0
call fcn.00404550
sub esp, 0x1c
mov byte [esp + 0x3a4], 0x1c
mov ecx, esp
mov dword [esp + 0x78], esp
push 0xe
mov dword [ecx + 0x18], esi
mov dword [ecx + 0x14], 0
push str.SerManager.exe
mov byte [ecx + 4], 0
call fcn.00404b60
mov byte [esp + 0x3a4], 0x1a
call fcn.00406b10
mov eax, dword [esp + 0x37c]
add esp, 0x5c
cmp dword [esp + 0x334], ebp
jae 0x405a0f
lea eax, [esp + 0x320]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x3e8
call edi
cmp dword [esp + 0x334], ebp
mov eax, dword [esp + 0x320]
jae 0x405a34
lea eax, [esp + 0x320]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x405733
cmp ebx, 5
jl 0x4058e0
jmp 0x405f7e
sub esp, 0x70
mov ecx, esp
mov dword [esp + 0x84], esp
push ecx
lea edi, [esp + 0x3c4]
call fcn.00402f40
call fcn.00407030
add esp, 0x70
push str.SOFTWAREMicrosoftRegMsParaSet
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov dword [esp + 0x18], 1
jmp case.0x4050d6.3
push str.del__q
lea ecx, [esp + 0x2c8]
call fcn.00404b20
lea edx, [esp + 0x36c]
push edx
push eax
lea edi, [esp + 0x324]
mov byte [esp + 0x350], 0x1d
call fcn.00403a70
add esp, 8
lea ecx, [esp + 0x2c4]
mov byte [esp + 0x348], bl
call fcn.00404c30
push 1
push ebp
sub esp, 0x1c
mov eax, edi
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
call fcn.00404880
call fcn.00406e70
add esp, 0x24
push str.rd__q
lea ecx, [esp + 0x220]
call fcn.00404b20
lea ecx, [esp + 0x36c]
push ecx
push eax
lea edi, [esp + 0x144]
mov byte [esp + 0x350], 0x20
call fcn.00403a70
add esp, 8
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x328]
mov byte [esp + 0x354], 0x21
call fcn.00404550
mov ecx, edi
call fcn.00404c30
lea ecx, [esp + 0x21c]
mov byte [esp + 0x348], bl
call fcn.00404c30
push 1
push ebp
sub esp, 0x1c
lea edx, [esp + 0x340]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00404880
call fcn.00406e70
add esp, 0x24
push str.del__q
lea ecx, [esp + 0x178]
call fcn.00404b20
lea ecx, [esp + 0x388]
push ecx
push eax
lea edi, [esp + 0x2c]
mov byte [esp + 0x350], 0x22
call fcn.00403a70
add esp, 8
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x328]
mov byte [esp + 0x354], 0x23
call fcn.00404550
mov ecx, edi
call fcn.00404c30
mov byte [esp + 0x348], bl
lea ecx, [esp + 0x174]
call fcn.00404c30
push 1
push ebp
sub esp, 0x1c
lea edx, [esp + 0x340]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00404880
call fcn.00406e70
add esp, 0x24
push str.rd__q
lea ecx, [esp + 0x44]
call fcn.00404b20
lea ecx, [esp + 0x388]
push ecx
push eax
lea edi, [esp + 0x294]
mov byte [esp + 0x350], 0x24
call fcn.00403a70
add esp, 8
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x328]
mov byte [esp + 0x354], 0x25
call fcn.00404550
mov ecx, edi
call fcn.00404c30
lea ecx, [esp + 0x40]
mov byte [esp + 0x348], bl
call fcn.00404c30
push 1
push ebp
sub esp, 0x1c
lea edx, [esp + 0x340]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00404880
call fcn.00406e70
add esp, 0x24
push str.del__q
lea ecx, [esp + 0xb4]
call fcn.00404b20
lea ecx, [esp + 0x350]
push ecx
push eax
lea edi, [esp + 0x80]
mov byte [esp + 0x350], 0x26
call fcn.00403a70
add esp, 8
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x328]
mov byte [esp + 0x354], 0x27
call fcn.00404550
mov ecx, edi
call fcn.00404c30
lea ecx, [esp + 0xb0]
mov byte [esp + 0x348], bl
call fcn.00404c30
push 1
push ebp
sub esp, 0x1c
lea edx, [esp + 0x340]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00404880
call fcn.00406e70
add esp, 0x24
push str.rd__q
lea ecx, [esp + 0x124]
call fcn.00404b20
lea ecx, [esp + 0x350]
push ecx
push eax
lea edi, [esp + 0xf0]
mov byte [esp + 0x350], 0x28
call fcn.00403a70
add esp, 8
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x328]
mov byte [esp + 0x354], 0x29
call fcn.00404550
mov ecx, edi
call fcn.00404c30
lea ecx, [esp + 0x120]
mov byte [esp + 0x348], bl
call fcn.00404c30
push 1
push ebp
sub esp, 0x1c
lea edx, [esp + 0x340]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00404880
call fcn.00406e70
add esp, 0x24
push 0x440cec
lea ecx, [esp + 0x23c]
call fcn.00404b20
mov esi, eax
push str.move
lea ecx, [esp + 0x204]
mov byte [esp + 0x34c], 0x2a
call fcn.00404b20
lea ecx, [esp + 0x350]
push ecx
push eax
lea edi, [esp + 0x1d0]
mov byte [esp + 0x350], 0x2b
call fcn.00403a70
push esi
push eax
lea edi, [esp + 0x1a0]
mov byte [esp + 0x358], 0x2c
call fcn.00403a70
lea edx, [esp + 0x398]
push edx
push eax
lea edi, [esp + 0x170]
mov byte [esp + 0x360], 0x2d
call fcn.00403a70
add esp, 0x18
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x328]
mov byte [esp + 0x354], 0x2e
call fcn.00404550
mov ecx, edi
call fcn.00404c30
lea ecx, [esp + 0x190]
call fcn.00404c30
lea ecx, [esp + 0x1c8]
call fcn.00404c30
lea ecx, [esp + 0x200]
call fcn.00404c30
lea ecx, [esp + 0x238]
mov byte [esp + 0x348], bl
call fcn.00404c30
push 1
push 0
sub esp, 0x1c
mov ecx, esp
lea eax, [esp + 0x340]
mov dword [esp + 0x38], esp
push eax
call fcn.00404880
call fcn.00406e70
add esp, 0x24
push str.del__q
lea ecx, [esp + 0x2ac]
call fcn.00404b20
lea ecx, [esp + 0x388]
push ecx
push eax
lea edi, [esp + 0x278]
mov byte [esp + 0x350], 0x2f
call fcn.00403a70
add esp, 8
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x328]
mov byte [esp + 0x354], 0x30
call fcn.00404550
mov ecx, edi
call fcn.00404c30
lea ecx, [esp + 0x2a8]
mov byte [esp + 0x348], bl
call fcn.00404c30
push 1
push 0
sub esp, 0x1c
lea edx, [esp + 0x340]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00404880
call fcn.00406e70
add esp, 0x24
push str.rd__q
lea ecx, [esp + 0x1b0]
call fcn.00404b20
lea ecx, [esp + 0x388]
push ecx
push eax
lea edi, [esp + 0x2e8]
mov byte [esp + 0x350], 0x31
call fcn.00403a70
add esp, 8
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x328]
mov byte [esp + 0x354], 0x32
call fcn.00404550
mov ecx, edi
call fcn.00404c30
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x348], bl
call fcn.00404c30
push 1
push 0
sub esp, 0x1c
lea edx, [esp + 0x340]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00404880
call fcn.00406e70
add esp, 0x24
lea ecx, [esp + 0x31c]
call fcn.00404c30
lea esi, [esp + 0x350]
call fcn.00401110
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x340]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x328]
xor ecx, esp
call fcn.00422bc2
add esp, 0x338
ret