Function at 0x4035bd
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.004c8990
mov eax, dword [0x5385d0]
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.004b7880
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.004b7880
add esp, 0xc
push esi
lea eax, [esp + 0xbc5]
push edi
push eax
mov byte [esp + 0xbcc], 0
call fcn.004b7880
add esp, 0xc
push esi
lea eax, [esp + 0x13c5]
push edi
push eax
mov byte [esp + 0x13cc], 0
call fcn.004b7880
add esp, 0xc
mov edx, ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edi
call fcn.0047ebaf
test eax, eax
je 0x40369c
call fcn.0040356d
xor eax, eax
jmp 0x404562
mov edx, dword [esp + 0x18]
call fcn.0047ebaf
test eax, eax
jne 0x403690
push ebx
mov ecx, 0x800
lea eax, [esp + 0xbc4]
call fcn.0047ebe1
mov edx, dword [esp + 0x3c]
pop ecx
call fcn.0047ebaf
neg eax
sbb eax, eax
inc eax
cmp dword [esp + 0x38], edi
mov dword [esp + 0x58], eax
jne 0x40370a
cmp dword [ebp + 0x28], edi
je 0x40370a
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 0x54b338
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 0x403723
push dword [esp + 0x38]
lea ecx, [esp + 0xbc4]
call fcn.0047f054
jmp 0x403827
lea esi, [esp + 0xbc0]
call fcn.0047f72c
cmp byte [esp + 0xbc0], 0
je 0x403752
mov eax, esi
push eax
call fcn.004b68f0
pop ecx
mov ecx, esi
dec ecx
cmp byte [eax + ecx], 0x5c
jne 0x403752
push 0x4d6ddc
jmp 0x403769
lea eax, [esp + 0xbc0]
push eax
call fcn.0041c6ac
test eax, eax
pop ecx
je 0x403778
push 0x4d6de0
lea eax, [esp + 0xbc4]
push eax
call fcn.004b6c30
pop ecx
pop ecx
push dword [esp + 0x18]
push ebx
call fcn.004b763f
test eax, eax
pop ecx
pop ecx
je 0x403798
push dword [esp + 0x18]
call fcn.0041c6ac
test eax, eax
pop ecx
je 0x403812
xor edi, edi
push dword [esp + 0x18]
mov ecx, 0x800
lea eax, [esp + 0x13c4]
call fcn.0047ebe1
pop ecx
push dword [esp + 0x18]
call fcn.0041c6ac
test eax, eax
pop ecx
jne 0x4037cb
push 3
pop eax
lea esi, [esp + 0x13c0]
call fcn.0047f3fc
mov ebx, str..ark
push ebx
mov eax, 0x800
lea esi, [esp + 0x13c4]
call fcn.0047ecb1
mov eax, esi
pop ecx
mov dword [esp + 0x18], eax
xor esi, esi
lea edi, [esp + 0x13c0]
call fcn.0041c5ff
test eax, eax
je 0x403812
mov eax, edi
push ebx
push eax
call fcn.004b6c30
inc esi
cmp esi, 0xa
pop ecx
mov eax, edi
pop ecx
mov dword [esp + 0x18], eax
jl 0x4037eb
push dword [esp + 0x18]
mov ecx, 0x800
mov eax, 0x54a338
call fcn.0047ebe1
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 0x403690
mov dword [esp + 0x14], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
lea esi, [esp + 0x9c]
call fcn.0047eede
cmp byte [esp + 0x9c], 0
je 0x404039
test byte [esp + 0x70], 0x10
jne 0x40405a
cmp byte [esp + 0x9c], 0x2e
je 0x40405a
cmp dword [ebp + 0x18], edi
jne 0x40389b
test byte [esp + 0x70], 2
jne 0x40405a
cmp dword [ebp + 0x1c], edi
jne 0x4038ab
test byte [esp + 0x70], 4
jne 0x40405a
cmp dword [esp + 0x58], edi
jne 0x4039ac
push dword [esp + 0x18]
lea edx, [esp + 0xa0]
call fcn.0047efb3
test eax, eax
pop ecx
je 0x4039ac
mov esi, 0x103
push esi
lea eax, [esp + 0x1b5]
push edi
push eax
mov byte [esp + 0x1bc], 0
call fcn.004b7880
add esp, 0xc
push esi
lea eax, [esp + 0x2bd]
push edi
push eax
mov byte [esp + 0x2c4], 0
call fcn.004b7880
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.0047ebe1
pop ecx
call fcn.0047ef21
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x1b4]
push eax
call fcn.004b6c30
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x1bc]
push eax
call fcn.004b763f
add esp, 0x10
test eax, eax
jne 0x403975
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.004b763f
test eax, eax
pop ecx
pop ecx
je 0x40405a
mov eax, dword [0x54a32c]
cmp eax, edi
je 0x4039f1
lea ecx, [esp + 0x9c]
push ecx
call fcn.0048258a
test eax, eax
pop ecx
je 0x4039f1
lea eax, [esp + 0x9c]
push eax
call fcn.00482222
mov eax, dword [0x54a32c]
pop ecx
call fcn.004824ee
test eax, eax
jg 0x40405a
call fcn.0040356d
jmp 0x40405a
lea eax, [esp + 0xbc0]
push eax
mov ecx, 0x800
lea eax, [esp + 0x3c4]
call fcn.0047ebe1
pop ecx
call fcn.0047ef21
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x3c4]
push eax
call fcn.004b6c30
push 0x865
push str..Archive.c
mov edx, 0x4d520c
lea ecx, [esp + 0x3d0]
call fcn.0041e477
add esp, 0x10
cmp eax, edi
mov dword [esp + 0x30], eax
jne 0x403a7f
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.00418e96
add esp, 0x10
cmp dword [ebp + 0x20], edi
je 0x40405a
push 0x868
jmp 0x40404e
cmp dword [esp + 0x10], edi
jne 0x403b93
mov edi, dword [esp + 0x18]
call fcn.0041c5ff
xor ebx, ebx
test eax, eax
je 0x403b45
cmp dword [ebp + 0x24], ebx
je 0x403abd
push str..exe
mov esi, edi
call fcn.0047f443
push eax
call fcn.004b763f
test eax, eax
pop ecx
pop ecx
jne 0x403b45
push 0x86f
push str..Archive.c
mov edx, 0x4d6ed0
mov ecx, edi
call fcn.0041e477
cmp eax, ebx
pop ecx
pop ecx
mov dword [esp + 0x10], eax
je 0x403b67
push str..exe
mov esi, edi
call fcn.0047f443
push eax
call fcn.004b763f
test eax, eax
pop ecx
pop ecx
jne 0x403b06
mov esi, dword [esp + 0x10]
call fcn.00403479
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], ebx
jl 0x40411a
push 2
push ebx
push dword [esp + 0x18]
call fcn.004b6d9f
add esp, 0xc
test eax, eax
je 0x403b61
cmp dword [ebp + 0x20], ebx
je 0x403b39
push 0x881
push str._n________ERROR__d________
call fcn.00410186
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.00418e96
jmp 0x403b60
push 0x887
push str..Archive.c
mov edx, 0x4d5e50
mov ecx, edi
call fcn.0041e477
pop ecx
mov dword [esp + 0x14], eax
pop ecx
cmp dword [esp + 0x10], ebx
jne 0x403b95
push dword [ebp + 0x24]
push ecx
call fcn.0041c5ff
pop ecx
push eax
push edi
push str.:8:AddFilesToArchiveSub___FAILED:_fopen___FAILED_to_open_the_destination_archive___s____d___d_
call fcn.00418e96
add esp, 0x10
cmp dword [ebp + 0x20], ebx
je 0x40413b
push 0x88d
jmp 0x40412f
xor ebx, ebx
xor edi, edi
inc edi
cmp dword [esp + 0x1c], ebx
jne 0x403bb7
push edi
push 0xc366
call fcn.004b66ca
cmp eax, ebx
pop ecx
pop ecx
mov dword [esp + 0x1c], eax
je 0x404144
push dword [esp + 0x10]
call fcn.004b6b13
mov esi, eax
cmp esi, ebx
pop ecx
mov dword [esp + 0x48], esi
jl 0x404173
sub esi, dword [esp + 0x34]
jne 0x403c74
push dword [esp + 0x10]
lea eax, [esp + 0x40]
push edi
push 4
push eax
mov dword [esp + 0x4c], ebx
call fcn.004b6868
add esp, 0x10
cmp eax, edi
jb 0x404191
push dword [esp + 0x10]
lea eax, [esp + 0x44]
push edi
push 4
push eax
mov dword [esp + 0x50], ebx
call fcn.004b6868
add esp, 0x10
cmp eax, edi
jb 0x4041b3
push 8
push ebx
mov esi, 0x54b340
push esi
call fcn.004b7880
add esp, 0xc
push dword [esp + 0x10]
push edi
push 8
push esi
call fcn.004b6868
add esp, 0x10
cmp eax, edi
jb 0x4041d0
mov esi, str.222PAULAARCHIVE222JesusIAdoreYou
push esi
push 0x4d71c8
push dword [esp + 0x18]
call fcn.004b7bb1
add esp, 0xc
test eax, eax
jle 0x4041ed
push esi
call fcn.004b68f0
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.004b6868
add esp, 0x10
cmp eax, edi
jb 0x40420e
mov esi, dword [esp + 0x54]
cmp esi, ebx
je 0x403d02
lea eax, [esp + 0xbc0]
push eax
mov ecx, 0x800
lea eax, [esp + 0x3c4]
call fcn.0047ebe1
pop ecx
call fcn.0047ef21
mov eax, esi
call fcn.0047ebd1
test eax, eax
jne 0x403cd4
lea eax, [esp + 0x3c0]
push eax
call fcn.0047ecf0
test eax, eax
pop ecx
jne 0x403d13
push ebx
lea eax, [esp + 0x3c4]
push esi
push eax
call fcn.0047f546
add esp, 0xc
lea esi, [esp + 0x3c0]
call fcn.0047ee6a
mov edx, esi
lea ecx, [esp + 0x9c]
call fcn.0047f16b
jmp 0x403d13
push dword [esp + 0x38]
lea ecx, [esp + 0xa0]
call fcn.0047f054
pop ecx
push dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
call fcn.004b68f0
pop ecx
inc eax
push eax
lea eax, [esp + 0xa4]
push edi
push eax
call fcn.004b6868
mov esi, eax
lea eax, [esp + 0xac]
push eax
call fcn.004b68f0
add esp, 0x14
inc eax
cmp esi, eax
jb 0x40422b
lea esi, [esp + 0x9c]
call fcn.0047eede
cmp dword [ebp + 0x28], ebx
je 0x403d79
mov eax, dword [0x54b338]
mov dword [esp + 0x84], eax
mov eax, dword [0x54b33c]
mov dword [esp + 0x88], eax
push dword [esp + 0x10]
lea eax, [esp + 0x88]
push edi
push 8
push eax
call fcn.004b6868
add esp, 0x10
cmp eax, edi
jb 0x404252
push 0x54b340
lea eax, [esp + 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jle 0x403dc7
mov eax, dword [esp + 0x84]
mov dword [0x54b340], eax
mov eax, dword [esp + 0x88]
mov dword [0x54b344], eax
inc dword [esp + 0x2c]
cmp dword [ebp + 0x20], ebx
je 0x403de4
lea eax, [esp + 0x9c]
push eax
push str._nAdding:___s_
call fcn.00410186
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.004b7b96
movzx esi, ax
add esp, 0x10
cmp si, bx
jbe 0x403f53
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.00402ca0
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.004b6868
add esp, 0x20
cmp eax, edi
jae 0x403e8d
cmp dword [ebp + 0x20], 0
je 0x403e6d
push 0x926
push str._n________ERROR__d________
call fcn.00410186
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.00418e96
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.004b6868
add esp, 0x10
cmp eax, ebx
jae 0x403edf
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.00418e96
add esp, 0xc
cmp dword [ebp + 0x20], 0
je 0x403eda
push 0x92e
push str._n________ERROR__d________
call fcn.00410186
pop ecx
pop ecx
and dword [esp + 0x14], 0
add dword [esp + 0x20], 2
mov ebx, 0x56ce
cmp si, bx
jae 0x403efb
mov eax, dword [esp + 0x44]
inc dword [esp + 0x44]
cmp eax, 0xa
jg 0x403f35
cmp dword [ebp + 0x20], 0
je 0x403f0c
push 0x4d5c64
call fcn.00410186
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.004b7b96
movzx esi, ax
add esp, 0x10
test si, si
ja 0x403e1f
jmp 0x403f4e
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.0041936e
add esp, 0xc
xor edi, edi
xor ebx, ebx
inc edi
push ebx
push dword [esp + 0x4c]
push dword [esp + 0x18]
call fcn.004b6d9f
add esp, 0xc
test eax, eax
je 0x403f92
cmp dword [ebp + 0x20], ebx
je 0x403f7e
push 0x946
push str._n________ERROR__d________
call fcn.00410186
pop ecx
pop ecx
push dword [esp + 0x48]
push str.:9:AddFilesToArchiveSub___FAILED:_fseek__ld__SEEK_SET__FAILED__
call fcn.00418e96
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.004b6868
add esp, 0x10
cmp eax, edi
jae 0x403fdd
cmp dword [ebp + 0x20], ebx
je 0x403fc0
push 0x94b
push str._n________ERROR__d________
call fcn.00410186
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.00418e96
add esp, 0xc
mov dword [esp + 0x14], ebx
push 2
push ebx
push dword [esp + 0x18]
call fcn.004b6d9f
add esp, 0xc
test eax, eax
je 0x404015
cmp dword [ebp + 0x20], ebx
je 0x404006
push 0x952
push str._n________ERROR__d________
call fcn.00410186
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fseek_0__SEEK_END__FAILED__
call fcn.00418e96
pop ecx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x30]
call fcn.0041e8bf
push 0x140
lea eax, [esp + 0x74]
push ebx
push eax
mov dword [esp + 0x3c], ebx
call fcn.004b7880
add esp, 0xc
xor edi, edi
jmp 0x40405a
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_FindFirstFile___or_FindNextFile___provided_a_NULL_filename_
call fcn.00418e96
cmp dword [ebp + 0x20], edi
pop ecx
je 0x40405a
push 0x826
push str._n________ERROR__d________
call fcn.00410186
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 0x403858
cmp dword [ebp + 0x14], edi
je 0x40438b
cmp dword [esp + 0x24], edi
je 0x40408c
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.0047ebe1
pop ecx
push eax
call fcn.004b68f0
pop ecx
lea ecx, [esp + 0x3c0]
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x4040c7
lea eax, [esp + 0x3c0]
call fcn.0047ef21
lea eax, [esp + 0x3c0]
push 0x4d6ddc
push eax
call fcn.004b6c30
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 0x404279
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.00418e96
add esp, 0xc
jmp 0x40451b
push str.:8:AddFilesToArchiveSub___Encountered_a_problem:_TagSelfExtractingExe___FAILED.
call fcn.00418e96
cmp dword [ebp + 0x20], ebx
pop ecx
je 0x40413b
push 0x877
push str._n________ERROR__d________
call fcn.00410186
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
jmp 0x40450e
cmp dword [ebp + 0x20], ebx
je 0x40415a
push 0x89e
push str._n________ERROR__d________
call fcn.00410186
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.00418e96
pop ecx
mov dword [esp + 0x18], ebx
jmp 0x40450d
cmp dword [ebp + 0x20], ebx
je 0x404189
push 0x8ab
push str._n________ERROR__d________
call fcn.00410186
pop ecx
pop ecx
push esi
push str.:9:AddFilesToArchiveSub___FAILED:_ftell___FAILED_returned__ld
jmp 0x404164
cmp dword [ebp + 0x20], ebx
je 0x4041a7
push 0x8c0
push str._n________ERROR__d________
call fcn.00410186
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_Archive_Size_DWORD.
call fcn.00418e96
jmp 0x40416a
cmp dword [ebp + 0x20], ebx
je 0x4041c9
push 0x8ca
push str._n________ERROR__d________
call fcn.00410186
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_CRC_DWORD.
jmp 0x4041ac
cmp dword [ebp + 0x20], ebx
je 0x4041e6
push 0x8d4
push str._n________ERROR__d________
call fcn.00410186
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_Most_Recent_File_Time.
jmp 0x4041ac
cmp dword [ebp + 0x20], ebx
je 0x404203
push 0x8dd
push str._n________ERROR__d________
call fcn.00410186
pop ecx
pop ecx
push esi
push str.:9:AddFilesToArchiveSub___FAILED:_fprintf___FAILED_to_write_the_archive_validation_string___s_
jmp 0x404164
cmp dword [ebp + 0x20], ebx
je 0x404224
push 0x8eb
push str._n________ERROR__d________
call fcn.00410186
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_file_size_DWORD.
jmp 0x4041ac
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.00418e96
cmp dword [ebp + 0x20], ebx
pop ecx
pop ecx
je 0x40413b
push 0x903
jmp 0x40412f
lea eax, [esp + 0x9c]
push eax
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_fwrite___s___failed_to_write_the_file_time_
call fcn.00418e96
cmp dword [ebp + 0x20], ebx
pop ecx
pop ecx
je 0x40413b
push 0x910
jmp 0x40412f
test byte [esp + 0x70], 0x10
je 0x404365
lea esi, [esp + 0x9c]
call fcn.0047eede
cmp byte [esp + 0x9c], 0
je 0x4043e3
cmp byte [esp + 0x9c], 0x2e
je 0x404378
cmp dword [ebp + 0x18], edi
jne 0x4042bc
test byte [esp + 0x70], 2
jne 0x404378
cmp dword [ebp + 0x1c], edi
jne 0x4042cc
test byte [esp + 0x70], 4
jne 0x404378
cmp dword [esp + 0x1c], edi
je 0x4042e0
push dword [esp + 0x1c]
call fcn.004b651e
pop ecx
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x10]
cmp ecx, edi
je 0x4042f1
call fcn.0041e8bf
mov dword [esp + 0x10], edi
cmp dword [ebp + 0x20], edi
je 0x40430a
lea eax, [esp + 0x9c]
push eax
push str._n____Searching_Directory:__s____
call fcn.00410186
pop ecx
pop ecx
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x3c4]
push 0x4d7630
push eax
call fcn.004b77ce
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.004035bd
add esp, 0x30
add dword [esp + 0x2c], eax
push 0x140
lea eax, [esp + 0x74]
push edi
push eax
call fcn.004b7880
add esp, 0xc
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x28]
call ebx
test eax, eax
jne 0x404279
cmp dword [esp + 0x38], edi
jne 0x40451b
cmp dword [esp + 0x2c], 0
jle 0x40451b
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x40440d
mov ecx, dword [esp + 0x18]
push 0x9a6
push str..Archive.c
mov edx, 0x4d6ed0
call fcn.0041e477
test eax, eax
pop ecx
pop ecx
mov dword [esp + 0x10], eax
jne 0x404409
push dword [esp + 0x18]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_reopen_the_archive_file___s__to_calculate_the_CheckSum.
call fcn.00418e96
and dword [esp + 0x1c], esi
pop ecx
pop ecx
jmp 0x40451b
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_FindFirstFile___or_FindNextFile___provided_a_NULL_filename_
call fcn.00418e96
cmp dword [ebp + 0x20], edi
pop ecx
je 0x404378
push 0x97b
push str._n________ERROR__d________
call fcn.00410186
pop ecx
pop ecx
jmp 0x404378
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x34]
push 0
add ebx, 8
push ebx
push esi
call fcn.004b6d9f
add esp, 0xc
test eax, eax
je 0x40442f
push str.:8:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_seek_to_write_the_most_recent_file_date_
call fcn.00418e96
pop ecx
push esi
xor edi, edi
inc edi
push edi
push 8
push 0x54b340
call fcn.004b6868
add esp, 0x10
cmp eax, edi
jae 0x404457
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_ftMostRecentFileTime_
call fcn.00418e96
and dword [esp + 0x18], 0
pop ecx
push 0
push ebx
push esi
call fcn.004b6d9f
add esp, 0xc
test eax, eax
je 0x404472
push str.:8:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_seek_to_calculate_the_CheckSum_
call fcn.00418e96
pop ecx
push esi
xor ecx, ecx
call fcn.00404614
pop ecx
push esi
mov dword [esp + 0x44], eax
call fcn.004b6b13
cmp eax, 0xffffffff
pop ecx
mov dword [esp + 0x3c], eax
jne 0x40449a
push str.:7:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_determine_dwArchiveSize.
call fcn.0041936e
pop ecx
xor ebx, ebx
push ebx
push dword [esp + 0x38]
push esi
call fcn.004b6d9f
add esp, 0xc
push esi
push edi
lea eax, [esp + 0x44]
push 4
push eax
call fcn.004b6868
add esp, 0x10
cmp eax, edi
jae 0x4044d3
push dword [esp + 0x3c]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_the_Archive_Size_DWORD__ld_
call fcn.00418e96
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
push esi
push edi
lea eax, [esp + 0x48]
push 4
push eax
call fcn.004b6868
add esp, 0x10
cmp eax, edi
jae 0x4044fc
push dword [esp + 0x40]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_the_CheckSum_DWORD__ld_
call fcn.00418e96
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
cmp dword [ebp + 0x20], ebx
je 0x40451b
push str._nDone_
call fcn.00410186
xor ebx, ebx
pop ecx
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
je 0x40451b
call fcn.0041e8bf
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x404528
call fcn.0041e8bf
cmp dword [esp + 0x24], 0
je 0x404540
cmp dword [esp + 0x24], 0xffffffff
je 0x404540
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [esp + 0x1c], 0
je 0x404551
push dword [esp + 0x1c]
call fcn.004b651e
pop ecx
call fcn.0040356d
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.004b7140
mov esp, ebp
pop ebp
ret