Function at 0x402030
Capabilities:
Copy file
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x63c
push esi
push edi
lea edi, [ebp - 0x63c]
mov ecx, 0x18f
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 8], str.CAPICOM.DLL
mov dword [ebp - 0xc], str.eps2k_std_mgr_admin.exe
mov eax, dword [ebp - 8]
push eax
call fcn.00401023
add esp, 4
test eax, eax
je 0x402085
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.00401023
add esp, 4
test eax, eax
jne 0x4020ac
mov esi, esp
push 0x40
push 0x42d3c8
push 0x42d3d0
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.004041c0
mov eax, 1
jmp 0x4022c6
push 0x200
push 0
lea edx, [ebp - 0x210]
push edx
call fcn.004044d0
add esp, 0xc
mov dword [ebp - 0x218], str.C:Program_FilesTopsec
mov dword [ebp - 0x21c], str._tpUtils_
push 0x40
mov eax, dword [ebp - 0x218]
push eax
lea ecx, [ebp - 0x210]
push ecx
call fcn.004049bb
add esp, 4
lea edx, [ebp + eax*2 - 0x210]
push edx
call fcn.0040446b
add esp, 0xc
mov esi, esp
push 0
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp esi, esp
call fcn.004041c0
mov dword [ebp - 0x220], eax
push 0x40
mov ecx, dword [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x210]
push edx
call fcn.004049bb
add esp, 4
lea eax, [ebp + eax*2 - 0x210]
push eax
call fcn.0040446b
add esp, 0xc
mov esi, esp
push 0
lea ecx, [ebp - 0x210]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp esi, esp
call fcn.004041c0
mov dword [ebp - 0x220], eax
push 0x40
mov edx, dword [ebp - 8]
push edx
lea eax, [ebp - 0x210]
push eax
call fcn.004049bb
add esp, 4
lea ecx, [ebp + eax*2 - 0x210]
push ecx
call fcn.0040446b
add esp, 0xc
mov esi, esp
push 1
lea edx, [ebp - 0x210]
push edx
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp esi, esp
call fcn.004041c0
mov dword [ebp - 0x220], eax
push 0x400
push 0
lea ecx, [ebp - 0x624]
push ecx
call fcn.004044d0
add esp, 0xc
lea edx, [ebp - 0x210]
push edx
push str.regsvr32.exe___s_
push 0x200
lea eax, [ebp - 0x624]
push eax
call fcn.00404acf
add esp, 0x10
push 0xffffffffffffffff
push 0
lea ecx, [ebp - 0x624]
push ecx
call fcn.0040101e
add esp, 0xc
test eax, eax
je 0x40220d
push str._regsvr32_CAPICOM.DLL_error_._n
call fcn.0040104b
add esp, 4
mov eax, 1
jmp 0x4022c6
push 0x400
push 0
lea edx, [ebp - 0x624]
push edx
call fcn.004044d0
add esp, 0xc
push 0xff
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [ebp - 0x624]
push ecx
call fcn.0040446b
add esp, 0xc
mov dword [ebp - 0x62c], str.SYSTEMCurrentControlSet_services_token
mov dword [ebp - 0x630], str.DisplayName
mov dword [ebp - 0x638], 0
lea edx, [ebp - 0x638]
push edx
mov eax, dword [ebp - 0x630]
push eax
mov ecx, dword [ebp - 0x62c]
push ecx
call fcn.0040103c
add esp, 0xc
test eax, eax
jne 0x4022b1
mov esi, esp
push 0x41
push 0x42d510
push 0x42d518
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp esi, esp
call fcn.004041c0
cmp eax, 1
jne 0x4022af
push 0xffffffffffffffff
push 0
lea edx, [ebp - 0x624]
push edx
call fcn.0040101e
add esp, 0xc
jmp 0x4022c4
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x624]
push eax
call fcn.0040101e
add esp, 0xc
xor eax, eax
push edx
mov ecx, ebp
push eax
lea edx, [0x4022f4]
call fcn.004041e3
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004044b7
add esp, 0x63c
cmp ebp, esp
call fcn.004041c0
mov esp, ebp
pop ebp
ret