Function at 0x4d8310
Capabilities:
Self delete
Terminate process

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x558078
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x20c
mov eax, dword [0x5932e0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x104
lea eax, [ebp - 0x120]
mov dword [ebp - 0x184], 0
push eax
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameA]
test eax, eax
je 0x4d8a95
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0xf
lea edx, [ecx + 1]
mov byte [ebp - 0x138], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d83a0
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
push eax
lea ecx, [ebp - 0x138]
call fcn.00409ab0
mov dword [ebp - 4], 0
lea edx, [ebp - 0x138]
cmp dword [ebp - 0x124], 0x10
mov esi, dword [ebp - 0x128]
cmovae edx, dword [ebp - 0x138]
test esi, esi
je 0x4d8401
or ecx, 0xffffffff
lea eax, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x5c
je 0x4d83fd
cmp ecx, edx
je 0x4d8401
dec ecx
cmp byte [ecx], 0x5c
jne 0x4d83f3
sub ecx, edx
jmp 0x4d8404
or ecx, 0xffffffff
cmp esi, ecx
mov dword [ebp - 0x158], 0
lea eax, [ebp - 0x138]
mov dword [ebp - 0x154], 0xf
cmovb ecx, esi
mov byte [ebp - 0x168], 0
cmp dword [ebp - 0x124], 0x10
push ecx
cmovae eax, dword [ebp - 0x138]
lea ecx, [ebp - 0x168]
push eax
call fcn.00409ab0
lea ecx, [ebp - 0x138]
call fcn.00409830
movups xmm0, xmmword [ebp - 0x168]
push 0x15
push str._ModularInstaller.exe
movups xmmword [ebp - 0x138], xmm0
lea ecx, [ebp - 0x168]
mov byte [ebp - 0x168], 0
movq xmm0, qword [ebp - 0x158]
movq qword [ebp - 0x128], xmm0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
call fcn.00409ab0
push 0x577df8
lea edx, [ebp - 0x138]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x180]
call fcn.00409c80
add esp, 4
mov byte [ebp - 4], 2
call fcn.004d3d70
push edx
push eax
lea ecx, [ebp - 0x19c]
call fcn.0040b260
add esp, 8
push 4
push str..exe
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.00409bf0
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
movups xmmword [ebp - 0x150], xmm1
mov byte [eax], 0
movq qword [ebp - 0x140], xmm0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x150]
cmp dword [ebp - 0x13c], 0x10
push dword [ebp - 0x140]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x180]
call fcn.00409bf0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x13c]
cmp edx, 0x10
jb 0x4d8573
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d8569
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d8ab2
push edx
push ecx
call fcn.005150f8
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x188]
cmp edx, 0x10
jb 0x4d85b1
mov ecx, dword [ebp - 0x19c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d85a7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d8ab7
push edx
push ecx
call fcn.005150f8
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x180]
mov ecx, esp
mov dword [ebp - 0x184], esp
push eax
call fcn.00409940
sub esp, 0x18
mov byte [ebp - 4], 5
lea eax, [ebp - 0x168]
mov ecx, esp
push eax
call fcn.00409940
mov byte [ebp - 4], 2
call fcn.00448ae0
test al, al
je 0x4d89cc
push 0x1e
push str._S__C_choice__C_Y__N__D_Y__T_3
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
call fcn.00409ab0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x200]
mov eax, dword [0x59a870]
add eax, 4
mov dword [ebp - 0x1f0], 0
push eax
mov dword [ebp - 0x1ec], 0xf
mov byte [ebp - 0x200], 0
mov dword [ebp - 0x184], 0xd
call fcn.00409fe0
push 4
push 0x577e3c
lea ecx, [ebp - 0x200]
call fcn.00409bf0
cmp dword [0x59a874], 0x10
lea ecx, [ebp - 0x200]
push dword [0x59a870]
mov eax, 0x59a860
cmovae eax, dword [0x59a860]
push eax
call fcn.00409bf0
push 0x13
push str.___stop__copy__Y__
lea ecx, [ebp - 0x200]
call fcn.00409bf0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x184], 0x1d
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1d0], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1c0], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x180]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp - 0x1d0]
lea ecx, [ebp - 0x19c]
call fcn.00409d40
add esp, 4
push 3
push 0x577e34
mov ecx, eax
mov byte [ebp - 4], 9
call fcn.00409bf0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x184], 0x3d
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1b8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1a8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push 0x59a860
lea edx, [ebp - 0x1b8]
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1e8]
call fcn.00409d40
add esp, 4
push 1
push 0x577dfc
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.00409bf0
movups xmm1, xmmword [eax]
mov dword [ebp - 0x184], 0x7d
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
movups xmmword [ebp - 0x218], xmm1
mov byte [eax], 0
movq qword [ebp - 0x208], xmm0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x218]
cmp dword [ebp - 0x204], 0x10
push dword [ebp - 0x208]
movd eax, xmm1
cmovae ecx, eax
push ecx
lea ecx, [ebp - 0x150]
call fcn.00409bf0
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x204]
cmp edx, 0x10
jb 0x4d8827
mov ecx, dword [ebp - 0x218]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d881d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d8abc
push edx
push ecx
call fcn.005150f8
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x1d4]
cmp edx, 0x10
jb 0x4d8865
mov ecx, dword [ebp - 0x1e8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d885b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d8ac1
push edx
push ecx
call fcn.005150f8
add esp, 8
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0xf
mov byte [ebp - 0x1e8], 0
cmp edx, 0x10
jb 0x4d88be
mov ecx, dword [ebp - 0x1b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d88b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d8ac6
push edx
push ecx
call fcn.005150f8
add esp, 8
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x188]
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
cmp edx, 0x10
jb 0x4d8917
mov ecx, dword [ebp - 0x19c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d890d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d8acb
push edx
push ecx
call fcn.005150f8
add esp, 8
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0xf
mov byte [ebp - 0x19c], 0
cmp edx, 0x10
jb 0x4d8970
mov ecx, dword [ebp - 0x1d0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d8966
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d8ad0
push edx
push ecx
call fcn.005150f8
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1ec]
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
cmp edx, 0x10
jb 0x4d8ae4
mov ecx, dword [ebp - 0x200]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d8ada
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4d8ada
jmp 0x4d8ad5
mov edx, dword [ebp - 0x16c]
cmp edx, 0x10
jb 0x4d8a06
mov ecx, dword [ebp - 0x180]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d89fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d8bf6
push edx
push ecx
call fcn.005150f8
add esp, 8
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
cmp edx, 0x10
jb 0x4d8a5b
mov ecx, dword [ebp - 0x168]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d8a51
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d8bfb
push edx
push ecx
call fcn.005150f8
add esp, 8
mov edx, dword [ebp - 0x124]
cmp edx, 0x10
jb 0x4d8a95
mov ecx, dword [ebp - 0x138]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4d8a8b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4d8c00
push edx
push ecx
call fcn.005150f8
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00514e1d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
push edx
push ecx
call fcn.005150f8
add esp, 8
lea eax, [ebp - 0x180]
mov edx, str.__Del__
push eax
lea ecx, [ebp - 0x1e8]
call fcn.00425600
add esp, 4
push 0x577e38
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x19c]
call fcn.00425720
add esp, 4
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0xe
call fcn.00409810
lea ecx, [ebp - 0x19c]
call fcn.00409830
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 6
call fcn.00409830
push 0x59a860
mov edx, 0x577e5c
lea ecx, [ebp - 0x1e8]
call fcn.00425600
add esp, 4
push 0x577e44
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x19c]
call fcn.00425720
add esp, 4
push eax
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x10
call fcn.00409810
lea ecx, [ebp - 0x19c]
call fcn.00409830
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 6
call fcn.00409830
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1a0], esp
push str.open
call fcn.00409900
sub esp, 0x18
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x150]
mov dword [ebp - 0x184], esp
mov ecx, esp
push eax
call fcn.00409940
sub esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, esp
push str.cmd.exe
call fcn.00409900
xor edx, edx
mov byte [ebp - 4], 6
xor cl, cl
call fcn.004d7b50
add esp, 0x48
push 0
call fcn.00521afb
call fcn.00519e03
call fcn.00519e03
call fcn.00519e03
int3