Function at 0x6d246bb0
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 0x6d246bf1
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x18], 0
je 0x6d247740
mov rbp, qword [rsp + 0x158]
mov r14, qword [r15 + 0x20]
cmp byte [rbp + 8], 0
je 0x6d247520
mov r10, qword [rsp + 0x158]
mov qword [rbx + 0x20], 0
movdqu xmm5, xmmword [r10 + 0x20]
movdqu xmm1, xmmword [r10]
movdqu xmm3, xmmword [r10 + 0x10]
movups xmmword [rsp + 0xc0], xmm1
movups xmmword [rsp + 0xd0], xmm3
movups xmmword [rsp + 0x40], xmm5
movups xmmword [rsp + 0xe0], xmm5
cmp qword [r10 + 0x10], r14
jb 0x6d246dac
cmp byte [r12 + 0x141], 0
jne 0x6d247630
test r14, r14
je 0x6d247c60
lea rax, [rsp + 0x80]
mov r13, rbx
mov edi, 0xffffff80
xor esi, esi
mov qword [rsp + 0x40], rax
lea rbp, [rsp + 0xe0]
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x60], rbp
mov rbx, rax
jmp 0x6d246cc6
mov r8, rsi
shr dil, 1
and r8d, 7
cmp r8, 7
jne 0x6d246cb9
add rbp, 1
mov edi, 0xffffff80
add rsi, 1
cmp rsi, r14
je 0x6d246dc0
test byte [rbp], dil
je 0x6d246ca0
mov edx, dword [rsp + 0x160]
mov dword [rsp + 0x30], 1
mov r8, rsi
mov r9d, dword [r13 + 0x1c]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], edx
mov rdx, r15
mov dword [rsp + 0x28], r9d
mov r9, r12
call fcn.6d246a00
mov r9, r12
mov r8, rsi
mov rdx, r15
mov r10d, dword [rsp + 0x160]
mov dword [rsp + 0x30], 0
mov ecx, dword [r13 + 0x1c]
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x28], ecx
mov rcx, rbx
call fcn.6d246a00
mov r10d, dword [rsp + 0x80]
test r10b, 0x10
jne 0x6d246d4d
mov eax, dword [rsp + 0xa0]
mov edx, eax
mov dword [rsp + 0x58], eax
and edx, 0x10
je 0x6d247430
mov rdx, qword [rsp + 0x40]
mov r8, rbx
mov rcx, r13
call fcn.6d247e80
mov eax, edi
not eax
and byte [rbp], al
jmp 0x6d246ca0
mov r8, qword [rbp]
test r8, r8
je 0x6d246d99
mov edx, dword [r8]
test edx, edx
jne 0x6d246d99
mov rcx, qword [rsp + 0x158]
mov dword [r8], 0x12
cmp byte [rcx + 8], 0
jne 0x6d246c07
cmp byte [r12 + 0xc], 0
je 0x6d246dac
mov dword [r8], 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 0x6d246f40
mov r11, r14
mov r8, qword [rsp + 0x60]
mov esi, 0xffffff80
xor r13d, r13d
lea rdi, [rsp + 0x80]
lea rbp, [rsp + 0xa0]
and r11d, 3
je 0x6d246e68
cmp r11, 1
je 0x6d246e39
cmp r11, 2
je 0x6d246e14
test byte [r8], sil
jne 0x6d247ca0
mov esi, 0x40
mov r13d, 1
test byte [r8], sil
jne 0x6d247d15
mov rdx, r13
shr sil, 1
and edx, 7
cmp rdx, 7
jne 0x6d246e35
add r8, 1
mov esi, 0xffffff80
add r13, 1
test byte [r8], sil
jne 0x6d247be0
mov r11, r13
shr sil, 1
and r11d, 7
cmp r11, 7
jne 0x6d246e5b
add r8, 1
mov esi, 0xffffff80
add r13, 1
cmp r13, r14
je 0x6d246f19
mov qword [rsp + 0x40], r14
mov r14, r12
mov r12, rbp
mov rbp, rdi
mov rdi, rbx
mov rbx, r8
test byte [rbx], sil
jne 0x6d2478c0
mov rax, r13
shr sil, 1
and eax, 7
cmp rax, 7
jne 0x6d246e9d
add rbx, 1
mov esi, 0xffffff80
add r13, 1
test byte [rbx], sil
jne 0x6d247850
mov rcx, r13
shr sil, 1
and ecx, 7
cmp rcx, 7
jne 0x6d246ec2
add rbx, 1
mov esi, 0xffffff80
lea rdx, [r13 + 1]
test byte [rbx], sil
jne 0x6d2479b0
and edx, 7
shr sil, 1
cmp rdx, 7
jne 0x6d246ee4
add rbx, 1
mov esi, 0xffffff80
lea r11, [r13 + 2]
test byte [rbx], sil
jne 0x6d247930
and r11d, 7
shr sil, 1
cmp r11, 7
jne 0x6d246f07
add rbx, 1
mov esi, 0xffffff80
add r13, 3
cmp r13, qword [rsp + 0x40]
jne 0x6d246e7c
mov rbx, rdi
mov r12d, dword [rbx + 0x20]
mov r8d, r12d
mov r13, qword [rbx + 0x10]
mov qword [r13 + 0x20], 0
test r12d, r12d
jne 0x6d24701e
jmp 0x6d2475a4
mov r8d, dword [r13 + 0x20]
test r8d, r8d
je 0x6d246f78
mov r14d, dword [rbx + 0x38]
test r14d, r14d
jg 0x6d246f78
lea r12d, [r8 - 1]
shl r12, 5
mov ebp, dword [rbx + r12 + 0x38]
test ebp, ebp
js 0x6d246f78
mov rdi, qword [rbx + 0x10]
mov qword [rdi + 0x20], 0
jmp 0x6d24701e
mov ecx, dword [rbx + 0x1c]
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x98], 0
lea r8, [rsp + 0xa0]
mov qword [rsp + 0x80], 0
mov dword [rsp + 0x98], ecx
mov rcx, rbx
mov qword [rsp + 0x88], 0
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.6d247e80
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x10]
mov qword [rdx + 0x20], 0
test r8d, r8d
je 0x6d247388
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 r15d, dword [rbx + rcx + 8]
mov r14d, r15d
and r14d, 0xc
je 0x6d247057
mov rbp, r12
add rcx, 0x20
lea r12, [rsi + 2]
and r15d, 0x10
mov edi, r15d
jne 0x6d247198
mov r9, rsi
mov r10, rbp
mov edx, 0x10000
mov r11d, 0
shl r9, 5
shl r10, 5
mov r15d, 0
mov r13d, dword [rbx + r9 + 0x3c]
mov r9d, dword [rbx + r10 + 0x3c]
movzx r10d, r13w
movzx eax, r9w
sub edx, r10d
test r10d, r10d
cmovne r11d, edx
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 0x6d2473b0
mov r11, r12
lea r8d, [r9 + rdx + 0x8000]
shl r11, 5
cmp dword [rbx + r11 + 0x3c], r8d
jge 0x6d2473b0
test rsi, rsi
je 0x6d24710a
mov r15, rsi
mov r11d, 0xffff8000
sub r11d, eax
shl r15, 5
add r11d, r13d
cmp dword [r15 + rbx + 0x1c], r11d
jg 0x6d2477c0
mov edi, r10d
cmp edx, eax
jge 0x6d247120
test byte [rbx + rcx + 0x28], 0x10
je 0x6d2477ce
nop dword [rax]
mov rdx, rsi
add r13d, edi
shl rdx, 5
mov dword [rbx + rdx + 0x3c], r13d
test r14d, r14d
je 0x6d247410
mov r10, rbp
lea edi, [r9 + rdi]
shl r10, 5
mov dword [rbx + r10 + 0x3c], edi
test rsi, rsi
jne 0x6d24719d
mov rsi, rbp
sub rbp, 1
shl rsi, 5
shl rbp, 5
add rsi, rbx
add rbp, rbx
mov edx, dword [rsi + 0x38]
mov r14d, dword [rbp + 0x38]
cmp edx, r14d
je 0x6d24717f
mov ecx, dword [rsi + 0x3c]
sub edx, r14d
sub ecx, dword [rbp + 0x3c]
call fcn.6d06ca90
mov dword [rbp + 0x40], eax
mov ebp, dword [rbx + 0x20]
mov r8, rbp
cmp rbp, r12
jbe 0x6d2471dd
mov rsi, r12
jmp 0x6d247030
test rsi, rsi
je 0x6d2471c9
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 0x6d2471c9
mov ecx, dword [rsi + 0x3c]
sub edx, eax
sub ecx, dword [rdi + 0x3c]
call fcn.6d06ca90
mov dword [rdi + 0x40], eax
test r14d, r14d
jne 0x6d24714d
mov ebp, dword [rbx + 0x20]
mov r8, rbp
cmp rbp, r12
ja 0x6d24718a
mov rdi, qword [rbx + 0x10]
mov r15, qword [rsp + 0x148]
mov r10, qword [rdi + 0x20]
test r10, r10
je 0x6d247388
mov rsi, qword [rdi + 0x10]
lea r12, [r10 - 1]
mov r11, qword [rdi + 0x30]
mov rax, r10
mov r9, r12
imul r9, rsi
add r9, r11
test r10b, 1
je 0x6d247284
mov rax, r12
mov r8, r9
cmp r10, r12
ja 0x6d247240
mov rcx, qword [rdi + 8]
mov r8, r11
test rcx, rcx
je 0x6d247240
mov r13d, dword [rcx]
test r13d, r13d
jne 0x6d247240
mov dword [rcx], 0x82
nop word [rax + rax]
mov r14, qword [r8]
mov r12d, dword [r8 + 8]
mov rbp, r14
lea rdx, [r14 + 1]
shl rbp, 5
shl rdx, 5
lea rcx, [rbx + rbp + 0x3c]
add rdx, rbx
mov r8d, dword [rcx]
add r8d, r12d
lea r13d, [r8 + 0x8000]
cmp dword [rdx + 0x3c], r13d
jge 0x6d247830
nop dword [rax]
sub r9, rsi
test rax, rax
je 0x6d247388
sub rax, 1
mov rbp, r9
cmp r10, rax
ja 0x6d2472b0
mov r12, qword [rdi + 8]
mov rbp, r11
test r12, r12
je 0x6d2472b0
mov ecx, dword [r12]
test ecx, ecx
jne 0x6d2472b0
mov dword [r12], 0x82
nop dword [rax]
mov r14, qword [rbp]
mov r8d, dword [rbp + 8]
mov rbp, r14
lea rdx, [r14 + 1]
shl rbp, 5
shl rdx, 5
add rbp, rbx
add rdx, rbx
mov r12d, dword [rbp + 0x3c]
add r12d, r8d
lea r13d, [r12 + 0x8000]
cmp dword [rdx + 0x3c], r13d
jl 0x6d2472f9
mov dword [rbp + 0x3c], r12d
test byte [rdx + 8], 0xc
je 0x6d2472f9
sub r14, 1
shl r14, 5
add dword [rbx + r14 + 0x3c], r8d
sub rax, 1
sub r9, rsi
cmp r10, rax
ja 0x6d247420
mov rdx, qword [rdi + 8]
mov r14, r11
test rdx, rdx
je 0x6d247328
mov ecx, dword [rdx]
test ecx, ecx
jne 0x6d247328
mov dword [rdx], 0x82
nop dword [rax]
mov rcx, qword [r14]
mov r8d, dword [r14 + 8]
mov rbp, rcx
lea rdx, [rcx + 1]
shl rbp, 5
shl rdx, 5
add rbp, rbx
add rdx, rbx
mov r12d, dword [rbp + 0x3c]
add r12d, r8d
lea r13d, [r12 + 0x8000]
cmp dword [rdx + 0x3c], r13d
jl 0x6d247278
mov dword [rbp + 0x3c], r12d
test byte [rdx + 8], 0xc
je 0x6d247278
sub rcx, 1
sub r9, rsi
shl rcx, 5
add dword [rbx + rcx + 0x3c], r8d
test rax, rax
jne 0x6d247284
nop dword [rax]
cmp byte [rsp + 0x68], 0
je 0x6d2475a0
mov byte [rbx + 0x18], 1
mov rbx, qword [rsp + 0x158]
mov byte [rbx + 9], 0
jmp 0x6d246dac
test rsi, rsi
je 0x6d247400
lea rdi, [rsi - 1]
mov r15d, 0xffff8000
mov r8, rdi
sub r15d, eax
shl r8, 5
add r15d, r13d
cmp dword [rbx + r8 + 0x3c], r15d
jle 0x6d247400
mov r11, rsi
add r13d, edx
shl r11, 5
mov dword [rbx + r11 + 0x3c], r13d
test r14d, r14d
je 0x6d2471a1
mov r13, rbp
add edx, r9d
shl r13, 5
mov dword [rbx + r13 + 0x3c], edx
jmp 0x6d2471a1
cmp edx, eax
mov edi, edx
cmovg edi, r10d
jmp 0x6d247120
test rsi, rsi
je 0x6d24717f
jmp 0x6d24719d
mov r14, r9
jmp 0x6d247328
mov ecx, dword [r12 + 0x13c]
mov r8d, dword [r12 + 0x14c]
test ecx, ecx
je 0x6d246ca0
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 0x6d247698
test r11d, r11d
je 0x6d246ca0
mov dword [rsp + 0x6c], r10d
lea rdx, [r12 + 0x198]
mov r11d, r9d
jmp 0x6d24749f
add eax, 1
add rdx, 0x14
cmp ecx, eax
je 0x6d246ca0
cmp byte [rdx + 0x10], 0
jne 0x6d247490
mov r9d, dword [rdx]
mov r10d, r9d
sub r10d, r8d
cmp r10d, r11d
jg 0x6d247490
mov r10d, dword [rdx + 4]
add r10d, r8d
cmp r11d, r10d
jg 0x6d247490
mov r10d, dword [rsp + 0x6c]
cmp byte [r12 + 0x140], 0
mov ecx, dword [rsp + 0xb4]
je 0x6d247df8
mov r11d, eax
lea rdx, [r11 + r11*4]
mov r11d, dword [r12 + rdx*4 + 0x1a4]
mov eax, r11d
sub eax, ecx
test r10d, r10d
jne 0x6d247e6f
mov r9d, dword [rsp + 0x58]
add eax, ecx
mov dword [rsp + 0xb4], eax
or r9d, 0x10
mov dword [rsp + 0xa0], r9d
jmp 0x6d246d4d
mov rcx, qword [r8 + 0x20]
add rcx, r14
cmp rcx, 0x60
ja 0x6d246d70
lea rdx, [rcx + 7]
mov r10d, 0x101
mov qword [rbp + 0x10], rcx
shr rdx, 3
mov word [rbp + 8], r10w
mov qword [rbp + 0x18], rdx
test rcx, rcx
je 0x6d247596
test rdx, rdx
je 0x6d24757b
add rbp, 0x20
mov r13, 0xffffffffffffffff
cmp edx, 8
jae 0x6d247a30
test dl, 4
jne 0x6d247e3c
test edx, edx
jne 0x6d247c77
mov r9, qword [rsp + 0x158]
neg ecx
mov r13d, 0xffffffff
and ecx, 7
shl r13d, cl
and byte [r9 + rdx + 0x1f], r13b
mov r14, qword [r15 + 0x20]
jmp 0x6d246c07
mov r12d, dword [rbx + 0x20]
test r12d, r12d
je 0x6d247393
lea rdi, [rbx + 0x28]
xor r10d, r10d
jmp 0x6d2475db
mov dword [rsi + 0x10], r14d
mov byte [rsi], 1
mov r12d, dword [rbx + 0x20]
mov edx, r12d
add rdi, 0x20
cmp rdx, r10
jbe 0x6d247393
mov eax, dword [rdi]
add r10, 1
test al, 0x20
jne 0x6d2475cb
mov rsi, qword [rdi + 8]
cmp rsi, qword [r15 + 0x20]
jb 0x6d247610
mov r11, qword [r15 + 8]
xor esi, esi
test r11, r11
je 0x6d247610
mov r9d, dword [r11]
test r9d, r9d
jne 0x6d247610
mov dword [r11], 0x82
mov eax, dword [rdi]
nop dword [rax + rax]
imul rsi, qword [r15 + 0x10]
add rsi, qword [r15 + 0x30]
and eax, 0xa
mov r14d, dword [rdi + 0x14]
jne 0x6d2475c0
mov dword [rsi + 0xc], r14d
jmp 0x6d2475c4
lea rbp, [rsp + 0xa0]
mov rcx, rbx
lea rdx, [r12 + 0x178]
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov r8, rbp
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
call fcn.6d247e80
lea r8, [r12 + 0x158]
mov rdx, rbp
mov rcx, rbx
call fcn.6d247e80
jmp 0x6d246c5e
lea rax, [r12 + 0x198]
test r11d, r11d
jne 0x6d247b60
mov dword [rsp + 0x78], r10d
mov edx, dword [rsp + 0x6c]
jmp 0x6d2476c9
add r11d, 1
add rax, 0x14
cmp ecx, r11d
je 0x6d246ca0
cmp byte [rax + 0x10], 0
je 0x6d2476b8
mov r9d, dword [rax]
sub r9d, r8d
cmp edx, r9d
jl 0x6d2476b8
mov r9d, dword [rax + 4]
lea r10d, [r9 + r8]
cmp edx, r10d
jg 0x6d2476b8
mov r10d, dword [rsp + 0x78]
cmp byte [r12 + 0x140], 0
mov edx, dword [rsp + 0x94]
je 0x6d247dc0
lea rax, [r11 + r11*4]
mov eax, dword [r12 + rax*4 + 0x1a4]
sub eax, edx
mov ecx, dword [rsp + 0x58]
add edx, eax
or r10d, 0x10
mov dword [rsp + 0x94], edx
mov dword [rsp + 0x80], r10d
test ecx, ecx
je 0x6d246d4d
mov ecx, dword [rsp + 0xb4]
jmp 0x6d2474f7
mov edi, dword [rsp + 0x160]
mov rsi, qword [r9]
mov dword [rsp + 0x28], 1
lea r9, [rsp + 0xc0]
mov qword [rsp + 0x150], r8
mov dword [rsp + 0x20], edi
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xc0], rsi
call fcn.6d246bb0
mov r8, qword [rsp + 0x150]
jmp 0x6d246bf1
xor r10d, r10d
test byte [rbx + rcx + 0x28], 0x10
jne 0x6d247120
mov rax, qword [rbx + 0x10]
sub edx, r10d
mov qword [rsp + 0xa0], rbp
mov dword [rsp + 0xa8], edx
mov rcx, qword [rax + 0x20]
cmp rcx, qword [rax + 0x18]
je 0x6d247d8e
mov r8, qword [rax + 0x10]
lea rdx, [rsp + 0xa0]
mov dword [rsp + 0x58], r9d
mov qword [rsp + 0x40], rax
imul rcx, r8
add rcx, qword [rax + 0x30]
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x40]
mov r9d, dword [rsp + 0x58]
add qword [rcx + 0x20], 1
jmp 0x6d247120
mov dword [rcx], r8d
test byte [rdx + 8], 0xc
je 0x6d247278
sub r14, 1
shl r14, 5
add dword [rbx + r14 + 0x3c], r12d
jmp 0x6d247278
mov r11d, dword [rsp + 0x160]
mov r9, r14
mov rdx, r15
mov rcx, rbp
mov dword [rsp + 0x30], 1
mov r8d, dword [rdi + 0x1c]
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x28], r8d
mov r8, r13
call fcn.6d246a00
mov r8, r13
mov rcx, r12
mov r9, r14
mov dword [rsp + 0x30], 0
mov r10d, dword [rsp + 0x160]
mov edx, dword [rdi + 0x1c]
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x28], edx
mov rdx, r15
call fcn.6d246a00
mov r8, r12
mov rdx, rbp
mov rcx, rdi
call fcn.6d247e80
jmp 0x6d246eaa
mov r10d, dword [rsp + 0x160]
mov r9, r14
mov r8, r13
mov rcx, rbp
mov dword [rsp + 0x30], 1
mov edx, dword [rdi + 0x1c]
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x28], edx
mov rdx, r15
call fcn.6d246a00
mov r9d, dword [rsp + 0x160]
mov r8, r13
mov rdx, r15
mov dword [rsp + 0x30], 0
mov ecx, dword [rdi + 0x1c]
mov dword [rsp + 0x20], r9d
mov r9, r14
mov dword [rsp + 0x28], ecx
mov rcx, r12
call fcn.6d246a00
mov r8, r12
mov rdx, rbp
mov rcx, rdi
call fcn.6d247e80
jmp 0x6d246e85
mov r9d, dword [rsp + 0x160]
mov r8, r11
mov rdx, r15
mov qword [rsp + 0x58], r11
mov dword [rsp + 0x30], 1
mov ecx, dword [rdi + 0x1c]
mov dword [rsp + 0x20], r9d
mov r9, r14
mov dword [rsp + 0x28], ecx
mov rcx, rbp
call fcn.6d246a00
mov r8, qword [rsp + 0x58]
mov r9, r14
mov rdx, r15
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x30], 0
mov rcx, r12
mov r10d, dword [rdi + 0x1c]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], r10d
call fcn.6d246a00
mov r8, r12
mov rdx, rbp
mov rcx, rdi
call fcn.6d247e80
mov r11, qword [rsp + 0x58]
jmp 0x6d246ef1
mov eax, dword [rsp + 0x160]
mov r8, rdx
mov qword [rsp + 0x58], rdx
mov rcx, rbp
mov dword [rsp + 0x30], 1
mov r9d, dword [rdi + 0x1c]
mov rdx, r15
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], r9d
mov r9, r14
call fcn.6d246a00
mov r9, r14
mov rdx, r15
mov rcx, r12
mov r11d, dword [rsp + 0x160]
mov dword [rsp + 0x30], 0
mov r8d, dword [rdi + 0x1c]
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x28], r8d
mov r8, qword [rsp + 0x58]
call fcn.6d246a00
mov rdx, rbp
mov r8, r12
mov rcx, rdi
call fcn.6d247e80
mov rdx, qword [rsp + 0x58]
jmp 0x6d246ecf
mov rsi, qword [rsp + 0x158]
mov edi, edx
mov qword [rsi + 0x20], 0xffffffffffffffff
mov qword [rbp + rdi - 8], 0xffffffffffffffff
mov r10, qword [rsp + 0x158]
lea r9, [r10 + 0x28]
and r9, 0xfffffffffffffff8
sub rbp, r9
lea eax, [rdx + rbp]
mov ebp, eax
and ebp, 0xfffffff8
cmp ebp, 8
jb 0x6d24757b
lea r11d, [rbp - 1]
mov r14d, 8
mov qword [r9], 0xffffffffffffffff
mov r8d, ebp
shr r11d, 3
and r11d, 7
cmp r14d, ebp
jae 0x6d24757b
test r11d, r11d
je 0x6d247b12
cmp r11d, 1
je 0x6d247afe
cmp r11d, 2
je 0x6d247af3
cmp r11d, 3
je 0x6d247ae8
cmp r11d, 4
je 0x6d247add
cmp r11d, 5
je 0x6d247ad2
cmp r11d, 6
je 0x6d247ac7
mov qword [r9 + r14], r13
mov r14d, 0x10
mov esi, r14d
add r14d, 8
mov qword [r9 + rsi], r13
mov edi, r14d
add r14d, 8
mov qword [r9 + rdi], r13
mov r10d, r14d
add r14d, 8
mov qword [r9 + r10], r13
mov eax, r14d
add r14d, 8
mov qword [r9 + rax], r13
mov ebp, r14d
add r14d, 8
mov qword [r9 + rbp], r13
mov r11d, r14d
add r14d, 8
mov qword [r9 + r11], r13
cmp r14d, r8d
jae 0x6d24757b
mov esi, r14d
lea edi, [r14 + 8]
lea r10d, [r14 + 0x10]
mov qword [r9 + rsi], r13
lea eax, [r14 + 0x18]
lea ebp, [r14 + 0x20]
mov qword [r9 + rdi], r13
lea r11d, [r14 + 0x28]
lea esi, [r14 + 0x30]
lea edi, [r14 + 0x38]
add r14d, 0x40
mov qword [r9 + r10], r13
mov qword [r9 + rax], r13
mov qword [r9 + rbp], r13
mov qword [r9 + r11], r13
mov qword [r9 + rsi], r13
mov qword [r9 + rdi], r13
cmp r14d, r8d
jb 0x6d247b12
jmp 0x6d24757b
mov qword [rsp + 0x70], rbp
mov r11d, dword [rsp + 0x6c]
mov dword [rsp + 0x7c], r10d
mov ebp, dword [rsp + 0x78]
jmp 0x6d247b9c
sub r9d, r8d
cmp r9d, r11d
jg 0x6d247b91
mov r9d, dword [rax + 4]
lea r10d, [r8 + r9]
cmp r11d, r10d
jle 0x6d247e5d
add edx, 1
add rax, 0x14
cmp edx, ecx
je 0x6d247bd0
cmp byte [rax + 0x10], 0
mov r9d, dword [rax]
jne 0x6d247b78
mov r10d, r9d
sub r10d, r8d
cmp r10d, ebp
jg 0x6d247b91
mov r10d, dword [rax + 4]
add r10d, r8d
cmp ebp, r10d
jg 0x6d247b91
mov rbp, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x7c]
mov eax, edx
jmp 0x6d2474c4
mov rbp, qword [rsp + 0x70]
jmp 0x6d246ca0
mov ecx, dword [rsp + 0x160]
mov qword [rsp + 0x40], r8
mov r9, r12
mov r8, r13
mov dword [rsp + 0x30], 1
mov r10d, dword [rbx + 0x1c]
mov rdx, r15
mov dword [rsp + 0x20], ecx
mov rcx, rdi
mov dword [rsp + 0x28], r10d
call fcn.6d246a00
mov r8, r13
mov rdx, r15
mov rcx, rbp
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x30], 0
mov r9d, dword [rbx + 0x1c]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], r9d
mov r9, r12
call fcn.6d246a00
mov r8, rbp
mov rdx, rdi
mov rcx, rbx
call fcn.6d247e80
mov r8, qword [rsp + 0x40]
jmp 0x6d246e42
mov r12d, dword [rbx + 0x20]
cmp byte [rsp + 0x68], 0
mov r8d, r12d
jne 0x6d246f44
jmp 0x6d246f20
mov r11, qword [rsp + 0x158]
mov byte [r11 + 0x20], 0xff
test dl, 2
je 0x6d24757b
mov r14d, edx
mov eax, 0xffffffff
mov word [rbp + r14 - 2], ax
jmp 0x6d24757b
mov edx, dword [rsp + 0x160]
mov qword [rsp + 0x40], r8
mov r9, r12
xor r8d, r8d
mov dword [rsp + 0x30], 1
mov esi, dword [rbx + 0x1c]
mov rcx, rdi
mov dword [rsp + 0x20], edx
mov rdx, r15
mov dword [rsp + 0x28], esi
call fcn.6d246a00
mov r9, r12
xor r8d, r8d
mov rdx, r15
mov ecx, dword [rsp + 0x160]
mov dword [rsp + 0x30], 0
mov r10d, dword [rbx + 0x1c]
mov dword [rsp + 0x20], ecx
mov rcx, rbp
mov dword [rsp + 0x28], r10d
call fcn.6d246a00
mov r8, rbp
mov rdx, rdi
mov rcx, rbx
call fcn.6d247e80
mov r8, qword [rsp + 0x40]
jmp 0x6d246e09
mov eax, dword [rsp + 0x160]
mov qword [rsp + 0x40], r8
mov rdx, r15
mov r8, r13
mov dword [rsp + 0x30], 1
mov r9d, dword [rbx + 0x1c]
mov rcx, rdi
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], r9d
mov r9, r12
call fcn.6d246a00
mov r9, r12
mov rdx, r15
mov rcx, rbp
mov r11d, dword [rsp + 0x160]
mov dword [rsp + 0x30], 0
mov r8d, dword [rbx + 0x1c]
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x28], r8d
mov r8, r13
call fcn.6d246a00
mov r8, rbp
mov rdx, rdi
mov rcx, rbx
call fcn.6d247e80
mov r8, qword [rsp + 0x40]
jmp 0x6d246e1d
lea rdx, [rcx + rcx + 0x10]
mov rcx, rax
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x58], rax
call fcn.6d242700
mov r9d, dword [rsp + 0x40]
test al, al
je 0x6d247120
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
jmp 0x6d2477f2
lea eax, [rdx + 0x8000]
sub r9d, dword [rsp + 0x6c]
xor ax, ax
cmp r9d, dword [r12 + 0x148]
jl 0x6d24770e
lea r8, [r11 + r11*4]
mov ecx, dword [r12 + r8*4 + 0x1a4]
sub ecx, 0x10000
cmp eax, ecx
cmovg eax, ecx
jmp 0x6d24770e
mov edx, dword [rsp + 0x78]
lea r8d, [rcx + 0x8000]
xor r8w, r8w
mov r11d, r8d
sub edx, r9d
cmp edx, dword [r12 + 0x148]
jl 0x6d2474e9
mov eax, eax
lea r9, [rax + rax*4]
mov r8d, dword [r12 + r9*4 + 0x1a4]
add r8d, 0x10000
cmp r11d, r8d
cmovl r11d, r8d
jmp 0x6d2474e9
mov r8, qword [rsp + 0x158]
mov r9d, edx
mov dword [r8 + 0x20], 0xffffffff
mov dword [rbp + r9 - 4], 0xffffffff
jmp 0x6d24757b
mov rbp, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x7c]
mov r11d, edx
jmp 0x6d2476ec
mov edx, dword [rsp + 0x94]
jmp 0x6d247710