Function at 0x455c50
Capabilities:
Enumerate files on windows
Enumerate files recursively
Get file size
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x30
push 0
push 0
dec ecx
jne 0x455c58
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404a14
xor eax, eax
push ebp
push 0x456234
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00450744
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x154]
mov ecx, 0x45624c
mov edx, dword [ebp - 4]
call fcn.00404870
mov eax, dword [ebp - 0x154]
call fcn.00404a24
push eax
call sub.kernel32.dll_FindFirstFileA_1
mov esi, eax
cmp esi, 0xffffffff
je 0x4561e5
lea eax, [ebp - 8]
lea edx, [ebp - 0x124]
mov ecx, 0x104
call fcn.004047d4
test byte [ebp - 0x150], 0x10
je 0x455d24
mov eax, dword [ebp - 8]
mov edx, 0x456258
call fcn.00404970
je 0x4561d0
mov eax, dword [ebp - 8]
mov edx, 0x456264
call fcn.00404970
je 0x4561d0
push dword [ebp - 4]
push dword [ebp - 8]
push 0x456270
lea eax, [ebp - 0x158]
mov edx, 3
call fcn.004048e4
mov eax, dword [ebp - 0x158]
call fcn.00455c50
jmp 0x4561d0
mov eax, 0x467080
mov edx, 0x45627c
call fcn.004045b8
cmp word [0x464e8c], 0
jne 0x455d43
inc dword [0x4670ac]
mov eax, dword [0x4670ac]
cmp eax, dword [0x4670a8]
jl 0x4561d0
lea eax, [ebp - 0x15c]
push eax
mov eax, dword [ebp - 8]
call fcn.00404824
mov edx, eax
sub edx, 2
mov ecx, 3
mov eax, dword [ebp - 8]
call fcn.00404a84
mov eax, dword [ebp - 0x15c]
lea edx, [ebp - 0xc]
call fcn.00407a28
mov edx, dword [0x467074]
mov eax, dword [ebp - 0xc]
call fcn.00404b68
test eax, eax
je 0x455d99
mov bl, 3
jmp 0x455d9b
mov bl, 1
cmp bl, 3
jne 0x455e64
mov eax, dword [0x467070]
call fcn.00404824
test eax, eax
jne 0x455db9
mov bl, 2
jmp 0x455e64
mov edi, dword [ebp - 0x130]
cmp edi, 0x9600000
jbe 0x455dce
mov bl, 2
jmp 0x455e64
mov eax, dword [ebp - 0xc]
mov edx, 0x4562f4
call fcn.00404970
jne 0x455e0d
cmp edi, 0x7530
jae 0x455de9
mov bl, 2
jmp 0x455e64
lea eax, [ebp - 0x160]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
call fcn.00404870
mov eax, dword [ebp - 0x160]
call fcn.00407d18
test al, al
jne 0x455e64
mov bl, 2
jmp 0x455e64
mov edx, dword [ebp - 8]
mov eax, 0x456300
call fcn.00404b68
test eax, eax
je 0x455e64
mov edx, dword [ebp - 8]
mov eax, 0x456310
call fcn.00404b68
test eax, eax
jne 0x455e64
mov edx, dword [ebp - 8]
mov eax, 0x456324
call fcn.00404b68
test eax, eax
jne 0x455e64
mov edx, dword [ebp - 8]
mov eax, 0x456338
call fcn.00404b68
test eax, eax
jne 0x455e64
mov edx, dword [ebp - 8]
mov eax, 0x456350
call fcn.00404b68
test eax, eax
jne 0x455e64
mov bl, 2
mov eax, 0x467080
mov edx, 0x456368
call fcn.004045b8
cmp bl, 3
jne 0x455f0a
inc word [0x464e8c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.00455138
test al, al
je 0x455ec0
mov eax, 0x46708c
mov edx, dword [ebp - 4]
call fcn.004045b8
lea eax, [ebp - 0x164]
mov ecx, 0x456270
mov edx, dword [0x46706c]
call fcn.00404870
mov eax, dword [ebp - 0x164]
call fcn.00455c50
push dword [0x46704c]
push 0x4563b4
lea edx, [ebp - 0x16c]
movzx eax, word [0x464e8c]
call fcn.004079a4
push dword [ebp - 0x16c]
push 0x4563c0
lea eax, [ebp - 0x168]
mov edx, 4
call fcn.004048e4
mov eax, dword [ebp - 0x168]
call fcn.00407ed0
dec word [0x464e8c]
xor eax, eax
cmp bl, 1
jne 0x45617a
cmp dword [0x4670b8], 0x64
setl dl
sub dl, 1
jb 0x455f64
jne 0x455f76
mov edx, 0x4563d0
mov eax, dword [ebp - 0xc]
call fcn.00404b68
test eax, eax
jle 0x455f3b
mov al, 1
jmp 0x455f76
mov edx, 0x45642c
mov eax, dword [ebp - 0xc]
call fcn.00404b68
test eax, eax
jle 0x455f50
xor eax, eax
jmp 0x455f76
cmp dword [ebp - 0x130], 0xa00000
ja 0x455f60
mov al, 1
jmp 0x455f76
xor eax, eax
jmp 0x455f76
mov edx, 0x4563d0
mov eax, dword [ebp - 0xc]
call fcn.00404b68
test eax, eax
setg al
test al, al
je 0x45617a
lea eax, [ebp - 0x170]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
invalid
invalid