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