Function at 0x6922b220
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 0x6922b261
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x18], 0
je 0x6922bc00
mov rax, qword [rsp + 0x158]
mov r14, qword [r15 + 0x20]
cmp byte [rax + 8], 0
je 0x6922b9b8
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 0x6922b40a
cmp byte [r12 + 0x141], 0
jne 0x6922baf0
test r14, r14
je 0x6922bdc0
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 0x6922b335
mov rax, rsi
shr dil, 1
and eax, 7
cmp rax, 7
jne 0x6922b328
add rbp, 1
mov edi, 0xffffff80
add rsi, 1
cmp rsi, r14
je 0x6922b420
test byte [rbp], dil
je 0x6922b310
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.6922b070
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.6922b070
mov r10d, dword [rsp + 0x80]
test r10b, 0x10
jne 0x6922b3b3
mov eax, dword [rsp + 0xa0]
mov edx, eax
mov dword [rsp + 0x58], eax
and edx, 0x10
je 0x6922b8d0
mov rdx, qword [rsp + 0x40]
mov r8, rbx
mov rcx, r13
call fcn.6922bee0
mov eax, edi
not eax
and byte [rbp], al
jmp 0x6922b310
mov rax, qword [rax]
test rax, rax
je 0x6922b3f8
mov r11d, dword [rax]
test r11d, r11d
jne 0x6922b3f8
mov rdi, qword [rsp + 0x158]
mov dword [rax], 0x12
cmp byte [rdi + 8], 0
jne 0x6922b277
cmp byte [r12 + 0xc], 0
je 0x6922b40a
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 0x6922b500
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 0x6922b48e
mov rax, rbp
shr r13b, 1
and eax, 7
cmp rax, 7
jne 0x6922b481
add rsi, 1
mov r13d, 0xffffff80
add rbp, 1
cmp rbp, r10
je 0x6922ba40
test byte [rsi], r13b
je 0x6922b468
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.6922b070
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.6922b070
mov r8, rbx
mov rdx, r12
mov rcx, rdi
call fcn.6922bee0
mov r10, qword [rsp + 0x40]
jmp 0x6922b468
mov r8d, dword [r13 + 0x20]
test r8d, r8d
je 0x6922b538
mov edi, dword [rbx + 0x38]
test edi, edi
jg 0x6922b538
lea eax, [r8 - 1]
shl rax, 5
mov esi, dword [rbx + rax + 0x38]
test esi, esi
js 0x6922b538
mov rax, qword [rbx + 0x10]
mov qword [rax + 0x20], 0
jmp 0x6922b5de
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.6922bee0
mov r8d, dword [rbx + 0x20]
mov rax, qword [rbx + 0x10]
mov qword [rax + 0x20], 0
test r8d, r8d
je 0x6922b83e
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 0x6922b616
mov rbp, r12
add rcx, 0x20
lea r12, [rsi + 2]
and eax, 0x10
mov edi, eax
jne 0x6922b750
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 0x6922b860
mov r11, r12
lea r8d, [r9 + rdx + 0x8000]
shl r11, 5
cmp dword [rbx + r11 + 0x3c], r8d
jge 0x6922b860
test rsi, rsi
je 0x6922b6c7
mov r11, rsi
mov r8d, 0xffff8000
sub r8d, eax
shl r11, 5
add r8d, r13d
cmp dword [r11 + rbx + 0x1c], r8d
jg 0x6922bc80
mov edi, r10d
cmp edx, eax
jge 0x6922b6e0
test byte [rbx + rcx + 0x28], 0x10
je 0x6922bc8e
nop dword [rax]
mov rax, rsi
add r13d, edi
shl rax, 5
mov dword [rbx + rax + 0x3c], r13d
test r14d, r14d
je 0x6922b8c0
mov rdx, rbp
lea eax, [r9 + rdi]
shl rdx, 5
mov dword [rbx + rdx + 0x3c], eax
test rsi, rsi
jne 0x6922b755
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 0x6922b73b
sub edx, ecx
mov ecx, dword [rax + 0x3c]
sub ecx, dword [rbp + 0x3c]
call fcn.69168690
mov dword [rbp + 0x40], eax
mov eax, dword [rbx + 0x20]
mov r8, rax
cmp rax, r12
jbe 0x6922b791
mov rsi, r12
jmp 0x6922b5f0
test rsi, rsi
je 0x6922b781
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 0x6922b781
mov ecx, dword [rsi + 0x3c]
sub edx, eax
sub ecx, dword [rdi + 0x3c]
call fcn.69168690
mov dword [rdi + 0x40], eax
test r14d, r14d
jne 0x6922b70c
mov eax, dword [rbx + 0x20]
mov r8, rax
cmp rax, r12
ja 0x6922b746
mov r13, qword [rbx + 0x10]
mov r15, qword [rsp + 0x148]
mov rdi, qword [r13 + 0x20]
test rdi, rdi
je 0x6922b83e
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 0x6922b7f0
mov rax, qword [r13 + 8]
mov rdx, rbp
test rax, rax
je 0x6922b7f0
mov r11d, dword [rax]
test r11d, r11d
jne 0x6922b7f0
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 0x6922b836
mov dword [rdx + 0x3c], r11d
test byte [rax + 8], 0xc
je 0x6922b836
sub rcx, 1
shl rcx, 5
add dword [rbx + rcx + 0x3c], r10d
sub r9, r12
test r8, r8
jne 0x6922b7c0
cmp byte [rsp + 0x68], 0
je 0x6922bae0
mov rax, qword [rsp + 0x158]
mov byte [rbx + 0x18], 1
mov byte [rax + 9], 0
jmp 0x6922b40a
test rsi, rsi
je 0x6922b8b0
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 0x6922b8b0
mov rax, rsi
add r13d, edx
shl rax, 5
mov dword [rbx + rax + 0x3c], r13d
test r14d, r14d
je 0x6922b759
mov rax, rbp
add edx, r9d
shl rax, 5
mov dword [rbx + rax + 0x3c], edx
jmp 0x6922b759
cmp edx, eax
mov edi, edx
cmovg edi, r10d
jmp 0x6922b6e0
test rsi, rsi
je 0x6922b73b
jmp 0x6922b755
mov ecx, dword [r12 + 0x13c]
mov r8d, dword [r12 + 0x14c]
test ecx, ecx
je 0x6922b310
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 0x6922bb58
test r11d, r11d
je 0x6922b310
mov dword [rsp + 0x6c], r10d
lea rdx, [r12 + 0x198]
mov r11d, r9d
jmp 0x6922b93f
add eax, 1
add rdx, 0x14
cmp ecx, eax
je 0x6922b310
cmp byte [rdx + 0x10], 0
jne 0x6922b930
mov r9d, dword [rdx]
mov r10d, r9d
sub r10d, r8d
cmp r10d, r11d
jg 0x6922b930
mov r10d, dword [rdx + 4]
add r10d, r8d
cmp r11d, r10d
jg 0x6922b930
mov r10d, dword [rsp + 0x6c]
cmp byte [r12 + 0x140], 0
mov ecx, dword [rsp + 0xb4]
je 0x6922be60
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 0x6922beca
add eax, ecx
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0x58]
or eax, 0x10
mov dword [rsp + 0xa0], eax
jmp 0x6922b3b3
mov rcx, qword [r8 + 0x20]
add rcx, r14
cmp rcx, 0x60
ja 0x6922b3d0
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 0x6922ba2d
test rax, rax
je 0x6922ba15
lea rdx, [rdi + 0x20]
mov r10, 0xffffffffffffffff
cmp eax, 8
jae 0x6922bcf0
test al, 4
jne 0x6922bea0
test eax, eax
jne 0x6922bdd6
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 0x6922b277
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 0x6922b5de
test eax, eax
je 0x6922b849
lea rdx, [rbx + 0x28]
xor ecx, ecx
jmp 0x6922ba8a
mov dword [rax + 0x10], r9d
mov byte [rax], 1
mov eax, dword [rbx + 0x20]
mov r8d, eax
add rdx, 0x20
cmp r8, rcx
jbe 0x6922b849
mov r8d, dword [rdx]
add rcx, 1
test r8b, 0x20
jne 0x6922ba7a
mov rax, qword [rdx + 8]
cmp rax, qword [r15 + 0x20]
jb 0x6922bac0
mov r9, qword [r15 + 8]
xor eax, eax
test r9, r9
je 0x6922bac0
mov r10d, dword [r9]
test r10d, r10d
jne 0x6922bac0
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 0x6922ba70
mov dword [rax + 0xc], r9d
jmp 0x6922ba74
mov eax, dword [rbx + 0x20]
jmp 0x6922ba60
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.6922bee0
lea r8, [r12 + 0x158]
mov rdx, r13
mov rcx, rbx
call fcn.6922bee0
jmp 0x6922b2cb
lea rax, [r12 + 0x198]
test r11d, r11d
jne 0x6922bd40
mov dword [rsp + 0x78], r10d
mov edx, dword [rsp + 0x6c]
jmp 0x6922bb89
add r11d, 1
add rax, 0x14
cmp ecx, r11d
je 0x6922b310
cmp byte [rax + 0x10], 0
je 0x6922bb78
mov r9d, dword [rax]
sub r9d, r8d
cmp edx, r9d
jl 0x6922bb78
mov r9d, dword [rax + 4]
lea r10d, [r9 + r8]
cmp edx, r10d
jg 0x6922bb78
mov r10d, dword [rsp + 0x78]
cmp byte [r12 + 0x140], 0
mov edx, dword [rsp + 0x94]
je 0x6922be28
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 0x6922b3b3
mov ecx, dword [rsp + 0xb4]
jmp 0x6922b996
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.6922b220
mov r8, qword [rsp + 0x150]
jmp 0x6922b261
xor r10d, r10d
test byte [rbx + rcx + 0x28], 0x10
jne 0x6922b6e0
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 0x6922bdf6
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 0x6922b6e0
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 0x6922ba15
and edx, 0xfffffff8
xor r8d, r8d
mov r11d, r8d
add r8d, 8
mov qword [r9 + r11], r10
cmp r8d, edx
jb 0x6922bd2b
jmp 0x6922ba15
mov qword [rsp + 0x70], rbp
mov r11d, dword [rsp + 0x6c]
mov dword [rsp + 0x7c], r10d
mov ebp, dword [rsp + 0x78]
jmp 0x6922bd7c
sub r9d, r8d
cmp r9d, r11d
jg 0x6922bd71
mov r9d, dword [rax + 4]
lea r10d, [r8 + r9]
cmp r11d, r10d
jle 0x6922beb8
add edx, 1
add rax, 0x14
cmp edx, ecx
je 0x6922bdb0
cmp byte [rax + 0x10], 0
mov r9d, dword [rax]
jne 0x6922bd58
mov r10d, r9d
sub r10d, r8d
cmp r10d, ebp
jg 0x6922bd71
mov r10d, dword [rax + 4]
add r10d, r8d
cmp ebp, r10d
jg 0x6922bd71
mov rbp, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x7c]
mov eax, edx
jmp 0x6922b964
mov rbp, qword [rsp + 0x70]
jmp 0x6922b310
mov eax, dword [rbx + 0x20]
cmp byte [rsp + 0x68], 0
mov r8d, eax
jne 0x6922b504
jmp 0x6922ba4c
mov byte [rdi + 0x20], 0xff
test al, 2
je 0x6922ba15
mov r8d, eax
mov r9d, 0xffffffff
mov word [rdx + r8 - 2], r9w
jmp 0x6922ba15
lea rdx, [rcx + rcx + 0x10]
mov rcx, r10
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x58], r10
call fcn.69227c80
mov r9d, dword [rsp + 0x40]
test al, al
je 0x6922b6e0
mov r10, qword [rsp + 0x58]
mov rcx, qword [r10 + 0x20]
jmp 0x6922bcb2
lea eax, [rdx + 0x8000]
sub r9d, dword [rsp + 0x6c]
xor ax, ax
cmp r9d, dword [r12 + 0x148]
jl 0x6922bbce
lea rcx, [r11 + r11*4]
mov ecx, dword [r12 + rcx*4 + 0x1a4]
sub ecx, 0x10000
cmp eax, ecx
cmovg eax, ecx
jmp 0x6922bbce
lea edx, [rcx + 0x8000]
xor dx, dx
mov r8d, edx
mov edx, dword [rsp + 0x78]
sub edx, r9d
cmp edx, dword [r12 + 0x148]
jl 0x6922b988
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 0x6922b988
mov r8d, eax
mov dword [rdi + 0x20], 0xffffffff
mov dword [rdx + r8 - 4], 0xffffffff
jmp 0x6922ba15
mov rbp, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x7c]
mov r11d, edx
jmp 0x6922bbac
mov edx, dword [rsp + 0x94]
jmp 0x6922bbd0