Function at 0x10035c90
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18c
mov eax, dword [ebp + 0xc]
push ebx
lea ecx, [eax + 0x1057]
push esi
mov ebx, eax
push edi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x28], ecx
cmp eax, ecx
ja 0x10035ef1
jmp 0x10035cc0
cmp ebx, 0x14f8
ja 0x10035f4b
je 0x10035f3c
cmp ebx, 0x143c
ja 0x10035d94
je 0x10035d5f
lea eax, [ebx - 0x1380]
cmp eax, 0x8d
ja case.0x10035cf8.4993
movzx eax, byte [eax + 0x100360a0]
jmp dword [eax*4 + 0x1003608c]
mov dword [ebp - 0x24], 0x10076ef1
jmp case.0x10035cf8.4993
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
push 0
push 0x22
lea ecx, [ebp - 4]
push ecx
mov ecx, dword [eax]
add edx, 0x28
push edx
push ecx
mov dword [ebp - 4], 0x21
call fcn.1006af70
add esp, 0x14
jmp case.0x10035cf8.4993
mov byte [ebp + 0xf], 0
mov dword [ebp - 8], 0
jmp case.0x10035cf8.4993
mov eax, dword [ebp - 0x24]
movzx edx, byte [eax]
mov cl, byte [eax + 1]
mov byte [ebp + 0xc], dl
movzx edx, byte [eax + 2]
mov byte [ebp + 0xe], cl
mov byte [ebp + 0xd], dl
jmp case.0x10035cf8.4993
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x24]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10035d68
push 0x2f77
lea ecx, [ebp - 0x20]
push ecx
sub eax, edx
add eax, 4
push 0
push 0
mov dword [ebp - 0x20], eax
call fcn.10066470
add esp, 0x10
mov dword [ebp - 0x14], eax
jmp case.0x10035cf8.4993
mov eax, ebx
sub eax, 0x146b
je 0x10035efb
sub eax, 0x2f
je 0x10035ec2
sub eax, 0x2f
jne case.0x10035cf8.4993
mov edx, dword [ebp - 0x14]
push eax
push eax
push 0x1313
push edx
call fcn.10062ff0
mov ecx, dword [ebp - 8]
add esp, 0x10
lea eax, [ebp - 0x18c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je case.0x10035cf8.4993
nop
cmp byte [ebp - 0x160], 0x2e
je 0x10035ea4
mov edi, dword [ebp + 0x10]
mov eax, dword [edi + 0x24]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10035df6
sub eax, edx
mov edx, eax
lea eax, [ebp - 0x160]
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10035e10
sub eax, esi
lea edx, [eax + edx + 1]
push 0x2f77
lea eax, [ebp - 0x10]
push eax
push 0
push 0
mov dword [ebp - 0x10], edx
call fcn.10066470
mov ecx, dword [edi + 0x24]
mov ebx, eax
add esp, 0x10
mov edx, ebx
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x10035e40
lea eax, [ebp - 0x160]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10035e52
sub eax, esi
lea edi, [ebx - 1]
mov edi, edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10035e60
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0x10]
push ecx
push ebx
lea edx, [ebp - 0x160]
push 0x5954
push edx
call fcn.10040220
add esp, 0x10
push 0
push 0
push 0x1313
push ebx
call fcn.10062ff0
mov ebx, dword [ebp - 4]
add esp, 0x10
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x18c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x10035de0
jmp case.0x10035cf8.4993
mov esi, dword [ebp - 0x14]
lea edx, [ebp - 0x18c]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 8], eax
cmp eax, 0xffffffff
jne case.0x10035cf8.4993
push 0
push 0
push 0x1313
push esi
call fcn.10062ff0
add esp, 0x10
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp - 0x14]
mov ecx, dword [eax + 0x24]
mov edx, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x10035f06
lea eax, [ebp + 0xc]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10035f15
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x10035f21
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp case.0x10035cf8.4993
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp case.0x10035cf8.4993
cmp ebx, 0x6b1f
ja 0x10035ff4
je 0x10035fe7
cmp ebx, 0x4b76
ja 0x10035fd6
je 0x10035fca
cmp ebx, 0x1527
je 0x10035fa1
cmp ebx, 0x23df
jne case.0x10035cf8.4993
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
lea edx, [ebp + 0xc]
push edx
push 0x523c
push 0
push 0
push 0
mov dword [ebp + 0xc], ecx
call fcn.10023960
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0x6482
push 0
call fcn.10004520
mov edx, dword [ebp + 0x10]
push 0
push 0
push eax
push edx
push 0x333a
call fcn.10019e10
add esp, 0x20
jmp case.0x10035cf8.4993
mov dword [ebp - 0xc], 0
jmp case.0x10035cf8.4993
cmp ebx, 0x4ba5
je 0x10035ef1
jmp case.0x10035cf8.4993
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
jmp case.0x10035cf8.4993
mov eax, ebx
sub eax, 0x6b4e
je case.0x10035cf8.4993
sub eax, 0x2f
je 0x10036030
sub eax, 0x2f
jne case.0x10035cf8.4993
push eax
push eax
push eax
push eax
push 0x77bd
call fcn.1000d230
add eax, 0x20
push eax
push 0x4fa4
push 0
push 0
call fcn.1005a6d0
add esp, 0x24
jmp case.0x10035cf8.4993
push 0
push 0x5ecb
call fcn.100361a0
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push 0
push 0xf2a
push 0
push 0
mov dword [ebp - 0x18], edx
call fcn.10035780
push 0
push 0x22
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x4c]
push edx
push eax
mov dword [ebp - 0x10], 0x24
call fcn.1006af70
add esp, 0x30
add ebx, 0x2f
mov dword [ebp - 4], ebx
cmp ebx, dword [ebp - 0x28]
jbe 0x10035cc0
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret