Function at 0x4071e9
Capabilities:
Enumerate files on windows
Enumerate files recursively
Read file on windows
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1bbc
call fcn.00544890
mov eax, dword [0x5f2e68]
xor eax, esp
mov dword [esp + 0x1bb8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
push ebx
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x2c]
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x30]
xor ebx, ebx
push 0x13c
mov dword [esp + 0x40], eax
lea eax, [esp + 0x78]
push ebx
push eax
mov dword [esp + 0x44], edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x7c], ebx
call fcn.005306b0
add esp, 0xc
mov esi, 0x7ff
push esi
lea eax, [esp + 0x3c5]
push ebx
push eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x34], ebx
mov byte [esp + 0x3cc], bl
call fcn.005306b0
add esp, 0xc
push esi
lea eax, [esp + 0xbc5]
push ebx
push eax
mov byte [esp + 0xbcc], bl
call fcn.005306b0
add esp, 0xc
push esi
lea eax, [esp + 0x13c5]
push ebx
push eax
mov byte [esp + 0x13cc], bl
call fcn.005306b0
add esp, 0xc
mov edx, edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
call fcn.004ccc0d
test eax, eax
je 0x4072cb
xor ecx, ecx
call fcn.0040712d
xor eax, eax
jmp 0x4081a4
mov edx, dword [esp + 0x18]
call fcn.004ccc0d
test eax, eax
jne 0x4072bd
push edi
mov ecx, 0x800
lea eax, [esp + 0xbc4]
call fcn.004ccc3f
mov edx, dword [esp + 0x40]
pop ecx
call fcn.004ccc0d
mov edi, eax
neg edi
sbb edi, edi
inc edi
cmp dword [esp + 0x3c], ebx
mov dword [esp + 0x4c], edi
jne 0x407339
cmp dword [ebp + 0x28], ebx
je 0x407339
xor eax, eax
mov word [esp + 0x60], bx
lea edi, [esp + 0x62]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
push 0x607128
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov edi, dword [esp + 0x4c]
cmp edi, ebx
je 0x407352
push dword [esp + 0x3c]
lea ecx, [esp + 0xbc4]
call fcn.004cd0b7
jmp 0x40745a
lea esi, [esp + 0xbc0]
call fcn.004cd889
cmp byte [esp + 0xbc0], bl
je 0x407380
mov eax, esi
push eax
call fcn.00530f70
pop ecx
mov ecx, esi
dec ecx
cmp byte [eax + ecx], 0x5c
jne 0x407380
push 0x552e64
jmp 0x407397
lea eax, [esp + 0xbc0]
push eax
call fcn.00432310
test eax, eax
pop ecx
je 0x4073a6
push 0x552e68
lea eax, [esp + 0xbc4]
push eax
call fcn.005312b0
pop ecx
pop ecx
push dword [esp + 0x18]
push dword [esp + 0x3c]
call fcn.005318fe
test eax, eax
pop ecx
pop ecx
je 0x4073c7
push dword [esp + 0x18]
call fcn.00432310
test eax, eax
pop ecx
je 0x407443
push dword [esp + 0x18]
mov edi, 0x800
mov ecx, edi
lea eax, [esp + 0x13c4]
call fcn.004ccc3f
pop ecx
push dword [esp + 0x18]
call fcn.00432310
test eax, eax
pop ecx
jne 0x4073fc
push 3
pop eax
lea esi, [esp + 0x13c0]
call fcn.004cd45f
push str..ark
mov eax, edi
lea esi, [esp + 0x13c4]
call fcn.004ccd0f
mov eax, esi
pop ecx
mov dword [esp + 0x18], eax
xor esi, esi
lea edi, [esp + 0x13c0]
call fcn.00432263
test eax, eax
je 0x407443
mov eax, edi
push str..ark
push eax
call fcn.005312b0
inc esi
cmp esi, 0xa
pop ecx
mov eax, edi
pop ecx
mov dword [esp + 0x18], eax
jl 0x407418
push dword [esp + 0x18]
mov ecx, 0x800
mov eax, 0x606128
call fcn.004ccc3f
mov edi, dword [esp + 0x50]
pop ecx
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0xbc4]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
je 0x4072bd
mov dword [esp + 0x14], 1
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], ebx
lea esi, [esp + 0x9c]
call fcn.004ccf41
cmp byte [esp + 0x9c], bl
je 0x407c4d
test byte [esp + 0x70], 0x10
jne 0x407c6e
cmp byte [esp + 0x9c], 0x2e
je 0x407c6e
cmp dword [ebp + 0x18], ebx
jne 0x4074cd
test byte [esp + 0x70], 2
jne 0x407c6e
cmp dword [ebp + 0x1c], ebx
jne 0x4074dd
test byte [esp + 0x70], 4
jne 0x407c6e
cmp edi, ebx
jne 0x4075da
push dword [esp + 0x18]
lea edx, [esp + 0xa0]
call fcn.004cd016
test eax, eax
pop ecx
je 0x4075da
mov esi, 0x103
push esi
lea eax, [esp + 0x1b5]
push ebx
push eax
mov byte [esp + 0x1bc], bl
call fcn.005306b0
add esp, 0xc
push esi
lea eax, [esp + 0x2bd]
push ebx
push eax
mov byte [esp + 0x2c4], bl
call fcn.005306b0
add esp, 0xc
lea eax, [esp + 0xbc0]
push eax
inc esi
mov ecx, esi
lea eax, [esp + 0x1b4]
mov dword [esp + 0x5c], ebx
call fcn.004ccc3f
pop ecx
call fcn.004ccf84
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x1b4]
push eax
call fcn.005312b0
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x1bc]
push eax
call fcn.005318fe
add esp, 0x10
test eax, eax
jne 0x4075a3
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x1b4]
push eax
push esi
lea eax, [esp + 0xa8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x2bc]
push eax
push esi
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
lea eax, [esp + 0x2b8]
push eax
lea eax, [esp + 0x1b4]
push eax
call fcn.005318fe
test eax, eax
pop ecx
pop ecx
je 0x407c6e
mov ecx, dword [0x60611c]
cmp ecx, ebx
je 0x40762d
lea eax, [esp + 0x9c]
push ebx
push eax
call fcn.004d14e1
test eax, eax
pop ecx
pop ecx
je 0x40762d
push ebx
lea eax, [esp + 0xa0]
push ebx
push eax
mov eax, dword [0x60611c]
call fcn.004d0fac
mov eax, dword [0x60611c]
add esp, 0xc
call fcn.004d1405
test eax, eax
jg 0x407c6e
xor ecx, ecx
call fcn.0040712d
jmp 0x407c6e
lea eax, [esp + 0xbc0]
push eax
mov ecx, 0x800
lea eax, [esp + 0x3c4]
call fcn.004ccc3f
pop ecx
call fcn.004ccf84
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x3c4]
push eax
call fcn.005312b0
push 0x84c
push str..Archive.c
mov edx, 0x54f4b8
lea ecx, [esp + 0x3d0]
call fcn.00434df1
add esp, 0x10
cmp eax, ebx
mov dword [esp + 0x30], eax
jne 0x4076bb
lea eax, [esp + 0x3c0]
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0xa4]
push eax
push str.:7:AddFilesToArchiveSub___FAILED_to_add___s__to_archive___s_:_The_file___s__could_not_be_accessed_for_reading.
call fcn.0042b70b
add esp, 0x10
cmp dword [ebp + 0x20], ebx
je 0x407c6e
push 0x84f
jmp 0x407c62
cmp dword [esp + 0x10], ebx
jne 0x4077a8
mov edi, dword [esp + 0x18]
call fcn.00432263
test eax, eax
je 0x407780
cmp dword [ebp + 0x24], ebx
je 0x4076f7
push str..exe
mov esi, edi
call fcn.004cd54a
push eax
call fcn.005318fe
test eax, eax
pop ecx
pop ecx
jne 0x407780
mov ecx, dword [esp + 0x18]
push 0x856
push str..Archive.c
mov edx, 0x552f58
call fcn.00434df1
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
mov dword [esp + 0x10], edi
je 0x407cba
mov esi, dword [esp + 0x18]
push str..exe
call fcn.004cd54a
push eax
call fcn.005318fe
test eax, eax
pop ecx
pop ecx
jne 0x407744
mov esi, edi
call fcn.00407039
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], ebx
jl 0x407c90
push 2
push ebx
push edi
call fcn.00532310
add esp, 0xc
test eax, eax
je 0x40779e
cmp dword [ebp + 0x20], ebx
je 0x407774
push 0x868
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
push str.:8:AddFilesToArchiveSub___Encountered_a_problem:_failed_to_seek_to_the_end_of_an_existing_archive:_fseek___FAILED_
call fcn.0042b70b
jmp 0x40779d
mov ecx, dword [esp + 0x18]
push 0x86e
push str..Archive.c
mov edx, 0x551d60
call fcn.00434df1
pop ecx
mov dword [esp + 0x14], eax
pop ecx
cmp dword [esp + 0x10], ebx
je 0x407cba
cmp dword [esp + 0x1c], ebx
jne 0x4077c8
push 1
push 0xc366
call fcn.00530848
cmp eax, ebx
pop ecx
pop ecx
mov dword [esp + 0x1c], eax
je 0x407ce3
push dword [esp + 0x10]
call fcn.005321ec
mov esi, eax
cmp esi, ebx
pop ecx
mov dword [esp + 0x38], esi
jl 0x407d12
sub esi, dword [esp + 0x2c]
jne 0x40788a
push dword [esp + 0x10]
inc esi
push esi
lea eax, [esp + 0x4c]
push 4
push eax
mov dword [esp + 0x54], ebx
call fcn.00531aad
add esp, 0x10
cmp eax, esi
jb 0x407d30
push dword [esp + 0x10]
lea eax, [esp + 0x44]
push esi
push 4
push eax
mov dword [esp + 0x50], ebx
call fcn.00531aad
add esp, 0x10
cmp eax, esi
jb 0x407d52
push 8
push ebx
mov edi, 0x607130
push edi
call fcn.005306b0
add esp, 0xc
push dword [esp + 0x10]
push 1
push 8
push edi
call fcn.00531aad
add esp, 0x10
cmp eax, 1
jb 0x407d6f
mov esi, str.222PAULAARCHIVE222JesusIAdoreYou
push esi
push 0x54f4f0
push dword [esp + 0x18]
call fcn.00530ffb
add esp, 0xc
test eax, eax
jle 0x407d8c
push esi
call fcn.00530f70
pop ecx
mov ecx, dword [esp + 0x2c]
lea eax, [eax + ecx + 0x10]
mov dword [esp + 0x38], eax
jmp 0x40788f
mov edi, 0x607130
push dword [esp + 0x10]
lea eax, [esp + 0x24]
push 1
push 4
push eax
call fcn.00531aad
add esp, 0x10
cmp eax, 1
jb 0x407dad
mov esi, dword [esp + 0x54]
cmp esi, ebx
je 0x40791f
lea eax, [esp + 0xbc0]
push eax
mov ecx, 0x800
lea eax, [esp + 0x3c4]
call fcn.004ccc3f
pop ecx
call fcn.004ccf84
mov eax, esi
call fcn.004ccc2f
test eax, eax
jne 0x4078f1
lea eax, [esp + 0x3c0]
push eax
call fcn.004ccd4e
test eax, eax
pop ecx
jne 0x407930
push ebx
lea eax, [esp + 0x3c4]
push esi
push eax
call fcn.004cd64d
add esp, 0xc
lea esi, [esp + 0x3c0]
call fcn.004ccecd
mov edx, esi
lea ecx, [esp + 0x9c]
call fcn.004cd1ce
jmp 0x407930
push dword [esp + 0x3c]
lea ecx, [esp + 0xa0]
call fcn.004cd0b7
pop ecx
push dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
call fcn.00530f70
pop ecx
inc eax
push eax
lea eax, [esp + 0xa4]
push 1
push eax
call fcn.00531aad
mov esi, eax
lea eax, [esp + 0xac]
push eax
call fcn.00530f70
add esp, 0x14
inc eax
cmp esi, eax
jb 0x407dca
lea esi, [esp + 0x9c]
call fcn.004ccf41
cmp dword [ebp + 0x28], ebx
je 0x407997
mov eax, dword [0x607128]
mov dword [esp + 0x84], eax
mov eax, dword [0x60712c]
mov dword [esp + 0x88], eax
push dword [esp + 0x10]
lea eax, [esp + 0x88]
push 1
push 8
push eax
call fcn.00531aad
add esp, 0x10
cmp eax, 1
jb 0x407df1
push edi
lea eax, [esp + 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jle 0x4079e3
mov eax, dword [esp + 0x84]
mov dword [0x607130], eax
mov eax, dword [esp + 0x88]
mov dword [0x607134], eax
inc dword [esp + 0x34]
cmp dword [ebp + 0x20], ebx
je 0x407a00
lea eax, [esp + 0x9c]
push eax
push str._nAdding:___s_
call fcn.00419451
pop ecx
pop ecx
push dword [esp + 0x30]
mov edi, 0x56ce
push edi
push 1
push dword [esp + 0x28]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x30], ebx
call fcn.00530e93
movzx esi, ax
add esp, 0x10
cmp si, bx
jbe 0x407b67
mov eax, dword [esp + 0x1c]
add eax, edi
mov dword [esp + 0x50], eax
push dword [ebp + 0x34]
mov ebx, dword [esp + 0x54]
push dword [esp + 0x60]
push esi
push dword [esp + 0x28]
call fcn.00406894
push dword [esp + 0x20]
movzx eax, ax
push 1
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
push 2
push eax
call fcn.00531aad
add esp, 0x20
cmp eax, 1
jae 0x407aa7
cmp dword [ebp + 0x20], 0
je 0x407a87
push 0x90d
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
lea eax, [esp + 0x9c]
push eax
movzx eax, word [esp + 0x2c]
push eax
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_write_the_size_of_a_block___d__for___s_
call fcn.0042b70b
add esp, 0xc
and dword [esp + 0x14], 0
push dword [esp + 0x10]
movzx eax, word [esp + 0x2c]
movzx ebx, word [esp + 0x2c]
push eax
push 1
push dword [esp + 0x5c]
call fcn.00531aad
add esp, 0x10
cmp eax, ebx
jae 0x407afa
lea eax, [esp + 0x9c]
push eax
push ebx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_write_a_block_of_data_of_size__d_for___s_
call fcn.0042b70b
add esp, 0xc
cmp dword [ebp + 0x20], 0
je 0x407af5
push 0x915
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
and dword [esp + 0x14], 0
add dword [esp + 0x20], 2
cmp si, di
jae 0x407b11
mov eax, dword [esp + 0x48]
inc dword [esp + 0x48]
cmp eax, 0xa
jg 0x407b4c
cmp dword [ebp + 0x20], 0
je 0x407b22
push 0x551adc
call fcn.00419451
pop ecx
push dword [esp + 0x30]
movzx eax, word [esp + 0x2c]
add dword [esp + 0x24], eax
push edi
push 1
push dword [esp + 0x28]
call fcn.00530e93
movzx esi, ax
add esp, 0x10
test si, si
ja 0x407a3a
jmp 0x407b65
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x4c]
push str.:7:AddFilesToArchiveSub___reached_end_of_file__ld_times_while_compressing___s__and_so_gave_up.
call fcn.0042bd38
add esp, 0xc
xor ebx, ebx
push ebx
push dword [esp + 0x3c]
push dword [esp + 0x18]
call fcn.00532310
add esp, 0xc
test eax, eax
je 0x407ba6
cmp dword [ebp + 0x20], ebx
je 0x407b92
push 0x92d
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
push dword [esp + 0x38]
push str.:9:AddFilesToArchiveSub___FAILED:_fseek__ld__SEEK_SET__FAILED__
call fcn.0042b70b
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
push dword [esp + 0x10]
lea eax, [esp + 0x24]
push 1
push 4
push eax
call fcn.00531aad
add esp, 0x10
cmp eax, 1
jae 0x407bf3
cmp dword [ebp + 0x20], ebx
je 0x407bd6
push 0x932
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
push dword [esp + 0x20]
lea eax, [esp + 0xa0]
push eax
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_write_the_size_of_the_compressed_file___s__of__ld.
call fcn.0042b70b
add esp, 0xc
mov dword [esp + 0x14], ebx
push 2
push ebx
push dword [esp + 0x18]
call fcn.00532310
add esp, 0xc
test eax, eax
je 0x407c2b
cmp dword [ebp + 0x20], ebx
je 0x407c1c
push 0x939
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fseek_0__SEEK_END__FAILED__
call fcn.0042b70b
pop ecx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x30]
call fcn.00435239
push 0x140
lea eax, [esp + 0x74]
push ebx
push eax
mov dword [esp + 0x3c], ebx
call fcn.005306b0
add esp, 0xc
jmp 0x407c6e
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_FindFirstFile___or_FindNextFile___provided_a_NULL_filename_
call fcn.0042b70b
cmp dword [ebp + 0x20], ebx
pop ecx
je 0x407c6e
push 0x80d
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_FindNextFileA]
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x28]
call edi
test eax, eax
je 0x407e18
mov edi, dword [esp + 0x4c]
jmp 0x40748b
push str.:8:AddFilesToArchiveSub___Encountered_a_problem:_TagSelfExtractingExe___FAILED.
call fcn.0042b70b
cmp dword [ebp + 0x20], ebx
pop ecx
je 0x407cb1
push 0x85e
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
jmp 0x408150
push dword [ebp + 0x24]
mov edi, dword [esp + 0x1c]
push ecx
call fcn.00432263
pop ecx
push eax
push edi
push str.:8:AddFilesToArchiveSub___FAILED:_fopen___FAILED_to_open_the_destination_archive___s____d___d_
call fcn.0042b70b
add esp, 0x10
cmp dword [ebp + 0x20], ebx
je 0x407cb1
push 0x874
jmp 0x407ca5
cmp dword [ebp + 0x20], ebx
je 0x407cf9
push 0x885
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
push 0x56ce
push str.:8:AddFilesToArchiveSub___FAILED:_calloc___failed_to_allocate____ld__2.25___10__bytes_of_date:_OUT_OF_MEMORY_
call fcn.0042b70b
pop ecx
mov dword [esp + 0x18], ebx
jmp 0x40814f
cmp dword [ebp + 0x20], ebx
je 0x407d28
push 0x892
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
push esi
push str.:9:AddFilesToArchiveSub___FAILED:_ftell___FAILED_returned__ld
jmp 0x407d03
cmp dword [ebp + 0x20], ebx
je 0x407d46
push 0x8a7
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_Archive_Size_DWORD.
call fcn.0042b70b
jmp 0x407d09
cmp dword [ebp + 0x20], ebx
je 0x407d68
push 0x8b1
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_CRC_DWORD.
jmp 0x407d4b
cmp dword [ebp + 0x20], ebx
je 0x407d85
push 0x8bb
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_Most_Recent_File_Time.
jmp 0x407d4b
cmp dword [ebp + 0x20], ebx
je 0x407da2
push 0x8c4
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
push esi
push str.:9:AddFilesToArchiveSub___FAILED:_fprintf___FAILED_to_write_the_archive_validation_string___s_
jmp 0x407d03
cmp dword [ebp + 0x20], ebx
je 0x407dc3
push 0x8d2
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_file_size_DWORD.
jmp 0x407d4b
lea eax, [esp + 0x9c]
push eax
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_fwrite___failed_to_add_the_file_name___s__to_the_header_
call fcn.0042b70b
cmp dword [ebp + 0x20], ebx
pop ecx
pop ecx
je 0x407cb1
push 0x8ea
jmp 0x407ca5
lea eax, [esp + 0x9c]
push eax
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_fwrite___s___failed_to_write_the_file_time_
call fcn.0042b70b
cmp dword [ebp + 0x20], ebx
pop ecx
pop ecx
je 0x407cb1
push 0x8f7
jmp 0x407ca5
cmp dword [ebp + 0x14], ebx
je 0x407fcc
cmp dword [esp + 0x24], ebx
je 0x407e31
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_FindClose]
lea eax, [esp + 0xbc0]
push eax
mov ecx, 0x800
lea eax, [esp + 0x3c4]
call fcn.004ccc3f
pop ecx
push eax
call fcn.00530f70
pop ecx
lea ecx, [esp + 0x3c0]
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x407e6c
lea eax, [esp + 0x3c0]
call fcn.004ccf84
lea eax, [esp + 0x3c0]
push 0x552e64
push eax
call fcn.005312b0
pop ecx
pop ecx
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x3c4]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x24], eax
jne 0x407ebb
push str._GetLastError_
lea eax, [esp + 0x3c4]
push eax
push str.:8:AddFilesToArchiveSub___encountered_a_problem_processing_sub_directories:_No_sub_dirs_were_found__FindFirstFile__s___returned_INVALID_HANDLE_VALUE:__s
call fcn.0042b70b
add esp, 0xc
jmp 0x40815d
test byte [esp + 0x70], 0x10
je 0x407fa6
lea esi, [esp + 0x9c]
call fcn.004ccf41
cmp byte [esp + 0x9c], bl
je 0x408023
cmp byte [esp + 0x9c], 0x2e
je 0x407fb9
cmp dword [ebp + 0x18], ebx
jne 0x407efd
test byte [esp + 0x70], 2
jne 0x407fb9
cmp dword [ebp + 0x1c], ebx
jne 0x407f0d
test byte [esp + 0x70], 4
jne 0x407fb9
cmp dword [esp + 0x1c], ebx
je 0x407f21
push dword [esp + 0x1c]
call fcn.0053061e
pop ecx
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
je 0x407f32
call fcn.00435239
mov dword [esp + 0x10], ebx
cmp dword [ebp + 0x20], ebx
je 0x407f4b
lea eax, [esp + 0x9c]
push eax
push str._n____Searching_Directory:__s____
call fcn.00419451
pop ecx
pop ecx
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x3c4]
push 0x5536b0
push eax
call fcn.00531b2f
add esp, 0xc
push dword [ebp + 0x34]
lea eax, [esp + 0x3c4]
push eax
push dword [esp + 0x5c]
lea eax, [esp + 0xbcc]
push dword [ebp + 0x28]
push ebx
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [esp + 0x80]
push dword [esp + 0x40]
push eax
call fcn.004071e9
add esp, 0x30
add dword [esp + 0x34], eax
push 0x140
lea eax, [esp + 0x74]
push ebx
push eax
call fcn.005306b0
add esp, 0xc
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x28]
call edi
test eax, eax
jne 0x407ebb
cmp dword [esp + 0x3c], ebx
jne 0x40815d
cmp dword [esp + 0x34], ebx
jle 0x40815d
mov esi, dword [esp + 0x10]
cmp esi, ebx
jne 0x40804d
mov ecx, dword [esp + 0x18]
push 0x98d
push str..Archive.c
mov edx, 0x552f58
call fcn.00434df1
cmp eax, ebx
pop ecx
pop ecx
mov dword [esp + 0x10], eax
jne 0x408049
push dword [esp + 0x18]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_reopen_the_archive_file___s__to_calculate_the_CheckSum.
call fcn.0042b70b
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
jmp 0x40815d
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_FindFirstFile___or_FindNextFile___provided_a_NULL_filename_
call fcn.0042b70b
cmp dword [ebp + 0x20], ebx
pop ecx
je 0x407fb9
push 0x962
push str._n________ERROR__d________
call fcn.00419451
pop ecx
pop ecx
jmp 0x407fb9
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
add eax, 8
push ebx
push eax
push esi
call fcn.00532310
add esp, 0xc
test eax, eax
je 0x40806e
push str.:8:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_seek_to_write_the_most_recent_file_date_
call fcn.0042b70b
pop ecx
push esi
xor edi, edi
inc edi
push edi
push 8
push 0x607130
call fcn.00531aad
add esp, 0x10
cmp eax, edi
jae 0x408095
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_ftMostRecentFileTime_
call fcn.0042b70b
pop ecx
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x2c]
push ebx
add eax, 8
push eax
push esi
call fcn.00532310
add esp, 0xc
test eax, eax
je 0x4080b6
push str.:8:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_seek_to_calculate_the_CheckSum_
call fcn.0042b70b
pop ecx
push ebx
push esi
xor ecx, ecx
call fcn.00408256
push esi
mov dword [esp + 0x4c], eax
call fcn.005321ec
add esp, 0xc
cmp eax, 0xffffffff
mov dword [esp + 0x44], eax
jne 0x4080e0
push str.:7:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_determine_dwArchiveSize.
call fcn.0042bd38
pop ecx
push ebx
push dword [esp + 0x30]
push esi
call fcn.00532310
add esp, 0xc
push esi
push edi
lea eax, [esp + 0x4c]
push 4
push eax
call fcn.00531aad
add esp, 0x10
cmp eax, edi
jae 0x408117
push dword [esp + 0x44]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_the_Archive_Size_DWORD__ld_
call fcn.0042b70b
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
push esi
push edi
lea eax, [esp + 0x48]
push 4
push eax
call fcn.00531aad
add esp, 0x10
cmp eax, edi
jae 0x408140
push dword [esp + 0x40]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_the_CheckSum_DWORD__ld_
call fcn.0042b70b
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
cmp dword [ebp + 0x20], ebx
je 0x40815d
push str._nDone_
call fcn.00419451
pop ecx
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
je 0x40815d
call fcn.00435239
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
je 0x40816a
call fcn.00435239
cmp dword [esp + 0x24], ebx
je 0x408181
cmp dword [esp + 0x24], 0xffffffff
je 0x408181
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [esp + 0x1c], ebx
je 0x408191
push dword [esp + 0x1c]
call fcn.0053061e
pop ecx
xor ecx, ecx
call fcn.0040712d
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x1bc4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005317e7
mov esp, ebp
pop ebp
ret