Function at 0x410c00
Capabilities:
Create directory
Delete file
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x268
mov eax, dword [0x4c0c00]
xor eax, ebp
mov dword [ebp - 0x10], eax
cmp dword [ebp + 8], 0
je 0x410c1f
cmp dword [ebp + 0x10], 0
jne 0x410c26
xor eax, eax
jmp 0x410f19
cmp dword [ebp + 0xc], 0
je 0x410ce3
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
mov dword [ebp - 4], 1
mov byte [ebp - 0x118], 0
push 0x103
push 0
lea eax, [ebp - 0x117]
push eax
call fcn.0048e260
add esp, 0xc
mov ecx, dword [ebp + 8]
push ecx
push 0x4ac020
push 0x104
lea edx, [ebp - 0x118]
push edx
call fcn.00411290
add esp, 0x10
lea eax, [ebp - 8]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x118]
push ecx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x410ccd
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0xc], edx
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
lea edx, [ebp - 4]
push edx
push 0
push 0x4ac034
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp + 0x10]
push edx
call fcn.0048e1d0
add esp, 4
jmp 0x410f19
mov dword [ebp - 0x11c], 0
push 0x4ac040
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x410d67
push 0x4ac04c
mov eax, dword [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
jne 0x410d67
mov ecx, dword [ebp - 0x120]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push 0x4ac060
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x120], 0
je 0x410d67
push 0x4ac070
mov edx, dword [ebp - 0x120]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0
je 0x410ef7
mov eax, dword [ebp + 0x10]
push eax
push 1
push 0
mov ecx, dword [ebp + 0x18]
neg ecx
sbb ecx, ecx
and ecx, 7
add ecx, 0x1c
push ecx
push 0
call dword [ebp - 0x11c]
test eax, eax
jl 0x410ef7
mov edx, dword [ebp + 0x10]
push edx
call fcn.0048e1d0
add esp, 4
test eax, eax
jbe 0x410ef7
mov dword [ebp - 0x264], 1
push 0x4ac084
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00411250
lea edx, [ebp - 0x260]
push edx
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0xffffffff
je 0x410df5
mov ecx, dword [ebp - 0x260]
and ecx, 0x10
jne 0x410e1c
mov edx, dword [ebp - 0x260]
and edx, 0x10
jne 0x410e0a
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x268], 0xffffffff
je 0x410e3c
mov edx, dword [ebp - 0x268]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x268], 0
cmp dword [ebp - 0x264], 0
jne 0x410e62
cmp dword [ebp - 0x120], 0
je 0x410e5b
mov eax, dword [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x410f19
push 0x4ac08c
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00411250
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00411250
lea eax, [ebp - 0x260]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0xffffffff
je 0x410eb0
mov edx, dword [ebp - 0x260]
and edx, 0x10
jne 0x410ed7
mov eax, dword [ebp - 0x260]
and eax, 0x10
jne 0x410ec5
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
mov edx, dword [ebp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x268], 0xffffffff
je 0x410ef7
mov eax, dword [ebp - 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x268], 0
cmp dword [ebp - 0x120], 0
je 0x410f0d
mov ecx, dword [ebp - 0x120]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov edx, dword [ebp + 0x10]
push edx
call fcn.0048e1d0
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0048e19e
mov esp, ebp
pop ebp
ret