Function at 0x40a146
Capabilities:
Contain obfuscated stackstrings
Enumerate files on windows
Enumerate files recursively

Disassembly:
push esi
push ebx
mov eax, 0x18f4
call fcn.0041ce38
sub esp, eax
mov dword [esp + 0x18ec], 0
mov eax, dword [esp + 0x1900]
mov eax, dword [eax + 0x204]
test eax, eax
jne 0x40a3fa
mov eax, dword [esp + 0x1900]
mov dword [esp + 8], 0x204
mov dword [esp + 4], eax
lea eax, [esp + 0x4bf]
mov dword [esp], eax
call fcn.00419918
mov dword [esp + 0x18ec], eax
mov eax, dword [esp + 0x18ec]
sub eax, 1
movzx eax, byte [esp + eax + 0x4bf]
cmp al, 0x5c
je 0x40a1c9
mov eax, dword [esp + 0x18ec]
sub eax, 1
movzx eax, byte [esp + eax + 0x4bf]
cmp al, 0x2f
jne 0x40a1db
mov eax, dword [esp + 0x18ec]
sub eax, 1
mov byte [esp + eax + 0x4bf], 0
lea eax, [esp + 0x4bf]
mov dword [esp], eax
call fcn.0040aa34
test al, al
je 0x40a3fa
mov dword [esp + 8], 0x104
lea eax, [esp + 0x3bb]
mov dword [esp + 4], eax
lea eax, [esp + 0x4bf]
mov dword [esp], eax
call fcn.0041a73f
mov dword [esp + 8], 0x204
lea eax, [esp + 0x16e4]
mov dword [esp + 4], eax
lea eax, [esp + 0x4bf]
mov dword [esp], eax
call fcn.0041a682
mov dword [esp + 8], 0x21
lea eax, [esp + 0x6c3]
mov dword [esp + 4], eax
lea eax, [esp + 0x4bf]
mov dword [esp], eax
call fcn.00409f53
mov byte [esp + 0x25d], 0x25
mov byte [esp + 0x25e], 0x64
mov byte [esp + 0x25f], 7
mov byte [esp + 0x260], 0x25
mov byte [esp + 0x261], 0x73
mov byte [esp + 0x262], 7
mov byte [esp + 0x263], 0x25
mov byte [esp + 0x264], 0x49
mov byte [esp + 0x265], 0x36
mov byte [esp + 0x266], 0x34
mov byte [esp + 0x267], 0x75
mov byte [esp + 0x268], 7
mov byte [esp + 0x269], 0x25
mov byte [esp + 0x26a], 0x73
mov byte [esp + 0x26b], 7
mov byte [esp + 0x26c], 0x25
mov byte [esp + 0x26d], 0x73
mov byte [esp + 0x26e], 7
mov byte [esp + 0x26f], 0
lea eax, [esp + 0x4bf]
mov dword [esp], eax
call fcn.0040ac70
lea ecx, [esp + 0x6c3]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x16e4]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
lea eax, [esp + 0x3bb]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
lea eax, [esp + 0x25d]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1000
lea eax, [esp + 0x6e4]
mov dword [esp], eax
call fcn.00419fa8
mov dword [esp + 0x18ec], eax
cmp dword [esp + 0x18ec], 0
jle 0x40a396
mov eax, dword [esp + 0x1900]
mov eax, dword [eax + 0x208]
mov edx, dword [esp + 0x18ec]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x6e4]
mov dword [esp + 8], edx
mov dword [esp + 4], 0xe1
mov dword [esp], eax
call fcn.00408b8f
mov dword [esp], 0x32
call fcn.0040b294
mov eax, dword [esp + 0x1900]
mov eax, dword [eax + 0x208]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xe2
mov dword [esp], eax
call fcn.00408b8f
mov eax, dword [esp + 0x1900]
movzx eax, byte [eax + 0x20d]
test al, al
je 0x40a89f
lea eax, [esp + 0x1900]
mov dword [esp], eax
call fcn.0040b4bf
nop
jmp 0x40a89f
mov dword [esp], 0x8003
call sub.KERNEL32.dll_SetErrorMode
sub esp, 4
mov eax, dword [esp + 0x1900]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x41ecb4
mov dword [esp + 4], 0x204
lea eax, [esp + 0x16e4]
mov dword [esp], eax
call fcn.00419fa8
test eax, eax
js 0x40a8a2
lea eax, [esp + 0x270]
mov dword [esp + 4], eax
lea eax, [esp + 0x16e4]
mov dword [esp], eax
call sub.KERNEL32.dll_FindFirstFileA
sub esp, 8
mov dword [esp + 0x18e8], eax
cmp dword [esp + 0x18e8], 0xffffffff
je 0x40a83d
mov eax, dword [0x424330]
test eax, eax
je 0x40a82a
mov dword [esp + 4], 0x41ecb8
lea eax, [esp + 0x270]
add eax, 0x2c
mov dword [esp], eax
call fcn.0041a1d8
test eax, eax
je 0x40a7fc
mov dword [esp + 4], 0x41ecba
lea eax, [esp + 0x270]
add eax, 0x2c
mov dword [esp], eax
call fcn.0041a1d8
test eax, eax
je 0x40a7fc
mov eax, dword [esp + 0x270]
and eax, 0x10
test eax, eax
je 0x40a63f
mov byte [esp + 0x253], 0x25
mov byte [esp + 0x254], 0x64
mov byte [esp + 0x255], 7
mov byte [esp + 0x256], 0x25
mov byte [esp + 0x257], 0x73
mov byte [esp + 0x258], 7
mov byte [esp + 0x259], 0x25
mov byte [esp + 0x25a], 0x73
mov byte [esp + 0x25b], 7
mov byte [esp + 0x25c], 0
mov eax, dword [esp + 0x1900]
mov edx, eax
mov eax, dword [esp + 0x270]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x270]
add edx, 0x2c
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x253]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1000
lea eax, [esp + 0x6e4]
mov dword [esp], eax
call fcn.00419fa8
mov dword [esp + 0x18ec], eax
cmp dword [esp + 0x18ec], 0
js 0x40a7ff
mov eax, dword [esp + 0x1900]
mov eax, dword [eax + 0x208]
mov edx, dword [esp + 0x18ec]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x6e4]
mov dword [esp + 8], edx
mov dword [esp + 4], 0xe1
mov dword [esp], eax
call fcn.00408b8f
mov eax, dword [esp + 0x1900]
movzx eax, byte [eax + 0x20c]
test al, al
je 0x40a803
mov eax, dword [esp + 0x1900]
lea edx, [esp + 0x270]
add edx, 0x2c
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x41ecbd
mov dword [esp + 4], 0x204
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.00419fa8
mov eax, dword [esp + 0x1900]
mov eax, dword [eax + 0x204]
add eax, 1
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x1900]
mov eax, dword [eax + 0x208]
mov dword [esp + 0x238], eax
mov byte [esp + 0x23c], 1
lea eax, [esp + 0x30]
mov dword [esp], eax
call fcn.0040a146
jmp 0x40a803
mov eax, dword [esp + 0x290]
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x1900]
lea edx, [esp + 0x270]
add edx, 0x2c
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x41ecc8
mov dword [esp + 4], 0x204
lea eax, [esp + 0x4bf]
mov dword [esp], eax
call fcn.00419fa8
mov dword [esp + 8], 0x21
lea eax, [esp + 0x6c3]
mov dword [esp + 4], eax
lea eax, [esp + 0x4bf]
mov dword [esp], eax
call fcn.00409f53
mov byte [esp + 0x240], 0x25
mov byte [esp + 0x241], 0x64
mov byte [esp + 0x242], 7
mov byte [esp + 0x243], 0x25
mov byte [esp + 0x244], 0x73
mov byte [esp + 0x245], 7
mov byte [esp + 0x246], 0x25
mov byte [esp + 0x247], 0x49
mov byte [esp + 0x248], 0x36
mov byte [esp + 0x249], 0x34
mov byte [esp + 0x24a], 0x75
mov byte [esp + 0x24b], 7
mov byte [esp + 0x24c], 0x25
mov byte [esp + 0x24d], 0x73
mov byte [esp + 0x24e], 7
mov byte [esp + 0x24f], 0x25
mov byte [esp + 0x250], 0x73
mov byte [esp + 0x251], 7
mov byte [esp + 0x252], 0
mov eax, dword [esp + 0x1900]
mov ebx, eax
mov eax, dword [esp + 0x3b0]
mov edx, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x270]
lea esi, [esp + 0x6c3]
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
lea eax, [esp + 0x270]
add eax, 0x2c
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
lea eax, [esp + 0x240]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x1000
lea eax, [esp + 0x6e4]
mov dword [esp], eax
call fcn.00419fa8
mov dword [esp + 0x18ec], eax
cmp dword [esp + 0x18ec], 0
js 0x40a802
mov eax, dword [esp + 0x1900]
mov eax, dword [eax + 0x208]
mov edx, dword [esp + 0x18ec]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x6e4]
mov dword [esp + 8], edx
mov dword [esp + 4], 0xe1
mov dword [esp], eax
call fcn.00408b8f
jmp 0x40a803
nop
jmp 0x40a803
nop
jmp 0x40a803
nop
lea eax, [esp + 0x270]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18e8]
mov dword [esp], eax
call sub.KERNEL32.dll_FindNextFileA
sub esp, 8
test eax, eax
jne 0x40a46d
jmp 0x40a82b
nop
mov eax, dword [esp + 0x18e8]
mov dword [esp], eax
call sub.KERNEL32.dll_FindClose
sub esp, 4
mov eax, dword [esp + 0x1900]
mov eax, dword [eax + 0x204]
test eax, eax
jne 0x40a8a5
mov eax, dword [esp + 0x1900]
mov eax, dword [eax + 0x208]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xe2
mov dword [esp], eax
call fcn.00408b8f
mov eax, dword [esp + 0x1900]
movzx eax, byte [eax + 0x20d]
test al, al
je 0x40a8a5
lea eax, [esp + 0x1900]
mov dword [esp], eax
call fcn.0040b4bf
nop
jmp 0x40a8a5
nop
jmp 0x40a8a6
nop
jmp 0x40a8a6
nop
add esp, 0x18f4
pop ebx
pop esi
ret