Function at 0x4478c0
Capabilities:
Enumerate files on windows
Move file
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xabc
mov eax, dword [esp + 0xad4]
mov dword [esp + 0x3c], eax
mov byte [esp + 0x4f], al
mov eax, dword [esp + 0xad0]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov dword [esp], 0x515835
lea ebx, [eax - 4]
mov eax, dword [esp + 0xad0]
add eax, ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_strcmp
mov dword [esp + 0x38], eax
test eax, eax
jne 0x448080
mov eax, 0xc8
cmp ebx, eax
cmovg ebx, eax
cmp byte [0xde834a], 0
je 0x447dd0
mov dword [esp], 0
lea edi, [esp + 0x2ac]
lea ebp, [esp + 0x6c]
call dword [sym.imp.msvcrt.dll_time]
mov dword [esp + 0x6ac], eax
lea eax, [esp + 0x6ac]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_localtime]
mov dword [esp + 8], ebx
mov esi, eax
mov eax, dword [esp + 0xad0]
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.msvcrt.dll_strncpy
mov byte [esp + ebx + 0x2ac], 0
mov eax, dword [esi]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x10]
add eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0xc], edi
add eax, 0x76c
mov dword [esp + 8], str._s__04d__02d__02d__02d__02d__02d.xhtml
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x100
mov dword [esp], ebp
call fcn.00445ad0
mov eax, dword [0xde84ac]
mov dword [esp + 0xc], ebp
mov dword [esp + 4], 0x400
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.00404e10
mov dword [esp + 4], 0x51586f
mov dword [esp], edi
call sub.msvcrt.dll_fopen
mov dword [esp + 0x48], eax
mov ebx, eax
test eax, eax
je 0x447dbd
mov dword [esp], ebp
call sub.msvcrt.dll_strlen
mov byte [esp + eax + 0x66], 0
mov dword [esp + 4], str.__xml_version_1.0__encoding_iso_8859_1____n__DOCTYPE_html_PUBLIC_____W3C__DTD_XHTML_1.0_Strict__EN___DTD_xhtml1_strict.dtd___n_html_xmlns_http:__www.w3.org_1999_xhtml___n_head__n
mov dword [esp], ebx
call fcn.00445aa0
mov dword [esp + 0x14], 0x5156e1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 9
mov dword [esp + 8], 4
mov dword [esp + 4], str._meta_name_GENERATOR__content_TomeNET__d._d._d_s____n
mov dword [esp], ebx
call fcn.00445aa0
mov dword [esp + 8], ebp
mov dword [esp + 4], str._title__s__title__n
mov dword [esp], ebx
call fcn.00445aa0
mov dword [esp + 4], str.__head__n_body__n_pre_style_color:_ffffff__background_color:_000000__font_family:_monospace___n
mov dword [esp], ebx
call fcn.00445aa0
mov eax, dword [0x54b7c4]
mov eax, dword [eax + 0x40]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
movzx eax, byte [eax]
lea esi, [eax - 0x40]
mov ecx, esi
cmp cl, 0x10
cmovae esi, eax
mov eax, esi
movzx eax, al
mov dword [esp], eax
call fcn.00407580
mov edx, 0x10
mov dword [esp + 4], str._span_style_color:__s__
cmp al, dl
mov dword [esp], ebx
cmova eax, edx
movzx eax, al
mov eax, dword [eax*4 + 0x515de0]
mov dword [esp + 8], eax
call fcn.00445aa0
mov eax, dword [esp + 0x3c]
cmp al, 1
je 0x44813a
cmp al, 3
je 0x4481a8
mov dword [esp + 0x44], 0
cmp al, 2
je 0x448195
mov ecx, dword [0x54b7c4]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x50], eax
cmp dword [esp + 0x44], eax
jge 0x4481ca
mov dword [esp + 0x54], 0
xor ebx, ebx
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x44]
mov eax, dword [ecx + 0x40]
cmp byte [esp + 0x4f], 1
lea edx, [ebp*4]
mov dword [esp + 0x38], edx
mov edx, dword [eax + 0xc]
mov edx, dword [edx + ebp*4]
mov ebp, dword [eax + 0x10]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x40], edx
mov eax, dword [ebp + eax*4]
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0x24]
je 0x448050
cmp byte [esp + 0x4f], 3
jne 0x447ff0
cmp dword [esp + 0x44], 6
jle 0x447ff0
test eax, eax
jle 0x447fe0
mov ebp, dword [esp + 0x3c]
xor edx, edx
jmp 0x447b7b
add edx, 1
cmp edx, eax
je 0x447fe0
cmp dword [ebp + edx*4], 0x20
je 0x447b70
add dword [esp + 0x54], 1
xor ebp, ebp
jmp 0x447bd4
cmp al, 2
je 0x447f88
cmp al, 0x1f
je 0x447f78
cmp al, 1
jne 0x447fc8
mov eax, 0x24
mov byte [esp + ebx + 0x2ac], al
mov ebx, edx
cmp ebx, 0x200
ja 0x447cf0
mov ecx, dword [0x54b7c4]
add ebp, 1
cmp dword [ecx + 0x24], ebp
jle 0x447d28
mov eax, dword [esp + 0x40]
mov ecx, esi
movzx eax, byte [eax + ebp]
cmp al, cl
je 0x447c68
lea esi, [eax - 0x40]
mov ecx, esi
cmp cl, 0x10
cmovae esi, eax
lea eax, [edi + ebx]
mov dword [eax], 0x70732f3c
mov dword [eax + 4], 0x3c3e6e61
mov dword [eax + 8], 0x6e617073
mov dword [eax + 0xc], 0x79747320
mov dword [eax + 0x10], 0x223d656c
mov dword [eax + 0x14], 0x6f6c6f63
mov dword [eax + 0x18], 0x203a72
mov eax, esi
movzx eax, al
mov dword [esp], eax
call fcn.00407580
mov edx, 0x10
cmp al, dl
cmova eax, edx
movzx eax, al
mov eax, dword [eax*4 + 0x515de0]
mov dword [esp + 4], eax
lea eax, [edi + ebx + 0x1b]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [edi + ebx + 0x22]
mov edx, 0x3e22
add ebx, 0x24
mov word [eax], dx
mov byte [eax + 2], 0
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + ebp*4]
mov eax, dword [0xd78a24]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x38], edx
call fcn.00405e10
mov edx, dword [esp + 0x38]
test eax, eax
je 0x447f10
movzx eax, byte [eax]
lea edx, [ebx + 1]
cmp al, 0x26
je 0x447f40
jle 0x447b90
cmp al, 0x3e
je 0x447f98
cmp al, 0x7f
je 0x447f88
cmp al, 0x3c
jne 0x447bad
mov byte [esp + ebx + 0x2ac], 0x26
lea eax, [ebx + 3]
mov byte [esp + edx + 0x2ac], 0x6c
mov byte [esp + ebx + 0x2ae], 0x74
add ebx, 4
mov byte [esp + eax + 0x2ac], 0x3b
cmp ebx, 0x200
jbe 0x447bc2
nop
mov eax, dword [esp + 0x48]
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov dword [esp], edi
call sub.msvcrt.dll_fwrite
cmp eax, ebx
jb 0x448008
mov ecx, dword [0x54b7c4]
xor ebx, ebx
add ebp, 1
cmp dword [ecx + 0x24], ebp
jg 0x447bd4
add dword [esp + 0x44], 1
mov byte [esp + ebx + 0x2ac], 0xa
add ebx, 1
mov edx, dword [esp + 0x44]
cmp dword [esp + 0x50], edx
jg 0x447b09
mov ebp, dword [esp + 0x58]
test ebx, ebx
je 0x447d72
mov eax, dword [esp + 0x48]
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov dword [esp], edi
call sub.msvcrt.dll_fwrite
cmp eax, ebx
jb 0x448008
movzx ebx, byte [esp + 0x54]
mov edi, dword [esp + 0x48]
mov dword [esp + 4], str.__span__n__pre__n__body__n__html__n
mov dword [esp], edi
call fcn.00445aa0
mov dword [esp], edi
call sub.msvcrt.dll_fclose
cmp byte [0xd787d2], 0
je 0x4481b5
mov byte [0xd787d2], 0
mov dword [esp + 4], ebp
mov dword [esp], 0xd622c0
call sub.msvcrt.dll_strcpy
mov byte [0xd622a0], bl
add esp, 0xabc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0xad0]
lea esi, [esp + 0x6ac]
mov dword [esp + 8], ebx
lea edi, [esp + 0x2ac]
mov dword [esp], esi
lea ebp, [esp + 0x16c]
mov dword [esp + 4], eax
call sub.msvcrt.dll_strncpy
mov byte [esp + ebx + 0x6ac], 0
mov dword [esp], esi
call sub.msvcrt.dll_strlen
add eax, esi
mov dword [eax], 0x68782e2a
mov dword [eax + 4], 0x6c6d74
mov eax, dword [0xde84ac]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 0x400
mov dword [esp], edi
call fcn.00404e10
mov dword [esp + 4], ebp
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edx, 1
sub esp, 8
mov esi, eax
test eax, eax
je 0x447ebb
movsx eax, byte [esp + ebx + 0x198]
sub eax, 0x30
cmp eax, 9
ja 0x447e94
lea eax, [ebp + ebx + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
xor edx, edx
test eax, eax
cmovns edx, eax
mov dword [esp + 0x38], edx
jmp 0x447e94
movsx eax, byte [esp + ebx + 0x198]
sub eax, 0x30
cmp eax, 9
jbe 0x448177
mov dword [esp + 4], ebp
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
sub esp, 8
test eax, eax
jne 0x447e80
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_FindClose]
sub esp, 4
mov edx, dword [esp + 0x38]
add edx, 1
mov eax, dword [esp + 0xad0]
mov dword [esp + 8], ebx
lea ebp, [esp + 0x6c]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 0x38], edx
call sub.msvcrt.dll_strncpy
mov edx, dword [esp + 0x38]
mov byte [esp + ebx + 0x2ac], 0
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], edx
mov dword [esp + 8], str._s_04d.xhtml
mov dword [esp + 4], 0x100
mov dword [esp], ebp
call fcn.00445ad0
jmp 0x4479c4
mov eax, dword [0xd78900]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00405e10
test eax, eax
jne 0x447c90
mov eax, dword [esp + 0x3c]
lea edx, [ebx + 1]
movzx eax, byte [eax + ebp*4]
cmp al, 0x26
jne 0x447c9e
lea esi, [esi]
lea eax, [ebx + 4]
mov byte [esp + ebx + 0x2ac], 0x26
mov byte [esp + edx + 0x2ac], 0x61
mov byte [esp + ebx + 0x2ae], 0x6d
mov byte [esp + ebx + 0x2af], 0x70
add ebx, 5
mov byte [esp + eax + 0x2ac], 0x3b
jmp 0x447bb6
mov eax, 0x2e
jmp 0x447bad
mov eax, 0x23
jmp 0x447bad
lea eax, [ebx + 3]
mov byte [esp + ebx + 0x2ac], 0x26
mov byte [esp + edx + 0x2ac], 0x67
mov byte [esp + ebx + 0x2ae], 0x74
add ebx, 4
mov byte [esp + eax + 0x2ac], 0x3b
jmp 0x447bb6
lea ecx, [eax - 0x20]
cmp cl, 0x5f
mov ecx, 0x7e
cmovae eax, ecx
jmp 0x447bad
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x44], eax
jmp 0x447d38
add dword [esp + 0x54], 1
test eax, eax
jle 0x447d28
jmp 0x447b87
mov dword [esp], 2
call dword [0x503f4c]
mov dword [esp + 4], str.fwrite_failed_n
mov dword [esp], eax
call fcn.00445aa0
mov dword [esp], 0x5159fc
call fcn.00413da0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sub.msvcrt.dll_fclose
add esp, 0xabc
pop ebx
pop esi
pop edi
pop ebp
ret
test eax, eax
jle 0x447fe0
mov dword [esp + 0x5c], ebp
xor edx, edx
mov ebp, dword [esp + 0x3c]
jmp 0x44806b
add edx, 1
cmp edx, eax
je 0x448147
cmp dword [ebp + edx*4], 0x20
je 0x448060
jmp 0x447b82
mov eax, dword [esp + 0xad0]
lea ebp, [esp + 0x6c]
mov dword [esp + 8], 0xf9
lea edi, [esp + 0x2ac]
mov dword [esp], ebp
mov dword [esp + 4], eax
call sub.msvcrt.dll_strncpy
mov dword [esp], ebp
mov byte [esp + 0x165], 0
call sub.msvcrt.dll_strlen
add eax, ebp
mov dword [eax], 0x7468782e
mov dword [eax + 3], 0x6c6d74
mov eax, dword [0xde84ac]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], 0x400
mov dword [esp], edi
call fcn.00404e10
mov dword [esp + 4], 0x515564
mov dword [esp], edi
call sub.msvcrt.dll_fopen
test eax, eax
je 0x4479e1
mov dword [esp], eax
lea ebx, [esp + 0x6ac]
call sub.msvcrt.dll_fclose
mov dword [esp + 4], edi
mov dword [esp], ebx
call sub.msvcrt.dll_strcpy
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
add eax, ebx
mov dword [eax], 0x6b61622e
mov byte [eax + 4], 0
mov dword [esp + 4], ebx
mov dword [esp], edi
call sub.msvcrt.dll_rename
jmp 0x4479e1
mov dword [esp + 0x44], 2
jmp 0x447ae4
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
mov ebp, dword [ebp + edx + 4]
xor edx, edx
jmp 0x44816b
add edx, 1
cmp edx, eax
je 0x447fe0
cmp dword [ebp + edx*4], 0x20
je 0x448160
jmp 0x447b82
lea eax, [ebp + ebx + 0x2c]
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov ecx, dword [esp + 0x38]
cmp ecx, eax
cmovge eax, ecx
mov dword [esp + 0x38], eax
jmp 0x447e94
mov dword [esp + 0x50], 0x18
mov ecx, dword [0x54b7c4]
jmp 0x447afb
mov dword [esp + 0x44], 5
jmp 0x447ae4
mov dword [esp + 4], ebp
mov dword [esp], str.Screenshot_saved_to__s.xhtml
call fcn.00414150
jmp 0x447da7
xor ebx, ebx
jmp 0x447d77