Function at 0x1400893d0
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, 0x90
movzx eax, word [rcx]
movzx r12d, byte [rcx + 2]
movzx edx, word [rcx + 3]
shl edx, 8
movzx r8d, byte [rcx + 5]
movzx r9d, byte [rcx + 6]
shl r9d, 8
movzx r10d, byte [rcx + 7]
movzx r11d, word [rcx + 8]
shl r11d, 8
movzx esi, byte [rcx + 0xa]
movzx edi, word [rcx + 0xb]
shl edi, 8
movzx ebx, byte [rcx + 0xd]
movzx ebp, byte [rcx + 0xe]
shl ebp, 8
movzx r14d, word [rcx + 0x10]
shl r14d, 8
movzx r15d, byte [rcx + 0x12]
movzx r13d, word [rcx + 0x13]
shl r13d, 8
or r13d, r15d
mov qword [rsp], r13
shl r15d, 0x18
or r15d, r14d
movzx r14d, byte [rcx + 0xf]
or r15d, r14d
mov qword [rsp + 0x18], r15
shl r14d, 0x10
or r14d, ebp
or r14d, ebx
mov qword [rsp + 0x50], r14
shl ebx, 0x18
or ebx, edi
or ebx, esi
mov qword [rsp + 0x20], rbx
shl esi, 0x18
or esi, r11d
or esi, r10d
mov qword [rsp + 0x28], rsi
shl r10d, 0x10
or r10d, r9d
or r10d, r8d
mov qword [rsp + 0x68], r10
shl r8d, 0x18
or r8d, edx
or r8d, r12d
mov qword [rsp + 0x60], r8
mov edx, r12d
and edx, 0x1f
shl edx, 0x10
or rdx, rax
mov qword [rsp + 0x58], rdx
mov r10, rcx
movzx eax, word [rcx + 0x1d]
shl eax, 8
movzx ecx, word [rcx + 0x20]
shl ecx, 8
movzx edx, byte [r10 + 0x23]
shl edx, 8
movzx r8d, word [r10 + 0x25]
shl r8d, 8
movzx r9d, byte [r10 + 0x27]
movzx r11d, word [r10 + 0x28]
shl r11d, 8
or r11d, r9d
shl r9d, 0x18
or r9d, r8d
movzx r8d, byte [r10 + 0x24]
or r9d, r8d
mov edi, r8d
shl edi, 0x10
or edi, edx
movzx edx, byte [r10 + 0x22]
or edi, edx
mov r13d, edx
shl r13d, 0x18
or r13d, ecx
movzx ecx, byte [r10 + 0x1f]
or r13d, ecx
mov edx, ecx
shl edx, 0x18
or edx, eax
movzx eax, byte [r10 + 0x1b]
shl eax, 8
movzx ecx, byte [r10 + 0x1c]
or edx, ecx
mov qword [rsp + 0x10], rdx
mov edx, ecx
shl edx, 0x10
or edx, eax
movzx eax, word [r10 + 0x18]
shl eax, 8
movzx ecx, byte [r10 + 0x1a]
or edx, ecx
mov qword [rsp + 0x48], rdx
shl ecx, 0x18
or ecx, eax
movzx eax, byte [r10 + 0x17]
or ecx, eax
mov qword [rsp + 0x38], rcx
mov ecx, eax
and ecx, 0x1f
shl ecx, 0x10
movzx eax, word [r10 + 0x15]
or rcx, rax
mov qword [rsp + 0x40], rcx
mov r15, r10
mov qword [rsp + 0x88], r10
movzx eax, word [r10 + 0x3d]
shl eax, 8
movzx ebx, byte [r10 + 0x3f]
shl ebx, 0x18
or ebx, eax
movzx eax, word [r10 + 0x3a]
shl eax, 8
movzx ecx, byte [r10 + 0x3c]
or ebx, ecx
mov r14d, ecx
shl r14d, 0x18
or r14d, eax
movzx eax, byte [r10 + 0x38]
shl eax, 8
movzx ecx, byte [r10 + 0x39]
or r14d, ecx
mov r8d, ecx
shl r8d, 0x10
or r8d, eax
movzx ecx, word [r10 + 0x35]
shl ecx, 8
movzx eax, byte [r10 + 0x37]
or r8d, eax
shl eax, 0x18
or eax, ecx
movzx edx, word [r10 + 0x32]
shl edx, 8
movzx ecx, byte [r10 + 0x34]
or eax, ecx
shl ecx, 0x18
or ecx, edx
movzx r10d, byte [r10 + 0x30]
shl r10d, 8
movzx edx, byte [r15 + 0x31]
or ecx, edx
shl edx, 0x10
or edx, r10d
movzx r10d, word [r15 + 0x2d]
shl r10d, 8
movzx esi, byte [r15 + 0x2f]
or edx, esi
mov r12d, esi
shl r12d, 0x18
or r12d, r10d
movzx r10d, byte [r15 + 0x2c]
or r12d, r10d
and r10d, 0x1f
shl r10d, 0x10
movzx esi, word [r15 + 0x2a]
or r10, rsi
shr r11d, 3
shr ebx, 3
imul rsi, rbx, 0x215d1
add rsi, r11
imul r11, rbx, 0xfffffffffff59083
add r11, r10
mov qword [rsp + 8], r11
shr r14d, 6
mov r15d, 0x1fffff
and r14d, r15d
imul r10, rbx, 0x72d18
imul r11, r14, 0x9fb67
add r11, r10
mov qword [rsp + 0x70], r11
imul r11, rbx, 0xfffffffffff0c653
imul r10, r14, 0x215d1
add r10, r11
imul r11, r14, 0xfffffffffff59083
add r11, rsi
mov qword [rsp + 0x80], r11
shr r8d, 1
and r8d, r15d
imul r11, r14, 0xa2c13
imul rsi, r8, 0x72d18
add rsi, r11
mov qword [rsp + 0x30], rsi
imul r11, r14, 0x72d18
imul r15, r8, 0x9fb67
add r15, r11
imul r11, rbx, 0xa2c13
add r15, r11
imul r11, r14, 0xfffffffffff0c653
imul rsi, r8, 0x215d1
add rsi, r11
shr r9d, 6
mov r11d, 0x1fffff
and r9d, r11d
imul r14, r8, 0xfffffffffff59083
add r14, r9
add r14, r10
mov qword [rsp + 0x78], r14
shr eax, 4
and eax, r11d
mov ebp, 0x1fffff
imul r9, r8, 0xfffffffffff0c653
imul r10, rax, 0x215d1
add r10, r9
shr edi, 1
and edi, ebp
imul r11, rax, 0xfffffffffff59083
add r11, rdi
add r11, rsi
imul r9, rbx, 0x9fb67
add r11, r9
shr ecx, 7
and ecx, ebp
imul r9, rax, 0xa2c13
imul rbx, rcx, 0x72d18
add rbx, r9
imul r9, rax, 0x72d18
imul rdi, rcx, 0x9fb67
add rdi, r9
imul r9, rax, 0x9fb67
imul rsi, rcx, 0xfffffffffff0c653
add rsi, r9
imul r9, rax, 0xfffffffffff0c653
imul r14, rcx, 0x215d1
add r14, r9
shr r13d, 4
and r13d, ebp
imul r9, rcx, 0xfffffffffff59083
add r9, r13
add r9, r10
add r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x18]
shr r10d, 6
and r10d, ebp
shr edx, 2
and edx, ebp
imul rax, rdx, 0xa2c13
add rax, r10
mov r10, qword [rsp]
shr r10d, 3
imul r13, rdx, 0x72d18
add r13, r10
imul rcx, rcx, 0xa2c13
add r13, rcx
imul r10, rdx, 0x9fb67
add r10, qword [rsp + 0x40]
add r10, rbx
mov qword [rsp + 0x40], r10
mov rcx, qword [rsp + 0x38]
shr ecx, 5
and ecx, ebp
mov rbx, rcx
imul rcx, rdx, 0xfffffffffff0c653
add rcx, rbx
add rcx, rdi
imul r8, r8, 0xa2c13
add rcx, r8
mov r8, qword [rsp + 0x48]
shr r8d, 2
and r8d, ebp
imul rdi, rdx, 0x215d1
add rdi, r8
add rdi, rsi
add rdi, qword [rsp + 0x30]
mov qword [rsp + 0x38], rdi
mov r8, qword [rsp + 0x10]
shr r8d, 7
and r8d, ebp
imul rdx, rdx, 0xfffffffffff59083
add rdx, r8
add rdx, r14
add rdx, r15
mov ebx, 0x100000
mov r8, rax
add rax, rbx
mov rbp, rax
shr rbp, 0x15
add rbp, r13
and rax, 0xffffffffffe00000
sub r8, rax
mov qword [rsp + 0x30], r8
lea rax, [r10 + rbx]
mov r10, rax
mov rsi, rax
shr r10, 0x15
add r10, rcx
lea rax, [rdi + rbx]
mov qword [rsp + 0x48], rax
sar rax, 0x15
add rax, rdx
mov r15, rax
lea rax, [r9 + rbx]
mov rcx, rax
sar rcx, 0x15
add rcx, r11
mov qword [rsp], rcx
mov rdx, 0xffffffffffe00000
and rax, rdx
sub r9, rax
mov r14, qword [rsp + 0x78]
lea rcx, [r14 + rbx]
mov rax, rcx
sar rax, 0x15
add rax, qword [rsp + 0x80]
and rcx, rdx
mov r11, 0xffffffffffe00000
sub r14, rcx
shr r12d, 5
mov ecx, 0x1fffff
and r12d, ecx
mov rcx, qword [rsp + 8]
lea rdx, [rcx + rbx]
mov r8, rdx
sar r8, 0x15
add r8, r12
and rdx, r11
sub rcx, rdx
mov qword [rsp + 8], rcx
movabs r11, 0x1fffffe00000
and rsi, r11
mov qword [rsp + 0x10], rsi
lea rsi, [rbx + rbp]
mov rdi, rsi
and rsi, r11
sub rbp, rsi
lea r11, [r10 + rbx]
mov rcx, r11
mov rsi, 0xffffffffffe00000
and r11, rsi
sub r10, r11
mov rdx, r15
add r15, rbx
mov r13, r15
sar r13, 0x15
add r13, r9
and r15, rsi
sub rdx, r15
mov qword [rsp + 0x18], rdx
mov r11, qword [rsp]
lea r9, [r11 + rbx]
mov r12, r9
sar r12, 0x15
add r12, r14
mov rdx, 0xffffffffffe00000
and r9, rdx
sub r11, r9
mov qword [rsp], r11
lea r9, [rax + rbx]
mov r14, r9
sar r14, 0x15
add r14, qword [rsp + 8]
and r9, rdx
sub rax, r9
mov rdx, qword [rsp + 0x50]
shr edx, 1
mov r9d, 0x1fffff
and edx, r9d
imul r9, r8, 0xa2c13
add r9, rdx
imul r15, r8, 0x72d18
add r15, qword [rsp + 0x30]
imul r11, r8, 0x9fb67
add r11, rbp
imul rsi, r8, 0x215d1
add rsi, r10
imul rbp, r8, 0xfffffffffff59083
add rbp, qword [rsp + 0x38]
sar rcx, 0x15
add rbp, rcx
mov rcx, qword [rsp + 0x48]
mov rdx, 0xffffffffffe00000
and rcx, rdx
sub rbp, rcx
mov rcx, qword [rsp + 0x20]
shr ecx, 4
mov edx, 0x1fffff
and ecx, edx
imul r10, r14, 0xa2c13
add r10, rcx
imul rcx, r14, 0x72d18
add rcx, r9
imul rdx, r14, 0x9fb67
add rdx, r15
imul r9, r14, 0xfffffffffff0c653
add r9, r11
imul r11, r14, 0xfffffffffff59083
add r11, rsi
mov qword [rsp + 0x20], r11
mov r11, qword [rsp + 0x28]
shr r11d, 7
mov esi, 0x1fffff
and r11d, esi
imul rsi, rax, 0xa2c13
add rsi, r11
mov qword [rsp + 8], rsi
imul r11, rax, 0x72d18
add r11, r10
imul r10, rax, 0x9fb67
add r10, rcx
mov qword [rsp + 0x28], r10
imul r15, rax, 0xfffffffffff0c653
add r15, rdx
imul rcx, rax, 0x215d1
add rcx, r9
shr rdi, 0x15
add rdi, qword [rsp + 0x40]
sub rdi, qword [rsp + 0x10]
imul rdx, r8, 0xfffffffffff0c653
add rdi, rdx
imul rdx, r14, 0x215d1
add rdi, rdx
imul rax, rax, 0xfffffffffff59083
add rdi, rax
imul rax, r12, 0xfffffffffff59083
add rax, rcx
mov qword [rsp + 0x10], rax
imul rcx, r12, 0xa2c13
mov r10, qword [rsp]
imul rax, r10, 0x72d18
add rax, rcx
imul rdx, r12, 0x72d18
imul rcx, r10, 0x9fb67
add rcx, rdx
imul rdx, r12, 0x215d1
imul r14, r10, 0xfffffffffff59083
add r14, rdx
add r14, r15
imul r8, r13, 0xa2c13
add r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
shr edx, 5
mov r9d, 0x1fffff
and edx, r9d
imul r15, r13, 0x72d18
add r15, rdx
imul rdx, r10, 0xa2c13
add r15, rdx
mov rdx, qword [rsp + 0x68]
shr edx, 2
and edx, r9d
imul rsi, r13, 0x9fb67
add rsi, rdx
add rsi, rax
mov qword [rsp + 0x68], rsi
imul rax, r13, 0xfffffffffff0c653
add rax, qword [rsp + 8]
add rax, rcx
imul rcx, r12, 0x9fb67
imul rdx, r13, 0x215d1
add rdx, rcx
add rdx, r11
imul rcx, r10, 0xfffffffffff0c653
add rdx, rcx
mov r11, rdx
mov qword [rsp + 8], rdx
imul rcx, r12, 0xfffffffffff0c653
imul rdx, r13, 0xfffffffffff59083
add rdx, rcx
add rdx, qword [rsp + 0x28]
imul rcx, r10, 0x215d1
add rdx, rcx
lea r9, [r8 + rbx]
mov r12, r9
sar r12, 0x15
add r12, r15
mov r10, 0xffffffffffe00000
and r9, r10
sub r8, r9
mov qword [rsp + 0x50], r8
add rsi, rbx
mov r9, rsi
sar r9, 0x15
add r9, rax
lea r8, [r11 + rbx]
mov rax, r8
mov r13, r8
sar rax, 0x15
add rax, rdx
mov rcx, rax
mov qword [rsp + 0x28], rax
lea rax, [r14 + rbx]
mov r11, rax
sar r11, 0x15
add r11, qword [rsp + 0x10]
and rax, r10
sub r14, rax
lea rax, [rdi + rbx]
mov rdx, rax
sar rdx, 0x15
add rdx, qword [rsp + 0x20]
and rax, r10
sub rdi, rax
lea rax, [rbx + rbp]
mov r8, rax
sar r8, 0x15
add r8, qword [rsp + 0x18]
and rax, r10
sub rbp, rax
add rcx, rbx
mov r15, rcx
sar r15, 0x15
add r15, r14
lea rax, [r11 + rbx]
mov r10, rax
sar r10, 0x15
add r10, rdi
mov qword [rsp + 0x58], r10
mov rdi, 0xffffffffffe00000
and rax, rdi
sub r11, rax
lea rax, [rdx + rbx]
mov r10, rax
sar r10, 0x15
add r10, rbp
mov qword [rsp], r10
and rax, rdi
sub rdx, rax
mov rax, 0xffffffffffe00000
and rsi, rax
mov qword [rsp + 0x10], rsi
and r13, rax
mov qword [rsp + 0x18], r13
mov r13, 0xffffffffffe00000
lea rax, [r12 + rbx]
mov rbp, rax
and rax, r13
lea rsi, [r9 + rbx]
mov r14, rsi
and rsi, r13
and rcx, r13
mov qword [rsp + 0x20], rcx
add rbx, r8
mov rdi, rbx
and rbx, r13
sub r8, rbx
mov qword [rsp + 0x60], r8
sar rdi, 0x15
imul rbx, rdi, 0xa2c13
add rbx, qword [rsp + 0x50]
imul r10, rdi, 0x72d18
add r10, r12
sub r10, rax
mov rax, rbx
sar rax, 0x15
add r10, rax
imul r13, rdi, 0x9fb67
add r13, qword [rsp + 0x68]
sub r13, qword [rsp + 0x10]
sar rbp, 0x15
add r13, rbp
mov rax, r10
sar rax, 0x15
add r13, rax
imul rax, rdi, 0xfffffffffff0c653
add rax, r9
sub rax, rsi
mov rcx, r13
sar rcx, 0x15
add rax, rcx
imul r9, rdi, 0x215d1
add r9, qword [rsp + 8]
sub r9, qword [rsp + 0x18]
sar r14, 0x15
add r9, r14
mov rcx, rax
sar rcx, 0x15
add r9, rcx
imul rcx, rdi, 0xfffffffffff59083
add rcx, qword [rsp + 0x28]
sub rcx, qword [rsp + 0x20]
mov r8, r9
sar r8, 0x15
add rcx, r8
mov r8, rcx
sar r8, 0x15
add r8, r15
mov rsi, r8
sar rsi, 0x15
add rsi, r11
mov r15, rsi
sar r15, 0x15
add r15, qword [rsp + 0x58]
mov r12, r15
sar r12, 0x15
add r12, rdx
mov r14, r12
sar r14, 0x15
add r14, qword [rsp]
mov rbp, r14
sar rbp, 0x15
add rbp, qword [rsp + 0x60]
mov edx, 0x1fffff
and rbx, rdx
and r10, rdx
and r13, rdx
and rax, rdx
and r9, rdx
and rcx, rdx
and r8, rdx
mov qword [rsp], r8
and rsi, rdx
mov qword [rsp + 8], rsi
and r15, rdx
and r12, rdx
and r14, rdx
mov r11, rbp
sar r11, 0x15
mov edx, 0x1fffff
and ebp, edx
imul rdx, r11, 0xa2c13
add rdx, rbx
imul rdi, r11, 0x72d18
add rdi, r10
imul r10, r11, 0x9fb67
add r10, r13
imul r8, r11, 0xfffffffffff0c653
add r8, rax
imul rsi, r11, 0x215d1
add rsi, r9
imul r9, r11, 0xfffffffffff59083
add r9, rcx
mov rax, rdx
sar rax, 0x15
add rax, rdi
mov r13, rax
sar r13, 0x15
add r13, r10
mov rbx, r13
sar rbx, 0x15
add rbx, r8
mov rdi, rbx
sar rdi, 0x15
add rdi, rsi
mov r11, rdi
sar r11, 0x15
add r11, r9
mov r10, r11
sar r10, 0x15
add r10, qword [rsp]
mov r9, r10
sar r9, 0x15
add r9, qword [rsp + 8]
mov rcx, r9
sar rcx, 0x15
add rcx, r15
mov r8, rcx
sar r8, 0x15
add r8, r12
mov rsi, r8
sar rsi, 0x15
add rsi, r14
mov r14, rsi
shr r14, 0x15
add r14d, ebp
mov rbp, qword [rsp + 0x88]
mov byte [rbp], dl
mov byte [rbp + 1], dh
mov r15, rbp
shr edx, 0x10
and edx, 0x1f
mov ebp, eax
shl ebp, 5
or ebp, edx
mov byte [r15 + 2], bpl
mov edx, eax
shr edx, 3
mov rbp, r15
mov byte [r15 + 3], dl
mov edx, eax
shr edx, 0xb
mov byte [r15 + 4], dl
shr eax, 0x13
and eax, 3
lea eax, [rax + r13*4]
mov byte [rbp + 5], al
mov eax, r13d
shr eax, 6
mov byte [rbp + 6], al
shr r13d, 0xe
and r13d, 0x7f
mov eax, ebx
shl eax, 7
or eax, r13d
mov byte [rbp + 7], al
mov eax, ebx
shr eax, 1
mov byte [rbp + 8], al
mov eax, ebx
shr eax, 9
mov byte [rbp + 9], al
shr ebx, 0x11
and ebx, 0xf
mov eax, edi
shl eax, 4
or eax, ebx
mov byte [rbp + 0xa], al
mov eax, edi
shr eax, 4
mov byte [rbp + 0xb], al
mov eax, edi
shr eax, 0xc
mov byte [rbp + 0xc], al
shr edi, 0x14
and edi, 1
lea eax, [rdi + r11*2]
mov byte [rbp + 0xd], al
mov eax, r11d
shr eax, 7
mov byte [rbp + 0xe], al
shr r11d, 0xf
and r11d, 0x3f
mov eax, r10d
shl eax, 6
or eax, r11d
mov byte [rbp + 0xf], al
mov eax, r10d
shr eax, 2
mov byte [rbp + 0x10], al
mov eax, r10d
shr eax, 0xa
mov byte [rbp + 0x11], al
shr r10d, 0x12
and r10d, 7
lea eax, [r10 + r9*8]
mov byte [rbp + 0x12], al
mov eax, r9d
shr eax, 5
mov byte [rbp + 0x13], al
shr r9d, 0xd
mov byte [rbp + 0x14], r9b
mov byte [rbp + 0x15], cl
mov byte [rbp + 0x16], ch
shr ecx, 0x10
and ecx, 0x1f
mov eax, r8d
shl eax, 5
or eax, ecx
mov byte [rbp + 0x17], al
mov eax, r8d
shr eax, 3
mov byte [rbp + 0x18], al
mov eax, r8d
shr eax, 0xb
mov byte [rbp + 0x19], al
shr r8d, 0x13
and r8d, 3
lea eax, [r8 + rsi*4]
mov byte [rbp + 0x1a], al
mov eax, esi
shr eax, 6
mov byte [rbp + 0x1b], al
shr esi, 0xe
and esi, 0x7f
mov eax, r14d
shl eax, 7
or eax, esi
mov byte [rbp + 0x1c], al
mov eax, r14d
shr eax, 1
mov byte [rbp + 0x1d], al
mov eax, r14d
shr eax, 9
mov byte [rbp + 0x1e], al
shr r14d, 0x11
mov byte [rbp + 0x1f], r14b
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret