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