Function at 0x4027d5
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.004c6510
mov eax, dword [0x5345d0]
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 ebx, dword [ebp + 8]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x2c]
push esi
push edi
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x30]
xor edi, edi
push 0x13c
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x78]
push edi
push eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x7c], edi
call fcn.004b53e0
add esp, 0xc
mov esi, 0x7ff
push esi
lea eax, [esp + 0x3c5]
push edi
push eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov byte [esp + 0x3cc], 0
call fcn.004b53e0
add esp, 0xc
push esi
lea eax, [esp + 0xbc5]
push edi
push eax
mov byte [esp + 0xbcc], 0
call fcn.004b53e0
add esp, 0xc
push esi
lea eax, [esp + 0x13c5]
push edi
push eax
mov byte [esp + 0x13cc], 0
call fcn.004b53e0
add esp, 0xc
mov edx, ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edi
call fcn.0047c3ca
test eax, eax
je 0x4028b4
call fcn.00402785
xor eax, eax
jmp 0x40377a
mov edx, dword [esp + 0x18]
call fcn.0047c3ca
test eax, eax
jne 0x4028a8
push ebx
mov ecx, 0x800
lea eax, [esp + 0xbc4]
call fcn.0047c3fc
mov edx, dword [esp + 0x3c]
pop ecx
call fcn.0047c3ca
neg eax
sbb eax, eax
inc eax
cmp dword [esp + 0x38], edi
mov dword [esp + 0x58], eax
jne 0x402922
cmp dword [ebp + 0x28], edi
je 0x402922
and word [esp + 0x60], di
xor eax, eax
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 0x547338
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov eax, dword [esp + 0x58]
xor edi, edi
cmp eax, edi
je 0x40293b
push dword [esp + 0x38]
lea ecx, [esp + 0xbc4]
call fcn.0047c86f
jmp 0x402a3f
lea esi, [esp + 0xbc0]
call fcn.0047cf47
cmp byte [esp + 0xbc0], 0
je 0x40296a
mov eax, esi
push eax
call fcn.004b4450
pop ecx
mov ecx, esi
dec ecx
cmp byte [eax + ecx], 0x5c
jne 0x40296a
push 0x4d420c
jmp 0x402981
lea eax, [esp + 0xbc0]
push eax
call fcn.0041b0f5
test eax, eax
pop ecx
je 0x402990
push 0x4d4210
lea eax, [esp + 0xbc4]
push eax
call fcn.004b4790
pop ecx
pop ecx
push dword [esp + 0x18]
push ebx
call fcn.004b519f
test eax, eax
pop ecx
pop ecx
je 0x4029b0
push dword [esp + 0x18]
call fcn.0041b0f5
test eax, eax
pop ecx
je 0x402a2a
xor edi, edi
push dword [esp + 0x18]
mov ecx, 0x800
lea eax, [esp + 0x13c4]
call fcn.0047c3fc
pop ecx
push dword [esp + 0x18]
call fcn.0041b0f5
test eax, eax
pop ecx
jne 0x4029e3
push 3
pop eax
lea esi, [esp + 0x13c0]
call fcn.0047cc17
mov ebx, str..ark
push ebx
mov eax, 0x800
lea esi, [esp + 0x13c4]
call fcn.0047c4cc
mov eax, esi
pop ecx
mov dword [esp + 0x18], eax
xor esi, esi
lea edi, [esp + 0x13c0]
call fcn.0041b048
test eax, eax
je 0x402a2a
mov eax, edi
push ebx
push eax
call fcn.004b4790
inc esi
cmp esi, 0xa
pop ecx
mov eax, edi
pop ecx
mov dword [esp + 0x18], eax
jl 0x402a03
push dword [esp + 0x18]
mov ecx, 0x800
mov eax, 0x546338
call fcn.0047c3fc
xor edi, edi
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 0x4028a8
mov dword [esp + 0x14], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
lea esi, [esp + 0x9c]
call fcn.0047c6f9
cmp byte [esp + 0x9c], 0
je 0x403251
test byte [esp + 0x70], 0x10
jne 0x403272
cmp byte [esp + 0x9c], 0x2e
je 0x403272
cmp dword [ebp + 0x18], edi
jne 0x402ab3
test byte [esp + 0x70], 2
jne 0x403272
cmp dword [ebp + 0x1c], edi
jne 0x402ac3
test byte [esp + 0x70], 4
jne 0x403272
cmp dword [esp + 0x58], edi
jne 0x402bc4
push dword [esp + 0x18]
lea edx, [esp + 0xa0]
call fcn.0047c7ce
test eax, eax
pop ecx
je 0x402bc4
mov esi, 0x103
push esi
lea eax, [esp + 0x1b5]
push edi
push eax
mov byte [esp + 0x1bc], 0
call fcn.004b53e0
add esp, 0xc
push esi
lea eax, [esp + 0x2bd]
push edi
push eax
mov byte [esp + 0x2c4], 0
call fcn.004b53e0
add esp, 0xc
lea eax, [esp + 0xbc0]
push eax
inc esi
mov ecx, esi
lea eax, [esp + 0x1b4]
mov dword [esp + 0x50], edi
call fcn.0047c3fc
pop ecx
call fcn.0047c73c
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x1b4]
push eax
call fcn.004b4790
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x1bc]
push eax
call fcn.004b519f
add esp, 0x10
test eax, eax
jne 0x402b8d
lea eax, [esp + 0x4c]
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 + 0x4c]
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.004b519f
test eax, eax
pop ecx
pop ecx
je 0x403272
mov eax, dword [0x54632c]
cmp eax, edi
je 0x402c09
lea ecx, [esp + 0x9c]
push ecx
call fcn.0047fda5
test eax, eax
pop ecx
je 0x402c09
lea eax, [esp + 0x9c]
push eax
call fcn.0047fa3d
mov eax, dword [0x54632c]
pop ecx
call fcn.0047fd09
test eax, eax
jg 0x403272
call fcn.00402785
jmp 0x403272
lea eax, [esp + 0xbc0]
push eax
mov ecx, 0x800
lea eax, [esp + 0x3c4]
call fcn.0047c3fc
pop ecx
call fcn.0047c73c
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x3c4]
push eax
call fcn.004b4790
push 0x865
push str..Archive.c
mov edx, 0x4d3128
lea ecx, [esp + 0x3d0]
call fcn.0041cea8
add esp, 0x10
cmp eax, edi
mov dword [esp + 0x30], eax
jne 0x402c97
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.004178df
add esp, 0x10
cmp dword [ebp + 0x20], edi
je 0x403272
push 0x868
jmp 0x403266
cmp dword [esp + 0x10], edi
jne 0x402dab
mov edi, dword [esp + 0x18]
call fcn.0041b048
xor ebx, ebx
test eax, eax
je 0x402d5d
cmp dword [ebp + 0x24], ebx
je 0x402cd5
push str..exe
mov esi, edi
call fcn.0047cc5e
push eax
call fcn.004b519f
test eax, eax
pop ecx
pop ecx
jne 0x402d5d
push 0x86f
push str..Archive.c
mov edx, 0x4d4300
mov ecx, edi
call fcn.0041cea8
cmp eax, ebx
pop ecx
pop ecx
mov dword [esp + 0x10], eax
je 0x402d7f
push str..exe
mov esi, edi
call fcn.0047cc5e
push eax
call fcn.004b519f
test eax, eax
pop ecx
pop ecx
jne 0x402d1e
mov esi, dword [esp + 0x10]
call fcn.00402691
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], ebx
jl 0x403332
push 2
push ebx
push dword [esp + 0x18]
call fcn.004b48ff
add esp, 0xc
test eax, eax
je 0x402d79
cmp dword [ebp + 0x20], ebx
je 0x402d51
push 0x881
push str._n________ERROR__d________
call fcn.0040ebcf
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.004178df
jmp 0x402d78
push 0x887
push str..Archive.c
mov edx, 0x4d3ce8
mov ecx, edi
call fcn.0041cea8
pop ecx
mov dword [esp + 0x14], eax
pop ecx
cmp dword [esp + 0x10], ebx
jne 0x402dad
push dword [ebp + 0x24]
push ecx
call fcn.0041b048
pop ecx
push eax
push edi
push str.:8:AddFilesToArchiveSub___FAILED:_fopen___FAILED_to_open_the_destination_archive___s____d___d_
call fcn.004178df
add esp, 0x10
cmp dword [ebp + 0x20], ebx
je 0x403353
push 0x88d
jmp 0x403347
xor ebx, ebx
xor edi, edi
inc edi
cmp dword [esp + 0x1c], ebx
jne 0x402dcf
push edi
push 0xc366
call fcn.004b422c
cmp eax, ebx
pop ecx
pop ecx
mov dword [esp + 0x1c], eax
je 0x40335c
push dword [esp + 0x10]
call fcn.004b4673
mov esi, eax
cmp esi, ebx
pop ecx
mov dword [esp + 0x48], esi
jl 0x40338b
sub esi, dword [esp + 0x34]
jne 0x402e8c
push dword [esp + 0x10]
lea eax, [esp + 0x40]
push edi
push 4
push eax
mov dword [esp + 0x4c], ebx
call fcn.004b43ca
add esp, 0x10
cmp eax, edi
jb 0x4033a9
push dword [esp + 0x10]
lea eax, [esp + 0x44]
push edi
push 4
push eax
mov dword [esp + 0x50], ebx
call fcn.004b43ca
add esp, 0x10
cmp eax, edi
jb 0x4033cb
push 8
push ebx
mov esi, 0x547340
push esi
call fcn.004b53e0
add esp, 0xc
push dword [esp + 0x10]
push edi
push 8
push esi
call fcn.004b43ca
add esp, 0x10
cmp eax, edi
jb 0x4033e8
mov esi, str.222PAULAARCHIVE222JesusIAdoreYou
push esi
push 0x4d45f8
push dword [esp + 0x18]
call fcn.004b5711
add esp, 0xc
test eax, eax
jle 0x403405
push esi
call fcn.004b4450
pop ecx
mov ecx, dword [esp + 0x34]
lea eax, [eax + ecx + 0x10]
mov dword [esp + 0x48], eax
push dword [esp + 0x10]
lea eax, [esp + 0x24]
push edi
push 4
push eax
call fcn.004b43ca
add esp, 0x10
cmp eax, edi
jb 0x403426
mov esi, dword [esp + 0x54]
cmp esi, ebx
je 0x402f1a
lea eax, [esp + 0xbc0]
push eax
mov ecx, 0x800
lea eax, [esp + 0x3c4]
call fcn.0047c3fc
pop ecx
call fcn.0047c73c
mov eax, esi
call fcn.0047c3ec
test eax, eax
jne 0x402eec
lea eax, [esp + 0x3c0]
push eax
call fcn.0047c50b
test eax, eax
pop ecx
jne 0x402f2b
push ebx
lea eax, [esp + 0x3c4]
push esi
push eax
call fcn.0047cd61
add esp, 0xc
lea esi, [esp + 0x3c0]
call fcn.0047c685
mov edx, esi
lea ecx, [esp + 0x9c]
call fcn.0047c986
jmp 0x402f2b
push dword [esp + 0x38]
lea ecx, [esp + 0xa0]
call fcn.0047c86f
pop ecx
push dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
call fcn.004b4450
pop ecx
inc eax
push eax
lea eax, [esp + 0xa4]
push edi
push eax
call fcn.004b43ca
mov esi, eax
lea eax, [esp + 0xac]
push eax
call fcn.004b4450
add esp, 0x14
inc eax
cmp esi, eax
jb 0x403443
lea esi, [esp + 0x9c]
call fcn.0047c6f9
cmp dword [ebp + 0x28], ebx
je 0x402f91
mov eax, dword [0x547338]
mov dword [esp + 0x84], eax
mov eax, dword [0x54733c]
mov dword [esp + 0x88], eax
push dword [esp + 0x10]
lea eax, [esp + 0x88]
push edi
push 8
push eax
call fcn.004b43ca
add esp, 0x10
cmp eax, edi
jb 0x40346a
push 0x547340
lea eax, [esp + 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jle 0x402fdf
mov eax, dword [esp + 0x84]
mov dword [0x547340], eax
mov eax, dword [esp + 0x88]
mov dword [0x547344], eax
inc dword [esp + 0x2c]
cmp dword [ebp + 0x20], ebx
je 0x402ffc
lea eax, [esp + 0x9c]
push eax
push str._nAdding:___s_
call fcn.0040ebcf
pop ecx
pop ecx
push dword [esp + 0x30]
mov dword [esp + 0x2c], ebx
push 0x56ce
push edi
push dword [esp + 0x28]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x30], ebx
call fcn.004b56f6
movzx esi, ax
add esp, 0x10
cmp si, bx
jbe 0x40316b
mov eax, dword [esp + 0x1c]
add eax, 0x56ce
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.00401eb8
push dword [esp + 0x20]
movzx eax, ax
xor edi, edi
inc edi
push edi
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
push 2
push eax
call fcn.004b43ca
add esp, 0x20
cmp eax, edi
jae 0x4030a5
cmp dword [ebp + 0x20], 0
je 0x403085
push 0x926
push str._n________ERROR__d________
call fcn.0040ebcf
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.004178df
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 edi
push dword [esp + 0x5c]
call fcn.004b43ca
add esp, 0x10
cmp eax, ebx
jae 0x4030f7
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.004178df
add esp, 0xc
cmp dword [ebp + 0x20], 0
je 0x4030f2
push 0x92e
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
and dword [esp + 0x14], 0
add dword [esp + 0x20], 2
mov ebx, 0x56ce
cmp si, bx
jae 0x403113
mov eax, dword [esp + 0x44]
inc dword [esp + 0x44]
cmp eax, 0xa
jg 0x40314d
cmp dword [ebp + 0x20], 0
je 0x403124
push 0x4d3b84
call fcn.0040ebcf
pop ecx
push dword [esp + 0x30]
movzx eax, word [esp + 0x2c]
add dword [esp + 0x24], eax
push ebx
push edi
push dword [esp + 0x28]
call fcn.004b56f6
movzx esi, ax
add esp, 0x10
test si, si
ja 0x403037
jmp 0x403166
lea eax, [esp + 0x9c]
push eax
push dword [esp + 0x48]
push str.:7:AddFilesToArchiveSub___reached_end_of_file__ld_times_while_compressing___s__and_so_gave_up.
call fcn.00417db7
add esp, 0xc
xor edi, edi
xor ebx, ebx
inc edi
push ebx
push dword [esp + 0x4c]
push dword [esp + 0x18]
call fcn.004b48ff
add esp, 0xc
test eax, eax
je 0x4031aa
cmp dword [ebp + 0x20], ebx
je 0x403196
push 0x946
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
push dword [esp + 0x48]
push str.:9:AddFilesToArchiveSub___FAILED:_fseek__ld__SEEK_SET__FAILED__
call fcn.004178df
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
push dword [esp + 0x10]
lea eax, [esp + 0x24]
push edi
push 4
push eax
call fcn.004b43ca
add esp, 0x10
cmp eax, edi
jae 0x4031f5
cmp dword [ebp + 0x20], ebx
je 0x4031d8
push 0x94b
push str._n________ERROR__d________
call fcn.0040ebcf
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.004178df
add esp, 0xc
mov dword [esp + 0x14], ebx
push 2
push ebx
push dword [esp + 0x18]
call fcn.004b48ff
add esp, 0xc
test eax, eax
je 0x40322d
cmp dword [ebp + 0x20], ebx
je 0x40321e
push 0x952
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fseek_0__SEEK_END__FAILED__
call fcn.004178df
pop ecx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x30]
call fcn.0041d2f0
push 0x140
lea eax, [esp + 0x74]
push ebx
push eax
mov dword [esp + 0x3c], ebx
call fcn.004b53e0
add esp, 0xc
xor edi, edi
jmp 0x403272
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_FindFirstFile___or_FindNextFile___provided_a_NULL_filename_
call fcn.004178df
cmp dword [ebp + 0x20], edi
pop ecx
je 0x403272
push 0x826
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
mov ebx, dword [sym.imp.KERNEL32.dll_FindNextFileA]
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x28]
call ebx
test eax, eax
jne 0x402a70
cmp dword [ebp + 0x14], edi
je 0x4035a3
cmp dword [esp + 0x24], edi
je 0x4032a4
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.0047c3fc
pop ecx
push eax
call fcn.004b4450
pop ecx
lea ecx, [esp + 0x3c0]
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x4032df
lea eax, [esp + 0x3c0]
call fcn.0047c73c
lea eax, [esp + 0x3c0]
push 0x4d420c
push eax
call fcn.004b4790
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 0x403491
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.004178df
add esp, 0xc
jmp 0x403733
push str.:8:AddFilesToArchiveSub___Encountered_a_problem:_TagSelfExtractingExe___FAILED.
call fcn.004178df
cmp dword [ebp + 0x20], ebx
pop ecx
je 0x403353
push 0x877
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
jmp 0x403726
cmp dword [ebp + 0x20], ebx
je 0x403372
push 0x89e
push str._n________ERROR__d________
call fcn.0040ebcf
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.004178df
pop ecx
mov dword [esp + 0x18], ebx
jmp 0x403725
cmp dword [ebp + 0x20], ebx
je 0x4033a1
push 0x8ab
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
push esi
push str.:9:AddFilesToArchiveSub___FAILED:_ftell___FAILED_returned__ld
jmp 0x40337c
cmp dword [ebp + 0x20], ebx
je 0x4033bf
push 0x8c0
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_Archive_Size_DWORD.
call fcn.004178df
jmp 0x403382
cmp dword [ebp + 0x20], ebx
je 0x4033e1
push 0x8ca
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_CRC_DWORD.
jmp 0x4033c4
cmp dword [ebp + 0x20], ebx
je 0x4033fe
push 0x8d4
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_Most_Recent_File_Time.
jmp 0x4033c4
cmp dword [ebp + 0x20], ebx
je 0x40341b
push 0x8dd
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
push esi
push str.:9:AddFilesToArchiveSub___FAILED:_fprintf___FAILED_to_write_the_archive_validation_string___s_
jmp 0x40337c
cmp dword [ebp + 0x20], ebx
je 0x40343c
push 0x8eb
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_file_size_DWORD.
jmp 0x4033c4
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.004178df
cmp dword [ebp + 0x20], ebx
pop ecx
pop ecx
je 0x403353
push 0x903
jmp 0x403347
lea eax, [esp + 0x9c]
push eax
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_fwrite___s___failed_to_write_the_file_time_
call fcn.004178df
cmp dword [ebp + 0x20], ebx
pop ecx
pop ecx
je 0x403353
push 0x910
jmp 0x403347
test byte [esp + 0x70], 0x10
je 0x40357d
lea esi, [esp + 0x9c]
call fcn.0047c6f9
cmp byte [esp + 0x9c], 0
je 0x4035fb
cmp byte [esp + 0x9c], 0x2e
je 0x403590
cmp dword [ebp + 0x18], edi
jne 0x4034d4
test byte [esp + 0x70], 2
jne 0x403590
cmp dword [ebp + 0x1c], edi
jne 0x4034e4
test byte [esp + 0x70], 4
jne 0x403590
cmp dword [esp + 0x1c], edi
je 0x4034f8
push dword [esp + 0x1c]
call fcn.004b4080
pop ecx
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x10]
cmp ecx, edi
je 0x403509
call fcn.0041d2f0
mov dword [esp + 0x10], edi
cmp dword [ebp + 0x20], edi
je 0x403522
lea eax, [esp + 0x9c]
push eax
push str._n____Searching_Directory:__s____
call fcn.0040ebcf
pop ecx
pop ecx
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x3c4]
push 0x4d4a60
push eax
call fcn.004b532e
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 edi
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.004027d5
add esp, 0x30
add dword [esp + 0x2c], eax
push 0x140
lea eax, [esp + 0x74]
push edi
push eax
call fcn.004b53e0
add esp, 0xc
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x28]
call ebx
test eax, eax
jne 0x403491
cmp dword [esp + 0x38], edi
jne 0x403733
cmp dword [esp + 0x2c], 0
jle 0x403733
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x403625
mov ecx, dword [esp + 0x18]
push 0x9a6
push str..Archive.c
mov edx, 0x4d4300
call fcn.0041cea8
test eax, eax
pop ecx
pop ecx
mov dword [esp + 0x10], eax
jne 0x403621
push dword [esp + 0x18]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_reopen_the_archive_file___s__to_calculate_the_CheckSum.
call fcn.004178df
and dword [esp + 0x1c], esi
pop ecx
pop ecx
jmp 0x403733
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_FindFirstFile___or_FindNextFile___provided_a_NULL_filename_
call fcn.004178df
cmp dword [ebp + 0x20], edi
pop ecx
je 0x403590
push 0x97b
push str._n________ERROR__d________
call fcn.0040ebcf
pop ecx
pop ecx
jmp 0x403590
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x34]
push 0
add ebx, 8
push ebx
push esi
call fcn.004b48ff
add esp, 0xc
test eax, eax
je 0x403647
push str.:8:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_seek_to_write_the_most_recent_file_date_
call fcn.004178df
pop ecx
push esi
xor edi, edi
inc edi
push edi
push 8
push 0x547340
call fcn.004b43ca
add esp, 0x10
cmp eax, edi
jae 0x40366f
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_ftMostRecentFileTime_
call fcn.004178df
and dword [esp + 0x18], 0
pop ecx
push 0
push ebx
push esi
call fcn.004b48ff
add esp, 0xc
test eax, eax
je 0x40368a
push str.:8:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_seek_to_calculate_the_CheckSum_
call fcn.004178df
pop ecx
push esi
xor ecx, ecx
call fcn.0040382c
pop ecx
push esi
mov dword [esp + 0x44], eax
call fcn.004b4673
cmp eax, 0xffffffff
pop ecx
mov dword [esp + 0x3c], eax
jne 0x4036b2
push str.:7:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_determine_dwArchiveSize.
call fcn.00417db7
pop ecx
xor ebx, ebx
push ebx
push dword [esp + 0x38]
push esi
call fcn.004b48ff
add esp, 0xc
push esi
push edi
lea eax, [esp + 0x44]
push 4
push eax
call fcn.004b43ca
add esp, 0x10
cmp eax, edi
jae 0x4036eb
push dword [esp + 0x3c]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_the_Archive_Size_DWORD__ld_
call fcn.004178df
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
push esi
push edi
lea eax, [esp + 0x48]
push 4
push eax
call fcn.004b43ca
add esp, 0x10
cmp eax, edi
jae 0x403714
push dword [esp + 0x40]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_the_CheckSum_DWORD__ld_
call fcn.004178df
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
cmp dword [ebp + 0x20], ebx
je 0x403733
push str._nDone_
call fcn.0040ebcf
xor ebx, ebx
pop ecx
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
je 0x403733
call fcn.0041d2f0
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x403740
call fcn.0041d2f0
cmp dword [esp + 0x24], 0
je 0x403758
cmp dword [esp + 0x24], 0xffffffff
je 0x403758
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [esp + 0x1c], 0
je 0x403769
push dword [esp + 0x1c]
call fcn.004b4080
pop ecx
call fcn.00402785
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1bc4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004b4c95
mov esp, ebp
pop ebp
ret