Function at 0x418eb0
Capabilities:
Create directory
Enumerate files on windows
Get common file path

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffff2b0
mov ebx, 0x46faa8
mov eax, dword [0x46faa4]
test eax, eax
je 0x418f0c
push eax
call sub.KERNEL32.dll_GlobalSize
mov esi, eax
push esi
push 0x2042
call sub.KERNEL32.dll_GlobalAlloc
mov ebx, eax
test ebx, ebx
jne 0x418ee8
xor eax, eax
jmp 0x41913a
push ebx
call sub.KERNEL32.dll_GlobalLock
push esi
mov edx, dword [0x46faa4]
push edx
push eax
call fcn.00452dbc
add esp, 0xc
push ebx
call sub.KERNEL32.dll_GlobalUnlock
mov eax, ebx
jmp 0x41913a
push ebx
push 0x400
call sub.KERNEL32.dll_GetTempPathA
push ebx
call fcn.004080c8
push 0x45fee8
push ebx
call fcn.00452e5c
add esp, 8
push ebx
call fcn.00456624
pop ecx
test eax, eax
je 0x418f42
push 0
push ebx
call sub.KERNEL32.dll_CreateDirectoryA
test eax, eax
jne 0x418f49
xor eax, eax
jmp 0x41913a
lea edx, [esp + 0x10]
push edx
push 0x400
call sub.KERNEL32.dll_GetCurrentDirectoryA
push ebx
call fcn.00457f40
pop ecx
push 0x4656f0
call fcn.0042333c
mov edi, eax
push 1
push 0
push 0
push 0
call fcn.0040da34
mov byte [esp], al
lea eax, [esp + 0x410]
push eax
push 0x465fe5
call fcn.0041ec64
lea edx, [esp + 0x410]
push edx
call fcn.00457f40
pop ecx
mov ecx, edi
shl ecx, 6
add ecx, edi
shl ecx, 2
add ecx, 0x15
push ecx
push 0x2042
call sub.KERNEL32.dll_GlobalAlloc
mov esi, eax
test esi, esi
jne 0x418fc0
xor eax, eax
jmp 0x41913a
push esi
call sub.KERNEL32.dll_GlobalLock
mov dword [esp + 4], eax
xor eax, eax
mov edx, dword [esp + 4]
xor ebx, ebx
mov dword [edx], 0x14
mov ecx, dword [esp + 4]
mov dword [ecx + 0x10], eax
lea eax, [esp + 0x810]
mov dword [esp + 8], 0x14
push eax
push 0x45fef5
call sub.KERNEL32.dll_FindFirstFileA
mov ebp, eax
cmp eax, 0xffffffff
sete al
and eax, 1
jmp 0x4190c8
lea eax, [esp + 0x83c]
mov edx, 0x45fef9
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x419035
test cl, cl
je 0x4190b2
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x419035
add eax, 2
add edx, 2
test cl, cl
jne 0x419015
je 0x4190b2
lea eax, [esp + 0x83c]
mov edx, 0x45fefb
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x41905f
test cl, cl
je 0x4190b2
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x41905f
add eax, 2
add edx, 2
test cl, cl
jne 0x419043
je 0x4190b2
lea eax, [esp + 0xc]
push eax
lea edx, [esp + 0x954]
push edx
push 0x400
lea ecx, [esp + 0x848]
push ecx
call sub.KERNEL32.dll_GetFullPathNameA
test eax, eax
je 0x4190b1
lea eax, [esp + 0x950]
push eax
mov edx, dword [esp + 8]
add edx, dword [esp + 0xc]
push edx
call sub.KERNEL32.dll_lstrcpyA
lea ecx, [esp + 0x950]
push ecx
call fcn.00452eec
pop ecx
add eax, dword [esp + 8]
inc eax
mov dword [esp + 8], eax
inc ebx
lea eax, [esp + 0x810]
push eax
push ebp
call sub.KERNEL32.dll_FindNextFileA
test eax, eax
sete al
and eax, 1
cmp edi, ebx
jle 0x4190d4
test eax, eax
je 0x419009
push ebp
call sub.KERNEL32.dll_FindClose
lea edx, [esp + 0x10]
push edx
call fcn.00457f40
pop ecx
test ebx, ebx
jne 0x4190f3
push esi
call sub.KERNEL32.dll_GlobalFree
xor eax, eax
jmp 0x41913a
push esi
call sub.KERNEL32.dll_GlobalSize
mov ebx, eax
push ebx
push 0
call sub.KERNEL32.dll_GlobalAlloc
mov edi, eax
mov dword [0x46faa4], edi
test edi, edi
je 0x41911e
push ebx
mov eax, dword [esp + 8]
push eax
push edi
call fcn.00452dbc
add esp, 0xc
push esi
call sub.KERNEL32.dll_GlobalUnlock
cmp byte [0x46faa1], 0
je 0x419138
cmp byte [esp], 0
je 0x419138
call fcn.0040c5d8
mov eax, esi
add esp, 0xd50
pop ebp
pop edi
pop esi
pop ebx
ret