Function at 0x4cc7c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov eax, dword [esp + 0xc8]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.004dd3f0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x3c], edx
test eax, eax
jne 0x4cc900
mov eax, dword [esp + 0xc8]
lea edx, [esp + 0x78]
mov ecx, 0xa
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xd8]
test eax, eax
jle 0x4cc895
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xe
mov dword [esp + 4], 0x4fe5d6
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.No_Files_to_Benchmark
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fe024
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x20], 0xe
mov dword [ebx], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x84]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov dword [ebx + 0x24], eax
add esp, 0xac
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.004203f0
cmp eax, dword [esp + 0xd0]
jl 0x4ccb93
mov eax, dword [esp + 0x3c]
and eax, dword [esp + 0x40]
xor eax, 0xffffffff
je 0x4cce44
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.004f1b48
test eax, eax
mov dword [esp + 0x44], eax
je 0x4cd220
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x4cd080
mov dword [esp], eax
call fcn.004dd060
mov ebp, eax
mov eax, edx
and eax, ebp
xor eax, 0xffffffff
mov esi, eax
je 0x4ccc90
cmp edx, 0
ja 0x4ccd40
cmp ebp, 0x4000000
ja 0x4ccd40
mov dword [esp], ebp
mov dword [esp + 0x4c], ebp
call sub.msvcrt.dll_malloc
test eax, eax
mov dword [esp + 0x48], eax
je 0x4cd275
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [esp + 0xcc]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
call fcn.004c8770
test eax, eax
jne 0x4ccf71
mov eax, 3
mov ecx, dword [esp + 0x3c]
mul dword [esp + 0x40]
lea ecx, [ecx + ecx*2]
add edx, ecx
shrd eax, edx, 0x1a
shr edx, 0x1a
shld edx, eax, 0x1a
shl eax, 0x1a
mov esi, eax
mov edi, edx
add esi, 0x8000000
adc edi, 0
cmp edi, 0
jbe 0x4ccf40
mov esi, 0x7c000000
xor edi, edi
mov ebp, esi
jmp 0x4cca18
mov ecx, esi
or ecx, edi
je 0x4cca33
mov dword [esp], ebp
call sub.msvcrt.dll_malloc
add esi, 0xfc000000
adc edi, 0xffffffff
sub ebp, 0x4000000
test eax, eax
je 0x4cca12
mov dword [esp], eax
mov ebp, 0xaaaaaaab
call fcn.004f1ae0
mov eax, esi
mov edi, dword [esp + 0x3c]
mul ebp
shr edx, 1
mov ebp, edx
mov eax, edx
xor edx, edx
cmp edi, 0
jbe 0x4cd050
mov eax, ebp
mov dword [esp + 4], str.Not_enough_memory__testing__u_MB_only..._n
shr eax, 0x14
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
test ebp, ebp
jne 0x4cd095
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004f1ae0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.004f1ae0
lea edx, [esp + 0x78]
xor eax, eax
mov ecx, 0xa
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xd8]
test eax, eax
jle 0x4ccb34
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0x4fe5d6
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov dword [esp + 4], str.not_enough_memory
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fe024
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x78]
mov dword [ebx], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x84]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x20], 0xc
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov dword [ebx + 0x24], eax
jmp 0x4cc8ef
lea edx, [esp + 0x78]
xor eax, eax
mov ecx, 0xa
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xd8]
test eax, eax
jle 0x4ccc21
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xf
mov dword [esp + 4], 0x4fe5d6
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.Invalid_Compression_Level
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fe024
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x20], 0xf
mov dword [ebx], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x84]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov dword [ebx + 0x24], eax
add esp, 0xac
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0xd8]
test eax, eax
jle 0x4ccf51
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], str.error_loading__s_:__s__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.004f1ae0
lea edx, [esp + 0x78]
mov eax, esi
mov ecx, 0xa
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 9
mov dword [esp + 4], 0x4fe5d6
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov dword [esp + 4], str.benchmark_aborted
jmp 0x4cce90
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.004f1ae0
mov ebp, dword [esp + 0xd8]
lea edx, [esp + 0x78]
xor eax, eax
mov ecx, 0xa
mov edi, edx
test ebp, ebp
rep stosd dword es:[edi], eax
jle 0x4ccde5
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xa
mov dword [esp + 4], 0x4fe5d6
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], str.dictionary_file__s_too_large
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fe024
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x20], 0xa
mov dword [ebx], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x84]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov dword [ebx + 0x24], eax
jmp 0x4cc8ef
lea edx, [esp + 0x78]
mov ecx, 0xa
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xd8]
test eax, eax
jle 0x4cced0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 9
mov dword [esp + 4], 0x4fe5d6
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov dword [esp + 4], str.Error_loading_files
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fe024
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x78]
mov dword [ebx], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x84]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x20], 9
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov dword [ebx + 0x24], eax
add esp, 0xac
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp esi, 0x7c000000
jbe 0x4cca0e
jmp 0x4cca07
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.004f1ae0
lea edx, [esp + 0x78]
mov ecx, 0xa
mov eax, esi
mov edi, edx
rep stosd dword es:[edi], eax
jmp 0x4cced0
lea edx, [esp + 0x78]
mov ecx, 0xa
xor eax, eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
xor esi, esi
mov edi, edx
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
rep stosd dword es:[edi], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x98], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 1
mov dword [esp + 0x74], 0
mov dword [esp], esi
call fcn.004f1ae0
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004f1ae0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.004f1ae0
mov eax, dword [esp + 0x50]
mov dword [ebx], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x58]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x70]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x24], eax
jmp 0x4cc8ef
mov esi, dword [esp + 0x40]
cmp esi, ebp
jae 0x4cd05e
mov ebp, esi
mov eax, esi
mov edx, edi
cmp dword [esp + 0x3c], edx
jb 0x4cca86
ja 0x4cca59
cmp dword [esp + 0x40], eax
jbe 0x4cca86
jmp 0x4cca59
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
jmp 0x4cc9d1
mov dword [esp], ebp
call sub.msvcrt.dll_malloc
test eax, eax
mov esi, eax
je 0x4cca8e
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x44]
mov edx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov eax, esi
call fcn.004c8770
test eax, eax
je 0x4cd150
lea edx, [esp + 0x78]
mov ecx, 0xa
xor eax, eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov edi, edx
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
rep stosd dword es:[edi], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x98], 1
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 1
mov dword [esp + 0x74], 0
jmp 0x4ccfdd
mov eax, dword [esp + 0xc8]
lea edi, [esp + 0x78]
mov dword [esp + 8], str.__u_files
mov dword [esp + 4], 0x14
mov dword [esp + 0x78], 0
mov dword [esp], edi
mov dword [esp + 0x7c], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
call fcn.004c8a90
cmp dword [esp + 0xc8], 1
jbe 0x4cd374
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x1c], edi
mov ecx, ebp
mov edx, esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
lea eax, [esp + 0x50]
call fcn.004cbcf0
jmp 0x4ccfdd
lea edx, [esp + 0x78]
mov ecx, 0xa
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xd8]
test eax, eax
jle 0x4ccb34
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0x4fe5d6
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov dword [esp + 4], str.not_enough_memory_for_fileSizes
jmp 0x4ccaf4
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.004f1ae0
lea edx, [esp + 0x78]
mov eax, dword [esp + 0x48]
mov ecx, 0xa
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0xd8]
test edi, edi
jle 0x4cd315
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xb
mov dword [esp + 4], 0x4fe5d6
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], ebp
mov dword [esp + 4], str.not_enough_memory_for_dictionary___u_bytes_
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fe024
add eax, 0x40
mov dword [esp], eax
call fcn.004c7e40
mov dword [esp], 0
call sub.msvcrt.dll_fflush
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x20], 0xb
mov dword [ebx], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x84]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x8c]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x90]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov dword [ebx + 0x24], eax
jmp 0x4cc8ef
mov eax, dword [esp + 0xc4]
mov edi, dword [eax]
jmp 0x4cd1b6