Function at 0x6d20d750
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x108
mov r11d, 0x92492493
mov r9, qword [rcx + 0x1170]
mov rdi, qword [rcx + 0x30]
movsxd rbp, dword [rcx + 0x2c]
mov rbx, qword [rcx]
mov r10d, dword [r9 + 0x38]
lea r8, [rdi + rbp*8]
mov r12d, edx
mov qword [rsp + 0x150], rcx
mov rsi, qword [rsp + 0x150]
shr r10d, 1
imul r13, r12, 0x898
add r13, qword [rsp + 0x150]
mov qword [rsp + 0x80], rdi
mov r14d, dword [r13 + 0x58]
mov dword [r13 + 0x38], 0
imul r10, r11
mov r15d, dword [r13 + 0x58]
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x88], rbx
movsxd rdi, dword [rsi + 0x1c]
sar r14d, 0x1f
mov qword [rsp + 0xe0], 0
mov rbx, qword [rax + 0x20]
xor r15d, r14d
shr r10, 0x22
mov qword [rsp + 0x90], r8
lea rbp, [rdi + rdi*2]
sub r15d, r14d
mov qword [rsp + 0x68], r10
shl rbp, 4
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
add rbp, rbx
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov dword [rsp + 0xe0], 0x7d00
mov qword [rsp + 0x98], r12
mov dword [rsp + 0x48], r15d
test edx, edx
jne 0x6d20e130
cmp rbp, rbx
jbe 0x6d20d8b1
nop dword [rax + rax]
movsx ecx, word [rbx + 0xc]
movsx r9d, word [rbx + 0xe]
add rbx, 0x30
mov dword [rbx - 0x18], ecx
mov dword [rbx - 0x14], r9d
cmp rbx, rbp
jb 0x6d20d898
mov r10, qword [rsp + 0x90]
cmp qword [rsp + 0x80], r10
jae 0x6d20e16c
mov r14d, dword [rsp + 0x48]
mov r11, qword [rsp + 0x150]
xor r15d, r15d
imul r13, qword [rsp + 0x98], 0x898
mov dword [rsp + 0x40], r14d
lea r12, [r11 + r13 + 0x60]
add r13, qword [rsp + 0x150]
mov qword [rsp + 0x78], r12
mov r12, r13
mov rax, qword [rsp + 0x80]
mov rbx, qword [rax]
mov rdx, qword [rbx + 0x28]
mov qword [rsp + 0x38], rbx
movzx esi, byte [rdx + 3]
movzx edi, byte [rdx + 3]
sar sil, 7
xor edi, esi
sub edi, esi
movzx ebp, dil
cmp ebp, dword [rsp + 0x48]
je 0x6d20e0b0
mov byte [rsp + 0x47], 0
xor r8d, r8d
xor ecx, ecx
mov rbx, qword [rsp + 0x38]
mov dword [rsp + 0x60], 0xffff8300
xor r13d, r13d
xor edi, edi
xor r9d, r9d
mov dword [rsp + 0x5c], 0x7d00
mov edx, 0xffff8300
mov eax, 0x7d00
mov r10d, 0x7d00
mov dword [rsp + 0x58], 0xffff8300
xor r14d, r14d
mov dword [rsp + 0x54], 0x7d00
mov dword [rsp + 0x50], 0xffff8300
mov dword [rsp + 0x4c], 0x7d00
mov dword [rsp + 0x34], 0xffff8300
mov word [rsp + 0x66], r8w
mov r8d, 0xffff8300
mov word [rsp + 0x64], cx
mov ecx, 0x7d00
nop word [rax + rax]
cmp qword [rsp + 0x38], rbx
je 0x6d20d9f2
test r14d, r14d
jne 0x6d20da07
movzx ebp, byte [rbx + 3]
mov esi, ebp
sar sil, 7
mov r11d, esi
xor r11d, ebp
sub r11d, esi
movzx esi, r11b
cmp esi, dword [rsp + 0x48]
je 0x6d20db10
cmp qword [rbx + 0x28], rbx
je 0x6d20db10
mov rbx, qword [rbx + 0x20]
cmp qword [rsp + 0x38], rbx
jne 0x6d20d9b7
cmp byte [rsp + 0x47], 0
jne 0x6d20dfd0
mov byte [rsp + 0x47], 1
test r14d, r14d
je 0x6d20d9bc
mov rbx, qword [rbx + 0x20]
mov r14d, dword [rbx + 0x18]
mov r11d, dword [rbx + 0x1c]
movzx esi, word [rbx]
cmp eax, r14d
cmovg eax, r14d
cmp edx, r14d
cmovl edx, r14d
cmp r11d, ecx
jge 0x6d20da2f
mov r9d, esi
mov ecx, r11d
cmp r11d, r8d
jle 0x6d20da39
mov edi, esi
mov r8d, r11d
and esi, 3
jne 0x6d20da55
mov ebp, dword [rsp + 0x34]
cmp r10d, r11d
cmovg r10d, r11d
cmp ebp, r11d
cmovge r11d, ebp
mov dword [rsp + 0x34], r11d
movsx r14d, byte [rbx + 3]
cmp r14d, dword [rsp + 0x40]
jne 0x6d20da72
mov r14d, 1
cmp qword [rsp + 0x38], rbx
jne 0x6d20d9b7
test r13, r13
je 0x6d20da85
mov r11, qword [r13 + 0x40]
cmp qword [r15 + 0x38], r11
je 0x6d20dca0
mov r14d, edx
mov r11d, r9d
lea r13d, [rdx + rax]
mov qword [r15 + 0x40], rbx
sub r14d, eax
or r11d, edi
sar r13d, 1
sar r14d, 1
and r11d, 3
mov word [r15 + 2], r13w
mov word [r15 + 4], r14w
je 0x6d20dac0
mov ebp, dword [rsp + 0x34]
sub ebp, r10d
cmp ebp, dword [rsp + 0x68]
jge 0x6d20dac0
or byte [r15], 1
mov r13d, dword [rsp + 0x34]
mov esi, r8d
mov word [r15 + 6], cx
xor r14d, r14d
sub esi, ecx
mov word [r15 + 8], r8w
mov word [r15 + 0xa], si
mov dword [rsp + 0x60], r13d
mov r13, r15
xor r15d, r15d
mov dword [rsp + 0x5c], r10d
mov word [rsp + 0x66], di
mov word [rsp + 0x64], r9w
mov dword [rsp + 0x58], r8d
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x4c], eax
jmp 0x6d20d9b0
movsxd r15, dword [r12 + 0x38]
cmp r15d, 0x3e8
jg 0x6d20e15e
movsx eax, bpl
mov r10, qword [r12 + 0x40]
mov dword [rsp + 0xac], 0
mov dword [rsp + 0x40], eax
cmp r15d, 0x11
jg 0x6d20dbf0
test r10, r10
je 0x6d20dd40
lea r8d, [r15 + 1]
lea rsi, [r15 + r15*8]
mov dword [r12 + 0x38], r8d
lea r15, [r10 + rsi*8]
movdqu xmm1, xmmword [rsp + 0xb0]
movq xmm0, rbx
test r13, r13
movdqu xmm2, xmmword [rsp + 0xc0]
movdqu xmm3, xmmword [rsp + 0xd0]
punpcklqdq xmm0, xmm0
movdqu xmm4, xmmword [rsp + 0xe0]
movups xmmword [r15], xmm1
mov byte [r15 + 1], bpl
movzx r9d, word [rbx]
lea rbp, [r15 - 0x48]
movups xmmword [r15 + 0x30], xmm4
cmovne r13, rbp
mov eax, dword [rbx + 0x18]
mov ecx, dword [rbx + 0x1c]
movups xmmword [r15 + 0x38], xmm0
mov r10, qword [rbx + 0x28]
movups xmmword [r15 + 0x10], xmm2
movups xmmword [r15 + 0x20], xmm3
test r9b, 3
je 0x6d20dc80
cmp rbx, r10
je 0x6d20dd78
mov dword [rsp + 0x34], 0xffff8300
mov edi, r9d
mov r8d, ecx
mov edx, eax
mov r10d, 0x7d00
jmp 0x6d20da07
mov r8d, dword [r12 + 0x3c]
cmp r15d, r8d
jl 0x6d20db4d
mov r9d, r8d
mov edx, 0x1c71c71
lea rdi, [rsp + 0xac]
sar r9d, 2
mov qword [rsp + 0x28], rdi
lea r15d, [r8 + r9 + 4]
cmp r8d, r15d
cmovg r15d, edx
cmp r10, qword [rsp + 0x78]
je 0x6d20df10
mov qword [rsp + 0x20], r10
mov rcx, qword [rsp + 0x88]
mov r9d, r15d
mov edx, 0x48
call fcn.6d32dd40
mov r8d, dword [rsp + 0xac]
mov qword [r12 + 0x40], rax
test r8d, r8d
jne 0x6d20df43
movsxd rcx, dword [r12 + 0x38]
mov dword [r12 + 0x3c], r15d
imul r15, rcx, 0x48
lea esi, [rcx + 1]
add r15, qword [r12 + 0x40]
mov dword [r12 + 0x38], esi
jmp 0x6d20db5e
cmp rbx, r10
je 0x6d20ddb0
mov dword [rsp + 0x34], ecx
mov r10d, ecx
mov edi, r9d
mov r8d, ecx
mov edx, eax
jmp 0x6d20da07
mov esi, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x4c]
cmp edx, esi
cmovge esi, edx
cmp eax, r14d
cmovle r14d, eax
mov dword [rsp + 0x70], esi
lea ebp, [r14 + rsi]
sub esi, r14d
sar esi, 1
sar ebp, 1
mov dword [rsp + 0x74], esi
movzx esi, byte [rbx + 2]
cmp byte [r11 + 2], sil
je 0x6d20ddc0
mov esi, dword [rsp + 0x58]
sub esi, dword [rsp + 0x54]
mov r11d, esi
sar r11d, 0x1f
xor esi, r11d
sub esi, r11d
mov r11d, r8d
sub r11d, ecx
mov dword [rsp + 0x4c], esi
mov esi, r11d
sar esi, 0x1f
xor r11d, esi
sub r11d, esi
cmp dword [rsp + 0x4c], r11d
jle 0x6d20de60
mov word [r13 + 2], bp
mov r11d, dword [rsp + 0x70]
movzx ebp, word [rsp + 0x74]
mov qword [r13 + 0x40], rbx
mov dword [rsp + 0x50], r11d
mov word [r13 + 4], bp
mov dword [rsp + 0x4c], r14d
sub dword [r12 + 0x38], 1
xor r15d, r15d
xor r14d, r14d
jmp 0x6d20d9b0
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [r12 + 0x38]
mov dword [r12 + 0x3c], 0x12
mov qword [r12 + 0x40], rax
mov r11, qword [r12 + 0x40]
lea edx, [rcx + 1]
lea rdi, [rcx + rcx*8]
mov dword [r12 + 0x38], edx
lea r15, [r11 + rdi*8]
jmp 0x6d20db5e
or byte [r15], 1
mov r10d, 0x7d00
mov word [r15 + 2], ax
mov dword [rsp + 0x34], 0xffff8300
xor edi, edi
mov word [r15 + 6], cx
mov r8d, ecx
mov edx, eax
mov word [r15 + 0xa], di
mov edi, r9d
mov word [r15 + 8], cx
xor r15d, r15d
jmp 0x6d20d9e7
mov word [r15 + 2], ax
mov r10d, ecx
mov dword [rsp + 0x34], ecx
jmp 0x6d20dd8f
mov edx, dword [rsp + 0x54]
cmp ecx, edx
jle 0x6d20ddd0
movzx r9d, word [rsp + 0x64]
mov ecx, edx
mov eax, dword [rsp + 0x58]
cmp r8d, eax
jge 0x6d20dde1
movzx edi, word [rsp + 0x66]
mov r8d, eax
mov r15d, dword [rsp + 0x5c]
mov esi, dword [rsp + 0x34]
mov edx, r9d
mov qword [r13 + 0x40], rbx
mov r11d, dword [rsp + 0x60]
movzx eax, byte [r13]
mov word [r13 + 2], bp
cmp r10d, r15d
movzx ebp, word [rsp + 0x74]
cmovg r10d, r15d
cmp esi, r11d
cmovl esi, r11d
or edx, edi
mov word [r13 + 4], bp
and edx, 3
mov dword [rsp + 0x34], esi
je 0x6d20de30
sub esi, r10d
cmp esi, dword [rsp + 0x68]
jl 0x6d20e128
and eax, 0xfffffffe
mov r15d, r8d
mov byte [r13], al
mov edx, dword [rsp + 0x70]
mov eax, r14d
sub r15d, ecx
mov word [r13 + 6], cx
mov word [r13 + 8], r8w
mov word [r13 + 0xa], r15w
jmp 0x6d20dd2e
movzx edx, word [rsp + 0x74]
mov eax, r9d
mov qword [r15 + 0x40], rbx
or eax, edi
mov word [r15 + 2], bp
mov word [r15 + 4], dx
test al, 3
je 0x6d20de8d
mov ebp, dword [rsp + 0x34]
sub ebp, r10d
cmp ebp, dword [rsp + 0x68]
jge 0x6d20de8d
or byte [r15], 1
mov r11d, r8d
mov word [r15 + 6], cx
mov esi, dword [rsp + 0x34]
mov eax, r14d
sub r11d, ecx
mov word [r15 + 8], r8w
mov edx, dword [rsp + 0x70]
mov word [r15 + 0xa], r11w
movdqu xmm5, xmmword [r15]
mov dword [rsp + 0x60], esi
movups xmmword [r13], xmm5
movdqu xmm1, xmmword [r15 + 0x10]
mov dword [rsp + 0x5c], r10d
movups xmmword [r13 + 0x10], xmm1
movdqu xmm2, xmmword [r15 + 0x20]
mov word [rsp + 0x66], di
movups xmmword [r13 + 0x20], xmm2
movdqu xmm3, xmmword [r15 + 0x30]
mov word [rsp + 0x64], r9w
movups xmmword [r13 + 0x30], xmm3
mov r15, qword [r15 + 0x40]
mov dword [rsp + 0x58], r8d
mov qword [r13 + 0x40], r15
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x50], edx
mov dword [rsp + 0x4c], r14d
jmp 0x6d20dd2e
mov qword [rsp + 0x20], 0
xor r8d, r8d
mov r9d, r15d
mov edx, 0x48
mov rcx, qword [rsp + 0x88]
call fcn.6d32dd40
mov r8d, dword [rsp + 0xac]
mov qword [r12 + 0x40], rax
test r8d, r8d
je 0x6d20df5d
mov r14d, r8d
mov eax, r14d
add rsp, 0x108
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rsp + 0x78]
lea rdi, [rax + 8]
and rdi, 0xfffffffffffffff8
mov r10, qword [rsi]
mov qword [rax], r10
mov r9, qword [rsi + 0x508]
mov qword [rax + 0x508], r9
sub rax, rdi
sub rsi, rax
lea eax, [rax + 0x510]
mov edx, eax
shr edx, 3
mov ecx, edx
rep movsq qword [rdi], qword [rsi]
mov dword [r12 + 0x3c], r15d
movsxd r11, dword [r12 + 0x38]
mov r9, qword [r12 + 0x40]
mov r8d, dword [rsp + 0xac]
lea r15d, [r11 + 1]
lea r10, [r11 + r11*8]
mov dword [r12 + 0x38], r15d
lea r15, [r9 + r10*8]
test r8d, r8d
jne 0x6d20df43
jmp 0x6d20db5e
add qword [rsp + 0x80], 8
mov r10, qword [rsp + 0x80]
cmp qword [rsp + 0x90], r10
ja 0x6d20d8fd
imul r8, qword [rsp + 0x98], 0x898
add r8, qword [rsp + 0x150]
mov r12, qword [r8 + 0x40]
test r12, r12
je 0x6d20e16c
movsxd rcx, dword [r8 + 0x38]
lea r9, [rcx + rcx*8]
lea rdx, [r12 + r9*8]
cmp r12, rdx
jb 0x6d20e067
jmp 0x6d20e16c
cmp r11d, esi
jle 0x6d20e041
sub r11d, esi
sar r11d, 1
add word [r12 + 0xa], r11w
mov rbx, qword [r14 + 0x20]
mov r10d, dword [rbx + 0x1c]
cmp r10d, eax
jle 0x6d20e05a
sub r10d, eax
sar r10d, 1
add word [r12 + 0xa], r10w
add r12, 0x48
cmp r12, rdx
jae 0x6d20e16c
mov r15, qword [r12 + 0x38]
mov r14, qword [r12 + 0x40]
mov rbp, qword [r15 + 0x28]
mov r11d, dword [r15 + 0x1c]
mov eax, dword [r14 + 0x1c]
mov esi, dword [rbp + 0x1c]
cmp r11d, eax
jl 0x6d20e030
cmp r11d, esi
jge 0x6d20e095
sub esi, r11d
sar esi, 1
add word [r12 + 0xa], si
mov r13, qword [r14 + 0x20]
mov edi, dword [r13 + 0x1c]
cmp edi, eax
jge 0x6d20e05a
sub eax, edi
sar eax, 1
add word [r12 + 0xa], ax
jmp 0x6d20e05a
mov r8, qword [rsp + 0x38]
movzx ecx, byte [r8 + 3]
movzx eax, byte [r8 + 3]
mov ebx, ecx
mov byte [rsp + 0x34], cl
sar bl, 7
xor eax, ebx
mov esi, eax
sub esi, ebx
movzx r9d, sil
cmp r9d, dword [rsp + 0x48]
jne 0x6d20d92f
mov r10, qword [rsp + 0x38]
mov r13d, dword [rsp + 0x48]
nop word [rax + rax]
cmp r10, rdx
je 0x6d20d92f
mov rdx, qword [rdx + 0x28]
movzx r11d, byte [rdx + 3]
movzx r14d, byte [rdx + 3]
sar r11b, 7
xor r14d, r11d
sub r14d, r11d
movzx edi, r14b
cmp edi, r13d
je 0x6d20e0f0
mov rbp, qword [rdx + 0x20]
mov qword [rsp + 0x38], rbp
jmp 0x6d20d92f
or eax, 1
jmp 0x6d20de33
cmp rbp, rbx
jbe 0x6d20d8b1
nop dword [rax]
movsx edx, word [rbx + 0xe]
movsx r8d, word [rbx + 0xc]
add rbx, 0x30
mov dword [rbx - 0x18], edx
mov dword [rbx - 0x14], r8d
cmp rbx, rbp
jb 0x6d20e140
jmp 0x6d20d8b1
mov dword [r12 + 0x38], 0
jmp 0x6d20df46
xor r14d, r14d
jmp 0x6d20df46