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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov rsi, rcx
test edx, edx
je 0x14015641b
mov byte [rsi + 4], 0x12
mov dword [rsi], 2
mov rax, rsi
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, r9
bt rdx, 0x20
jb 0x1401565c5
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, rdi
ror rax, 1
movabs rcx, 0x2aaaaaaaaaaaaaab
cmp rax, rcx
jb 0x1401565d7
mov rax, qword [0x14031dd88]
mov rax, qword [rax]
cmp rax, 2
jae 0x14015687d
movzx edx, byte [0x14031d300]
test dl, dl
je 0x14015687d
movzx eax, dl
cmp eax, 1
je 0x140156483
cmp eax, 2
jne 0x140156867
mov dl, 2
mov rcx, qword [0x14031d2f0]
call fcn.14017b100
test al, al
je 0x14015687d
mov rcx, qword [0x14031d2f0]
call fcn.14017bf10
lea r15, [rsp + 0xb0]
mov rcx, r15
mov rdx, rax
call fcn.14017c620
mov rcx, qword [0x14031d2f0]
call fcn.14017bf10
mov rbx, rax
lea r14, [rsp + 0x58]
mov rcx, r14
mov rdx, r15
call fcn.14017c650
cmp qword [rsp + 0x58], 0
je 0x1401568fe
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0x50], rdi
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
lea rax, [0x14005e690]
mov qword [rsp + 0x90], rax
lea rax, str.P_r__
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
mov qword [rsp + 0x78], 0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 1
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], r14
lea rax, fcn.140010780
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 1
mov qword [rsp + 0xc0], rbx
mov rcx, qword [0x14031d2f0]
lea rdx, [rsp + 0xb0]
call fcn.14017c840
mov byte [rsi + 4], 0x11
jmp 0x1401563fe
test rdi, rdi
je 0x1401567af
mov byte [rsi + 4], 0x10
jmp 0x1401563fe
test rdi, rdi
je 0x1401567e8
xor eax, eax
lea r14, [0x1402425c8]
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x2c], 0
xor edx, edx
mov dword [rsp + 0x34], 0
xor r11d, r11d
mov dword [rsp + 0x30], 0
jmp 0x14015663c
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x48], ecx
nop
add r8, r12
sub rdi, r12
je 0x14015680f
cmp rdi, 6
mov r12d, 6
cmovb r12, rdi
cmp r12, 1
je 0x140156886
cmp r12, 2
jbe 0x14015689e
cmp r12, 3
je 0x1401568b6
cmp r12, 4
jbe 0x1401568ce
cmp r12, 5
je 0x1401568e6
movzx ecx, byte [r8]
movzx r9d, byte [r8 + 1]
shl ecx, 8
lea r15d, [rcx + r9]
dec r15d
cmp r15d, 7
ja case.0x1401566b0.7
movzx ebx, byte [r8 + 2]
movzx r10d, byte [r8 + 3]
movzx ecx, byte [r8 + 4]
movzx r9d, byte [r8 + 5]
movsxd r15, dword [r14 + r15*4]
add r15, r14
jmp r15
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x4c], ecx
jmp case.0x1401566b0.7
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov r11d, 1
mov ebp, ecx
cmp ecx, 2
jb case.0x1401566b0.7
jmp 0x1401567a6
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov dword [rsp + 0x34], 1
mov dword [rsp + 0x40], ecx
jmp case.0x1401566b0.7
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov edx, 1
mov dword [rsp + 0x44], ecx
jns case.0x1401566b0.7
jmp 0x1401567a6
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
lea ebx, [rcx + r10]
add ebx, 0xffffc000
cmp ebx, 0xffc000
jae 0x1401567a6
or r10d, ecx
or r10d, r9d
mov dword [rsp + 0x2c], 1
mov ecx, r10d
mov dword [rsp + 0x3c], r10d
jmp case.0x1401566b0.7
shl ebx, 0x18
shl r10d, 0x10
or r10d, ebx
shl ecx, 8
or ecx, r10d
or ecx, r9d
mov eax, 1
mov r13d, ecx
cmp ecx, 2
jb case.0x1401566b0.7
mov byte [rsi + 4], 0xe
jmp 0x1401563fe
mov dword [rsi], 0
mov dword [rsi + 8], 0
mov dword [rsi + 0x10], 0
mov dword [rsi + 0x18], 0
mov dword [rsi + 0x20], 0
mov dword [rsi + 0x28], 0
mov dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 1
jmp 0x140156404
mov dword [rsp + 0x30], 0
xor r11d, r11d
mov dword [rsp + 0x34], 0
xor edx, edx
mov dword [rsp + 0x2c], 0
mov dword [rsp + 0x38], 0
xor eax, eax
mov ecx, dword [rsp + 0x30]
mov dword [rsi], ecx
mov ecx, dword [rsp + 0x4c]
mov dword [rsi + 4], ecx
mov dword [rsi + 8], r11d
mov dword [rsi + 0xc], ebp
mov ecx, dword [rsp + 0x34]
mov dword [rsi + 0x10], ecx
mov ecx, dword [rsp + 0x40]
mov dword [rsi + 0x14], ecx
mov dword [rsi + 0x18], edx
mov ecx, dword [rsp + 0x44]
mov dword [rsi + 0x1c], ecx
mov ecx, dword [rsp + 0x2c]
mov dword [rsi + 0x20], ecx
mov ecx, dword [rsp + 0x3c]
mov dword [rsi + 0x24], ecx
mov ecx, dword [rsp + 0x38]
mov dword [rsi + 0x28], ecx
mov ecx, dword [rsp + 0x48]
mov dword [rsi + 0x2c], ecx
mov dword [rsi + 0x30], eax
mov dword [rsi + 0x34], r13d
mov byte [rsi + 0x38], 0
jmp 0x140156404
lea rcx, [0x14031d2f0]
call fcn.1402060e0
mov edx, eax
test al, al
jne 0x140156483
mov byte [rsi + 4], 0x11
jmp 0x1401563fe
lea r8, [0x140240ee0]
mov ecx, 1
mov edx, 1
call fcn.14020bac0
ud2
lea r8, [0x140240ef8]
mov ecx, 2
mov edx, 2
call fcn.14020bac0
ud2
lea r8, [0x140240ef8]
mov ecx, 3
mov edx, 3
call fcn.14020bac0
ud2
lea r8, [0x140240ef8]
mov ecx, 4
mov edx, 4
call fcn.14020bac0
ud2
lea r8, [0x140240ef8]
mov ecx, 5
mov edx, 5
call fcn.14020bac0
ud2
lea rcx, [0x1402407a8]
lea r8, [0x140240d38]
mov edx, 0x22
call fcn.14020b920
ud2