Function at 0x4591d0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52345f
mov eax, dword fs:[0]
push eax
sub esp, 0xb3c
mov eax, dword [0x580ca0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xafc], 0
mov dword [ebp - 4], 1
push str._DESKTOP_
lea ecx, [ebp - 0x80c]
call fcn.004012e0
mov dword [ebp - 0x7f0], 0
mov byte [ebp - 4], 2
push str._INTERNET_
lea ecx, [ebp - 0x7ec]
call fcn.004012e0
mov dword [ebp - 0x7d0], 1
mov byte [ebp - 4], 3
push str._PROGRAMS_
lea ecx, [ebp - 0x7cc]
call fcn.004012e0
mov dword [ebp - 0x7b0], 2
mov byte [ebp - 4], 4
push str._CONTROLS_
lea ecx, [ebp - 0x7ac]
call fcn.004012e0
mov dword [ebp - 0x790], 3
mov byte [ebp - 4], 5
push str._PRINTERS_
lea ecx, [ebp - 0x78c]
call fcn.004012e0
mov dword [ebp - 0x770], 4
mov byte [ebp - 4], 6
push str._PERSONAL_
lea ecx, [ebp - 0x76c]
call fcn.004012e0
mov dword [ebp - 0x750], 5
mov byte [ebp - 4], 7
push str._FAVORITES_
lea ecx, [ebp - 0x74c]
call fcn.004012e0
mov dword [ebp - 0x730], 6
mov byte [ebp - 4], 8
push str._STARTUP_
lea ecx, [ebp - 0x72c]
call fcn.004012e0
mov dword [ebp - 0x710], 7
mov byte [ebp - 4], 9
push str._RECENT_
lea ecx, [ebp - 0x70c]
call fcn.004012e0
mov dword [ebp - 0x6f0], 8
mov byte [ebp - 4], 0xa
push str._SENDTO_
lea ecx, [ebp - 0x6ec]
call fcn.004012e0
mov dword [ebp - 0x6d0], 9
mov byte [ebp - 4], 0xb
push str._BITBUCKET_
lea ecx, [ebp - 0x6cc]
call fcn.004012e0
mov dword [ebp - 0x6b0], 0xa
mov byte [ebp - 4], 0xc
push str._STARTMENU_
lea ecx, [ebp - 0x6ac]
call fcn.004012e0
mov dword [ebp - 0x690], 0xb
mov byte [ebp - 4], 0xd
push str._MYDOCUMENTS_
lea ecx, [ebp - 0x68c]
call fcn.004012e0
mov dword [ebp - 0x670], 5
mov byte [ebp - 4], 0xe
push str._MYMUSIC_
lea ecx, [ebp - 0x66c]
call fcn.004012e0
mov dword [ebp - 0x650], 0xd
mov byte [ebp - 4], 0xf
push str._MYVIDEO_
lea ecx, [ebp - 0x64c]
call fcn.004012e0
mov dword [ebp - 0x630], 0xe
mov byte [ebp - 4], 0x10
push str._DESKTOPDIRECTORY_
lea ecx, [ebp - 0x62c]
call fcn.004012e0
mov dword [ebp - 0x610], 0x10
mov byte [ebp - 4], 0x11
push str._DRIVES_
lea ecx, [ebp - 0x60c]
call fcn.004012e0
mov dword [ebp - 0x5f0], 0x11
mov byte [ebp - 4], 0x12
push str._NETWORK_
lea ecx, [ebp - 0x5ec]
call fcn.004012e0
mov dword [ebp - 0x5d0], 0x12
mov byte [ebp - 4], 0x13
push str._NETHOOD_
lea ecx, [ebp - 0x5cc]
call fcn.004012e0
mov dword [ebp - 0x5b0], 0x13
mov byte [ebp - 4], 0x14
push str._FONTS_
lea ecx, [ebp - 0x5ac]
call fcn.004012e0
mov dword [ebp - 0x590], 0x14
mov byte [ebp - 4], 0x15
push str._TEMPLATES_
lea ecx, [ebp - 0x58c]
call fcn.004012e0
mov dword [ebp - 0x570], 0x15
mov byte [ebp - 4], 0x16
push str._COMMON_STARTMENU_
lea ecx, [ebp - 0x56c]
call fcn.004012e0
mov dword [ebp - 0x550], 0x16
mov byte [ebp - 4], 0x17
push str._COMMON_PROGRAMS_
lea ecx, [ebp - 0x54c]
call fcn.004012e0
mov dword [ebp - 0x530], 0x17
mov byte [ebp - 4], 0x18
push str._COMMON_STARTUP_
lea ecx, [ebp - 0x52c]
call fcn.004012e0
mov dword [ebp - 0x510], 0x18
mov byte [ebp - 4], 0x19
push str._COMMON_DESKTOPDIRECTORY_
lea ecx, [ebp - 0x50c]
call fcn.004012e0
mov dword [ebp - 0x4f0], 0x19
mov byte [ebp - 4], 0x1a
push str._APPDATA_
lea ecx, [ebp - 0x4ec]
call fcn.004012e0
mov dword [ebp - 0x4d0], 0x1a
mov byte [ebp - 4], 0x1b
push str._PRINTHOOD_
lea ecx, [ebp - 0x4cc]
call fcn.004012e0
mov dword [ebp - 0x4b0], 0x1b
mov byte [ebp - 4], 0x1c
push str._LOCAL_APPDATA_
lea ecx, [ebp - 0x4ac]
call fcn.004012e0
mov dword [ebp - 0x490], 0x1c
mov byte [ebp - 4], 0x1d
push str._ALTSTARTUP_
lea ecx, [ebp - 0x48c]
call fcn.004012e0
mov dword [ebp - 0x470], 0x1d
mov byte [ebp - 4], 0x1e
push str._COMMON_ALTSTARTUP_
lea ecx, [ebp - 0x46c]
call fcn.004012e0
mov dword [ebp - 0x450], 0x1e
mov byte [ebp - 4], 0x1f
push str._COMMON_FAVORITES_
lea ecx, [ebp - 0x44c]
call fcn.004012e0
mov dword [ebp - 0x430], 0x1f
mov byte [ebp - 4], 0x20
push str._INTERNET_CACHE_
lea ecx, [ebp - 0x42c]
call fcn.004012e0
mov dword [ebp - 0x410], 0x20
mov byte [ebp - 4], 0x21
push str._COOKIES_
lea ecx, [ebp - 0x40c]
call fcn.004012e0
mov dword [ebp - 0x3f0], 0x21
mov byte [ebp - 4], 0x22
push str._HISTORY_
lea ecx, [ebp - 0x3ec]
call fcn.004012e0
mov dword [ebp - 0x3d0], 0x22
mov byte [ebp - 4], 0x23
push str._COMMON_APPDATA_
lea ecx, [ebp - 0x3cc]
call fcn.004012e0
mov dword [ebp - 0x3b0], 0x23
mov byte [ebp - 4], 0x24
push str._WINDOWS_
lea ecx, [ebp - 0x3ac]
call fcn.004012e0
mov dword [ebp - 0x390], 0x24
mov byte [ebp - 4], 0x25
push str._SYSTEM_
lea ecx, [ebp - 0x38c]
call fcn.004012e0
mov dword [ebp - 0x370], 0x25
mov byte [ebp - 4], 0x26
push str._PROGRAM_FILES_
lea ecx, [ebp - 0x36c]
call fcn.004012e0
mov dword [ebp - 0x350], 0x26
mov byte [ebp - 4], 0x27
push str._MYPICTURES_
lea ecx, [ebp - 0x34c]
call fcn.004012e0
mov dword [ebp - 0x330], 0x27
mov byte [ebp - 4], 0x28
push str._PROFILE_
lea ecx, [ebp - 0x32c]
call fcn.004012e0
mov dword [ebp - 0x310], 0x28
mov byte [ebp - 4], 0x29
push str._SYSTEMX86_
lea ecx, [ebp - 0x30c]
call fcn.004012e0
mov dword [ebp - 0x2f0], 0x29
mov byte [ebp - 4], 0x2a
push str._PROGRAM_FILESX86_
lea ecx, [ebp - 0x2ec]
call fcn.004012e0
mov dword [ebp - 0x2d0], 0x2a
mov byte [ebp - 4], 0x2b
push str._PROGRAM_FILES_COMMON_
lea ecx, [ebp - 0x2cc]
call fcn.004012e0
mov dword [ebp - 0x2b0], 0x2b
mov byte [ebp - 4], 0x2c
push str._PROGRAM_FILES_COMMONX86_
lea ecx, [ebp - 0x2ac]
call fcn.004012e0
mov dword [ebp - 0x290], 0x2c
mov byte [ebp - 4], 0x2d
push str._COMMON_TEMPLATES_
lea ecx, [ebp - 0x28c]
call fcn.004012e0
mov dword [ebp - 0x270], 0x2d
mov byte [ebp - 4], 0x2e
push str._COMMON_DOCUMENTS_
lea ecx, [ebp - 0x26c]
call fcn.004012e0
mov dword [ebp - 0x250], 0x2e
mov byte [ebp - 4], 0x2f
push str._COMMON_ADMINTOOLS_
lea ecx, [ebp - 0x24c]
call fcn.004012e0
mov dword [ebp - 0x230], 0x2f
mov byte [ebp - 4], 0x30
push str._ADMINTOOLS_
lea ecx, [ebp - 0x22c]
call fcn.004012e0
mov dword [ebp - 0x210], 0x30
mov byte [ebp - 4], 0x31
push str._CONNECTIONS_
lea ecx, [ebp - 0x20c]
call fcn.004012e0
mov dword [ebp - 0x1f0], 0x31
mov byte [ebp - 4], 0x32
push str._COMMON_MUSIC_
lea ecx, [ebp - 0x1ec]
call fcn.004012e0
mov dword [ebp - 0x1d0], 0x35
mov byte [ebp - 4], 0x33
push str._COMMON_PICTURES_
lea ecx, [ebp - 0x1cc]
call fcn.004012e0
mov dword [ebp - 0x1b0], 0x36
mov byte [ebp - 4], 0x34
push str._COMMON_VIDEO_
lea ecx, [ebp - 0x1ac]
call fcn.004012e0
mov dword [ebp - 0x190], 0x37
mov byte [ebp - 4], 0x35
push str._RESOURCES_
lea ecx, [ebp - 0x18c]
call fcn.004012e0
mov dword [ebp - 0x170], 0x38
mov byte [ebp - 4], 0x36
push str._RESOURCES_LOCALIZED_
lea ecx, [ebp - 0x16c]
call fcn.004012e0
mov dword [ebp - 0x150], 0x39
mov byte [ebp - 4], 0x37
push str._COMMON_OEM_LINKS_
lea ecx, [ebp - 0x14c]
call fcn.004012e0
mov dword [ebp - 0x130], 0x3a
mov byte [ebp - 4], 0x38
push str._CDBURN_AREA_
lea ecx, [ebp - 0x12c]
call fcn.004012e0
mov dword [ebp - 0x110], 0x3b
mov byte [ebp - 4], 0x39
push str._COMPUTERSNEARME_
lea ecx, [ebp - 0x10c]
call fcn.004012e0
mov dword [ebp - 0xf0], 0x3d
mov byte [ebp - 4], 0x3a
push str._FLAG_CREATE_
lea ecx, [ebp - 0xec]
call fcn.004012e0
mov dword [ebp - 0xd0], 0x8000
mov byte [ebp - 4], 0x3b
push str._FLAG_DONT_VERIFY_
lea ecx, [ebp - 0xcc]
call fcn.004012e0
mov dword [ebp - 0xb0], 0x4000
mov byte [ebp - 4], 0x3c
push str._FLAG_DONT_UNEXPAND_
lea ecx, [ebp - 0xac]
call fcn.004012e0
mov dword [ebp - 0x90], 0x2000
mov byte [ebp - 4], 0x3d
push str._FLAG_NO_ALIAS_
lea ecx, [ebp - 0x8c]
call fcn.004012e0
mov dword [ebp - 0x70], 0x1000
mov byte [ebp - 4], 0x3e
push str._FLAG_PER_USER_INIT_
lea ecx, [ebp - 0x6c]
call fcn.004012e0
mov dword [ebp - 0x50], 0x800
mov byte [ebp - 4], 0x3f
push str._FLAG_MASK_
lea ecx, [ebp - 0x4c]
call fcn.004012e0
mov dword [ebp - 0x30], 0xff00
mov byte [ebp - 4], 0x40
push 0x52f4b4
lea ecx, [ebp - 0x828]
call fcn.004012e0
mov byte [ebp - 4], 0x41
push 0x52f4b0
lea ecx, [ebp - 0x2c]
call fcn.004012e0
mov byte [ebp - 4], 0x42
push 0x52f498
push 0x52f480
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x82c], eax
xor eax, eax
mov word [ebp - 0xa34], ax
push 0x206
push 0
lea ecx, [ebp - 0xa32]
push ecx
call fcn.004ba280
add esp, 0xc
mov dword [ebp - 0xa38], 0
jmp 0x4599db
mov edx, dword [ebp - 0xa38]
add edx, 1
mov dword [ebp - 0xa38], edx
cmp dword [ebp - 0xa38], 0x3f
jae 0x459b21
push 0
mov eax, dword [ebp - 0xa38]
shl eax, 5
lea ecx, [ebp + eax - 0x80c]
push ecx
lea ecx, [ebp + 0xc]
call fcn.0045b610
cmp eax, dword [0x550ab0]
je 0x459b1c
push 0
mov edx, dword [ebp - 0xa38]
shl edx, 5
mov eax, dword [ebp + edx - 0x7f0]
push eax
lea ecx, [ebp - 0xa34]
push ecx
push 0
call dword [ebp - 0x82c]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa3c], esp
lea edx, [ebp - 0xa34]
push edx
call fcn.004012e0
mov dword [ebp - 0xb00], eax
mov eax, dword [ebp - 0xb00]
mov dword [ebp - 0xb04], eax
mov byte [ebp - 4], 0x43
mov ecx, dword [ebp - 0xa38]
shl ecx, 5
lea edx, [ebp + ecx - 0x80c]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa40], esp
push edx
call fcn.0040e030
mov dword [ebp - 0xb08], eax
mov eax, dword [ebp - 0xb08]
mov dword [ebp - 0xb0c], eax
mov byte [ebp - 4], 0x44
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa44], esp
lea edx, [ebp + 0xc]
push edx
call fcn.0040e030
mov dword [ebp - 0xb10], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x42
call fcn.0045b640
add esp, 0x58
mov dword [ebp - 0xb14], eax
mov ecx, dword [ebp - 0xafc]
or ecx, 1
mov dword [ebp - 0xafc], ecx
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x2c]
call fcn.00401320
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x828]
call fcn.00401320
mov byte [ebp - 4], 1
push 0x459e60
push 0x3f
push 0x20
lea edx, [ebp - 0x80c]
push edx
call fcn.004bf6c2
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.00401320
mov eax, dword [ebp + 8]
jmp 0x459e43
jmp 0x4599cc
lea eax, [ebp - 0x828]
push eax
lea ecx, [ebp - 0x828]
call fcn.004034e0
push eax
push 0
lea ecx, [ebp - 0xa64]
push ecx
lea ecx, [ebp + 0xc]
call fcn.0040d8e0
mov dword [ebp - 0xb18], eax
mov edx, dword [ebp - 0xb18]
mov dword [ebp - 0xb1c], edx
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0xb1c]
push eax
call fcn.0045b770
add esp, 8
mov byte [ebp - 0xa45], al
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0xa64]
call fcn.00401320
movzx ecx, byte [ebp - 0xa45]
test ecx, ecx
je 0x459c99
mov edx, dword [0x550ab0]
push edx
lea ecx, [ebp - 0x828]
call fcn.004034e0
push eax
lea eax, [ebp - 0xa80]
push eax
lea ecx, [ebp + 0xc]
call fcn.0040d8e0
mov dword [ebp - 0xb20], eax
mov ecx, dword [ebp - 0xb20]
mov dword [ebp - 0xb24], ecx
mov byte [ebp - 4], 0x46
mov edx, dword [ebp - 0xb24]
push edx
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0xa84], esp
push eax
call fcn.0045a390
add esp, 4
mov dword [ebp - 0xb28], eax
lea ecx, [ebp - 0xaa0]
push ecx
call fcn.00459e80
add esp, 0x20
mov dword [ebp - 0xb2c], eax
mov edx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb30], edx
mov byte [ebp - 4], 0x47
mov eax, dword [ebp - 0xb30]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040de30
add esp, 0xc
mov edx, dword [ebp - 0xafc]
or edx, 1
mov dword [ebp - 0xafc], edx
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0xaa0]
call fcn.00401320
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0xa80]
call fcn.00401320
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x2c]
call fcn.00401320
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x828]
call fcn.00401320
mov byte [ebp - 4], 1
push 0x459e60
push 0x3f
push 0x20
lea eax, [ebp - 0x80c]
push eax
call fcn.004bf6c2
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.00401320
mov eax, dword [ebp + 8]
jmp 0x459e43
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004034e0
push eax
push 0
lea edx, [ebp - 0xac0]
push edx
lea ecx, [ebp + 0xc]
call fcn.0040d8e0
mov dword [ebp - 0xb34], eax
mov eax, dword [ebp - 0xb34]
mov dword [ebp - 0xb38], eax
mov byte [ebp - 4], 0x48
mov ecx, dword [ebp - 0xb38]
push ecx
call fcn.0045b770
add esp, 8
mov byte [ebp - 0xaa1], al
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0xac0]
call fcn.00401320
movzx edx, byte [ebp - 0xaa1]
test edx, edx
je 0x459de5
mov eax, dword [0x550ab0]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004034e0
push eax
lea ecx, [ebp - 0xadc]
push ecx
lea ecx, [ebp + 0xc]
call fcn.0040d8e0
mov dword [ebp - 0xb3c], eax
mov edx, dword [ebp - 0xb3c]
mov dword [ebp - 0xb40], edx
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0xb40]
push eax
lea ecx, [ebp - 0xaf8]
push ecx
call fcn.0045a390
add esp, 4
mov dword [ebp - 0xb44], eax
mov edx, dword [ebp - 0xb44]
mov dword [ebp - 0xb48], edx
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0xb48]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040de30
add esp, 0xc
mov edx, dword [ebp - 0xafc]
or edx, 1
mov dword [ebp - 0xafc], edx
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0xaf8]
call fcn.00401320
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0xadc]
call fcn.00401320
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x2c]
call fcn.00401320
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x828]
call fcn.00401320
mov byte [ebp - 4], 1
push 0x459e60
push 0x3f
push 0x20
lea eax, [ebp - 0x80c]
push eax
call fcn.004bf6c2
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.00401320
mov eax, dword [ebp + 8]
jmp 0x459e43
lea ecx, [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.0040e030
mov edx, dword [ebp - 0xafc]
or edx, 1
mov dword [ebp - 0xafc], edx
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x2c]
call fcn.00401320
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x828]
call fcn.00401320
mov byte [ebp - 4], 1
push 0x459e60
push 0x3f
push 0x20
lea eax, [ebp - 0x80c]
push eax
call fcn.004bf6c2
mov byte [ebp - 4], 0
lea ecx, [ebp + 0xc]
call fcn.00401320
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ba1db
mov esp, ebp
pop ebp
ret