Function at 0x4888a0
Capabilities:
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x158
movups xmmword [rsp + 0x120], xmm6
movups xmmword [rsp + 0x130], xmm7
movups xmmword [rsp + 0x140], xmm8
pxor xmm0, xmm0
mov r15, qword [rsp + 0x1c8]
movsd xmm6, qword [r15 + 0x10]
comisd xmm0, xmm6
mov qword [rsp + 0x1a0], rcx
mov rdi, rdx
mov qword [rsp + 0x1b0], r8
mov qword [rsp + 0x1b8], r9
jb 0x488907
movsd xmm6, qword [0x0058f5f0]
mov esi, dword [r15 + 4]
test esi, esi
je 0x488c43
mov r13d, dword [r15]
mov dword [rsp + 0x4c], esi
mov ebx, 1
test r13d, r13d
je 0x488c61
mov r14d, dword [r15 + 8]
mov dword [rsp + 0x58], r13d
mov r12d, 1
xor ecx, ecx
mov dword [rsp + 0x34], 1
test r14d, r14d
je 0x488c8f
mov eax, ecx
xor edx, edx
mov ebp, dword [r15 + 0x24]
div r14d
mov edx, 1
test eax, eax
cmovne edx, eax
mov eax, ecx
mov dword [rsp + 0x34], edx
mov ecx, edx
xor edx, edx
div ecx
comisd xmm0, xmm6
lea r12d, [rax + 1]
jae 0x488ca3
comisd xmm6, xmmword [0x0058f5f0]
ja 0x488ca3
mov eax, dword [rsp + 0x58]
cmp dword [rsp + 0x4c], eax
ja 0x488cde
cmp r13d, eax
jb 0x488cde
mov ecx, dword [rsp + 0x1c0]
test ecx, ecx
je 0x4890e3
cmp rdi, 0xff
jbe 0x489134
mov eax, dword [r15 + 0xc]
cmp eax, 1
jbe 0x488d29
mov ecx, eax
mov edx, 1
call sym.POOL_create
mov qword [rsp + 0x40], rax
test rax, rax
je 0x4892b0
mov qword [rsp + 0x68], 0
imul r12d, ebx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov dword [rsp + 0x5c], r12d
mov qword [rsp + 0xb0], 0xffffffffffffffff
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
test ebp, ebp
je 0x48905d
lea eax, [rbp - 1]
mov dword [0x0058c010], eax
cmp ebp, 1
jle 0x48929d
mov rbx, qword [dbg.__acrt_iob_func]
mov ecx, 2
call rbx
mov r8d, r12d
lea rdx, [0x0058f578]
mov rcx, rax
call sym.fprintf
mov ecx, 2
call rbx
mov rcx, rax
call sym.fflush
cmp dword [rsp + 0x4c], esi
jb 0x489180
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x48], 1
xor ebx, ebx
mov rdx, rax
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x60]
movq xmm7, rdx
movq xmm4, rax
punpcklqdq xmm7, xmm4
cmp ebp, 2
jg 0x488e9b
nop word [rax + rax]
mov dword [rsp + 0x20], esi
mov r9d, dword [rsp + 0x1c0]
mov r8, qword [rsp + 0x1b8]
mov rdx, qword [rsp + 0x1b0]
movsd qword [rsp + 0x28], xmm6
mov rcx, qword [rsp + 0x50]
call sym.COVER_ctx_init
cmp rax, 0xffffffffffffff88
ja 0x489080
test ebx, ebx
je 0x488f90
mov ebx, dword [rsp + 0x58]
jmp 0x488bf8
test r12, r12
je 0x4891b8
movdqu xmm1, xmmword [r15]
movdqu xmm2, xmmword [r15 + 0x10]
mov qword [r12 + 0x10], rdi
movdqu xmm3, xmmword [r15 + 0x20]
mov eax, dword [0x0058c010]
movups xmmword [r12], xmm7
movups xmmword [r12 + 0x18], xmm1
movups xmmword [r12 + 0x28], xmm2
movups xmmword [r12 + 0x38], xmm3
mov dword [r12 + 0x18], ebx
mov dword [r12 + 0x1c], esi
mov dword [r12 + 0x20], r14d
mov dword [r12 + 0x30], 0
mov dword [r12 + 0x3c], eax
movsd qword [r12 + 0x28], xmm6
test esi, esi
je 0x488d40
test ebx, ebx
je 0x488d40
mov edx, ebx
cmp rdi, rdx
jb 0x488d40
cmp esi, ebx
ja 0x488d40
add qword [rsp + 0x68], 1
cmp qword [rsp + 0x40], 0
je 0x488ed8
mov rcx, qword [rsp + 0x40]
mov r8, r12
lea rdx, [sym.COVER_tryParameters]
call sym.POOL_add
cmp ebp, 1
jg 0x488db0
add ebx, dword [rsp + 0x34]
add dword [rsp + 0x48], 1
cmp r13d, ebx
jb 0x488d9c
nop dword [rax]
mov ecx, 0x48
call sym.malloc
mov r12, rax
cmp ebp, 2
jle 0x488b30
mov ecx, 2
call qword [dbg.__acrt_iob_func]
mov r8d, ebx
lea rdx, [0x0058f5c4]
mov rcx, rax
call sym.fprintf
mov ecx, 2
call qword [dbg.__acrt_iob_func]
mov rcx, rax
call sym.fflush
jmp 0x488b30
mov r13d, dword [r15]
mov ebx, 2
mov esi, 6
mov dword [rsp + 0x4c], 8
test r13d, r13d
jne 0x488928
mov r14d, dword [r15 + 8]
mov dword [rsp + 0x34], 0x30
mov ecx, 0x79e
mov r12d, 0x29
mov dword [rsp + 0x58], 0x32
mov r13d, 0x7d0
test r14d, r14d
jne 0x48894a
comisd xmm0, xmm6
mov ebp, dword [r15 + 0x24]
mov r14d, 0x28
jb 0x488979
mov r12, 0xffffffffffffffd6
test ebp, ebp
jg 0x488ce9
movups xmm6, xmmword [rsp + 0x120]
movups xmm7, xmmword [rsp + 0x130]
mov rax, r12
movups xmm8, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r12, 0xffffffffffffffd6
test ebp, ebp
jle 0x488cae
mov rbx, qword [dbg.__acrt_iob_func]
mov ecx, 2
mov r12, 0xffffffffffffffd6
call rbx
mov r8d, 0x15
mov edx, 1
lea rcx, str.Incorrect_parameters_n
mov r9, rax
call sym.fwrite
mov ecx, 2
call rbx
mov rcx, rax
call sym.fflush
jmp 0x488cae
mov qword [rsp + 0x40], 0
jmp 0x4889e1
test eax, eax
jle 0x488d87
mov r11, qword [dbg.__acrt_iob_func]
mov ecx, 2
mov qword [rsp + 0x38], r11
call r11
mov r8d, 0x1b
mov edx, 1
lea rcx, str.Cover_parameters_incorrect_n
mov r9, rax
call sym.fwrite
mov ecx, 2
mov r11, qword [rsp + 0x38]
call r11
mov rcx, rax
call sym.fflush
mov rcx, r12
call sym.free
add ebx, dword [rsp + 0x34]
cmp r13d, ebx
jae 0x488bf8
cmp qword [rsp + 0x68], 0
je 0x488e24
jmp 0x488da8
call sym.clock
sub eax, dword [0x005d6038]
cmp eax, 0x96
jg 0x488dcb
cmp ebp, 3
jle 0x488be2
call sym.clock
xor edx, edx
mov ecx, 2
mov r11, qword [dbg.__acrt_iob_func]
mov dword [0x005d6038], eax
imul eax, dword [rsp + 0x48], 0x64
mov qword [rsp + 0x38], r11
div dword [rsp + 0x5c]
mov r12d, eax
call r11
mov r8d, r12d
lea rdx, [0x0058f2fc]
mov rcx, rax
call sym.fprintf
mov r11, qword [rsp + 0x38]
mov ecx, 2
call r11
mov rcx, rax
call sym.fflush
jmp 0x488be2
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x488e42
call sym.free
mov qword [rsp + 0xf0], 0
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x488e60
call sym.free
mov qword [rsp + 0x100], 0
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x488e72
call sym.free
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x488ee8
call sym.free
add esi, 2
cmp dword [rsp + 0x4c], esi
jb 0x488ef1
mov ebx, 1
cmp ebp, 2
jle 0x488ae8
mov r12, qword [dbg.__acrt_iob_func]
mov ecx, 2
call r12
mov r8d, esi
lea rdx, [0x0058f5a0]
mov rcx, rax
call sym.fprintf
mov ecx, 2
call r12
mov rcx, rax
call sym.fflush
jmp 0x488ae8
mov rcx, r12
call sym.COVER_tryParameters
jmp 0x488bd9
add esi, 2
cmp dword [rsp + 0x4c], esi
jae 0x488e8d
mov rbx, qword [dbg.__acrt_iob_func]
cmp ebp, 1
jg 0x489180
mov r12, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
cmp r12, 0xffffffffffffff88
ja 0x488f68
mov r12, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x1a0]
mov rdx, r13
movdqu xmm5, xmmword [rsp + 0x80]
mov r8, r12
movups xmmword [r15], xmm5
movdqu xmm5, xmmword [rsp + 0x90]
movups xmmword [r15 + 0x10], xmm5
movdqu xmm5, xmmword [rsp + 0xa0]
movups xmmword [r15 + 0x20], xmm5
call sym.memcpy
test rbx, rbx
je 0x488f76
jmp 0x488f5f
test rbx, rbx
jne 0x4891b1
test r13, r13
je 0x488f7e
mov rcx, r13
call sym.free
mov rcx, qword [rsp + 0x40]
call sym.POOL_free
jmp 0x488cae
mov rbx, qword [rsp + 0xf8]
test rbx, rbx
js 0x489015
pxor xmm8, xmm8
cvtsi2sd xmm8, rbx
test rdi, rdi
js 0x48903c
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
divsd xmm8, xmm0
comisd xmm8, xmmword [0x0058f5f8]
jae 0x488b26
test ebp, ebp
jle 0x488b26
mov r12, qword [dbg.__acrt_iob_func]
mov ecx, 2
call r12
mov r9d, ebx
mov r8d, edi
lea rdx, str.WARNING:_The_maximum_dictionary_size__u_is_too_large_compared_to_the_source_size__u__size_source__size_dictionary____f__but_it_should_be___10__This_may_lead_to_a_subpar_dictionary__We_recommend_training_on_sources_at_least_10x__and_preferably_100x_the_size_of_the_dictionary___n
mov rcx, rax
movsd qword [rsp + 0x20], xmm8
call sym.fprintf
mov ecx, 2
call r12
mov rcx, rax
call sym.fflush
jmp 0x488b26
mov rax, rbx
mov rdx, rbx
pxor xmm8, xmm8
shr rax, 1
and edx, 1
or rax, rdx
cvtsi2sd xmm8, rax
addsd xmm8, xmm8
test rdi, rdi
jns 0x488fb0
mov rax, rdi
mov rdx, rdi
pxor xmm0, xmm0
shr rax, 1
and edx, 1
or rax, rdx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
jmp 0x488fb9
mov dword [0x0058c010], 0
cmp dword [rsp + 0x4c], esi
jae 0x488aac
jmp 0x488f01
mov r12, rax
test ebp, ebp
jle 0x4890be
mov rbx, qword [dbg.__acrt_iob_func]
mov ecx, 2
call rbx
mov r8d, 0x1d
mov edx, 1
lea rcx, [0x0058f5a6]
mov r9, rax
call sym.fwrite
mov ecx, 2
call rbx
mov rcx, rax
call sym.fflush
cmp qword [rsp + 0x68], 0
je 0x4890d0
jmp 0x4890c6
mov rcx, qword [rsp + 0x70]
test rcx, rcx
jne 0x488f79
jmp 0x488f7e
mov edx, dword [0x0058c010]
mov r12, 0xffffffffffffffb8
test edx, edx
jle 0x488cae
mov rbx, qword [dbg.__acrt_iob_func]
mov ecx, 2
call rbx
mov r8d, 0x28
mov edx, 1
lea rcx, str.Cover_must_have_at_least_one_input_file_n
mov r9, rax
call sym.fwrite
mov ecx, 2
call rbx
mov rcx, rax
call sym.fflush
jmp 0x488cae
mov eax, dword [0x0058c010]
mov r12, 0xffffffffffffffba
test eax, eax
jle 0x488cae
mov rbx, qword [dbg.__acrt_iob_func]
mov ecx, 2
call rbx
mov r8d, 0x100
lea rdx, [0x0058f480]
mov rcx, rax
call sym.fprintf
mov ecx, 2
call rbx
mov rcx, rax
call sym.fflush
jmp 0x488cae
mov ecx, 2
call rbx
lea r8, [0x0058f309]
lea rdx, [0x0058f30a]
mov rcx, rax
call sym.fprintf
mov ecx, 2
call rbx
mov rcx, rax
call sym.fflush
jmp 0x488f01
jmp 0x4891b1
test ebp, ebp
jle 0x4891f3
mov rbx, qword [dbg.__acrt_iob_func]
mov ecx, 2
call rbx
mov r8d, 0x1e
mov edx, 1
lea rcx, [0x0058f5d0]
mov r9, rax
call sym.fwrite
mov ecx, 2
call rbx
mov rcx, rax
call sym.fflush
cmp qword [rsp + 0x68], 0
je 0x489200
jmp 0x4891fb
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x48920f
call sym.free
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x48922d
call sym.free
mov qword [rsp + 0xf0], 0
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x48924b
call sym.free
mov qword [rsp + 0x100], 0
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x489269
call sym.free
mov qword [rsp + 0x108], 0
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
je 0x489287
call sym.free
mov qword [rsp + 0xc8], 0
mov rcx, qword [rsp + 0x40]
mov r12, 0xffffffffffffffc0
call sym.POOL_free
jmp 0x488cae
or r12, 0xffffffffffffffff
cmp dword [rsp + 0x4c], esi
jae 0x488aac
jmp 0x488f7e
mov r12, 0xffffffffffffffc0
jmp 0x488cae