Function at 0x682367a0
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 0x682367e1
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x18], 0
je 0x68237180
mov rax, qword [rsp + 0x158]
mov r14, qword [r15 + 0x20]
cmp byte [rax + 8], 0
je 0x68236f38
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 0x6823698a
cmp byte [r12 + 0x141], 0
jne 0x68237070
test r14, r14
je 0x68237340
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 0x682368b5
mov rax, rsi
shr dil, 1
and eax, 7
cmp rax, 7
jne 0x682368a8
add rbp, 1
mov edi, 0xffffff80
add rsi, 1
cmp rsi, r14
je 0x682369a0
test byte [rbp], dil
je 0x68236890
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.682365f0
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.682365f0
mov r10d, dword [rsp + 0x80]
test r10b, 0x10
jne 0x68236933
mov eax, dword [rsp + 0xa0]
mov edx, eax
mov dword [rsp + 0x58], eax
and edx, 0x10
je 0x68236e50
mov rdx, qword [rsp + 0x40]
mov r8, rbx
mov rcx, r13
call fcn.68237460
mov eax, edi
not eax
and byte [rbp], al
jmp 0x68236890
mov rax, qword [rax]
test rax, rax
je 0x68236978
mov r11d, dword [rax]
test r11d, r11d
jne 0x68236978
mov rdi, qword [rsp + 0x158]
mov dword [rax], 0x12
cmp byte [rdi + 8], 0
jne 0x682367f7
cmp byte [r12 + 0xc], 0
je 0x6823698a
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 0x68236a80
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 0x68236a0e
mov rax, rbp
shr r13b, 1
and eax, 7
cmp rax, 7
jne 0x68236a01
add rsi, 1
mov r13d, 0xffffff80
add rbp, 1
cmp rbp, r10
je 0x68236fc0
test byte [rsi], r13b
je 0x682369e8
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.682365f0
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.682365f0
mov r8, rbx
mov rdx, r12
mov rcx, rdi
call fcn.68237460
mov r10, qword [rsp + 0x40]
jmp 0x682369e8
mov r8d, dword [r13 + 0x20]
test r8d, r8d
je 0x68236ab8
mov edi, dword [rbx + 0x38]
test edi, edi
jg 0x68236ab8
lea eax, [r8 - 1]
shl rax, 5
mov esi, dword [rbx + rax + 0x38]
test esi, esi
js 0x68236ab8
mov rax, qword [rbx + 0x10]
mov qword [rax + 0x20], 0
jmp 0x68236b5e
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.68237460
mov r8d, dword [rbx + 0x20]
mov rax, qword [rbx + 0x10]
mov qword [rax + 0x20], 0
test r8d, r8d
je 0x68236dbe
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 0x68236b96
mov rbp, r12
add rcx, 0x20
lea r12, [rsi + 2]
and eax, 0x10
mov edi, eax
jne 0x68236cd0
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 0x68236de0
mov r11, r12
lea r8d, [r9 + rdx + 0x8000]
shl r11, 5
cmp dword [rbx + r11 + 0x3c], r8d
jge 0x68236de0
test rsi, rsi
je 0x68236c47
mov r11, rsi
mov r8d, 0xffff8000
sub r8d, eax
shl r11, 5
add r8d, r13d
cmp dword [r11 + rbx + 0x1c], r8d
jg 0x68237200
mov edi, r10d
cmp edx, eax
jge 0x68236c60
test byte [rbx + rcx + 0x28], 0x10
je 0x6823720e
nop dword [rax]
mov rax, rsi
add r13d, edi
shl rax, 5
mov dword [rbx + rax + 0x3c], r13d
test r14d, r14d
je 0x68236e40
mov rdx, rbp
lea eax, [r9 + rdi]
shl rdx, 5
mov dword [rbx + rdx + 0x3c], eax
test rsi, rsi
jne 0x68236cd5
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 0x68236cbb
sub edx, ecx
mov ecx, dword [rax + 0x3c]
sub ecx, dword [rbp + 0x3c]
call fcn.680ea850
mov dword [rbp + 0x40], eax
mov eax, dword [rbx + 0x20]
mov r8, rax
cmp rax, r12
jbe 0x68236d11
mov rsi, r12
jmp 0x68236b70
test rsi, rsi
je 0x68236d01
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 0x68236d01
mov ecx, dword [rsi + 0x3c]
sub edx, eax
sub ecx, dword [rdi + 0x3c]
call fcn.680ea850
mov dword [rdi + 0x40], eax
test r14d, r14d
jne 0x68236c8c
mov eax, dword [rbx + 0x20]
mov r8, rax
cmp rax, r12
ja 0x68236cc6
mov r13, qword [rbx + 0x10]
mov r15, qword [rsp + 0x148]
mov rdi, qword [r13 + 0x20]
test rdi, rdi
je 0x68236dbe
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 0x68236d70
mov rax, qword [r13 + 8]
mov rdx, rbp
test rax, rax
je 0x68236d70
mov r11d, dword [rax]
test r11d, r11d
jne 0x68236d70
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 0x68236db6
mov dword [rdx + 0x3c], r11d
test byte [rax + 8], 0xc
je 0x68236db6
sub rcx, 1
shl rcx, 5
add dword [rbx + rcx + 0x3c], r10d
sub r9, r12
test r8, r8
jne 0x68236d40
cmp byte [rsp + 0x68], 0
je 0x68237060
mov rax, qword [rsp + 0x158]
mov byte [rbx + 0x18], 1
mov byte [rax + 9], 0
jmp 0x6823698a
test rsi, rsi
je 0x68236e30
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 0x68236e30
mov rax, rsi
add r13d, edx
shl rax, 5
mov dword [rbx + rax + 0x3c], r13d
test r14d, r14d
je 0x68236cd9
mov rax, rbp
add edx, r9d
shl rax, 5
mov dword [rbx + rax + 0x3c], edx
jmp 0x68236cd9
cmp edx, eax
mov edi, edx
cmovg edi, r10d
jmp 0x68236c60
test rsi, rsi
je 0x68236cbb
jmp 0x68236cd5
mov ecx, dword [r12 + 0x13c]
mov r8d, dword [r12 + 0x14c]
test ecx, ecx
je 0x68236890
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 0x682370d8
test r11d, r11d
je 0x68236890
mov dword [rsp + 0x6c], r10d
lea rdx, [r12 + 0x198]
mov r11d, r9d
jmp 0x68236ebf
add eax, 1
add rdx, 0x14
cmp ecx, eax
je 0x68236890
cmp byte [rdx + 0x10], 0
jne 0x68236eb0
mov r9d, dword [rdx]
mov r10d, r9d
sub r10d, r8d
cmp r10d, r11d
jg 0x68236eb0
mov r10d, dword [rdx + 4]
add r10d, r8d
cmp r11d, r10d
jg 0x68236eb0
mov r10d, dword [rsp + 0x6c]
cmp byte [r12 + 0x140], 0
mov ecx, dword [rsp + 0xb4]
je 0x682373e0
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 0x6823744a
add eax, ecx
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0x58]
or eax, 0x10
mov dword [rsp + 0xa0], eax
jmp 0x68236933
mov rcx, qword [r8 + 0x20]
add rcx, r14
cmp rcx, 0x60
ja 0x68236950
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 0x68236fad
test rax, rax
je 0x68236f95
lea rdx, [rdi + 0x20]
mov r10, 0xffffffffffffffff
cmp eax, 8
jae 0x68237270
test al, 4
jne 0x68237420
test eax, eax
jne 0x68237356
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 0x682367f7
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 0x68236b5e
test eax, eax
je 0x68236dc9
lea rdx, [rbx + 0x28]
xor ecx, ecx
jmp 0x6823700a
mov dword [rax + 0x10], r9d
mov byte [rax], 1
mov eax, dword [rbx + 0x20]
mov r8d, eax
add rdx, 0x20
cmp r8, rcx
jbe 0x68236dc9
mov r8d, dword [rdx]
add rcx, 1
test r8b, 0x20
jne 0x68236ffa
mov rax, qword [rdx + 8]
cmp rax, qword [r15 + 0x20]
jb 0x68237040
mov r9, qword [r15 + 8]
xor eax, eax
test r9, r9
je 0x68237040
mov r10d, dword [r9]
test r10d, r10d
jne 0x68237040
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 0x68236ff0
mov dword [rax + 0xc], r9d
jmp 0x68236ff4
mov eax, dword [rbx + 0x20]
jmp 0x68236fe0
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.68237460
lea r8, [r12 + 0x158]
mov rdx, r13
mov rcx, rbx
call fcn.68237460
jmp 0x6823684b
lea rax, [r12 + 0x198]
test r11d, r11d
jne 0x682372c0
mov dword [rsp + 0x78], r10d
mov edx, dword [rsp + 0x6c]
jmp 0x68237109
add r11d, 1
add rax, 0x14
cmp ecx, r11d
je 0x68236890
cmp byte [rax + 0x10], 0
je 0x682370f8
mov r9d, dword [rax]
sub r9d, r8d
cmp edx, r9d
jl 0x682370f8
mov r9d, dword [rax + 4]
lea r10d, [r9 + r8]
cmp edx, r10d
jg 0x682370f8
mov r10d, dword [rsp + 0x78]
cmp byte [r12 + 0x140], 0
mov edx, dword [rsp + 0x94]
je 0x682373a8
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 0x68236933
mov ecx, dword [rsp + 0xb4]
jmp 0x68236f16
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.682367a0
mov r8, qword [rsp + 0x150]
jmp 0x682367e1
xor r10d, r10d
test byte [rbx + rcx + 0x28], 0x10
jne 0x68236c60
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 0x68237376
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 0x68236c60
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 0x68236f95
and edx, 0xfffffff8
xor r8d, r8d
mov r11d, r8d
add r8d, 8
mov qword [r9 + r11], r10
cmp r8d, edx
jb 0x682372ab
jmp 0x68236f95
mov qword [rsp + 0x70], rbp
mov r11d, dword [rsp + 0x6c]
mov dword [rsp + 0x7c], r10d
mov ebp, dword [rsp + 0x78]
jmp 0x682372fc
sub r9d, r8d
cmp r9d, r11d
jg 0x682372f1
mov r9d, dword [rax + 4]
lea r10d, [r8 + r9]
cmp r11d, r10d
jle 0x68237438
add edx, 1
add rax, 0x14
cmp edx, ecx
je 0x68237330
cmp byte [rax + 0x10], 0
mov r9d, dword [rax]
jne 0x682372d8
mov r10d, r9d
sub r10d, r8d
cmp r10d, ebp
jg 0x682372f1
mov r10d, dword [rax + 4]
add r10d, r8d
cmp ebp, r10d
jg 0x682372f1
mov rbp, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x7c]
mov eax, edx
jmp 0x68236ee4
mov rbp, qword [rsp + 0x70]
jmp 0x68236890
mov eax, dword [rbx + 0x20]
cmp byte [rsp + 0x68], 0
mov r8d, eax
jne 0x68236a84
jmp 0x68236fcc
mov byte [rdi + 0x20], 0xff
test al, 2
je 0x68236f95
mov r8d, eax
mov r9d, 0xffffffff
mov word [rdx + r8 - 2], r9w
jmp 0x68236f95
lea rdx, [rcx + rcx + 0x10]
mov rcx, r10
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x58], r10
call fcn.68233200
mov r9d, dword [rsp + 0x40]
test al, al
je 0x68236c60
mov r10, qword [rsp + 0x58]
mov rcx, qword [r10 + 0x20]
jmp 0x68237232
lea eax, [rdx + 0x8000]
sub r9d, dword [rsp + 0x6c]
xor ax, ax
cmp r9d, dword [r12 + 0x148]
jl 0x6823714e
lea rcx, [r11 + r11*4]
mov ecx, dword [r12 + rcx*4 + 0x1a4]
sub ecx, 0x10000
cmp eax, ecx
cmovg eax, ecx
jmp 0x6823714e
lea edx, [rcx + 0x8000]
xor dx, dx
mov r8d, edx
mov edx, dword [rsp + 0x78]
sub edx, r9d
cmp edx, dword [r12 + 0x148]
jl 0x68236f08
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 0x68236f08
mov r8d, eax
mov dword [rdi + 0x20], 0xffffffff
mov dword [rdx + r8 - 4], 0xffffffff
jmp 0x68236f95
mov rbp, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x7c]
mov r11d, edx
jmp 0x6823712c
mov edx, dword [rsp + 0x94]
jmp 0x68237150