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