Function at 0x46afb0
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x493830
mov eax, dword fs:[0]
push eax
sub esp, 0x2e0
mov eax, dword [0x4b6798]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push 0x4a3ff4
mov dword [ebp - 0x2dc], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edi, [eax + eax + 2]
mov eax, edi
call fcn.00486070
mov esi, esp
xor ebx, ebx
cmp esi, ebx
je 0x46b027
push edi
push esi
push 0xffffffffffffffff
push 0x4a3ff4
push ebx
xor ecx, ecx
push 0xfde9
mov word [esi], cx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb eax, eax
and eax, esi
jmp 0x46b029
xor eax, eax
mov edi, 7
xor edx, edx
mov ecx, eax
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x74], ebx
mov word [ebp - 0x84], dx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x46b042
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0x84]
call fcn.00409bc0
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 4], ebx
xor eax, eax
add ecx, 0x20
push ebx
mov word [ebp - 0x4c], ax
push ecx
or eax, 0xffffffff
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
call fcn.004097e0
push 2
push 0x4a5824
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.004046f0
push str._d_._d_._d_._d__
lea edx, [ebp - 0x2ec]
push edx
call fcn.00443030
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x4c]
mov esi, 8
cmp dword [ebp - 0x38], esi
jae 0x46b0ba
lea eax, [ebp - 0x4c]
push ebx
push ebx
push 1
lea ecx, [ebp - 0x2d4]
push ecx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileExW]
mov dword [ebp - 0x2d8], eax
cmp eax, 0xffffffff
jne 0x46b125
lea edx, [ebp - 0x2ec]
push edx
mov byte [ebp - 4], 1
call fcn.00402f80
cmp dword [ebp - 0x38], esi
jb 0x46b0f9
mov eax, dword [ebp - 0x4c]
push eax
call fcn.004736d0
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], cx
cmp dword [ebp - 0x70], esi
jb 0x46b389
mov edx, dword [ebp - 0x84]
push edx
jmp 0x46b381
mov edi, 7
xor eax, eax
mov word [ebp - 0x30], ax
lea eax, [ebp - 0x2a8]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], ebx
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x46b140
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x2a8]
lea esi, [ebp - 0x30]
call fcn.00409bc0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x20]
mov esi, eax
cmp eax, 1
jb 0x46b171
mov esi, 1
cmp dword [ebp - 0x1c], 8
mov edx, dword [ebp - 0x30]
jae 0x46b17d
lea edx, [ebp - 0x30]
mov ecx, 0x49bcc4
cmp esi, ebx
jbe 0x46b1a3
mov di, word [edx]
cmp di, word [ecx]
jne 0x46b199
add edx, 2
add ecx, 2
dec esi
jne 0x46b186
jmp 0x46b1a3
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
cmp ecx, ebx
jne 0x46b1b7
cmp eax, 1
jae 0x46b1ad
or ecx, 0xffffffff
jmp 0x46b1b5
xor ecx, ecx
cmp eax, 1
setne cl
cmp ecx, ebx
sete cl
cmp cl, bl
jne 0x46b2fe
push 0x49c208
mov edi, 2
lea ecx, [ebp - 0x30]
call fcn.004041a0
test eax, eax
je 0x46b2fe
test byte [ebp - 0x2d4], 0x10
je 0x46b2fe
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov edi, 8
mov eax, edx
cmp ecx, edi
jae 0x46b1fd
lea eax, [ebp - 0x30]
mov esi, dword [ebp - 0x20]
cmp ecx, edi
lea eax, [eax + esi*2]
mov ecx, edx
jae 0x46b20c
lea ecx, [ebp - 0x30]
push 0x10
lea edx, [ebp - 0x2ec]
push edx
push eax
push ecx
xor ecx, ecx
call fcn.0045eb80
add esp, 0x10
test al, al
je 0x46b2e1
cmp dword [ebp - 0x1c], edi
jb 0x46b239
mov esi, dword [ebp - 0x30]
cmp esi, ebx
jne 0x46b23c
xor eax, eax
jmp 0x46b26d
lea esi, [ebp - 0x30]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x46b24f
xor eax, eax
jmp 0x46b26d
lea edi, [eax + eax]
mov eax, edi
call fcn.00486070
mov edx, esp
mov eax, esi
push 3
mov ecx, edi
mov esi, edx
call fcn.0046b3b0
mov edi, 8
mov ecx, eax
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
lea esi, [ecx + 1]
nop
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x46b280
sub ecx, esi
push ecx
push eax
lea ecx, [ebp - 0x68]
call fcn.00408d20
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x68]
mov esi, 0x10
cmp dword [ebp - 0x54], esi
jae 0x46b2a7
lea eax, [ebp - 0x68]
push eax
push 0x4a3ff4
call fcn.0046ed00
add esp, 8
test eax, eax
jle 0x46b2d0
mov ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], edi
jae 0x46b2c4
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x2dc]
push eax
call fcn.0046ac40
cmp dword [ebp - 0x54], esi
jb 0x46b2e1
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.004736d0
add esp, 4
mov eax, dword [ebp - 0x2d8]
lea edx, [ebp - 0x2d4]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], edi
jmp 0x46b31a
mov eax, dword [ebp - 0x2d8]
lea edx, [ebp - 0x2d4]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x1c], 8
mov esi, eax
jb 0x46b32a
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.004736d0
add esp, 4
cmp esi, ebx
jne 0x46b120
mov edx, dword [ebp - 0x2d8]
push edx
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [ebp - 0x2ec]
push eax
mov byte [ebp - 4], 1
call fcn.00402f80
mov esi, 8
cmp dword [ebp - 0x38], esi
jb 0x46b365
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.004736d0
add esp, 4
xor edx, edx
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], dx
cmp dword [ebp - 0x70], esi
jb 0x46b389
mov eax, dword [ebp - 0x84]
push eax
call fcn.004736d0
add esp, 4
lea esp, [ebp - 0x2fc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004736db
mov esp, ebp
pop ebp
ret 4