Function at 0x10038210
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Enumerate files on windows
Enumerate files recursively

Disassembly:
mov eax, 0x1008a76b
call fcn.10089d9c
sub esp, 0x37c
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
test esi, esi
jne 0x100382a5
mov esi, dword [ebx + 0x2c]
mov edi, dword [ebx + 0x30]
cmp esi, edi
je 0x1003824a
mov ecx, esi
call fcn.10006b14
add esi, 0x18
cmp esi, edi
jne 0x10038236
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x30], eax
push 0x100e0828
mov esi, 0x100e0720
push esi
call dword [sym.imp.msvcrt.dll_strcpy]
mov dword [ebp - 0x14], 7
mov eax, dword [ebp - 0x14]
xor al, 0x5c
mov byte [ebp - 0x10], al
mov eax, dword [ebp - 0x14]
inc al
mov byte [ebp - 0xe], 0
xor al, 0x2a
xor edx, edx
pop ecx
mov byte [ebp - 0xf], al
mov al, byte [ebp - 0x10]
pop ecx
mov al, byte [ebp + edx - 0x10]
mov ecx, dword [ebp - 0x14]
add cl, dl
xor cl, al
mov byte [ebp + edx - 0x10], cl
inc edx
cmp edx, 2
jb 0x1003827f
lea eax, [ebp - 0x10]
mov byte [ebp - 0xe], 0
push eax
push esi
call dword [sym.imp.msvcrt.dll_strcat]
pop ecx
pop ecx
lea eax, [ebp - 0x284]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
mov dword [ebp + 8], edi
cmp edi, 0xffffffff
je 0x100384d7
test byte [ebp - 0x284], 0x10
je 0x10038363
lea eax, [ebp - 0x258]
push 0x100a0f5c
push eax
call dword [sym.imp.msvcrt.dll_strcmp]
pop ecx
pop ecx
test eax, eax
je 0x100384ba
lea eax, [ebp - 0x258]
push 0x100a0f64
push eax
call dword [sym.imp.msvcrt.dll_strcmp]
pop ecx
pop ecx
test eax, eax
je 0x100384ba
lea eax, [ebp - 0x388]
push esi
push eax
call dword [sym.imp.msvcrt.dll_strcpy]
lea eax, [ebp - 0x388]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_strrchr]
mov byte [eax + 1], 0
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x388]
push eax
call dword [sym.imp.msvcrt.dll_strcat]
lea eax, [ebp - 0x388]
push 0x100a0f60
push eax
call dword [sym.imp.msvcrt.dll_strcat]
add esp, 0x20
lea eax, [ebp - 0x388]
mov ecx, ebx
push eax
call fcn.10038210
jmp 0x100384ba
test byte [ebp - 0x284], 0x20
je 0x100384ba
push 0x100e0828
call dword [sym.imp.msvcrt.dll_strlen]
pop ecx
cmp byte [eax + esi + 1], 0x2a
je 0x100383bb
push 0x100e0828
call dword [sym.imp.msvcrt.dll_strlen]
inc eax
add eax, esi
push eax
lea eax, [ebp - 0x144]
push eax
call dword [sym.imp.msvcrt.dll_strcpy]
lea eax, [ebp - 0x144]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_strrchr]
add esp, 0x14
test eax, eax
je 0x100383c2
mov byte [eax + 1], 0
jmp 0x100383c2
mov byte [ebp - 0x144], 0
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x144]
push eax
call dword [sym.imp.msvcrt.dll_strcat]
lea eax, [ebp - 0x144]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_strchr]
add esp, 0x10
jmp 0x100383fe
mov byte [eax], 0x2f
lea eax, [ebp - 0x144]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_strchr]
pop ecx
pop ecx
test eax, eax
jne 0x100383ea
mov dword [ebp - 0x28], 0x48
xor edx, edx
mov byte [ebp - 0x24], 0x3d
mov byte [ebp - 0x23], 0x3b
mov byte [ebp - 0x22], 0x2d
mov byte [ebp - 0x21], 0x3a
mov byte [ebp - 0x20], 0x17
mov byte [ebp - 0x1f], 0x3b
mov byte [ebp - 0x1e], 0x3c
mov byte [ebp - 0x1d], 0x29
mov byte [ebp - 0x1c], 0x3c
mov byte [ebp - 0x1b], 0x3b
mov byte [ebp - 0x1a], 0x66
mov byte [ebp - 0x19], 0x21
mov byte [ebp - 0x18], 0x26
mov byte [ebp - 0x17], 0x21
mov byte [ebp - 0x16], al
mov al, byte [ebp - 0x24]
mov al, byte [ebp + edx - 0x24]
mov ecx, dword [ebp - 0x28]
xor cl, al
mov byte [ebp + edx - 0x24], cl
inc edx
cmp edx, 0xe
jb 0x10038449
lea eax, [ebp - 0x24]
mov byte [ebp - 0x16], 0
push eax
lea eax, [ebp - 0x144]
push eax
call sub.msvcrt.dll__stricmp
pop ecx
pop ecx
test eax, eax
je 0x100384ba
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x40]
call fcn.1000676b
and dword [ebp - 4], 0
lea ecx, [ebp - 0x40]
mov eax, dword [ebx + 0x30]
push ecx
cmp eax, dword [ebx + 0x34]
je 0x100384a2
mov ecx, eax
call fcn.10006744
add dword [ebx + 0x30], 0x18
jmp 0x100384ab
push eax
lea ecx, [ebx + 0x2c]
call fcn.10039500
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.10006b14
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x284]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x100382c1
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4