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