Function at 0x6d3e38b0
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, 0xf8
mov eax, dword [rsp + 0x168]
mov r12, qword [rcx]
mov qword [rsp + 0x158], r9
mov rbx, rcx
mov r15, rdx
mov dword [rsp + 0x68], eax
test al, al
jne 0x6d3e38f1
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x18], 0
je 0x6d3e4290
mov rax, qword [rsp + 0x158]
mov r14, qword [r15 + 0x20]
cmp byte [rax + 8], 0
je 0x6d3e4048
mov rax, qword [rsp + 0x158]
mov qword [rbx + 0x20], 0
movdqu xmm4, xmmword [rax + 0x20]
movdqu xmm0, xmmword [rax]
movdqu xmm2, xmmword [rax + 0x10]
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xd0], xmm2
movups xmmword [rsp + 0x40], xmm4
movups xmmword [rsp + 0xe0], xmm4
cmp qword [rax + 0x10], r14
jb 0x6d3e3a9a
cmp byte [r12 + 0x141], 0
jne 0x6d3e4180
test r14, r14
je 0x6d3e4450
lea rax, [rsp + 0xe0]
lea r13, [rsp + 0xa0]
mov edi, 0xffffff80
xor esi, esi
mov qword [rsp + 0x60], rax
mov rbp, rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
mov rax, r13
mov r13, rbx
mov rbx, rax
jmp 0x6d3e39c5
mov rax, rsi
shr dil, 1
and eax, 7
cmp rax, 7
jne 0x6d3e39b8
add rbp, 1
mov edi, 0xffffff80
add rsi, 1
cmp rsi, r14
je 0x6d3e3ab0
test byte [rbp], dil
je 0x6d3e39a0
mov rcx, qword [rsp + 0x40]
mov r9, r12
mov r8, rsi
mov rdx, r15
mov dword [rsp + 0x30], 1
mov eax, dword [r13 + 0x1c]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x20], eax
call fcn.6d3e3700
mov dword [rsp + 0x30], 0
mov eax, dword [r13 + 0x1c]
mov rdx, r15
mov rcx, rbx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x20], eax
call fcn.6d3e3700
mov r10d, dword [rsp + 0x80]
test r10b, 0x10
jne 0x6d3e3a43
mov eax, dword [rsp + 0xa0]
mov edx, eax
mov dword [rsp + 0x58], eax
and edx, 0x10
je 0x6d3e3f60
mov rdx, qword [rsp + 0x40]
mov r8, rbx
mov rcx, r13
call fcn.6d3e4570
mov eax, edi
not eax
and byte [rbp], al
jmp 0x6d3e39a0
mov rax, qword [rax]
test rax, rax
je 0x6d3e3a88
mov r11d, dword [rax]
test r11d, r11d
jne 0x6d3e3a88
mov rdi, qword [rsp + 0x158]
mov dword [rax], 0x12
cmp byte [rdi + 8], 0
jne 0x6d3e3907
cmp byte [r12 + 0xc], 0
je 0x6d3e3a9a
mov dword [rax], 0
mov byte [rbx + 0x19], 0
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rsp + 0x68], 0
mov rbx, r13
jne 0x6d3e3b90
mov r10, qword [rsp + 0x60]
lea rsi, [rsp + 0xa0]
mov r13d, 0xffffff80
xor ebp, ebp
lea rdi, [rsp + 0x80]
mov rax, rsi
mov rsi, r10
mov r10, r14
mov r14, r15
mov r15, r12
mov r12, rdi
mov rdi, rbx
mov rbx, rax
jmp 0x6d3e3b1e
mov rax, rbp
shr r13b, 1
and eax, 7
cmp rax, 7
jne 0x6d3e3b11
add rsi, 1
mov r13d, 0xffffff80
add rbp, 1
cmp rbp, r10
je 0x6d3e40d0
test byte [rsi], r13b
je 0x6d3e3af8
mov r9, r15
mov r8, rbp
mov rdx, r14
mov rcx, r12
mov dword [rsp + 0x30], 1
mov eax, dword [rdi + 0x1c]
mov qword [rsp + 0x40], r10
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x20], eax
call fcn.6d3e3700
mov dword [rsp + 0x30], 0
mov eax, dword [rdi + 0x1c]
mov rdx, r14
mov rcx, rbx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x20], eax
call fcn.6d3e3700
mov r8, rbx
mov rdx, r12
mov rcx, rdi
call fcn.6d3e4570
mov r10, qword [rsp + 0x40]
jmp 0x6d3e3af8
mov r8d, dword [r13 + 0x20]
test r8d, r8d
je 0x6d3e3bc8
mov edi, dword [rbx + 0x38]
test edi, edi
jg 0x6d3e3bc8
lea eax, [r8 - 1]
shl rax, 5
mov esi, dword [rbx + rax + 0x38]
test esi, esi
js 0x6d3e3bc8
mov rax, qword [rbx + 0x10]
mov qword [rax + 0x20], 0
jmp 0x6d3e3c6e
mov eax, dword [rbx + 0x1c]
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x80]
mov rcx, rbx
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0x88], 0
mov dword [rsp + 0x98], eax
mov qword [rsp + 0x90], 0
mov dword [rsp + 0x80], 0x31
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
call fcn.6d3e4570
mov r8d, dword [rbx + 0x20]
mov rax, qword [rbx + 0x10]
mov qword [rax + 0x20], 0
test r8d, r8d
je 0x6d3e3ece
mov qword [rsp + 0x148], r15
xor esi, esi
nop dword [rax + rax]
lea r12, [rsi + 1]
mov rbp, rsi
mov rcx, r12
shl rcx, 5
mov eax, dword [rbx + rcx + 8]
mov r14d, eax
and r14d, 0xc
je 0x6d3e3ca6
mov rbp, r12
add rcx, 0x20
lea r12, [rsi + 2]
and eax, 0x10
mov edi, eax
jne 0x6d3e3de0
mov rax, rsi
mov edx, 0x10000
mov r11d, 0
mov r15d, 0
shl rax, 5
mov r13d, dword [rbx + rax + 0x3c]
mov rax, rbp
shl rax, 5
movzx r10d, r13w
mov r9d, dword [rbx + rax + 0x3c]
sub edx, r10d
test r10d, r10d
cmovne r11d, edx
movzx eax, r9w
mov edx, 0x10000
sub edx, eax
test eax, eax
cmove edx, r15d
cmp r11d, edx
cmovle edx, r11d
cmp r10d, eax
cmovle eax, r10d
sub r8d, 1
mov r10d, eax
neg r10d
cmp rbp, r8
jae 0x6d3e3ef0
mov r11, r12
lea r8d, [r9 + rdx + 0x8000]
shl r11, 5
cmp dword [rbx + r11 + 0x3c], r8d
jge 0x6d3e3ef0
test rsi, rsi
je 0x6d3e3d57
mov r11, rsi
mov r8d, 0xffff8000
sub r8d, eax
shl r11, 5
add r8d, r13d
cmp dword [r11 + rbx + 0x1c], r8d
jg 0x6d3e4310
mov edi, r10d
cmp edx, eax
jge 0x6d3e3d70
test byte [rbx + rcx + 0x28], 0x10
je 0x6d3e431e
nop dword [rax]
mov rax, rsi
add r13d, edi
shl rax, 5
mov dword [rbx + rax + 0x3c], r13d
test r14d, r14d
je 0x6d3e3f50
mov rdx, rbp
lea eax, [r9 + rdi]
shl rdx, 5
mov dword [rbx + rdx + 0x3c], eax
test rsi, rsi
jne 0x6d3e3de5
mov rax, rbp
sub rbp, 1
shl rax, 5
shl rbp, 5
add rax, rbx
add rbp, rbx
mov edx, dword [rax + 0x38]
mov ecx, dword [rbp + 0x38]
cmp edx, ecx
je 0x6d3e3dcb
sub edx, ecx
mov ecx, dword [rax + 0x3c]
sub ecx, dword [rbp + 0x3c]
call fcn.6d328650
mov dword [rbp + 0x40], eax
mov eax, dword [rbx + 0x20]
mov r8, rax
cmp rax, r12
jbe 0x6d3e3e21
mov rsi, r12
jmp 0x6d3e3c80
test rsi, rsi
je 0x6d3e3e11
lea rdi, [rsi - 1]
shl rsi, 5
shl rdi, 5
add rsi, rbx
add rdi, rbx
mov edx, dword [rsi + 0x38]
mov eax, dword [rdi + 0x38]
cmp edx, eax
je 0x6d3e3e11
mov ecx, dword [rsi + 0x3c]
sub edx, eax
sub ecx, dword [rdi + 0x3c]
call fcn.6d328650
mov dword [rdi + 0x40], eax
test r14d, r14d
jne 0x6d3e3d9c
mov eax, dword [rbx + 0x20]
mov r8, rax
cmp rax, r12
ja 0x6d3e3dd6
mov r13, qword [rbx + 0x10]
mov r15, qword [rsp + 0x148]
mov rdi, qword [r13 + 0x20]
test rdi, rdi
je 0x6d3e3ece
mov r12, qword [r13 + 0x10]
lea r9, [rdi - 1]
mov rbp, qword [r13 + 0x30]
mov r8, rdi
imul r9, r12
add r9, rbp
sub r8, 1
mov rdx, r9
cmp rdi, r8
ja 0x6d3e3e80
mov rax, qword [r13 + 8]
mov rdx, rbp
test rax, rax
je 0x6d3e3e80
mov r11d, dword [rax]
test r11d, r11d
jne 0x6d3e3e80
mov dword [rax], 0x82
nop word cs:[rax + rax]
mov rcx, qword [rdx]
mov r10d, dword [rdx + 8]
mov rdx, rcx
lea rax, [rcx + 1]
shl rdx, 5
shl rax, 5
add rdx, rbx
add rax, rbx
mov r11d, dword [rdx + 0x3c]
add r11d, r10d
lea esi, [r11 + 0x8000]
cmp dword [rax + 0x3c], esi
jl 0x6d3e3ec6
mov dword [rdx + 0x3c], r11d
test byte [rax + 8], 0xc
je 0x6d3e3ec6
sub rcx, 1
shl rcx, 5
add dword [rbx + rcx + 0x3c], r10d
sub r9, r12
test r8, r8
jne 0x6d3e3e50
cmp byte [rsp + 0x68], 0
je 0x6d3e4170
mov rax, qword [rsp + 0x158]
mov byte [rbx + 0x18], 1
mov byte [rax + 9], 0
jmp 0x6d3e3a9a
test rsi, rsi
je 0x6d3e3f40
lea rdi, [rsi - 1]
mov ecx, 0xffff8000
mov r8, rdi
sub ecx, eax
shl r8, 5
add ecx, r13d
cmp dword [rbx + r8 + 0x3c], ecx
jle 0x6d3e3f40
mov rax, rsi
add r13d, edx
shl rax, 5
mov dword [rbx + rax + 0x3c], r13d
test r14d, r14d
je 0x6d3e3de9
mov rax, rbp
add edx, r9d
shl rax, 5
mov dword [rbx + rax + 0x3c], edx
jmp 0x6d3e3de9
cmp edx, eax
mov edi, edx
cmovg edi, r10d
jmp 0x6d3e3d70
test rsi, rsi
je 0x6d3e3dcb
jmp 0x6d3e3de5
mov ecx, dword [r12 + 0x13c]
mov r8d, dword [r12 + 0x14c]
test ecx, ecx
je 0x6d3e39a0
mov r11d, eax
mov eax, dword [rsp + 0x90]
mov r9d, dword [rsp + 0xb0]
and r11d, 0xa
mov dword [rsp + 0x6c], eax
mov eax, r10d
mov dword [rsp + 0x78], r9d
and eax, 5
jne 0x6d3e41e8
test r11d, r11d
je 0x6d3e39a0
mov dword [rsp + 0x6c], r10d
lea rdx, [r12 + 0x198]
mov r11d, r9d
jmp 0x6d3e3fcf
add eax, 1
add rdx, 0x14
cmp ecx, eax
je 0x6d3e39a0
cmp byte [rdx + 0x10], 0
jne 0x6d3e3fc0
mov r9d, dword [rdx]
mov r10d, r9d
sub r10d, r8d
cmp r10d, r11d
jg 0x6d3e3fc0
mov r10d, dword [rdx + 4]
add r10d, r8d
cmp r11d, r10d
jg 0x6d3e3fc0
mov r10d, dword [rsp + 0x6c]
cmp byte [r12 + 0x140], 0
mov ecx, dword [rsp + 0xb4]
je 0x6d3e44f0
mov eax, eax
lea rax, [rax + rax*4]
mov r8d, dword [r12 + rax*4 + 0x1a4]
mov eax, r8d
sub eax, ecx
test r10d, r10d
jne 0x6d3e455a
add eax, ecx
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0x58]
or eax, 0x10
mov dword [rsp + 0xa0], eax
jmp 0x6d3e3a43
mov rcx, qword [r8 + 0x20]
add rcx, r14
cmp rcx, 0x60
ja 0x6d3e3a60
mov qword [rax + 0x10], rcx
mov rdi, rax
lea rax, [rcx + 7]
mov r10d, 0x101
shr rax, 3
mov word [rdi + 8], r10w
mov qword [rdi + 0x18], rax
test rcx, rcx
je 0x6d3e40bd
test rax, rax
je 0x6d3e40a5
lea rdx, [rdi + 0x20]
mov r10, 0xffffffffffffffff
cmp eax, 8
jae 0x6d3e4380
test al, 4
jne 0x6d3e4530
test eax, eax
jne 0x6d3e4466
mov rdi, qword [rsp + 0x158]
neg ecx
mov edx, 0xffffffff
and ecx, 7
shl edx, cl
and byte [rdi + rax + 0x1f], dl
mov r14, qword [r15 + 0x20]
jmp 0x6d3e3907
mov eax, dword [rdi + 0x20]
mov rbx, rdi
mov r15, r14
mov r8d, eax
mov rdx, qword [rbx + 0x10]
mov qword [rdx + 0x20], 0
test eax, eax
jne 0x6d3e3c6e
test eax, eax
je 0x6d3e3ed9
lea rdx, [rbx + 0x28]
xor ecx, ecx
jmp 0x6d3e411a
mov dword [rax + 0x10], r9d
mov byte [rax], 1
mov eax, dword [rbx + 0x20]
mov r8d, eax
add rdx, 0x20
cmp r8, rcx
jbe 0x6d3e3ed9
mov r8d, dword [rdx]
add rcx, 1
test r8b, 0x20
jne 0x6d3e410a
mov rax, qword [rdx + 8]
cmp rax, qword [r15 + 0x20]
jb 0x6d3e4150
mov r9, qword [r15 + 8]
xor eax, eax
test r9, r9
je 0x6d3e4150
mov r10d, dword [r9]
test r10d, r10d
jne 0x6d3e4150
mov dword [r9], 0x82
mov r8d, dword [rdx]
nop
imul rax, qword [r15 + 0x10]
add rax, qword [r15 + 0x30]
and r8d, 0xa
mov r9d, dword [rdx + 0x14]
jne 0x6d3e4100
mov dword [rax + 0xc], r9d
jmp 0x6d3e4104
mov eax, dword [rbx + 0x20]
jmp 0x6d3e40f0
lea r13, [rsp + 0xa0]
mov rcx, rbx
lea rdx, [r12 + 0x178]
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov r8, r13
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
call fcn.6d3e4570
lea r8, [r12 + 0x158]
mov rdx, r13
mov rcx, rbx
call fcn.6d3e4570
jmp 0x6d3e395b
lea rax, [r12 + 0x198]
test r11d, r11d
jne 0x6d3e43d0
mov dword [rsp + 0x78], r10d
mov edx, dword [rsp + 0x6c]
jmp 0x6d3e4219
add r11d, 1
add rax, 0x14
cmp ecx, r11d
je 0x6d3e39a0
cmp byte [rax + 0x10], 0
je 0x6d3e4208
mov r9d, dword [rax]
sub r9d, r8d
cmp edx, r9d
jl 0x6d3e4208
mov r9d, dword [rax + 4]
lea r10d, [r9 + r8]
cmp edx, r10d
jg 0x6d3e4208
mov r10d, dword [rsp + 0x78]
cmp byte [r12 + 0x140], 0
mov edx, dword [rsp + 0x94]
je 0x6d3e44b8
lea rax, [r11 + r11*4]
mov eax, dword [r12 + rax*4 + 0x1a4]
sub eax, edx
add edx, eax
mov dword [rsp + 0x94], edx
mov edx, r10d
or edx, 0x10
mov dword [rsp + 0x80], edx
mov edx, dword [rsp + 0x58]
test edx, edx
je 0x6d3e3a43
mov ecx, dword [rsp + 0xb4]
jmp 0x6d3e4026
mov rax, qword [r9]
mov dword [rsp + 0x28], 1
lea r9, [rsp + 0xc0]
mov qword [rsp + 0x150], r8
mov qword [rsp + 0xc0], rax
mov eax, dword [rsp + 0x160]
mov qword [rsp + 0xc8], 0
mov dword [rsp + 0x20], eax
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
call fcn.6d3e38b0
mov r8, qword [rsp + 0x150]
jmp 0x6d3e38f1
xor r10d, r10d
test byte [rbx + rcx + 0x28], 0x10
jne 0x6d3e3d70
sub edx, r10d
mov r10, qword [rbx + 0x10]
mov qword [rsp + 0xa0], rbp
mov dword [rsp + 0xa8], edx
mov rcx, qword [r10 + 0x20]
cmp rcx, qword [r10 + 0x18]
je 0x6d3e4486
mov r8, qword [r10 + 0x10]
lea rdx, [rsp + 0xa0]
mov dword [rsp + 0x58], r9d
mov qword [rsp + 0x40], r10
imul rcx, r8
add rcx, qword [r10 + 0x30]
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x58]
add qword [r10 + 0x20], 1
jmp 0x6d3e3d70
mov r8d, eax
mov qword [rdi + 0x20], 0xffffffffffffffff
mov qword [rdx + r8 - 8], 0xffffffffffffffff
mov rdi, qword [rsp + 0x158]
lea r9, [rdi + 0x28]
and r9, 0xfffffffffffffff8
sub rdx, r9
add edx, eax
and edx, 0xfffffff8
cmp edx, 8
jb 0x6d3e40a5
and edx, 0xfffffff8
xor r8d, r8d
mov r11d, r8d
add r8d, 8
mov qword [r9 + r11], r10
cmp r8d, edx
jb 0x6d3e43bb
jmp 0x6d3e40a5
mov qword [rsp + 0x70], rbp
mov r11d, dword [rsp + 0x6c]
mov dword [rsp + 0x7c], r10d
mov ebp, dword [rsp + 0x78]
jmp 0x6d3e440c
sub r9d, r8d
cmp r9d, r11d
jg 0x6d3e4401
mov r9d, dword [rax + 4]
lea r10d, [r8 + r9]
cmp r11d, r10d
jle 0x6d3e4548
add edx, 1
add rax, 0x14
cmp edx, ecx
je 0x6d3e4440
cmp byte [rax + 0x10], 0
mov r9d, dword [rax]
jne 0x6d3e43e8
mov r10d, r9d
sub r10d, r8d
cmp r10d, ebp
jg 0x6d3e4401
mov r10d, dword [rax + 4]
add r10d, r8d
cmp ebp, r10d
jg 0x6d3e4401
mov rbp, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x7c]
mov eax, edx
jmp 0x6d3e3ff4
mov rbp, qword [rsp + 0x70]
jmp 0x6d3e39a0
mov eax, dword [rbx + 0x20]
cmp byte [rsp + 0x68], 0
mov r8d, eax
jne 0x6d3e3b94
jmp 0x6d3e40dc
mov byte [rdi + 0x20], 0xff
test al, 2
je 0x6d3e40a5
mov r8d, eax
mov r9d, 0xffffffff
mov word [rdx + r8 - 2], r9w
jmp 0x6d3e40a5
lea rdx, [rcx + rcx + 0x10]
mov rcx, r10
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x58], r10
call fcn.6d3e0310
mov r9d, dword [rsp + 0x40]
test al, al
je 0x6d3e3d70
mov r10, qword [rsp + 0x58]
mov rcx, qword [r10 + 0x20]
jmp 0x6d3e4342
lea eax, [rdx + 0x8000]
sub r9d, dword [rsp + 0x6c]
xor ax, ax
cmp r9d, dword [r12 + 0x148]
jl 0x6d3e425e
lea rcx, [r11 + r11*4]
mov ecx, dword [r12 + rcx*4 + 0x1a4]
sub ecx, 0x10000
cmp eax, ecx
cmovg eax, ecx
jmp 0x6d3e425e
lea edx, [rcx + 0x8000]
xor dx, dx
mov r8d, edx
mov edx, dword [rsp + 0x78]
sub edx, r9d
cmp edx, dword [r12 + 0x148]
jl 0x6d3e4018
mov eax, eax
lea rax, [rax + rax*4]
mov eax, dword [r12 + rax*4 + 0x1a4]
add eax, 0x10000
cmp r8d, eax
cmovl r8d, eax
jmp 0x6d3e4018
mov r8d, eax
mov dword [rdi + 0x20], 0xffffffff
mov dword [rdx + r8 - 4], 0xffffffff
jmp 0x6d3e40a5
mov rbp, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x7c]
mov r11d, edx
jmp 0x6d3e423c
mov edx, dword [rsp + 0x94]
jmp 0x6d3e4260