Function at 0x446949
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, 0x4ba5dc
call fcn.00485bb4
mov eax, dword fs:[0x2c]
sub esp, 0x478
mov ecx, dword [0xfd8e44]
push ebx
mov ecx, dword [eax + ecx*4]
mov eax, dword [0xed0730]
push esi
push edi
cmp eax, dword [ecx + 4]
jg 0x446b9b
xor ebx, ebx
push 0x18
pop esi
cmp byte [0x554e48], bl
je 0x446a87
mov ecx, 0xed0724
mov byte [0x554e48], bl
call fcn.0045325f
push 0xdd4140
lea eax, [ebp - 0x484]
push str._stextures.
push eax
call fcn.00411519
push 0x250
lea eax, [ebp - 0x27c]
push ebx
push eax
call fcn.00486d50
add esp, 0x18
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x484]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
mov dword [ebp - 0x14], edi
cmp edi, 0xffffffff
je 0x446a9e
test byte [ebp - 0x27c], 0x10
jne 0x446a67
lea eax, [ebp - 0x250]
push 0x2e
push eax
call fcn.00489607
pop ecx
pop ecx
test eax, eax
je 0x446a67
lea edi, [eax + 2]
mov dword [ebp - 0x10], 6
mov esi, 0xed0650
cmp dword [esi + 0x14], 7
mov eax, esi
jbe 0x446a20
mov eax, dword [esi]
push edi
push eax
call fcn.0049261c
pop ecx
pop ecx
test eax, eax
jne 0x446a59
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004034fb
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], ebx
push eax
mov ecx, 0xed0724
call fcn.0042a292
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004050a6
push 0x18
pop eax
add esi, eax
sub dword [ebp - 0x10], 1
jne 0x446a16
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x27c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x4469ea
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0x18
pop esi
mov eax, dword [0xed0728]
sub eax, dword [0xed0724]
cdq
idiv esi
mov esi, eax
mov dword [ebp - 0x10], esi
test esi, esi
jne 0x446aa5
xor al, al
jmp 0x446b8c
mov edi, dword [ebp + 8]
test edi, edi
je 0x446b66
cmp word [edi], bx
je 0x446b66
mov esi, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], ebx
push edi
mov dword [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp dword [ebp - 0x10], 0
mov edx, eax
mov dword [ebp - 0x14], edx
jle 0x446b1f
mov eax, dword [0xed0724]
add eax, ebx
cmp dword [eax + 0x14], 7
jbe 0x446aec
mov eax, dword [eax]
push edx
push eax
push edi
call fcn.0049e7b6
add esp, 0xc
test eax, eax
jne 0x446b0b
mov eax, dword [0xed0724]
lea ecx, [ebp - 0x20]
add eax, ebx
push eax
call fcn.0042a210
mov edx, dword [ebp - 0x14]
push 0x18
pop eax
add ebx, eax
sub dword [ebp - 0x10], 1
jne 0x446add
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x20]
sub esi, ebx
mov eax, esi
push 0x18
cdq
pop ecx
idiv ecx
mov esi, eax
test esi, esi
jne 0x446b3c
lea ecx, [ebp - 0x20]
call fcn.00452656
jmp 0x446a9e
call fcn.0049e53b
xor edx, edx
div esi
imul eax, edx, 0x18
add eax, ebx
cmp dword [eax + 0x14], 7
jbe 0x446b52
mov eax, dword [eax]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0x20]
call fcn.00452656
jmp 0x446b8a
call fcn.0049e53b
xor edx, edx
div esi
imul ecx, edx, 0x18
add ecx, dword [0xed0724]
cmp dword [ecx + 0x14], 7
jbe 0x446b80
mov ecx, dword [ecx]
push ecx
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov al, 1
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret
mov esi, 0xed0730
push esi
call fcn.00485d6c
cmp dword [0xed0730], 0xffffffff
pop ecx
jne 0x44697c
push 0x4bbeed
call fcn.00485b9e
push esi
call fcn.00485d1b
pop ecx
pop ecx
jmp 0x44697c