Function at 0x421163
Capabilities:
Enumerate files on windows

Disassembly:
push 0x8a8
mov eax, 0x58acc0
call fcn.0042d04f
mov edi, ecx
mov ecx, dword [edi + 0x698]
xor ebx, ebx
test ecx, ecx
jne 0x4211a0
push 0xc
call fcn.0042cae9
pop ecx
test eax, eax
je 0x421196
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
jmp 0x421198
mov eax, ebx
mov dword [edi + 0x698], eax
jmp 0x4211a5
call fcn.00423909
push 0x208
lea eax, [ebp - 0x420]
push ebx
push eax
call fcn.0055d8e0
add esp, 0xc
push str.Skin_
call fcn.00403feb
mov ecx, eax
call fcn.0043599e
push eax
lea eax, [ebp - 0x420]
push 0x58f14c
push eax
call fcn.00404cc4
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x628]
push str._s.
push eax
call fcn.00404cc4
add esp, 0x1c
lea eax, [ebp - 0x8b0]
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
mov dword [ebp - 0x8b4], ebx
push 0x2e
pop esi
cmp ebx, 0xffffffff
je 0x4213f4
lea eax, [ebp - 0x8b0]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x4213f4
cmp word [ebp - 0x884], si
je 0x421220
cmp word [ebp - 0x882], 0
je 0x421220
cmp word [ebp - 0x882], si
jne 0x42125c
cmp word [ebp - 0x880], 0
je 0x421220
test byte [ebp - 0x8b0], 0x10
jne 0x421220
lea ecx, [ebp - 0x644]
xor bl, bl
call fcn.004038e8
and dword [ebp - 4], 0
lea eax, [ebp - 0x884]
mov esi, str..wnpf
push esi
push eax
call fcn.0055d651
pop ecx
pop ecx
test eax, eax
je 0x4212de
lea eax, [ebp - 0x884]
mov byte [ebp - 0x62c], bl
push eax
lea eax, [ebp - 0x218]
inc bl
push 0x58f24c
push eax
call fcn.00404cc4
push esi
call fcn.00564eaf
mov esi, eax
lea eax, [ebp - 0x218]
push eax
call fcn.00564eaf
sub eax, esi
add esp, 0x14
add eax, eax
cmp eax, 0x208
jae 0x4213ef
xor ecx, ecx
mov word [ebp + eax - 0x218], cx
mov esi, str..swnpf
lea eax, [ebp - 0x884]
push esi
push eax
call fcn.0055d651
pop ecx
pop ecx
test eax, eax
je 0x421346
lea eax, [ebp - 0x884]
mov bl, 1
push eax
lea eax, [ebp - 0x218]
mov byte [ebp - 0x62c], bl
push 0x58f24c
push eax
call fcn.00404cc4
push esi
call fcn.00564eaf
mov esi, eax
lea eax, [ebp - 0x218]
push eax
call fcn.00564eaf
sub eax, esi
add esp, 0x14
add eax, eax
cmp eax, 0x208
jae 0x4213ef
xor ecx, ecx
mov word [ebp + eax - 0x218], cx
test bl, bl
je 0x4213ce
cmp word [ebp - 0x218], 0
jne 0x42135c
xor eax, eax
jmp 0x421369
lea eax, [ebp - 0x218]
push eax
call fcn.00564eaf
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x644]
call fcn.0040475c
lea eax, [ebp - 0x218]
push eax
call fcn.00404029
test eax, eax
mov eax, dword [edi + 0x698]
pop ecx
setne byte [ebp - 0x62b]
mov esi, dword [eax]
jmp 0x4213b7
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
call fcn.00404856
test eax, eax
je 0x4213ce
mov eax, dword [edi + 0x698]
add esi, 0x1c
cmp esi, dword [eax + 4]
jne 0x42139c
mov ecx, dword [edi + 0x698]
lea eax, [ebp - 0x644]
push eax
call fcn.00404c35
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x644]
push 0
push 1
call fcn.004044a8
mov ebx, dword [ebp - 0x8b4]
push 0x2e
pop esi
jmp 0x421220
call fcn.0042d273
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
call fcn.00403feb
mov ecx, eax
call fcn.0042e1fb
push eax
lea eax, [ebp - 0x420]
push str._sAllSkin_
push eax
call fcn.00404cc4
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x628]
push str._s.
push eax
call fcn.00404cc4
add esp, 0x18
lea eax, [ebp - 0x8b0]
push eax
lea eax, [ebp - 0x628]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
mov dword [ebp - 0x8b4], ebx
cmp ebx, 0xffffffff
je 0x42162b
lea eax, [ebp - 0x8b0]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x42162b
cmp word [ebp - 0x884], si
je 0x421459
cmp word [ebp - 0x882], 0
je 0x421459
cmp word [ebp - 0x882], si
jne 0x421495
cmp word [ebp - 0x880], 0
je 0x421459
test byte [ebp - 0x8b0], 0x10
jne 0x421459
lea ecx, [ebp - 0x660]
xor bl, bl
call fcn.004038e8
mov esi, str..wnpf
mov dword [ebp - 4], 1
lea eax, [ebp - 0x884]
push esi
push eax
call fcn.0055d651
pop ecx
pop ecx
test eax, eax
je 0x42151a
lea eax, [ebp - 0x884]
mov byte [ebp - 0x648], bl
push eax
lea eax, [ebp - 0x218]
inc bl
push 0x58f24c
push eax
call fcn.00404cc4
push esi
call fcn.00564eaf
mov esi, eax
lea eax, [ebp - 0x218]
push eax
call fcn.00564eaf
sub eax, esi
add esp, 0x14
add eax, eax
cmp eax, 0x208
jae 0x4213ef
xor ecx, ecx
mov word [ebp + eax - 0x218], cx
mov esi, str..swnpf
lea eax, [ebp - 0x884]
push esi
push eax
call fcn.0055d651
pop ecx
pop ecx
test eax, eax
je 0x421582
lea eax, [ebp - 0x884]
mov bl, 1
push eax
lea eax, [ebp - 0x218]
mov byte [ebp - 0x648], bl
push 0x58f24c
push eax
call fcn.00404cc4
push esi
call fcn.00564eaf
mov esi, eax
lea eax, [ebp - 0x218]
push eax
call fcn.00564eaf
sub eax, esi
add esp, 0x14
add eax, eax
cmp eax, 0x208
jae 0x4213ef
xor ecx, ecx
mov word [ebp + eax - 0x218], cx
test bl, bl
je 0x42160a
cmp word [ebp - 0x218], 0
jne 0x421598
xor eax, eax
jmp 0x4215a5
lea eax, [ebp - 0x218]
push eax
call fcn.00564eaf
pop ecx
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x660]
call fcn.0040475c
lea eax, [ebp - 0x218]
push eax
call fcn.00404029
test eax, eax
mov eax, dword [edi + 0x698]
pop ecx
setne byte [ebp - 0x647]
mov esi, dword [eax]
jmp 0x4215f3
lea eax, [ebp - 0x218]
mov ecx, esi
push eax
call fcn.00404856
test eax, eax
je 0x42160a
mov eax, dword [edi + 0x698]
add esi, 0x1c
cmp esi, dword [eax + 4]
jne 0x4215d8
mov ecx, dword [edi + 0x698]
lea eax, [ebp - 0x660]
push eax
call fcn.00404c35
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x660]
push 0
push 1
call fcn.004044a8
mov ebx, dword [ebp - 0x8b4]
push 0x2e
pop esi
jmp 0x421459
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
inc eax
call fcn.0042cff9
ret