Function at 0x47b378
Capabilities:
Read file on windows

Disassembly:
push 0x4c8
mov eax, 0x499a39
call fcn.004961c2
mov ebx, dword [ebp + 8]
xor esi, esi
mov edi, ecx
mov dword [ebp - 0x4a4], edi
mov dword [ebp - 0x484], ebx
mov dword [ebp - 0x4ac], esi
mov dword [ebp - 0x4d4], esi
mov dword [ebp - 0x4d0], esi
mov dword [ebp - 0x4cc], esi
mov eax, dword [0x4c8014]
mov dword [ebp - 4], esi
mov dword [ebp - 0x47c], eax
or dword [ebp - 0x494], 0xffffffff
mov dword [ebp - 0x4b8], esi
mov dword [ebp - 0x4b4], esi
mov dword [ebp - 0x4b0], esi
mov dword [ebp - 0x48c], esi
mov dword [ebp - 0x4bc], eax
push esi
push esi
push ecx
mov byte [ebp - 4], 2
mov ecx, esp
mov dword [ebp - 0x480], esp
cmp dword [edi + 0x5a0], esi
je 0x47b403
push str._exporting_report_
jmp 0x47b408
push str._compressing_files_
call fcn.0045ffe5
lea ecx, [edi + 0x438]
call fcn.00461a7e
mov ecx, ebx
call fcn.00465c8f
push edx
push eax
mov dword [ebp - 0x4c4], eax
lea eax, [ebp - 0x47c]
push str.Total_file_size_for_compression_is__I64d_bytes
push eax
mov dword [ebp - 0x4c0], edx
call fcn.00460165
add esp, 0x10
push esi
push esi
push ecx
lea eax, [ebp - 0x47c]
mov ecx, esp
mov dword [ebp - 0x480], esp
push eax
call fcn.0045e829
lea ecx, [edi + 0x438]
call fcn.00461a7e
cmp dword [edi + 0x5a0], esi
je 0x47b481
lea eax, [edi + 0x5a4]
lea ebx, [edi + 0x598]
push eax
mov ecx, ebx
call fcn.0045f9b8
jmp 0x47b4d1
lea eax, [ebp - 0x49c]
push eax
mov ecx, ebx
call fcn.00464951
push str..zip
push eax
lea eax, [ebp - 0x490]
push eax
mov byte [ebp - 4], 3
call fcn.00460179
lea ebx, [edi + 0x598]
push eax
mov ecx, ebx
mov byte [ebp - 4], 4
call fcn.0045f9b8
lea ecx, [ebp - 0x490]
call fcn.0045ddba
lea ecx, [ebp - 0x49c]
mov byte [ebp - 4], 2
call fcn.0045ddba
push dword [ebx]
lea eax, [ebp - 0x47c]
push str.Creating_ZIP_archive_file__s
push eax
call fcn.00460165
add esp, 0xc
push esi
push 1
push ecx
lea eax, [ebp - 0x47c]
mov ecx, esp
mov dword [ebp - 0x480], esp
push eax
call fcn.0045e829
lea ecx, [edi + 0x438]
call fcn.00461a7e
push esi
push esi
mov ecx, ebx
call fcn.0045f46b
push eax
call fcn.00456378
pop ecx
pop ecx
mov dword [ebp - 0x4a8], eax
cmp eax, esi
jne 0x47b54c
push 1
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0x480], esp
push str.Failed_to_create_ZIP_file.
call fcn.0045ffe5
lea ecx, [edi + 0x438]
call fcn.00461a7e
jmp 0x47b9ed
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x490], esi
call fcn.00463009
test eax, eax
jle 0x47b8e0
push dword [ebp - 0x490]
mov ecx, dword [ebp - 0x484]
call fcn.004644c3
mov ecx, dword [ebp - 0x4a4]
add ecx, 0x438
mov edi, eax
call fcn.00461490
test al, al
jne 0x47b9bc
push esi
mov ecx, edi
call fcn.0045f46b
push eax
lea ecx, [ebp - 0x488]
call fcn.0045ffe5
push esi
lea ecx, [edi + 4]
mov byte [ebp - 4], 5
call fcn.0045f46b
push eax
lea ecx, [ebp - 0x498]
call fcn.0045ffe5
add edi, 8
push edi
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 6
call fcn.0045e829
push dword [ebp - 0x488]
lea eax, [ebp - 0x47c]
push str.Compressing_file__s
push eax
mov byte [ebp - 4], 7
call fcn.00460165
add esp, 0xc
push esi
push esi
push ecx
lea eax, [ebp - 0x47c]
mov ecx, esp
mov dword [ebp - 0x480], esp
push eax
call fcn.0045e829
mov edi, dword [ebp - 0x4a4]
add edi, 0x438
mov ecx, edi
mov dword [ebp - 0x49c], edi
call fcn.00461a7e
push esi
push esi
push 3
push esi
push 1
push connect
push dword [ebp - 0x498]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x494], eax
cmp eax, 0xffffffff
jne 0x47b67f
push dword [ebp - 0x498]
lea eax, [ebp - 0x47c]
push str.Couldnt_open_file__s
push eax
call fcn.00460165
add esp, 0xc
push esi
push esi
push ecx
lea eax, [ebp - 0x47c]
mov ecx, esp
mov dword [ebp - 0x480], esp
push eax
call fcn.0045e829
mov ecx, edi
call fcn.00461a7e
jmp 0x47b898
lea ecx, [ebp - 0x478]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x464]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx eax, word [ebp - 0x420]
mov dword [ebp - 0x430], eax
movzx eax, word [ebp - 0x41e]
push dword [ebp - 0x4a0]
dec eax
mov dword [ebp - 0x434], eax
movzx eax, word [ebp - 0x41a]
mov dword [ebp - 0x438], eax
movzx eax, word [ebp - 0x418]
mov dword [ebp - 0x43c], eax
movzx eax, word [ebp - 0x416]
mov dword [ebp - 0x440], eax
movzx eax, word [ebp - 0x414]
mov dword [ebp - 0x444], eax
mov eax, 0x80
lea ecx, [ebp - 0x4d4]
mov dword [ebp - 0x42c], esi
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x428], eax
call fcn.00464854
push esi
lea ecx, [ebp - 0x488]
mov edi, eax
call fcn.0045f46b
push eax
lea ecx, [ebp - 0x4d4]
call fcn.00464854
push 0xffffffffffffffff
push 8
push edi
mov edi, dword [ebp - 0x4a8]
push esi
push esi
push esi
push esi
lea ecx, [ebp - 0x444]
push ecx
push eax
push edi
call fcn.00456b8a
add esp, 0x28
cmp eax, esi
je 0x47b792
push dword [ebp - 0x488]
lea eax, [ebp - 0x47c]
push str.Couldnt_compress_file__s
push eax
call fcn.00460165
add esp, 0xc
push esi
push esi
push ecx
lea eax, [ebp - 0x47c]
mov ecx, esp
mov dword [ebp - 0x480], esp
push eax
call fcn.0045e829
mov ecx, dword [ebp - 0x49c]
jmp 0x47b675
mov ecx, dword [ebp - 0x49c]
call fcn.00461490
test al, al
jne 0x47b997
push esi
lea eax, [ebp - 0x4b0]
push eax
push 0x400
lea eax, [ebp - 0x410]
push eax
push dword [ebp - 0x494]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, esi
je 0x47b87e
cmp dword [ebp - 0x4b0], esi
je 0x47b87e
push dword [ebp - 0x4b0]
lea eax, [ebp - 0x410]
push eax
push edi
call fcn.00456c6d
add esp, 0xc
cmp eax, esi
jne 0x47b83c
mov eax, dword [ebp - 0x4b0]
add dword [ebp - 0x4b8], eax
push esi
adc dword [ebp - 0x4b4], esi
fild qword [ebp - 0x4b8]
fmul qword [0x49f1b0]
fild qword [ebp - 0x4c4]
fdivp st(1)
fstp dword [ebp - 0x480]
fld dword [ebp - 0x480]
call fcn.00496570
mov ecx, dword [ebp - 0x49c]
push eax
call fcn.0046153c
jmp 0x47b792
push edi
call fcn.004571cf
push dword [ebp - 0x488]
lea eax, [ebp - 0x47c]
push str.Couldnt_write_to_compressed_file__s
push eax
call fcn.00460165
add esp, 0x10
push esi
push esi
push ecx
lea eax, [ebp - 0x47c]
mov ecx, esp
mov dword [ebp - 0x480], esp
push eax
call fcn.0045e829
mov ecx, dword [ebp - 0x49c]
call fcn.00461a7e
push edi
call fcn.004571cf
pop ecx
push dword [ebp - 0x494]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 0x494], 0xffffffff
lea ecx, [ebp - 0x4a0]
call fcn.0045ddba
lea ecx, [ebp - 0x498]
call fcn.0045ddba
lea ecx, [ebp - 0x488]
mov byte [ebp - 4], 2
call fcn.0045ddba
mov ecx, dword [ebp - 0x484]
inc dword [ebp - 0x490]
call fcn.00463009
cmp dword [ebp - 0x490], eax
jl 0x47b565
mov edi, dword [ebp - 0x4a4]
push esi
push dword [ebp - 0x4a8]
call fcn.004574bd
pop ecx
pop ecx
mov dword [ebp - 0x4a8], esi
cmp dword [edi + 0x5a0], esi
jne 0x47baad
push dword [ebx]
lea eax, [ebp - 0x47c]
push str.Calculating_MD5_hash_for_file__s
push eax
call fcn.00460165
add esp, 0xc
push esi
push esi
push ecx
lea eax, [ebp - 0x47c]
mov ecx, esp
mov dword [ebp - 0x480], esp
push eax
call fcn.0045e829
lea ecx, [edi + 0x438]
call fcn.00461a7e
lea eax, [ebp - 0x4bc]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x480], esp
push ebx
call fcn.0045e829
mov ecx, edi
call fcn.0047b0a4
cmp eax, esi
je 0x47ba25
push dword [ebx]
lea eax, [ebp - 0x47c]
push str.Couldnt_calculate_MD5_hash_for_file__s
push eax
call fcn.00460165
add esp, 0xc
push esi
push esi
push ecx
mov dword [ebp - 0x480], esp
lea eax, [ebp - 0x47c]
mov ecx, esp
push eax
call fcn.0045e829
lea ecx, [edi + 0x438]
call fcn.00461a7e
jmp 0x47b9d8
lea ecx, [ebp - 0x4a0]
call fcn.0045ddba
lea ecx, [ebp - 0x498]
call fcn.0045ddba
lea ecx, [ebp - 0x488]
mov byte [ebp - 4], 2
call fcn.0045ddba
mov edi, dword [ebp - 0x4a4]
cmp dword [ebp - 0x4a8], esi
je 0x47b9d8
push esi
push dword [ebp - 0x4a8]
call fcn.004574bd
pop ecx
pop ecx
cmp dword [ebp - 0x494], 0xffffffff
je 0x47b9ed
push dword [ebp - 0x494]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x48c], esi
je 0x47ba02
push dword [ebp - 0x48c]
call dword [sym.imp.MSVCR100.dll_fclose]
pop ecx
push 1
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0x484], esp
cmp dword [ebp - 0x4ac], esi
je 0x47bae0
push str.Finished_compressing_files...OK
jmp 0x47bae5
push str..md5
push ebx
lea eax, [ebp - 0x480]
push eax
call fcn.00460179
mov eax, dword [eax]
push 0x49dae4
push eax
lea eax, [ebp - 0x48c]
push eax
call dword [sym.imp.MSVCR100.dll__wfopen_s]
add esp, 0xc
lea ecx, [ebp - 0x480]
call fcn.0045ddba
cmp dword [ebp - 0x48c], esi
jne 0x47ba86
push dword [ebx]
lea eax, [ebp - 0x47c]
push str.Couldnt_save_MD5_hash_for_file__s
push eax
call fcn.00460165
add esp, 0xc
push esi
push esi
push ecx
mov dword [ebp - 0x484], esp
jmp 0x47b97c
push dword [ebp - 0x4bc]
push dword [ebp - 0x48c]
call dword [sym.imp.MSVCR100.dll_fwprintf]
push dword [ebp - 0x48c]
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 0xc
mov dword [ebp - 0x48c], esi
mov eax, dword [ebp - 0x4b8]
cmp dword [ebp - 0x4c4], eax
jne 0x47b9d8
mov eax, dword [ebp - 0x4b4]
cmp dword [ebp - 0x4c0], eax
jne 0x47b9d8
mov dword [ebp - 0x4ac], 1
jmp 0x47b9c2
push str.File_compression_failed.
call fcn.0045ffe5
lea ebx, [edi + 0x438]
mov ecx, ebx
call fcn.00461a7e
push esi
push 0x64
push ecx
mov ecx, esp
mov dword [ebp - 0x484], esp
cmp dword [edi + 0x5a0], esi
je 0x47bb21
cmp dword [ebp - 0x4ac], esi
je 0x47bb1a
push str._end_exporting_report_ok_
jmp 0x47bb26
push str._end_exporting_report_failed_
jmp 0x47bb26
push str._end_compressing_files_
call fcn.0045ffe5
mov ecx, ebx
call fcn.00461a7e
lea ecx, [ebp - 0x4bc]
call fcn.0045ddba
lea ecx, [ebp - 0x47c]
call fcn.0045ddba
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4d4]
call fcn.0045fe4f
mov eax, dword [ebp - 0x4ac]
call fcn.00496245
ret 4