Function at 0x4090b0
Capabilities:
Enumerate files on windows

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x458381
push eax
mov eax, 0x146c
mov dword fs:[0], esp
call fcn.00457870
push ebp
push esi
push edi
mov ecx, 0x93
xor eax, eax
lea edi, [esp + 0x24]
mov dword [esp + 0x20], 0
rep stosd dword es:[edi], eax
mov eax, dword [0x4631a0]
mov dword [esp + 0xc], eax
mov dword [esp + 0x1480], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov ax, word [0x468b0c]
mov ecx, 0x81
mov word [esp + 0x270], ax
xor eax, eax
lea edi, [esp + 0x272]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenW]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x270]
mov byte [esp + 0x1480], 2
test ecx, ecx
stosw word es:[edi], ax
je 0x409215
mov edx, str.config
mov word [esp + 0x270], 0
test edx, edx
je 0x4091d8
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0x478]
push edx
rep stosd dword es:[edi], eax
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
je 0x409201
mov ecx, dword [esp + 0x1488]
lea eax, [esp + 0x478]
push 0x800
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea edx, [esp + 0x478]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [esp + 0x478]
push str.config
lea ecx, [esp + 0x47c]
push eax
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [esp + 0x478]
push 0x104
lea eax, [esp + 0x274]
push edx
push eax
call dword [sym.imp.MSVCRT.dll_wcsncpy]
add esp, 0xc
lea edx, [esp + 0x270]
push edx
call ebp
lea ecx, [esp + 0x270]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00408770
mov edx, 0x463690
test edx, edx
jne 0x409219
xor eax, eax
jmp 0x409220
push 0x104
lea ecx, [esp + 0x274]
push str.config
push ecx
jmp 0x4091cf
xor eax, eax
jmp 0x4091e2
push 0x463690
call ebp
push 0x463690
push eax
lea ecx, [esp + 0x1c]
call fcn.00408e60
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov edi, eax
test edi, edi
mov dword [esp + 0x18], edi
je 0x4093df
test byte [esp + 0x20], 0x10
je 0x4093c4
mov esi, dword [sym.imp.MSVCRT.dll_wcscmp]
lea edx, [esp + 0x4c]
push 0x46368c
push edx
call esi
add esp, 8
test eax, eax
je 0x4093c4
lea eax, [esp + 0x4c]
push 0x463684
push eax
call esi
add esp, 8
test eax, eax
je 0x4093c4
mov ecx, str.config_
test ecx, ecx
jne 0x409299
xor esi, esi
jmp 0x4092a2
push str.config_
call ebp
mov esi, eax
push esi
lea ecx, [esp + 0x10]
call fcn.00401cb0
test eax, eax
je 0x4092dc
mov eax, dword [esp + 0xc]
lea edi, [esi + esi]
push edi
lea edx, [esi + esi + 2]
push str.config_
push edx
push eax
call fcn.00401bc0
mov ecx, dword [esp + 0x1c]
add esp, 0x10
mov dword [ecx - 8], esi
mov edx, dword [esp + 0xc]
mov word [edi + edx], 0
lea eax, [esp + 0x4c]
test eax, eax
je 0x4092eb
lea ecx, [esp + 0x4c]
push ecx
call ebp
lea edx, [esp + 0x4c]
lea ecx, [esp + 0xc]
push edx
push eax
call fcn.00408e60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp eax, ecx
je 0x40934c
mov edx, dword [eax - 0xc]
test edx, edx
jge 0x40931a
mov edx, dword [0x4631a4]
add eax, 0xfffffff4
cmp eax, edx
jne 0x409321
mov eax, dword [ecx - 0xc]
test eax, eax
jge 0x409331
mov eax, dword [ecx - 8]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00408770
jmp 0x40934c
lea ecx, [esp + 0x10]
call fcn.00405b60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], eax
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov ecx, str._skin.png
test ecx, ecx
jne 0x409359
xor eax, eax
jmp 0x409360
push str._skin.png
call ebp
push str._skin.png
push eax
lea ecx, [esp + 0x14]
call fcn.00408e60
mov eax, dword [esp + 0x10]
push ecx
mov dword [esp + 0x20], esp
mov esi, esp
mov ecx, dword [eax - 0xc]
test ecx, ecx
jl 0x409393
mov dword [esi], eax
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp 0x4093b0
mov eax, dword [0x4631a0]
mov dword [esi], eax
mov eax, dword [esp + 0x14]
test eax, eax
mov edi, eax
je 0x4093a7
push eax
call ebp
push edi
push eax
mov ecx, esi
call fcn.00408770
mov ecx, dword [esp + 0x148c]
push ecx
call fcn.004088e0
mov edi, dword [esp + 0x20]
add esp, 8
lea edx, [esp + 0x20]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x40924d
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov eax, dword [esp + 0x10]
mov edx, dword [0x4631a4]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x409410
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x409410
mov edx, dword [esp + 0x10]
add edx, 0xfffffff4
push edx
call fcn.0044bf22
add esp, 4
mov eax, dword [esp + 0x14]
mov edx, dword [0x4631a4]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x40943b
add eax, 0xfffffff4
push eax
call esi
test eax, eax
jg 0x40943b
mov edx, dword [esp + 0x14]
add edx, 0xfffffff4
push edx
call fcn.0044bf22
add esp, 4
lea ecx, [esp + 0xc]
call fcn.00401c80
mov ecx, dword [esp + 0x1478]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebp
add esp, 0x1478
ret