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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x168
movaps xmmword [rsp + 0x130], xmm6
movaps xmmword [rsp + 0x140], xmm7
movaps xmmword [rsp + 0x150], xmm8
pxor xmm0, xmm0
mov r13, qword [rsp + 0x1d8]
movsd xmm6, qword [r13 + 0x10]
comisd xmm0, xmm6
mov r14, rcx
mov rdi, rdx
mov qword [rsp + 0x1c0], r8
mov qword [rsp + 0x1c8], r9
mov ecx, dword [r13 + 0xc]
jb 0x3a12490a6
movsd xmm6, qword [0x3a1265970]
mov ebx, dword [r13 + 4]
test ebx, ebx
jne 0x3a1249488
mov r15d, 2
mov ebx, 6
mov r9d, 8
mov eax, dword [r13]
mov dword [rsp + 0x44], eax
test eax, eax
jne 0x3a1249473
mov esi, 0x29
mov dword [rsp + 0x44], 0x7d0
mov ebp, 0x30
mov r8d, 0x79e
mov r11d, 0x32
mov r12d, dword [r13 + 8]
test r12d, r12d
je 0x3a1249468
xor edx, edx
mov eax, r8d
div r12d
mov edx, 1
test eax, eax
cmovne edx, eax
mov eax, r8d
mov ebp, edx
xor edx, edx
div ebp
lea esi, [rax + 1]
pxor xmm0, xmm0
mov r10d, dword [r13 + 0x24]
comisd xmm0, xmm6
jae 0x3a1249400
comisd xmm6, xmmword [0x3a1265970]
ja 0x3a1249400
cmp r11d, r9d
jb 0x3a1249400
cmp dword [rsp + 0x44], r11d
jb 0x3a1249400
mov r8d, dword [rsp + 0x1d0]
test r8d, r8d
je 0x3a12499e6
cmp rdi, 0xff
jbe 0x3a1249a28
cmp ecx, 1
jbe 0x3a1249496
mov edx, 1
mov dword [rsp + 0x54], r11d
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x38], r9d
call fcn.3a1184960
mov r9d, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x50]
test rax, rax
mov qword [rsp + 0x48], rax
mov r11d, dword [rsp + 0x54]
je 0x3a1249b50
imul r15d, esi
pxor xmm0, xmm0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov dword [rsp + 0x6c], r15d
mov qword [rsp + 0xc0], 0xffffffffffffffff
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
test r10d, r10d
jne 0x3a12498e9
mov dword [0x3a12710dc], 0
cmp r9d, ebx
jb 0x3a1249b8f
lea rax, [rsp + 0xd0]
mov dword [rsp + 0x50], r10d
xor esi, esi
cmp dword [rsp + 0x50], 2
mov rdx, rax
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x70]
movq xmm7, rdx
movq xmm4, rax
mov dword [rsp + 0x68], r9d
mov dword [rsp + 0x54], 1
punpcklqdq xmm7, xmm4
mov dword [rsp + 0x64], r11d
mov qword [rsp + 0x1b0], r14
jg 0x3a124958e
nop word [rax + rax]
mov dword [rsp + 0x20], ebx
mov r9d, dword [rsp + 0x1d0]
mov r8, qword [rsp + 0x1c8]
mov rdx, qword [rsp + 0x1c0]
movsd qword [rsp + 0x28], xmm6
mov rcx, qword [rsp + 0x58]
call fcn.3a12470c0
cmp rax, 0xffffffffffffff88
ja 0x3a124998a
test esi, esi
je 0x3a1249808
cmp dword [rsp + 0x50], 2
jg 0x3a1249670
mov r15d, dword [rsp + 0x64]
mov qword [rsp + 0x1d8], r13
lea rsi, str.Cover_parameters_incorrect_n
mov r14d, dword [rsp + 0x44]
mov r13d, r15d
mov r15, qword [rsp + 0x1d8]
jmp 0x3a1249340
test r13d, r13d
je 0x3a12493a3
cmp r13d, ebx
jb 0x3a12493a3
mov edx, r13d
cmp rdi, rdx
jb 0x3a12493a3
add qword [rsp + 0x78], 1
cmp qword [rsp + 0x48], 0
je 0x3a1249520
mov rcx, qword [rsp + 0x48]
lea rdx, [fcn.3a1248c90]
call fcn.3a11849a0
cmp dword [rsp + 0x50], 2
je 0x3a12494a8
add r13d, ebp
add dword [rsp + 0x54], 1
cmp r14d, r13d
jb 0x3a12493ee
nop dword [rax]
mov ecx, 0x48
call fcn.3a125e3c8
mov r8, rax
test rax, rax
je 0x3a1249a95
movdqu xmm1, xmmword [r15]
movdqu xmm2, xmmword [r15 + 0x10]
mov qword [rax + 0x10], rdi
movdqu xmm3, xmmword [r15 + 0x20]
movups xmmword [rax], xmm7
movups xmmword [rax + 0x18], xmm1
movups xmmword [rax + 0x28], xmm2
mov dword [rax + 0x18], r13d
mov dword [rax + 0x1c], ebx
mov dword [rax + 0x20], r12d
mov dword [rax + 0x30], 0
movups xmmword [rax + 0x38], xmm3
movsd qword [rax + 0x28], xmm6
mov eax, dword [0x3a12710dc]
mov dword [r8 + 0x3c], eax
test ebx, ebx
jne 0x3a12492e0
test eax, eax
jle 0x3a12493da
mov qword [rsp + 0x38], r8
mov ecx, 2
call qword [fcn.3a125da30]
mov rdx, rsi
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call qword [fcn.3a125da30]
mov rcx, rax
call sub.msvcrt.dll_fflush
mov r8, qword [rsp + 0x38]
mov rcx, r8
add r13d, ebp
call fcn.3a125e3b0
cmp r14d, r13d
jae 0x3a1249340
mov r13, r15
cmp qword [rsp + 0x78], 0
je 0x3a124952d
jmp 0x3a12493fd
test r10d, r10d
jle 0x3a1249431
mov rbx, qword [fcn.3a125da30]
mov ecx, 2
call rbx
lea rdx, str.Incorrect_parameters_n
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call rbx
mov rcx, rax
call sub.msvcrt.dll_fflush
mov r15, 0xffffffffffffffd6
movaps xmm6, xmmword [rsp + 0x130]
movaps xmm7, xmmword [rsp + 0x140]
mov rax, r15
movaps xmm8, xmmword [rsp + 0x150]
add rsp, 0x168
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r12d, 0x28
jmp 0x3a124911c
mov r11d, eax
mov esi, 1
mov ebp, 1
xor r8d, r8d
jmp 0x3a12490f1
mov r9d, ebx
mov r15d, 1
jmp 0x3a12490c3
mov qword [rsp + 0x48], 0
jmp 0x3a12491ad
call sub.msvcrt.dll_clock
sub eax, dword [0x3a12710d8]
cmp eax, 0x96
jle 0x3a124932c
call sub.msvcrt.dll_clock
xor edx, edx
mov ecx, 2
mov r11, qword [fcn.3a125da30]
mov dword [0x3a12710d8], eax
imul eax, dword [rsp + 0x54], 0x64
mov qword [rsp + 0x38], r11
div dword [rsp + 0x6c]
mov dword [rsp + 0x60], eax
call r11
mov r8d, dword [rsp + 0x60]
lea rdx, [0x3a126567c]
mov rcx, rax
call fcn.3a1247030
mov r11, qword [rsp + 0x38]
mov ecx, 2
call r11
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a124932c
mov rcx, r8
call fcn.3a1248c90
jmp 0x3a1249321
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x3a124953f
call fcn.3a125e3b0
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x3a1249551
call fcn.3a125e3b0
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x3a1249563
call fcn.3a125e3b0
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x3a12495c8
call fcn.3a125e3b0
add ebx, 2
cmp dword [rsp + 0x68], ebx
jb 0x3a12495d1
cmp dword [rsp + 0x50], 2
mov esi, 1
jle 0x3a1249270
mov ecx, 2
call qword [fcn.3a125da30]
mov r8d, ebx
lea rdx, [0x3a1265920]
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call qword [fcn.3a125da30]
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a1249270
add ebx, 2
cmp dword [rsp + 0x68], ebx
jae 0x3a124957e
mov r10d, dword [rsp + 0x50]
mov r14, qword [rsp + 0x1b0]
mov r15, qword [fcn.3a125da30]
cmp r10d, 1
jg 0x3a1249957
mov rsi, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x78]
cmp rsi, 0xffffffffffffff88
ja 0x3a1249a72
movdqa xmm5, xmmword [rsp + 0x90]
mov r8, r15
mov rdx, rbx
mov rcx, r14
movups xmmword [r13], xmm5
movdqa xmm5, xmmword [rsp + 0xa0]
movups xmmword [r13 + 0x10], xmm5
movdqa xmm5, xmmword [rsp + 0xb0]
movups xmmword [r13 + 0x20], xmm5
call sub.msvcrt.dll_memcpy
test rdi, rdi
je 0x3a1249658
jmp 0x3a1249653
mov rcx, rbx
call fcn.3a125e3b0
mov rcx, qword [rsp + 0x48]
call fcn.3a1184980
jmp 0x3a1249438
mov esi, dword [rsp + 0x64]
mov r15, qword [fcn.3a125da30]
jmp 0x3a1249734
test ebx, ebx
je 0x3a12497c9
cmp esi, ebx
jb 0x3a12497c9
mov edx, esi
cmp rdi, rdx
jb 0x3a12497c9
add qword [rsp + 0x78], 1
cmp qword [rsp + 0x48], 0
je 0x3a1249898
mov rcx, qword [rsp + 0x48]
mov r8, r14
lea rdx, [fcn.3a1248c90]
call fcn.3a11849a0
call sub.msvcrt.dll_clock
sub eax, dword [0x3a12710d8]
cmp eax, 0x96
jg 0x3a12496da
cmp dword [rsp + 0x50], 3
jle 0x3a1249720
call sub.msvcrt.dll_clock
xor edx, edx
mov ecx, 2
mov dword [0x3a12710d8], eax
imul eax, dword [rsp + 0x54], 0x64
div dword [rsp + 0x6c]
mov dword [rsp + 0x38], eax
call r15
mov r8d, dword [rsp + 0x38]
lea rdx, [0x3a126567c]
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call r15
mov rcx, rax
call sub.msvcrt.dll_fflush
add dword [rsp + 0x54], 1
nop dword [rax]
add esi, ebp
cmp dword [rsp + 0x44], esi
jb 0x3a12493f1
mov ecx, 0x48
call fcn.3a125e3c8
mov ecx, 2
mov r14, rax
call r15
mov r8d, esi
lea rdx, [0x3a1265944]
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call r15
mov rcx, rax
call sub.msvcrt.dll_fflush
test r14, r14
je 0x3a1249b63
movdqu xmm4, xmmword [r13]
movdqu xmm5, xmmword [r13 + 0x10]
mov qword [r14 + 0x10], rdi
movdqu xmm0, xmmword [r13 + 0x20]
mov eax, dword [0x3a12710dc]
movups xmmword [r14], xmm7
movups xmmword [r14 + 0x18], xmm4
movups xmmword [r14 + 0x28], xmm5
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x18], esi
mov dword [r14 + 0x1c], ebx
mov dword [r14 + 0x20], r12d
mov dword [r14 + 0x30], 0
mov dword [r14 + 0x3c], eax
movsd qword [r14 + 0x28], xmm6
test esi, esi
jne 0x3a1249680
test eax, eax
jle 0x3a12497f4
mov ecx, 2
call r15
lea rdx, str.Cover_parameters_incorrect_n
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call r15
mov rcx, rax
call sub.msvcrt.dll_fflush
mov rcx, r14
call fcn.3a125e3b0
jmp 0x3a1249728
mov rsi, qword [rsp + 0x108]
test rsi, rsi
js 0x3a12498c6
pxor xmm8, xmm8
cvtsi2sd xmm8, rsi
test rdi, rdi
js 0x3a12498a5
pxor xmm0, xmm0
cvtsi2sd xmm0, rdi
divsd xmm8, xmm0
comisd xmm8, xmmword [0x3a1265978]
jae 0x3a12492ae
mov eax, dword [rsp + 0x50]
test eax, eax
jle 0x3a12492b9
mov r15, qword [fcn.3a125da30]
mov ecx, 2
call r15
mov r9d, esi
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 fcn.3a1247030
mov ecx, 2
call r15
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a12492ae
mov rcx, r14
call fcn.3a1248c90
jmp 0x3a12496c1
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 0x3a1249831
mov rax, rsi
mov rdx, rsi
pxor xmm8, xmm8
shr rax, 1
and edx, 1
or rax, rdx
cvtsi2sd xmm8, rax
addsd xmm8, xmm8
jmp 0x3a1249823
lea eax, [r10 - 1]
mov dword [0x3a12710dc], eax
cmp r10d, 1
jle 0x3a1249212
mov dword [rsp + 0x54], r11d
mov r15, qword [fcn.3a125da30]
mov ecx, 2
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x38], r9d
call r15
mov r8d, dword [rsp + 0x6c]
lea rdx, [0x3a12658f8]
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call r15
mov rcx, rax
call sub.msvcrt.dll_fflush
mov r9d, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x54]
cmp r9d, ebx
jae 0x3a124921b
mov ecx, 2
call r15
lea r8, [0x3a1265689]
lea rdx, [0x3a126568a]
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call r15
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a12495ef
mov r10d, dword [rsp + 0x50]
mov r15, rax
test r10d, r10d
jle 0x3a12499c3
mov rbx, qword [fcn.3a125da30]
mov ecx, 2
call rbx
lea rdx, [0x3a1265926]
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call rbx
mov rcx, rax
call sub.msvcrt.dll_fflush
cmp qword [rsp + 0x78], 0
je 0x3a12499d0
jmp 0x3a12499cb
mov rcx, qword [rsp + 0x80]
test rcx, rcx
jne 0x3a124965b
jmp 0x3a1249660
mov ecx, dword [0x3a12710dc]
test ecx, ecx
jle 0x3a1249a1c
mov rbx, qword [fcn.3a125da30]
mov ecx, 2
call rbx
lea rdx, str.Cover_must_have_at_least_one_input_file_n
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call rbx
mov rcx, rax
call sub.msvcrt.dll_fflush
mov r15, 0xffffffffffffffb8
jmp 0x3a1249438
mov edx, dword [0x3a12710dc]
test edx, edx
jg 0x3a1249a3e
mov r15, 0xffffffffffffffba
jmp 0x3a1249438
mov rbx, qword [fcn.3a125da30]
mov ecx, 2
call rbx
mov r8d, 0x100
lea rdx, [0x3a1265800]
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call rbx
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a1249a32
test rdi, rdi
je 0x3a1249a80
jmp 0x3a1249a77
test rbx, rbx
je 0x3a1249a8d
mov rcx, rbx
call fcn.3a125e3b0
mov r15, rsi
jmp 0x3a1249660
mov r10d, dword [rsp + 0x50]
test r10d, r10d
jg 0x3a1249b5c
cmp qword [rsp + 0x78], 0
je 0x3a1249ab0
jmp 0x3a1249aab
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x3a1249ac2
call fcn.3a125e3b0
mov rcx, qword [rsp + 0x100]
test rcx, rcx
je 0x3a1249ae0
call fcn.3a125e3b0
mov qword [rsp + 0x100], 0
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x3a1249afe
call fcn.3a125e3b0
mov qword [rsp + 0x110], 0
mov rcx, qword [rsp + 0x118]
test rcx, rcx
je 0x3a1249b1c
call fcn.3a125e3b0
mov qword [rsp + 0x118], 0
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x3a1249b3a
call fcn.3a125e3b0
mov qword [rsp + 0xd8], 0
mov rcx, qword [rsp + 0x48]
mov r15, 0xffffffffffffffc0
call fcn.3a1184980
jmp 0x3a1249438
mov r15, 0xffffffffffffffc0
jmp 0x3a1249438
mov r15, qword [fcn.3a125da30]
mov ecx, 2
call r15
lea rdx, [0x3a1265950]
mov rcx, rax
call fcn.3a1247030
mov ecx, 2
call r15
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a1249aa3
mov r15, 0xffffffffffffffff
jmp 0x3a1249660