Function at 0x405615
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.00524dc0
mov eax, dword [0x5c4e68]
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.005117f0
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.005117f0
add esp, 0xc
push esi
lea eax, [esp + 0xbc5]
push edi
push eax
mov byte [esp + 0xbcc], 0
call fcn.005117f0
add esp, 0xc
push esi
lea eax, [esp + 0x13c5]
push edi
push eax
mov byte [esp + 0x13cc], 0
call fcn.005117f0
add esp, 0xc
mov edx, ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edi
call fcn.004c3b34
test eax, eax
je 0x4056f6
xor ecx, ecx
call fcn.00405559
xor eax, eax
jmp 0x4065c7
mov edx, dword [esp + 0x18]
call fcn.004c3b34
test eax, eax
jne 0x4056e8
push ebx
mov ecx, 0x800
lea eax, [esp + 0xbc4]
call fcn.004c3b66
mov edx, dword [esp + 0x3c]
pop ecx
call fcn.004c3b34
neg eax
sbb eax, eax
inc eax
cmp dword [esp + 0x38], edi
mov dword [esp + 0x58], eax
jne 0x405764
cmp dword [ebp + 0x28], edi
je 0x405764
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 0x5d90e0
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 0x40577d
push dword [esp + 0x38]
lea ecx, [esp + 0xbc4]
call fcn.004c3fde
jmp 0x405881
lea esi, [esp + 0xbc0]
call fcn.004c47b0
cmp byte [esp + 0xbc0], 0
je 0x4057ac
mov eax, esi
push eax
call fcn.005120b0
pop ecx
mov ecx, esi
dec ecx
cmp byte [eax + ecx], 0x5c
jne 0x4057ac
push 0x533004
jmp 0x4057c3
lea eax, [esp + 0xbc0]
push eax
call fcn.0042adad
test eax, eax
pop ecx
je 0x4057d2
push 0x533008
lea eax, [esp + 0xbc4]
push eax
call fcn.005123f0
pop ecx
pop ecx
push dword [esp + 0x18]
push ebx
call fcn.00512a33
test eax, eax
pop ecx
pop ecx
je 0x4057f2
push dword [esp + 0x18]
call fcn.0042adad
test eax, eax
pop ecx
je 0x40586c
xor edi, edi
push dword [esp + 0x18]
mov ecx, 0x800
lea eax, [esp + 0x13c4]
call fcn.004c3b66
pop ecx
push dword [esp + 0x18]
call fcn.0042adad
test eax, eax
pop ecx
jne 0x405825
push 3
pop eax
lea esi, [esp + 0x13c0]
call fcn.004c4386
mov ebx, str..ark
push ebx
mov eax, 0x800
lea esi, [esp + 0x13c4]
call fcn.004c3c36
mov eax, esi
pop ecx
mov dword [esp + 0x18], eax
xor esi, esi
lea edi, [esp + 0x13c0]
call fcn.0042ad00
test eax, eax
je 0x40586c
mov eax, edi
push ebx
push eax
call fcn.005123f0
inc esi
cmp esi, 0xa
pop ecx
mov eax, edi
pop ecx
mov dword [esp + 0x18], eax
jl 0x405845
push dword [esp + 0x18]
mov ecx, 0x800
mov eax, 0x5d80e0
call fcn.004c3b66
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 0x4056e8
mov dword [esp + 0x14], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
lea esi, [esp + 0x9c]
call fcn.004c3e68
cmp byte [esp + 0x9c], 0
je 0x40609c
test byte [esp + 0x70], 0x10
jne 0x4060bd
cmp byte [esp + 0x9c], 0x2e
je 0x4060bd
cmp dword [ebp + 0x18], edi
jne 0x4058f5
test byte [esp + 0x70], 2
jne 0x4060bd
cmp dword [ebp + 0x1c], edi
jne 0x405905
test byte [esp + 0x70], 4
jne 0x4060bd
cmp dword [esp + 0x58], edi
jne 0x405a06
push dword [esp + 0x18]
lea edx, [esp + 0xa0]
call fcn.004c3f3d
test eax, eax
pop ecx
je 0x405a06
mov esi, 0x103
push esi
lea eax, [esp + 0x1b5]
push edi
push eax
mov byte [esp + 0x1bc], 0
call fcn.005117f0
add esp, 0xc
push esi
lea eax, [esp + 0x2bd]
push edi
push eax
mov byte [esp + 0x2c4], 0
call fcn.005117f0
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.004c3b66
pop ecx
call fcn.004c3eab
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x1b4]
push eax
call fcn.005123f0
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0x1bc]
push eax
call fcn.00512a33
add esp, 0x10
test eax, eax
jne 0x4059cf
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.00512a33
test eax, eax
pop ecx
pop ecx
je 0x4060bd
mov eax, dword [0x5d80d4]
cmp eax, edi
je 0x405a54
lea ecx, [esp + 0x9c]
push ecx
call fcn.004c8131
test eax, eax
pop ecx
je 0x405a54
lea eax, [esp + 0x9c]
push edi
push eax
mov eax, dword [0x5d80d4]
call fcn.004c7c89
mov eax, dword [0x5d80d4]
pop ecx
pop ecx
call fcn.004c8095
test eax, eax
jg 0x4060bd
xor ecx, ecx
call fcn.00405559
jmp 0x4060bd
lea eax, [esp + 0xbc0]
push eax
mov ecx, 0x800
lea eax, [esp + 0x3c4]
call fcn.004c3b66
pop ecx
call fcn.004c3eab
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x3c4]
push eax
call fcn.005123f0
push 0x865
push str..Archive.c
mov edx, 0x530488
lea ecx, [esp + 0x3d0]
call fcn.0042d2c6
add esp, 0x10
cmp eax, edi
mov dword [esp + 0x30], eax
jne 0x405ae2
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.004265da
add esp, 0x10
cmp dword [ebp + 0x20], edi
je 0x4060bd
push 0x868
jmp 0x4060b1
cmp dword [esp + 0x10], edi
jne 0x405bf6
mov edi, dword [esp + 0x18]
call fcn.0042ad00
xor ebx, ebx
test eax, eax
je 0x405ba8
cmp dword [ebp + 0x24], ebx
je 0x405b20
push str..exe
mov esi, edi
call fcn.004c4471
push eax
call fcn.00512a33
test eax, eax
pop ecx
pop ecx
jne 0x405ba8
push 0x86f
push str..Archive.c
mov edx, 0x5330f8
mov ecx, edi
call fcn.0042d2c6
cmp eax, ebx
pop ecx
pop ecx
mov dword [esp + 0x10], eax
je 0x405bca
push str..exe
mov esi, edi
call fcn.004c4471
push eax
call fcn.00512a33
test eax, eax
pop ecx
pop ecx
jne 0x405b69
mov esi, dword [esp + 0x10]
call fcn.00405465
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], ebx
jl 0x40617d
push 2
push ebx
push dword [esp + 0x18]
call fcn.005131f0
add esp, 0xc
test eax, eax
je 0x405bc4
cmp dword [ebp + 0x20], ebx
je 0x405b9c
push 0x881
push str._n________ERROR__d________
call fcn.00416ae0
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.004265da
jmp 0x405bc3
push 0x887
push str..Archive.c
mov edx, 0x532348
mov ecx, edi
call fcn.0042d2c6
pop ecx
mov dword [esp + 0x14], eax
pop ecx
cmp dword [esp + 0x10], ebx
jne 0x405bf8
push dword [ebp + 0x24]
push ecx
call fcn.0042ad00
pop ecx
push eax
push edi
push str.:8:AddFilesToArchiveSub___FAILED:_fopen___FAILED_to_open_the_destination_archive___s____d___d_
call fcn.004265da
add esp, 0x10
cmp dword [ebp + 0x20], ebx
je 0x40619e
push 0x88d
jmp 0x406192
xor ebx, ebx
xor edi, edi
inc edi
cmp dword [esp + 0x1c], ebx
jne 0x405c1a
push edi
push 0xc366
call fcn.00511988
cmp eax, ebx
pop ecx
pop ecx
mov dword [esp + 0x1c], eax
je 0x4061a7
push dword [esp + 0x10]
call fcn.005130cc
mov esi, eax
cmp esi, ebx
pop ecx
mov dword [esp + 0x48], esi
jl 0x4061d6
sub esi, dword [esp + 0x34]
jne 0x405cd7
push dword [esp + 0x10]
lea eax, [esp + 0x40]
push edi
push 4
push eax
mov dword [esp + 0x4c], ebx
call fcn.005110f1
add esp, 0x10
cmp eax, edi
jb 0x4061f4
push dword [esp + 0x10]
lea eax, [esp + 0x44]
push edi
push 4
push eax
mov dword [esp + 0x50], ebx
call fcn.005110f1
add esp, 0x10
cmp eax, edi
jb 0x406216
push 8
push ebx
mov esi, 0x5d90e8
push esi
call fcn.005117f0
add esp, 0xc
push dword [esp + 0x10]
push edi
push 8
push esi
call fcn.005110f1
add esp, 0x10
cmp eax, edi
jb 0x406233
mov esi, str.222PAULAARCHIVE222JesusIAdoreYou
push esi
push 0x5304c0
push dword [esp + 0x18]
call fcn.0051213b
add esp, 0xc
test eax, eax
jle 0x406250
push esi
call fcn.005120b0
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.005110f1
add esp, 0x10
cmp eax, edi
jb 0x406271
mov esi, dword [esp + 0x54]
cmp esi, ebx
je 0x405d65
lea eax, [esp + 0xbc0]
push eax
mov ecx, 0x800
lea eax, [esp + 0x3c4]
call fcn.004c3b66
pop ecx
call fcn.004c3eab
mov eax, esi
call fcn.004c3b56
test eax, eax
jne 0x405d37
lea eax, [esp + 0x3c0]
push eax
call fcn.004c3c75
test eax, eax
pop ecx
jne 0x405d76
push ebx
lea eax, [esp + 0x3c4]
push esi
push eax
call fcn.004c4574
add esp, 0xc
lea esi, [esp + 0x3c0]
call fcn.004c3df4
mov edx, esi
lea ecx, [esp + 0x9c]
call fcn.004c40f5
jmp 0x405d76
push dword [esp + 0x38]
lea ecx, [esp + 0xa0]
call fcn.004c3fde
pop ecx
push dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
call fcn.005120b0
pop ecx
inc eax
push eax
lea eax, [esp + 0xa4]
push edi
push eax
call fcn.005110f1
mov esi, eax
lea eax, [esp + 0xac]
push eax
call fcn.005120b0
add esp, 0x14
inc eax
cmp esi, eax
jb 0x40628e
lea esi, [esp + 0x9c]
call fcn.004c3e68
cmp dword [ebp + 0x28], ebx
je 0x405ddc
mov eax, dword [0x5d90e0]
mov dword [esp + 0x84], eax
mov eax, dword [0x5d90e4]
mov dword [esp + 0x88], eax
push dword [esp + 0x10]
lea eax, [esp + 0x88]
push edi
push 8
push eax
call fcn.005110f1
add esp, 0x10
cmp eax, edi
jb 0x4062b5
push 0x5d90e8
lea eax, [esp + 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jle 0x405e2a
mov eax, dword [esp + 0x84]
mov dword [0x5d90e8], eax
mov eax, dword [esp + 0x88]
mov dword [0x5d90ec], eax
inc dword [esp + 0x2c]
cmp dword [ebp + 0x20], ebx
je 0x405e47
lea eax, [esp + 0x9c]
push eax
push str._nAdding:___s_
call fcn.00416ae0
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.00511c63
movzx esi, ax
add esp, 0x10
cmp si, bx
jbe 0x405fb6
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.00404c8c
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.005110f1
add esp, 0x20
cmp eax, edi
jae 0x405ef0
cmp dword [ebp + 0x20], 0
je 0x405ed0
push 0x926
push str._n________ERROR__d________
call fcn.00416ae0
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.004265da
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.005110f1
add esp, 0x10
cmp eax, ebx
jae 0x405f42
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.004265da
add esp, 0xc
cmp dword [ebp + 0x20], 0
je 0x405f3d
push 0x92e
push str._n________ERROR__d________
call fcn.00416ae0
pop ecx
pop ecx
and dword [esp + 0x14], 0
add dword [esp + 0x20], 2
mov ebx, 0x56ce
cmp si, bx
jae 0x405f5e
mov eax, dword [esp + 0x44]
inc dword [esp + 0x44]
cmp eax, 0xa
jg 0x405f98
cmp dword [ebp + 0x20], 0
je 0x405f6f
push 0x5320c4
call fcn.00416ae0
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.00511c63
movzx esi, ax
add esp, 0x10
test si, si
ja 0x405e82
jmp 0x405fb1
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.00426c01
add esp, 0xc
xor edi, edi
xor ebx, ebx
inc edi
push ebx
push dword [esp + 0x4c]
push dword [esp + 0x18]
call fcn.005131f0
add esp, 0xc
test eax, eax
je 0x405ff5
cmp dword [ebp + 0x20], ebx
je 0x405fe1
push 0x946
push str._n________ERROR__d________
call fcn.00416ae0
pop ecx
pop ecx
push dword [esp + 0x48]
push str.:9:AddFilesToArchiveSub___FAILED:_fseek__ld__SEEK_SET__FAILED__
call fcn.004265da
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.005110f1
add esp, 0x10
cmp eax, edi
jae 0x406040
cmp dword [ebp + 0x20], ebx
je 0x406023
push 0x94b
push str._n________ERROR__d________
call fcn.00416ae0
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.004265da
add esp, 0xc
mov dword [esp + 0x14], ebx
push 2
push ebx
push dword [esp + 0x18]
call fcn.005131f0
add esp, 0xc
test eax, eax
je 0x406078
cmp dword [ebp + 0x20], ebx
je 0x406069
push 0x952
push str._n________ERROR__d________
call fcn.00416ae0
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fseek_0__SEEK_END__FAILED__
call fcn.004265da
pop ecx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x30]
call fcn.0042d70e
push 0x140
lea eax, [esp + 0x74]
push ebx
push eax
mov dword [esp + 0x3c], ebx
call fcn.005117f0
add esp, 0xc
xor edi, edi
jmp 0x4060bd
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_FindFirstFile___or_FindNextFile___provided_a_NULL_filename_
call fcn.004265da
cmp dword [ebp + 0x20], edi
pop ecx
je 0x4060bd
push 0x826
push str._n________ERROR__d________
call fcn.00416ae0
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 0x4058b2
cmp dword [ebp + 0x14], edi
je 0x4063ee
cmp dword [esp + 0x24], edi
je 0x4060ef
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.004c3b66
pop ecx
push eax
call fcn.005120b0
pop ecx
lea ecx, [esp + 0x3c0]
dec ecx
cmp byte [eax + ecx], 0x5c
je 0x40612a
lea eax, [esp + 0x3c0]
call fcn.004c3eab
lea eax, [esp + 0x3c0]
push 0x533004
push eax
call fcn.005123f0
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 0x4062dc
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.004265da
add esp, 0xc
jmp 0x40657e
push str.:8:AddFilesToArchiveSub___Encountered_a_problem:_TagSelfExtractingExe___FAILED.
call fcn.004265da
cmp dword [ebp + 0x20], ebx
pop ecx
je 0x40619e
push 0x877
push str._n________ERROR__d________
call fcn.00416ae0
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
jmp 0x406571
cmp dword [ebp + 0x20], ebx
je 0x4061bd
push 0x89e
push str._n________ERROR__d________
call fcn.00416ae0
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.004265da
pop ecx
mov dword [esp + 0x18], ebx
jmp 0x406570
cmp dword [ebp + 0x20], ebx
je 0x4061ec
push 0x8ab
push str._n________ERROR__d________
call fcn.00416ae0
pop ecx
pop ecx
push esi
push str.:9:AddFilesToArchiveSub___FAILED:_ftell___FAILED_returned__ld
jmp 0x4061c7
cmp dword [ebp + 0x20], ebx
je 0x40620a
push 0x8c0
push str._n________ERROR__d________
call fcn.00416ae0
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_Archive_Size_DWORD.
call fcn.004265da
jmp 0x4061cd
cmp dword [ebp + 0x20], ebx
je 0x40622c
push 0x8ca
push str._n________ERROR__d________
call fcn.00416ae0
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_CRC_DWORD.
jmp 0x40620f
cmp dword [ebp + 0x20], ebx
je 0x406249
push 0x8d4
push str._n________ERROR__d________
call fcn.00416ae0
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_Most_Recent_File_Time.
jmp 0x40620f
cmp dword [ebp + 0x20], ebx
je 0x406266
push 0x8dd
push str._n________ERROR__d________
call fcn.00416ae0
pop ecx
pop ecx
push esi
push str.:9:AddFilesToArchiveSub___FAILED:_fprintf___FAILED_to_write_the_archive_validation_string___s_
jmp 0x4061c7
cmp dword [ebp + 0x20], ebx
je 0x406287
push 0x8eb
push str._n________ERROR__d________
call fcn.00416ae0
pop ecx
pop ecx
push str.:9:AddFilesToArchiveSub___FAILED:_fwrite___FAILED_to_make_room_for_the_file_size_DWORD.
jmp 0x40620f
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.004265da
cmp dword [ebp + 0x20], ebx
pop ecx
pop ecx
je 0x40619e
push 0x903
jmp 0x406192
lea eax, [esp + 0x9c]
push eax
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_fwrite___s___failed_to_write_the_file_time_
call fcn.004265da
cmp dword [ebp + 0x20], ebx
pop ecx
pop ecx
je 0x40619e
push 0x910
jmp 0x406192
test byte [esp + 0x70], 0x10
je 0x4063c8
lea esi, [esp + 0x9c]
call fcn.004c3e68
cmp byte [esp + 0x9c], 0
je 0x406446
cmp byte [esp + 0x9c], 0x2e
je 0x4063db
cmp dword [ebp + 0x18], edi
jne 0x40631f
test byte [esp + 0x70], 2
jne 0x4063db
cmp dword [ebp + 0x1c], edi
jne 0x40632f
test byte [esp + 0x70], 4
jne 0x4063db
cmp dword [esp + 0x1c], edi
je 0x406343
push dword [esp + 0x1c]
call fcn.00511758
pop ecx
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x10]
cmp ecx, edi
je 0x406354
call fcn.0042d70e
mov dword [esp + 0x10], edi
cmp dword [ebp + 0x20], edi
je 0x40636d
lea eax, [esp + 0x9c]
push eax
push str._n____Searching_Directory:__s____
call fcn.00416ae0
pop ecx
pop ecx
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x3c4]
push 0x533850
push eax
call fcn.00511173
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.00405615
add esp, 0x30
add dword [esp + 0x2c], eax
push 0x140
lea eax, [esp + 0x74]
push edi
push eax
call fcn.005117f0
add esp, 0xc
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x28]
call ebx
test eax, eax
jne 0x4062dc
cmp dword [esp + 0x38], edi
jne 0x40657e
cmp dword [esp + 0x2c], 0
jle 0x40657e
mov esi, dword [esp + 0x10]
test esi, esi
jne 0x406470
mov ecx, dword [esp + 0x18]
push 0x9a6
push str..Archive.c
mov edx, 0x5330f8
call fcn.0042d2c6
test eax, eax
pop ecx
pop ecx
mov dword [esp + 0x10], eax
jne 0x40646c
push dword [esp + 0x18]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_reopen_the_archive_file___s__to_calculate_the_CheckSum.
call fcn.004265da
and dword [esp + 0x1c], esi
pop ecx
pop ecx
jmp 0x40657e
push str.:9:AddFilesToArchiveSub___encountered_a_problem:_FindFirstFile___or_FindNextFile___provided_a_NULL_filename_
call fcn.004265da
cmp dword [ebp + 0x20], edi
pop ecx
je 0x4063db
push 0x97b
push str._n________ERROR__d________
call fcn.00416ae0
pop ecx
pop ecx
jmp 0x4063db
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x34]
push 0
add ebx, 8
push ebx
push esi
call fcn.005131f0
add esp, 0xc
test eax, eax
je 0x406492
push str.:8:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_seek_to_write_the_most_recent_file_date_
call fcn.004265da
pop ecx
push esi
xor edi, edi
inc edi
push edi
push 8
push 0x5d90e8
call fcn.005110f1
add esp, 0x10
cmp eax, edi
jae 0x4064ba
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_ftMostRecentFileTime_
call fcn.004265da
and dword [esp + 0x18], 0
pop ecx
push 0
push ebx
push esi
call fcn.005131f0
add esp, 0xc
test eax, eax
je 0x4064d5
push str.:8:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_seek_to_calculate_the_CheckSum_
call fcn.004265da
pop ecx
push esi
xor ecx, ecx
call fcn.00406679
pop ecx
push esi
mov dword [esp + 0x44], eax
call fcn.005130cc
cmp eax, 0xffffffff
pop ecx
mov dword [esp + 0x3c], eax
jne 0x4064fd
push str.:7:AddFilesToArchiveSub___encountered_a_problem:_ftell___FAILED_to_determine_dwArchiveSize.
call fcn.00426c01
pop ecx
xor ebx, ebx
push ebx
push dword [esp + 0x38]
push esi
call fcn.005131f0
add esp, 0xc
push esi
push edi
lea eax, [esp + 0x44]
push 4
push eax
call fcn.005110f1
add esp, 0x10
cmp eax, edi
jae 0x406536
push dword [esp + 0x3c]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_the_Archive_Size_DWORD__ld_
call fcn.004265da
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
push esi
push edi
lea eax, [esp + 0x48]
push 4
push eax
call fcn.005110f1
add esp, 0x10
cmp eax, edi
jae 0x40655f
push dword [esp + 0x40]
push str.:8:AddFilesToArchiveSub___FAILED:_Could_not_write_the_CheckSum_DWORD__ld_
call fcn.004265da
pop ecx
pop ecx
mov dword [esp + 0x14], ebx
cmp dword [ebp + 0x20], ebx
je 0x40657e
push str._nDone_
call fcn.00416ae0
xor ebx, ebx
pop ecx
mov ecx, dword [esp + 0x30]
cmp ecx, ebx
je 0x40657e
call fcn.0042d70e
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x40658b
call fcn.0042d70e
cmp dword [esp + 0x24], 0
je 0x4065a3
cmp dword [esp + 0x24], 0xffffffff
je 0x4065a3
push dword [esp + 0x24]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [esp + 0x1c], 0
je 0x4065b4
push dword [esp + 0x1c]
call fcn.00511758
pop ecx
xor ecx, ecx
call fcn.00405559
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.0051291c
mov esp, ebp
pop ebp
ret