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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r14, qword [rsp + 0x88]
lea rbp, [rdx + rdx]
xor esi, esi
mov rdi, rbp
shl rdi, 6
mov ebx, r9d
add rdi, r14
mov r12d, r8d
mov r15, rdx
mov r13, rcx
mov r11d, esi
test rbp, rbp
je 0x140171659
mov r8d, esi
mov ecx, r11d
shl r8, 6
shl ecx, 6
add r8, r14
add rcx, r13
mov r9, rdi
sub r9, rcx
mov r10d, 0x10
lea rdx, [rcx + 2]
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 1]
lea rdx, [rdx + 4]
shl ecx, 8
add ecx, eax
movzx eax, byte [rdx - 5]
shl ecx, 8
add ecx, eax
movzx eax, byte [rdx - 6]
shl ecx, 8
add ecx, eax
mov dword [r9 + rdx - 6], ecx
sub r10, 1
jne 0x140171597
mov eax, dword [rdi]
inc r11d
mov ecx, dword [rdi + 0x14]
shl rcx, 0x20
or rcx, rax
mov qword [r8], rcx
mov eax, dword [rdi + 0x28]
mov ecx, dword [rdi + 0x3c]
shl rcx, 0x20
or rcx, rax
mov qword [r8 + 8], rcx
mov eax, dword [rdi + 0x10]
mov ecx, dword [rdi + 0x24]
shl rcx, 0x20
or rcx, rax
mov qword [r8 + 0x10], rcx
mov eax, dword [rdi + 0x38]
mov ecx, dword [rdi + 0xc]
shl rcx, 0x20
or rcx, rax
mov qword [r8 + 0x18], rcx
mov eax, dword [rdi + 0x20]
mov ecx, dword [rdi + 0x34]
shl rcx, 0x20
or rcx, rax
mov qword [r8 + 0x20], rcx
mov eax, dword [rdi + 8]
mov ecx, dword [rdi + 0x1c]
shl rcx, 0x20
or rcx, rax
mov qword [r8 + 0x28], rcx
mov eax, dword [rdi + 0x30]
mov ecx, dword [rdi + 4]
shl rcx, 0x20
or rcx, rax
mov qword [r8 + 0x30], rcx
mov ecx, dword [rdi + 0x2c]
mov eax, dword [rdi + 0x18]
shl rcx, 0x20
or rcx, rax
mov qword [r8 + 0x38], rcx
mov r8d, r11d
cmp r8, rbp
jb 0x140171577
dec r12d
mov rax, r15
shl rax, 7
mov eax, dword [rax + r14 - 0x40]
and eax, r12d
cmp ebx, 2
jbe 0x1401716ca
mov r9, qword [rsp + 0x90]
mov r8, r15
mov edx, eax
mov rcx, r14
imul rdx, rbp
shl rdx, 6
add rdx, qword [rsp + 0x80]
call fcn.14016d61c
mov r9, qword [rsp + 0x90]
mov r8, r15
mov edx, eax
mov rcx, r14
mov eax, r12d
and rdx, rax
imul rdx, rbp
shl rdx, 6
add rdx, qword [rsp + 0x80]
call fcn.14016d61c
and eax, r12d
add ebx, 0xfffffffe
jne 0x140171670
jmp 0x140171722
mov rbx, qword [rsp + 0x90]
mov r9, r15
mov edx, eax
mov r8, rdi
imul rdx, rbp
mov rcx, r14
mov qword [rsp + 0x20], rbx
shl rdx, 6
add rdx, qword [rsp + 0x80]
call fcn.14016a5b8
mov edx, eax
mov r9, r15
mov eax, r12d
mov r8, r14
and rdx, rax
mov qword [rsp + 0x20], rbx
imul rdx, rbp
mov rcx, rdi
shl rdx, 6
add rdx, qword [rsp + 0x80]
call fcn.14016a5b8
test rbp, rbp
je 0x140171808
mov r8, rsi
mov edx, esi
shl r8, 6
shl edx, 6
lea r9, [rdi + 2]
add rdx, r13
add r8, r14
sub r8, rdi
mov r10d, 0x10
mov ecx, dword [r8 + r9 - 2]
mov eax, ecx
shr eax, 8
mov byte [r9 - 1], al
mov eax, ecx
mov byte [r9 - 2], cl
shr eax, 0x10
shr ecx, 0x18
mov byte [r9], al
mov byte [r9 + 1], cl
lea r9, [r9 + 4]
sub r10, 1
jne 0x14017174a
mov eax, dword [rdi]
inc esi
mov dword [rdx], eax
mov rax, qword [rdi + 0x30]
shr rax, 0x20
mov dword [rdx + 4], eax
mov eax, dword [rdi + 0x28]
mov dword [rdx + 8], eax
mov rax, qword [rdi + 0x18]
shr rax, 0x20
mov dword [rdx + 0xc], eax
mov eax, dword [rdi + 0x10]
mov dword [rdx + 0x10], eax
mov rax, qword [rdi]
shr rax, 0x20
mov dword [rdx + 0x14], eax
mov eax, dword [rdi + 0x38]
mov dword [rdx + 0x18], eax
mov rax, qword [rdi + 0x28]
shr rax, 0x20
mov dword [rdx + 0x1c], eax
mov eax, dword [rdi + 0x20]
mov dword [rdx + 0x20], eax
mov rax, qword [rdi + 0x10]
shr rax, 0x20
mov dword [rdx + 0x24], eax
mov eax, dword [rdi + 8]
mov dword [rdx + 0x28], eax
mov rax, qword [rdi + 0x38]
shr rax, 0x20
mov dword [rdx + 0x2c], eax
mov eax, dword [rdi + 0x30]
mov dword [rdx + 0x30], eax
mov rax, qword [rdi + 0x20]
shr rax, 0x20
mov dword [rdx + 0x34], eax
mov eax, dword [rdi + 0x18]
mov dword [rdx + 0x38], eax
mov rax, qword [rdi + 8]
shr rax, 0x20
mov r8d, esi
mov dword [rdx + 0x3c], eax
cmp r8, rbp
jb 0x14017172e
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret