Function at 0x3a1252db0
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, 0x1a8
movaps xmmword [rsp + 0x180], xmm6
movaps xmmword [rsp + 0x190], xmm7
pxor xmm0, xmm0
mov rax, qword [rsp + 0x218]
movsd xmm6, qword [rax + 0x18]
comisd xmm0, xmm6
mov qword [rsp + 0x1f0], rcx
mov rdi, rdx
mov ecx, dword [rax + 0x10]
mov qword [rsp + 0x200], r8
mov qword [rsp + 0x208], r9
jb 0x3a1252e10
movsd xmm6, qword [0x3a1266660]
mov rax, qword [rsp + 0x218]
mov esi, dword [rax + 4]
test esi, esi
jne 0x3a1253398
mov r15d, dword [rax]
mov r13d, 2
mov esi, 6
mov r9d, 8
test r15d, r15d
jne 0x3a12533ad
mov ebp, dword [rax + 0xc]
mov ebx, 0x29
mov r12d, 0x30
mov r8d, 0x79e
mov r10d, 0x32
mov r15d, 0x7d0
test ebp, ebp
je 0x3a12533c9
xor edx, edx
mov eax, r8d
div ebp
mov edx, 1
test eax, eax
cmovne edx, eax
mov eax, r8d
mov r12d, edx
xor edx, edx
div r12d
lea ebx, [rax + 1]
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x218]
pxor xmm0, xmm0
mov r11d, dword [rax + 8]
mov eax, 0x14
mov edx, dword [rdx + 0x30]
test r11d, r11d
mov dword [rsp + 0x44], edx
cmove r11d, eax
comisd xmm0, xmm6
mov rax, qword [rsp + 0x218]
mov eax, dword [rax + 0x20]
jae 0x3a12533d3
comisd xmm6, xmmword [0x3a1266658]
ja 0x3a12533d3
test eax, eax
mov edx, 1
cmovne edx, eax
lea eax, [rdx - 1]
mov dword [rsp + 0x9c], edx
cmp eax, 9
ja 0x3a12533e8
cmp r10d, r9d
jb 0x3a12537a6
cmp r15d, r10d
jb 0x3a12537a6
mov r14d, dword [rsp + 0x210]
test r14d, r14d
je 0x3a12538c0
cmp rdi, 0xff
jbe 0x3a12538d4
cmp ecx, 1
jbe 0x3a125341e
mov edx, 1
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x70], r9d
mov dword [rsp + 0x50], r11d
call fcn.3a1184960
mov r11d, dword [rsp + 0x50]
mov r9d, dword [rsp + 0x70]
test rax, rax
mov qword [rsp + 0x48], rax
mov r10d, dword [rsp + 0x60]
je 0x3a12539c8
imul ebx, r13d
lea rax, [rsp + 0x120]
mov dword [rsp + 0x88], r10d
mov rcx, rax
mov dword [rsp + 0x90], r9d
mov dword [rsp + 0x7c], r11d
mov dword [rsp + 0x78], ebx
mov qword [rsp + 0x70], rax
call fcn.3a1248690
pxor xmm0, xmm0
mov r10d, dword [rsp + 0x44]
mov rax, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x218]
mov r11d, dword [rsp + 0x7c]
movups xmmword [rsp + 0xbc], xmm0
movsd xmm2, qword [rax + 0x18]
mov eax, dword [rax + 0x24]
test r10d, r10d
mov dword [rsp + 0xcc], 0
mov ecx, dword [rdx + 0x2c]
mov rbx, qword [rsp + 0x218]
mov rdx, qword [rdx + 0x30]
mov dword [rsp + 0xb8], eax
movdqu xmm3, xmmword [rbx]
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0xc0], ecx
movdqu xmm4, xmmword [rbx + 0x10]
mov qword [rsp + 0xc4], rdx
lea rdx, [0x3a1266600]
mov rax, qword [rdx + rax*8]
movdqa xmm0, xmm3
mov r9d, dword [rsp + 0x90]
movaps xmmword [rsp + 0x50], xmm3
movdqa xmm1, xmm4
movaps xmmword [rsp + 0x60], xmm4
mov r10d, dword [rsp + 0x88]
shufps xmm1, xmm3, 0xf0
shufps xmm0, xmm1, 0x24
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0xa0], xmm0
movsd qword [rsp + 0xb0], xmm2
jne 0x3a12537d1
mov dword [0x3a12710e4], 0
cmp r9d, esi
jb 0x3a12532a6
lea rax, [rsp + 0xd0]
mov dword [rsp + 0x50], 1
xor ebx, ebx
mov qword [rsp + 0x88], rax
movq xmm7, rax
mov dword [rsp + 0x90], r11d
movhps xmm7, qword [rsp + 0x70]
mov dword [rsp + 0x94], r9d
mov dword [rsp + 0x98], r10d
nop word [rax + rax]
cmp dword [rsp + 0x44], 2
jg 0x3a12534a0
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x20], esi
mov r9d, dword [rsp + 0x210]
mov r8, qword [rsp + 0x208]
movsd qword [rsp + 0x28], xmm6
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x90]
mov rdx, qword [rsp + 0x200]
mov rcx, qword [rsp + 0x88]
mov dword [rsp + 0x30], eax
call fcn.3a12524c0
cmp rax, 0xffffffffffffff88
ja 0x3a125387e
test ebx, ebx
je 0x3a12536b0
lea r11d, [rsi - 6]
mov ebx, dword [rsp + 0x98]
and r11d, 0xfffffffd
cmp dword [rsp + 0x44], 2
jg 0x3a12534d8
test r11d, r11d
jne 0x3a12536d0
mov r13, qword [fcn.3a125da30]
jmp 0x3a125317f
test eax, eax
jle 0x3a125316b
mov ecx, 2
call r13
lea rdx, str.FASTCOVER_parameters_incorrect_n
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call r13
mov rcx, rax
call sub.msvcrt.dll_fflush
mov rcx, r14
add ebx, r12d
call fcn.3a125e3b0
cmp r15d, ebx
jb 0x3a1253253
mov ecx, 0x48
call fcn.3a125e3c8
mov r14, rax
test rax, rax
je 0x3a1253968
movdqa xmm3, xmmword [rsp + 0xa0]
movups xmmword [rax], xmm7
movdqa xmm4, xmmword [rsp + 0xb0]
movdqa xmm5, xmmword [rsp + 0xc0]
mov qword [rax + 0x10], rdi
movups xmmword [rax + 0x18], xmm3
mov edx, dword [rsp + 0x114]
movups xmmword [rax + 0x28], xmm4
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], esi
mov dword [rax + 0x20], ebp
mov dword [rax + 0x30], 0
movups xmmword [rax + 0x38], xmm5
movsd qword [rax + 0x28], xmm6
mov eax, dword [0x3a12710e4]
mov dword [r14 + 0x3c], eax
test ebx, ebx
je 0x3a1253140
cmp ebx, esi
jb 0x3a1253140
mov ecx, ebx
cmp rdi, rcx
jb 0x3a1253140
sub edx, 1
cmp edx, 0x1e
ja 0x3a1253140
mov rcx, qword [rsp + 0x70]
call fcn.3a1248720
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x3a1253490
mov r8, r14
lea rdx, [fcn.3a1252190]
call fcn.3a11849a0
cmp dword [rsp + 0x44], 2
je 0x3a1253430
add ebx, r12d
add dword [rsp + 0x50], 1
cmp r15d, ebx
jae 0x3a125317f
mov rcx, qword [rsp + 0x70]
add esi, 2
mov ebx, 1
call fcn.3a12486d0
mov rcx, qword [rsp + 0x108]
call fcn.3a125e3b0
mov rcx, qword [rsp + 0xd8]
call fcn.3a125e3b0
cmp dword [rsp + 0x94], esi
jae 0x3a12530b0
cmp dword [rsp + 0x44], 1
mov r11d, dword [rsp + 0x90]
mov r14, qword [fcn.3a125da30]
jg 0x3a1253841
mov rbx, qword [rsp + 0x170]
mov r13, qword [rsp + 0x138]
cmp rbx, 0xffffffffffffff88
ja 0x3a125394c
mov rdi, qword [rsp + 0x218]
mov eax, dword [rsp + 0x14c]
mov r8, r13
movd xmm1, r11d
movd xmm3, dword [rsp + 0x148]
movd xmm0, dword [rsp + 0x140]
mov dword [rdi + 0x10], eax
mov eax, dword [rsp + 0x160]
movd xmm4, dword [rsp + 0x144]
punpckldq xmm1, xmm3
movd xmm5, dword [rsp + 0x158]
mov dword [rdi + 0x2c], eax
mov rax, qword [rsp + 0x164]
punpckldq xmm0, xmm4
mov rdx, qword [rsp + 0x130]
movsd xmm2, qword [rsp + 0x150]
punpcklqdq xmm0, xmm1
mov qword [rdi + 0x30], rax
mov rcx, qword [rsp + 0x1f0]
movd xmm1, dword [rsp + 0x9c]
movsd qword [rdi + 0x18], xmm2
movups xmmword [rdi], xmm0
punpckldq xmm1, xmm5
movq qword [rdi + 0x20], xmm1
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x70]
call fcn.3a12486f0
mov rcx, qword [rsp + 0x48]
call fcn.3a1184980
nop
movaps xmm6, xmmword [rsp + 0x180]
movaps xmm7, xmmword [rsp + 0x190]
mov rax, r13
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r15d, dword [rax]
mov r9d, esi
mov r13d, 1
test r15d, r15d
je 0x3a1252e40
mov ebp, dword [rax + 0xc]
mov r10d, r15d
mov ebx, 1
xor r8d, r8d
mov r12d, 1
test ebp, ebp
jne 0x3a1252e68
mov ebp, 0x28
jmp 0x3a1252e87
mov eax, dword [rsp + 0x44]
test eax, eax
jg 0x3a1253789
mov r13, 0xffffffffffffffd6
jmp 0x3a125336d
mov eax, dword [rsp + 0x44]
test eax, eax
jle 0x3a12533df
mov ecx, 2
mov rbx, qword [fcn.3a125da30]
call rbx
lea rdx, str.Incorrect_accel_n
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call rbx
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a12533df
mov qword [rsp + 0x48], 0
jmp 0x3a1252f61
call sub.msvcrt.dll_clock
sub eax, dword [0x3a12710e0]
cmp eax, 0x96
jle 0x3a1253242
call sub.msvcrt.dll_clock
xor edx, edx
mov ecx, 2
mov dword [0x3a12710e0], eax
imul eax, dword [rsp + 0x50], 0x64
div dword [rsp + 0x78]
mov r14d, eax
call r13
mov r8d, r14d
lea rdx, str._r_u__
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call r13
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a1253242
mov rcx, r14
call fcn.3a1252190
jmp 0x3a1253237
mov ecx, 2
call qword [fcn.3a125da30]
mov r8d, esi
lea rdx, str.d_u_n
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call qword [fcn.3a125da30]
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a12530bb
mov dword [rsp + 0x60], r11d
mov r13, qword [fcn.3a125da30]
jmp 0x3a12535bd
test ebx, ebx
je 0x3a1253662
mov ecx, dword [rsp + 0x60]
test ecx, ecx
jne 0x3a1253662
cmp ebx, esi
jb 0x3a1253662
mov ecx, ebx
cmp rdi, rcx
jb 0x3a1253662
sub edx, 1
cmp edx, 0x1e
ja 0x3a1253662
mov rcx, qword [rsp + 0x70]
call fcn.3a1248720
cmp qword [rsp + 0x48], 0
je 0x3a12536a0
mov rcx, qword [rsp + 0x48]
mov r8, r14
lea rdx, [fcn.3a1252190]
call fcn.3a11849a0
call sub.msvcrt.dll_clock
sub eax, dword [0x3a12710e0]
cmp eax, 0x96
jg 0x3a1253566
cmp dword [rsp + 0x44], 3
jle 0x3a12535ac
call sub.msvcrt.dll_clock
xor edx, edx
mov ecx, 2
mov dword [0x3a12710e0], eax
imul eax, dword [rsp + 0x50], 0x64
div dword [rsp + 0x78]
mov dword [rsp + 0x7c], eax
call r13
mov r8d, dword [rsp + 0x7c]
lea rdx, str._r_u__
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call r13
mov rcx, rax
call sub.msvcrt.dll_fflush
add dword [rsp + 0x50], 1
add ebx, r12d
cmp r15d, ebx
jb 0x3a1253253
mov ecx, 0x48
call fcn.3a125e3c8
mov ecx, 2
mov r14, rax
call r13
mov r8d, ebx
lea rdx, str.k_u_n
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call r13
mov rcx, rax
call sub.msvcrt.dll_fflush
test r14, r14
je 0x3a12539d4
movdqa xmm2, xmmword [rsp + 0xa0]
mov eax, dword [0x3a12710e4]
mov qword [r14 + 0x10], rdi
movdqa xmm1, xmmword [rsp + 0xb0]
mov edx, dword [rsp + 0x114]
movups xmmword [r14], xmm7
movdqa xmm0, xmmword [rsp + 0xc0]
movups xmmword [r14 + 0x18], xmm2
movups xmmword [r14 + 0x28], xmm1
movups xmmword [r14 + 0x38], xmm0
mov dword [r14 + 0x18], ebx
mov dword [r14 + 0x1c], esi
mov dword [r14 + 0x20], ebp
mov dword [r14 + 0x30], 0
mov dword [r14 + 0x3c], eax
movsd qword [r14 + 0x28], xmm6
test esi, esi
jne 0x3a12534f0
test eax, eax
jle 0x3a125368d
mov ecx, 2
call r13
lea rdx, str.FASTCOVER_parameters_incorrect_n
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call r13
mov rcx, rax
call sub.msvcrt.dll_fflush
mov rcx, r14
call fcn.3a125e3b0
jmp 0x3a12535b1
mov rcx, r14
call fcn.3a1252190
jmp 0x3a125354d
mov r8d, dword [rsp + 0x44]
mov rdx, qword [rsp + 0x100]
mov rcx, rdi
call fcn.3a1247ec0
jmp 0x3a1253114
lea r13, str.FASTCOVER_parameters_incorrect_n
jmp 0x3a12536f4
mov rcx, r14
add ebx, r12d
call fcn.3a125e3b0
cmp r15d, ebx
jb 0x3a1253253
mov ecx, 0x48
call fcn.3a125e3c8
mov r14, rax
test rax, rax
je 0x3a1253968
movdqa xmm2, xmmword [rsp + 0xa0]
mov qword [rax + 0x10], rdi
movdqa xmm1, xmmword [rsp + 0xb0]
movups xmmword [rax], xmm7
movdqa xmm0, xmmword [rsp + 0xc0]
movups xmmword [rax + 0x18], xmm2
movups xmmword [rax + 0x28], xmm1
mov dword [rax + 0x18], ebx
mov dword [rax + 0x1c], esi
mov dword [rax + 0x20], ebp
mov dword [rax + 0x30], 0
movups xmmword [rax + 0x38], xmm0
movsd qword [rax + 0x28], xmm6
mov eax, dword [0x3a12710e4]
mov dword [r14 + 0x3c], eax
test eax, eax
jle 0x3a12536e0
mov ecx, 2
call qword [fcn.3a125da30]
mov rdx, r13
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call qword [fcn.3a125da30]
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a12536e0
mov ecx, 2
mov rbx, qword [fcn.3a125da30]
call rbx
lea rdx, str.Incorrect_splitPoint_n
mov rcx, rax
jmp 0x3a1253408
mov r15d, dword [rsp + 0x44]
test r15d, r15d
jle 0x3a12533df
mov ecx, 2
mov rbx, qword [fcn.3a125da30]
call rbx
lea rdx, str.Incorrect_k_n
mov rcx, rax
jmp 0x3a1253408
mov edx, dword [rsp + 0x44]
lea eax, [rdx - 1]
mov dword [0x3a12710e4], eax
cmp edx, 1
jle 0x3a1253062
mov dword [rsp + 0x7c], r10d
mov r14, qword [fcn.3a125da30]
mov ecx, 2
mov dword [rsp + 0x60], r9d
mov dword [rsp + 0x50], r11d
call r14
mov r8d, dword [rsp + 0x78]
lea rdx, str.Trying__u_different_sets_of_parameters_n
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call r14
mov rcx, rax
call sub.msvcrt.dll_fflush
mov r9d, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x7c]
cmp r9d, esi
jae 0x3a125306b
mov dword [rsp + 0x44], r11d
mov ecx, 2
call r14
lea r8, [0x3a12662d9]
lea rdx, str._r_79s_r
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call r14
mov rcx, rax
call sub.msvcrt.dll_fflush
mov r11d, dword [rsp + 0x44]
jmp 0x3a12532a6
mov r9d, dword [rsp + 0x44]
mov r13, rax
test r9d, r9d
jle 0x3a1253358
mov rbx, qword [fcn.3a125da30]
mov ecx, 2
call rbx
lea rdx, str.Failed_to_initialize_context_n
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call rbx
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a1253358
mov ebx, dword [rsp + 0x44]
test ebx, ebx
jg 0x3a12538ea
mov r13, 0xffffffffffffffb8
jmp 0x3a125336d
mov r11d, dword [rsp + 0x44]
test r11d, r11d
jg 0x3a1253918
mov r13, 0xffffffffffffffba
jmp 0x3a125336d
mov rbx, qword [fcn.3a125da30]
mov ecx, 2
call rbx
lea rdx, str.FASTCOVER_must_have_at_least_one_input_file_n
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call rbx
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a12538c8
mov rbx, qword [fcn.3a125da30]
mov ecx, 2
call rbx
mov r8d, 0x100
lea rdx, str.dictBufferCapacity_must_be_at_least__u_n
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call rbx
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a12538de
mov rcx, qword [rsp + 0x70]
mov r13, rbx
call fcn.3a12486f0
mov rcx, qword [rsp + 0x48]
call fcn.3a1184980
jmp 0x3a125336d
mov r8d, dword [rsp + 0x44]
test r8d, r8d
jg 0x3a1253a03
mov rcx, qword [rsp + 0x70]
mov r13, 0xffffffffffffffc0
call fcn.3a12486f0
mov rcx, qword [rsp + 0x108]
call fcn.3a125e3b0
mov rcx, qword [rsp + 0xd8]
mov qword [rsp + 0x108], 0
call fcn.3a125e3b0
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0xd8], 0
call fcn.3a1184980
jmp 0x3a125336d
mov r13, 0xffffffffffffffc0
jmp 0x3a125336d
mov r14, r13
mov ecx, 2
call r14
lea rdx, str.Failed_to_allocate_parameters_n
mov rcx, rax
call fcn.3a1251c20
mov ecx, 2
call r14
mov rcx, rax
call sub.msvcrt.dll_fflush
jmp 0x3a1253976
mov r14, qword [fcn.3a125da30]
jmp 0x3a12539d7