Function at 0x4ce8f0
Capabilities:
Encode data using xor
Read file on windows
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xbc
mov eax, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd8]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x98], eax
test edx, edx
je 0x4cf6f5
mov eax, dword [esp + 0xe4]
mov eax, dword [eax + 8]
cmp eax, 2
mov dword [esp + 0x8c], eax
jg 0x4cf67d
mov eax, dword [esp + 0xdc]
test eax, eax
je 0x4cf657
mov ecx, dword [esp + 0xdc]
sub ecx, 1
je 0x4ce993
add ecx, 1
mov ebx, 0xfd2fb528
imul ebx, ebx, 0x9e3779b1
xor edx, edx
mov esi, dword [ebp + ecx*4 - 4]
xor ebx, 0x85ebca77
rol ebx, 0xd
mov eax, ebx
shr eax, 5
div ecx
lea eax, [ebp + edx*4]
mov edx, dword [eax]
mov dword [eax], esi
mov dword [ebp + ecx*4 - 4], edx
sub ecx, 1
cmp ecx, 1
jne 0x4ce963
cmp dword [esp + 0xe0], 0x20000
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
ja 0x4cf636
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
test eax, eax
jle 0x4cf713
mov eax, dword [esp + 0xe0]
xor edx, edx
xor ebx, ebx
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
jmp 0x4ceaa4
mov eax, dword [esp + 0xe0]
test eax, eax
jne 0x4cef6d
cmp edi, 0
jle 0x4cf6b6
cmp edi, 0
mov eax, 1
jle 0x4cf69a
or dword [esp + 0x70], eax
xor edi, edi
cmp dword [esp + 0x8c], 2
mov esi, dword [esp + 0x70]
mov dword [esp + 0xac], esi
mov esi, 0x20000
jg 0x4cf609
add dword [esp + 0x6c], 1
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xa8], eax
add dword [esp + 0x58], esi
adc dword [esp + 0x5c], edi
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
add ebx, 1
cmp dword [esp + 0xdc], ebx
je 0x4ceaff
mov eax, dword [ebp + ebx*4]
mov dword [esp], eax
call fcn.004dd060
mov esi, edx
and esi, eax
cmp esi, 0xffffffff
je 0x4cef54
mov edi, edx
or edx, eax
mov esi, eax
jne 0x4cea20
cmp dword [esp + 0x8c], 2
jle 0x4cea98
mov eax, dword [ebp + ebx*4]
mov dword [esp + 4], str.Sample_file__s_has_zero_size__skipping..._n
add ebx, 1
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
cmp dword [esp + 0xdc], ebx
jne 0x4ceaa4
mov eax, dword [esp + 0x6c]
shl eax, 2
mov dword [esp + 0x7c], eax
cmp dword [esp + 0x8c], 3
jle 0x4ceb62
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x6c]
xor edx, edx
mov ebx, dword [esp + 0x58]
mov dword [esp + 4], str.Found_training_data__d_files___d_KB___d_samples_n
mov ecx, esi
mov dword [esp + 0x10], eax
sar ecx, 0x1f
and ecx, 0x3ff
mov eax, ecx
add eax, ebx
adc edx, esi
shrd eax, edx, 0xa
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x60], 0xb
mov esi, 0xb
test eax, eax
je 0x4cf6da
mov eax, esi
mov ecx, dword [esp + 0x5c]
mul dword [esp + 0x58]
imul ecx, esi
mov edi, edx
mov esi, eax
add edi, ecx
shrd esi, edi, 0x17
shr edi, 0x17
shld edi, esi, 0x17
shl esi, 0x17
add esi, 0x1000000
adc edi, 0
cmp edi, 0
ja 0x4cf5fd
cmp esi, 0x7c000000
ja 0x4cf5fd
mov ebx, esi
nop
mov dword [esp], ebx
call sub.msvcrt.dll_malloc
add esi, 0xff800000
adc edi, 0xffffffff
sub ebx, 0x800000
test eax, eax
je 0x4cebc0
mov dword [esp], eax
xor ebx, ebx
call fcn.004f1ae0
mov eax, esi
xor edx, edx
div dword [esp + 0x60]
mov esi, eax
mov edx, eax
xor eax, eax
cmp eax, dword [esp + 0x5c]
jge 0x4cefaf
cmp edx, 0x7fffffff
jbe 0x4cefcc
mov dword [esp + 0x74], 0x80000000
mov eax, dword [esp + 0xf4]
test eax, eax
je 0x4cec63
cmp dword [esp + 0x8c], 1
jle 0x4cec4c
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], str.___Warning_:_setting_manual_memory_limit_for_dictionary_training_data_at__u_MB__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.004ce8c0
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0xf4]
cmova eax, dword [esp + 0xf4]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x74]
add eax, 0x20
mov dword [esp], eax
call sub.msvcrt.dll_malloc
mov ebx, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call sub.msvcrt.dll_malloc
test eax, eax
mov dword [esp + 0x7c], eax
sete dl
test ebx, ebx
sete al
or dl, al
jne 0x4cfb80
mov eax, dword [esp + 0x98]
test eax, eax
je 0x4cfb80
cmp dword [esp + 0x8c], 1
setg bl
test byte [esp + 0x70], 1
je 0x4ced0f
test bl, bl
je 0x4ced0f
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.___Warning_:_some_sample_s__are_very_large__n
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.___Note_that_dictionary_is_only_useful_for_small_samples.__n
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x20000
mov dword [esp + 4], str.___As_a_consequence__only_the_first__u_bytes_of_each_sample_are_loaded__n
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
cmp dword [esp + 0x6c], 4
jle 0x4cfad2
mov eax, dword [esp + 0xd4]
xor edx, edx
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
shld edx, eax, 3
shl eax, 3
cmp edx, edi
jg 0x4cf414
jge 0x4cf40c
mov edi, dword [esp + 0x5c]
xor edx, edx
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x58]
cmp edx, edi
jl 0x4cf398
jle 0x4cf390
cmp dword [esp + 0xe0], 0x20000
ja 0x4cf3eb
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], 0
xor esi, esi
xor ebx, ebx
jmp 0x4cee4c
cmp dword [esp + 0x70], 0
jg 0x4cedae
jl 0x4cf113
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0xe0]
jb 0x4cf113
mov ebp, dword [esp + 0xe0]
lea ecx, [ebp + ebx]
cmp ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x88], ecx
ja 0x4cf18e
add ebx, dword [esp + 0x78]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebp
mov dword [esp + 4], 1
mov dword [esp], ebx
call sub.msvcrt.dll_fread
cmp ebp, eax
mov ecx, dword [esp + 0x88]
jne 0x4cf09a
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0x7c]
lea eax, [esi + 1]
test edx, edx
mov dword [ebx + esi*4], ebp
je 0x4cee25
cmp dword [esp + 0x70], 0
jg 0x4cefe5
jl 0x4cee25
cmp dword [esp + 0x58], ebp
ja 0x4cefe5
mov esi, eax
mov ebx, ecx
lea esi, [esi]
mov eax, dword [esp + 0x60]
add dword [esp + 0x84], 1
mov dword [esp], eax
call sub.msvcrt.dll_fclose
add dword [esp + 0x80], 4
cmp esi, dword [esp + 0x6c]
jge 0x4cf196
mov eax, dword [esp + 0x84]
cmp dword [esp + 0xdc], eax
jle 0x4cf196
mov edi, dword [esp + 0x80]
mov eax, dword [edi]
mov dword [esp], eax
call fcn.004dd060
mov ecx, edx
and ecx, eax
cmp ecx, 0xffffffff
je 0x4cee71
cmp edx, 0
jl 0x4cee71
jle 0x4cf180
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], 0x4feeca
mov dword [esp + 0x70], edx
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_fopen
test eax, eax
mov dword [esp + 0x60], eax
je 0x4cfa55
mov edi, dword [esp + 0x8c]
cmp edi, 1
jle 0x4cef30
mov eax, dword [0x51a050]
mov edx, dword [0x51a054]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004dc3d0
cmp edx, 0
jbe 0x4cf120
call fcn.004dc270
mov dword [0x51a050], eax
mov eax, dword [esp + 0x80]
mov dword [0x51a054], edx
mov eax, dword [eax]
mov dword [esp + 4], str.Loading__s...________r
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
cmp dword [esp + 0x8c], 3
jg 0x4cf169
nop
lea esi, [esi]
mov ecx, dword [esp + 0xe0]
test ecx, ecx
jne 0x4ced90
cmp dword [esp + 0x70], 0
jle 0x4cf103
mov ebp, 0x20000
jmp 0x4cedb5
mov eax, dword [esp + 0xe0]
mov esi, 0xffffffff
mov edi, 0xffffffff
test eax, eax
je 0x4cea6a
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
add eax, esi
adc edx, edi
add eax, 0xffffffff
adc edx, 0xffffffff
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.004ebf50
add dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xa8], ecx
jmp 0x4cea7a
jle 0x4cf5ca
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
cmp eax, 0
jg 0x4cec09
jge 0x4cebfd
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
cmp ebx, edx
jge 0x4cf5ea
mov dword [esp + 0x74], esi
jmp 0x4cec11
cmp eax, dword [esp + 0x6c]
jge 0x4cee25
mov edx, dword [esp + 0x58]
mov esi, eax
sub edx, ebp
cmp edx, dword [esp + 0xe0]
mov edi, edx
cmova edi, dword [esp + 0xe0]
lea ebx, [ecx + edi]
cmp dword [esp + 0x74], ebx
jae 0x4cf076
jmp 0x4cf6af
add esi, 1
add ebp, edi
cmp dword [esp + 0x70], 0
mov eax, dword [esp + 0x7c]
mov dword [eax + esi*4 - 4], edi
jg 0x4cf044
jl 0x4cee30
cmp dword [esp + 0x58], ebp
jbe 0x4cee30
cmp esi, dword [esp + 0x6c]
jge 0x4cee30
mov edx, dword [esp + 0x58]
mov ecx, ebx
sub edx, ebp
cmp edx, dword [esp + 0xe0]
mov edi, edx
cmova edi, dword [esp + 0xe0]
lea eax, [edi + ebx]
cmp eax, dword [esp + 0x74]
ja 0x4cee30
mov ebx, eax
add ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x60]
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov dword [esp], ecx
call sub.msvcrt.dll_fread
cmp eax, edi
je 0x4cf020
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xb
mov dword [esp + 4], str.Error__i_:
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov dword [esp + 4], str.Pb_reading__s
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fec35
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov dword [esp], 0xb
call sub.msvcrt.dll_exit
jl 0x4cf113
cmp dword [esp + 0x58], 0x1ffff
ja 0x4cef4a
mov ebp, dword [esp + 0x58]
jmp 0x4cedb5
cmp eax, 0x28b0a
ja 0x4ceee8
cmp edi, 3
jle 0x4cef30
call fcn.004dc270
mov dword [0x51a050], eax
mov eax, dword [esp + 0x80]
mov dword [0x51a054], edx
mov eax, dword [eax]
mov dword [esp + 4], str.Loading__s...________r
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4cef30
cmp eax, 0
jbe 0x4cee71
jmp 0x4cee8f
mov dword [esp], eax
call sub.msvcrt.dll_fclose
mov edi, dword [esp + 0x8c]
cmp edi, 1
jle 0x4cf1ec
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x4fef0b
mov dword [esp + 4], 0x4fef0c
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
cmp edi, 3
jle 0x4cf1ec
mov eax, ebx
mov dword [esp + 0xc], esi
mov dword [esp + 4], str.Loaded__d_KB_total_training_data___d_nb_samples__n
shr eax, 0xa
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov ebp, dword [esp + 0xe4]
test ebp, ebp
je 0x4cf451
mov ecx, dword [esp + 0x78]
mov edx, 0x9e3779b1
mov eax, ecx
add eax, ebx
lea ebx, [ecx + ebx + 0x20]
lea esi, [esi]
imul edx, edx, 0x85ebca77
add eax, 1
mov ecx, edx
shr ecx, 0x15
mov byte [eax - 1], cl
cmp eax, ebx
jne 0x4cf210
mov eax, dword [esp + 0xe4]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xe4]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xe4]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xe4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call fcn.004a61c0
mov ebx, eax
mov dword [esp], ebx
call fcn.004a5e50
test eax, eax
jne 0x4cf562
cmp dword [esp + 0x8c], 1
jle 0x4cf2cd
mov eax, dword [esp + 0xd0]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Save_dictionary_of_size__u_into_file__s__n
mov dword [esp + 0xc], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], 0x4feff6
mov dword [esp], eax
call sub.msvcrt.dll_fopen
test eax, eax
mov esi, eax
je 0x4cfbdc
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
cmp ebx, eax
jne 0x4cfc43
mov dword [esp], esi
call sub.msvcrt.dll_fclose
test eax, eax
mov esi, eax
je 0x4cf596
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 5
mov dword [esp + 4], str.Error__i_:
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], str._s_:_flush_error
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fec35
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov dword [esp], 5
call sub.msvcrt.dll_exit
nop
cmp eax, esi
jae 0x4ced5c
mov esi, dword [esp + 0x8c]
test esi, esi
jle 0x4ced5c
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], str.Training_samples_set_too_large___u_MB___training_on__u_MB_only..._n
shr eax, 0x14
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x58]
shrd eax, edx, 0x14
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
cmp dword [esp + 0xe0], 0x20000
jbe 0x4ced6d
mov dword [esp + 8], 0x7d
mov dword [esp + 4], str.dibio.c
mov dword [esp], str.targetChunkSize___SAMPLESIZE_MAX
call fcn.004ec460
jmp 0x4ced6d
cmp eax, esi
jbe 0x4ced40
test bl, bl
je 0x4ced40
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.___Warning_:_data_size_of_samples_too_small_for_target_dictionary_size__n
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.___Samples_should_be_about_100x_larger_than_target_dictionary_size__n
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
jmp 0x4ced40
mov edi, dword [esp + 0xe8]
test edi, edi
je 0x4cf7f5
mov ebx, dword [esp + 0xf0]
mov eax, dword [esp + 0xe8]
test ebx, ebx
je 0x4cf720
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call fcn.0049b9f0
mov dword [esp], eax
mov ebx, eax
call fcn.004a5e50
test eax, eax
jne 0x4cf28c
cmp dword [esp + 0x8c], 1
jle 0x4cf91e
mov eax, dword [esp + 0xe8]
fld dword [0x4ff02c]
fmul qword [eax + 0x10]
fnstcw word [esp + 0x9e]
movzx eax, word [esp + 0x9e]
mov ah, 0xc
mov word [esp + 0x9c], ax
fldcw word [esp + 0x9c]
fistp qword [esp + 0x90]
fldcw word [esp + 0x9e]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax]
mov dword [esp + 4], str.k_u_nd_u_nsteps_u_nsplit_u_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov dword [esp], ebx
call fcn.004a5e50
test eax, eax
je 0x4cf2a6
mov eax, dword [esp + 0x8c]
mov esi, 1
test eax, eax
jle 0x4cf596
mov dword [esp], ebx
call fcn.004a5e60
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.dictionary_training_failed_:__s__n
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call fcn.004f1ae0
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
call fcn.004f1ae0
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call fcn.004f1ae0
add esp, 0xbc
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
cmp esi, dword [esp + 0x58]
jbe 0x4cebfd
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
cmp eax, 0
jg 0x4cec09
jmp 0x4cefc6
jle 0x4cf6cd
mov eax, dword [esp + 0x58]
mov dword [esp + 0x74], eax
jmp 0x4cec11
mov esi, 0x7c000000
xor edi, edi
jmp 0x4cebbd
mov dword [esp + 0xc], pe_nt_image_headers32
mov eax, dword [ebp + ebx*4]
mov dword [esp + 4], str.Sample_file__s_is_too_large__limiting_to__d_KB
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
jmp 0x4cea6a
mov dword [esp + 8], 0x111
mov dword [esp + 4], str.dibio.c
mov dword [esp], str.chunkSize___SAMPLESIZE_MAX
call fcn.004ec460
jmp 0x4ce9d0
mov dword [esp + 8], 0xc4
mov dword [esp + 4], str.dibio.c
mov dword [esp], str.nbFiles___1
call fcn.004ec460
mov ecx, 0xffffffff
jmp 0x4ce95b
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fead0
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
jmp 0x4ce940
jl 0x4cf6a8
cmp esi, 0x40000
ja 0x4cea46
xor eax, eax
jmp 0x4cea46
mov ebx, ecx
jmp 0x4cee30
jl 0x4cea6a
cmp esi, 0x20000
jbe 0x4cea6a
jmp 0x4cea38
cmp esi, eax
jb 0x4cefdc
jmp 0x4cf5f0
cmp dword [esp + 0xe8], 1
sbb eax, eax
and eax, 0xfffffff8
add eax, 9
mov dword [esp + 0x60], eax
mov esi, eax
jmp 0x4ceb7e
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x4cf900
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x24]
jmp 0x4ce930
mov dword [esp + 0x7c], 0
jmp 0x4ceb0a
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xe8]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x10], esi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call fcn.0049a4a0
mov ebx, eax
jmp 0x4cf28c
mov ecx, dword [esp + 0xec]
test ecx, ecx
je 0x4cfa34
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xec]
test edx, edx
je 0x4cf933
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call fcn.004a3ef0
mov dword [esp], eax
mov ebx, eax
call fcn.004a5e50
test eax, eax
jne 0x4cf28c
mov eax, dword [esp + 0xec]
fld dword [0x4ff02c]
cmp dword [esp + 0x8c], 1
fmul qword [eax + 0x18]
fnstcw word [esp + 0x9e]
movzx eax, word [esp + 0x9e]
mov ah, 0xc
mov word [esp + 0x9c], ax
fldcw word [esp + 0x9c]
fistp qword [esp + 0x90]
fldcw word [esp + 0x9e]
mov eax, dword [esp + 0x90]
jle 0x4cf91e
mov esi, dword [esp + 0xec]
mov edx, dword [esi + 0x20]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 4]
mov dword [esp + 0xc], eax
mov eax, dword [esi]
mov dword [esp + 4], str.k_u_nd_u_nf_u_nsteps_u_nsplit_u_naccel_u_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
jmp 0x4cf552
mov eax, dword [esp + 0xec]
test eax, eax
je 0x4cfa24
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x30]
jmp 0x4ce930
mov dword [esp], ebx
call fcn.004a5e50
test eax, eax
je 0x4cf2cd
jmp 0x4cf562
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xec]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x10], esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call fcn.004a3ac0
mov ebx, eax
jmp 0x4cf28c
mov dword [esp + 0x8c], 0
jmp 0x4ce940
mov dword [esp + 8], 0x193
mov dword [esp + 4], str.dibio.c
mov dword [esp], str.fastCoverParams___NULL
call fcn.004ec460
jmp 0x4cf804
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xa
mov dword [esp + 4], str.Error__i_:
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
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 + 0x80]
mov eax, dword [eax]
mov dword [esp + 4], str.zstd:_dictBuilder:__s__s
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fec35
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov dword [esp], 0xa
call sub.msvcrt.dll_exit
cmp dword [esp + 0x8c], 1
jle 0x4cfb24
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.___Warning_:_nb_of_samples_too_low_for_proper_processing____n
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.___Please_provide__one_file_per_sample_.__n
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.___Alternatively__split_files_into_fixed_size_blocks_representative_of_samples__with__B__n
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xe
mov dword [esp + 4], str.Error__i_:
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.nb_of_samples_too_low
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fec35
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov dword [esp], 0xe
call sub.msvcrt.dll_exit
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0xc
mov dword [esp + 4], str.Error__i_:
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.not_enough_memory_for_DiB_trainFiles
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fec35
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov dword [esp], 0xc
call sub.msvcrt.dll_exit
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 3
mov dword [esp + 4], str.Error__i_:
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], 0x4feff9
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fec35
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov dword [esp], 3
call sub.msvcrt.dll_exit
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 4
mov dword [esp + 4], str.Error__i_:
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], str._s_:_write_error
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4fec35
add eax, 0x40
mov dword [esp], eax
call fcn.004ce8c0
mov dword [esp], 4
call sub.msvcrt.dll_exit
nop
nop
nop
nop
nop
nop