Function at 0x6838b3b0
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, 0xa78
mov r10d, dword [rcx + 0x10]
mov r8d, dword [rcx + 0x14]
mov rbx, rcx
cmp r10d, 4
jg 0x6838b428
mov r9, qword [rcx + 8]
mov rsi, qword [rcx]
mov ecx, r10d
cmp r9, rsi
jbe 0x6838b409
lea rdx, [rsi + 1]
mov qword [rbx], rdx
movzx eax, byte [rsi]
shl eax, cl
add ecx, 8
or r8d, eax
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], r8d
cmp ecx, 0x18
jg 0x6838b418
mov rsi, rdx
cmp r9, rsi
ja 0x6838b3e3
add ecx, 8
mov dword [rbx + 0x14], r8d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6838b3de
mov edi, 0x18
sub edi, r10d
and edi, 0xfffffff8
lea r10d, [r10 + rdi + 8]
mov r11d, r8d
lea r15d, [r10 - 5]
shr r11d, 5
mov dword [rbx + 0x10], r15d
mov dword [rbx + 0x14], r11d
cmp r15d, 4
jg 0x6838b499
mov rbp, qword [rbx + 8]
mov r9, qword [rbx]
mov ecx, r15d
cmp rbp, r9
jbe 0x6838b478
lea r12, [r9 + 1]
mov qword [rbx], r12
movzx r13d, byte [r9]
shl r13d, cl
add ecx, 8
or r11d, r13d
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], r11d
cmp ecx, 0x18
jg 0x6838b487
mov r9, r12
cmp rbp, r9
ja 0x6838b450
add ecx, 8
mov dword [rbx + 0x14], r11d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6838b44b
mov r14d, 0x1d
sub r14d, r10d
and r14d, 0xfffffff8
lea r15d, [r10 + r14 + 3]
mov edi, r11d
lea ecx, [r15 - 5]
shr edi, 5
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], edi
cmp ecx, 3
jg 0x6838b4ff
mov rax, qword [rbx + 8]
mov r9, qword [rbx]
cmp rax, r9
jbe 0x6838b4df
lea rsi, [r9 + 1]
mov qword [rbx], rsi
movzx edx, byte [r9]
shl edx, cl
add ecx, 8
or edi, edx
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], edi
cmp ecx, 0x18
jg 0x6838b4ed
mov r9, rsi
cmp rax, r9
ja 0x6838b4ba
add ecx, 8
mov dword [rbx + 0x14], edi
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6838b4b5
mov r10d, 0x1d
sub r10d, r15d
and r10d, 0xfffffff8
lea ecx, [r15 + r10 + 3]
mov edx, edi
lea r9d, [rcx - 4]
xor ebp, ebp
mov byte [rsp + 0x62], 0
shr edx, 4
mov dword [rbx + 0x10], r9d
and edi, 0xf
xor r14d, r14d
mov dword [rbx + 0x14], edx
add edi, 4
lea r12, [0x684b3240]
mov r13d, 0x18
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov word [rsp + 0x60], bp
nop dword [rax + rax]
cmp r9d, 2
jg 0x6838b59e
mov r15, qword [rbx + 8]
mov r10, qword [rbx]
mov ecx, r9d
cmp r15, r10
jbe 0x6838b582
lea rsi, [r10 + 1]
mov qword [rbx], rsi
movzx eax, byte [r10]
shl eax, cl
add ecx, 8
or edx, eax
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], edx
cmp ecx, 0x18
jg 0x6838b590
mov r10, rsi
cmp r15, r10
ja 0x6838b55d
add ecx, 8
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6838b558
mov ebp, r13d
sub ebp, r9d
and ebp, 0xfffffff8
lea r9d, [r9 + rbp + 8]
movzx ecx, byte [r12 + r14]
mov r15d, edx
sub r9d, 3
shr edx, 3
and r15d, 7
add r14, 1
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], r9d
mov byte [rsp + rcx + 0x50], r15b
cmp edi, r14d
jg 0x6838b548
lea rdi, [rsp + 0x280]
mov ecx, pe_nt_image_headers64
xor eax, eax
movzx r12d, byte [rsp + 0x50]
mov qword [rsp + 0x30], rdi
lea r13, [rsp + 0x50]
lea r14, [rsp + 0x63]
rep stosq qword [rdi], rax
mov qword [rsp + 0xb0], 0
lea rsi, [rsp + 0x51]
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 0
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 dword [rsp + 0xf0], 0
add dword [rsp + r12*4 + 0xb0], 1
movzx r10d, byte [rsi]
movzx ebp, byte [rsi + 1]
add rsi, 9
movzx r15d, byte [rsi - 7]
movzx edi, byte [rsi - 6]
add dword [rsp + r10*4 + 0xb0], 1
movzx ecx, byte [rsi - 5]
add dword [rsp + rbp*4 + 0xb0], 1
movzx eax, byte [rsi - 4]
movzx r12d, byte [rsi - 3]
movzx r10d, byte [rsi - 2]
add dword [rsp + r15*4 + 0xb0], 1
movzx ebp, byte [rsi - 1]
add dword [rsp + rdi*4 + 0xb0], 1
add dword [rsp + rcx*4 + 0xb0], 1
add dword [rsp + rax*4 + 0xb0], 1
add dword [rsp + r12*4 + 0xb0], 1
add dword [rsp + r10*4 + 0xb0], 1
add dword [rsp + rbp*4 + 0xb0], 1
cmp r14, rsi
jne 0x6838b666
mov ecx, dword [rsp + 0xb4]
mov dword [rsp + 0xb0], 0
cmp ecx, 2
jg 0x6838bcb0
mov r10d, dword [rsp + 0xb8]
cmp r10d, 4
jg 0x6838bcb0
mov esi, dword [rsp + 0xbc]
cmp esi, 8
jg 0x6838bcb0
mov edi, dword [rsp + 0xc0]
cmp edi, 0x10
jg 0x6838bcb0
mov ebp, dword [rsp + 0xc4]
cmp ebp, 0x20
jg 0x6838bcb0
mov r12d, dword [rsp + 0xc8]
cmp r12d, 0x40
jg 0x6838bcb0
mov r15d, dword [rsp + 0xcc]
cmp r15d, 0x80
jg 0x6838bcb0
mov r14d, dword [rsp + 0xd0]
mov dword [rsp + 0x28], r14d
cmp r14d, 0x100
jg 0x6838bcb0
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x2c], eax
cmp eax, 0x200
jg 0x6838bcb0
mov r14d, dword [rsp + 0xd8]
mov dword [rsp + 0x38], r14d
cmp r14d, 0x400
jg 0x6838bcb0
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0x3c], eax
cmp eax, 0x800
jg 0x6838bcb0
mov r14d, dword [rsp + 0xe0]
mov dword [rsp + 0x40], r14d
cmp r14d, 0x1000
jg 0x6838bcb0
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x44], eax
cmp eax, 0x2000
jg 0x6838bcb0
mov r14d, dword [rsp + 0xe8]
mov dword [rsp + 0x48], r14d
cmp r14d, 0x4000
jg 0x6838bcb0
mov eax, dword [rsp + 0xec]
mov dword [rsp + 0x4c], eax
cmp eax, 0x8000
jg 0x6838bcb0
xor r14d, r14d
xor eax, eax
mov dword [rsp + 0x74], 0
mov word [rsp + 0x682], r14w
mov r14d, ecx
mov word [rsp + 0x6e6], ax
shl r14d, 0xf
lea eax, [rcx + rcx]
mov dword [rsp + 0x78], eax
mov word [rsp + 0x684], ax
add eax, r10d
mov dword [rsp + 0x6a4], r14d
mov word [rsp + 0x6e8], cx
test r10d, r10d
je 0x6838b87b
cmp eax, 4
jg 0x6838bd7d
mov r14d, eax
add ecx, r10d
add eax, eax
shl r14d, 0xe
mov dword [rsp + 0x7c], eax
mov word [rsp + 0x686], ax
add eax, esi
mov dword [rsp + 0x6a8], r14d
mov word [rsp + 0x6ea], cx
test esi, esi
je 0x6838b8b2
cmp eax, 8
jg 0x6838bd7d
mov r10d, eax
add ecx, esi
add eax, eax
shl r10d, 0xd
mov dword [rsp + 0x80], eax
mov word [rsp + 0x688], ax
add eax, edi
mov dword [rsp + 0x6ac], r10d
mov word [rsp + 0x6ec], cx
test edi, edi
je 0x6838b8eb
cmp eax, 0x10
jg 0x6838bd7d
mov esi, eax
add ecx, edi
add eax, eax
shl esi, 0xc
mov dword [rsp + 0x84], eax
mov word [rsp + 0x68a], ax
add eax, ebp
mov dword [rsp + 0x6b0], esi
mov word [rsp + 0x6ee], cx
test ebp, ebp
je 0x6838b921
cmp eax, 0x20
jg 0x6838bd7d
mov edi, eax
add ecx, ebp
add eax, eax
shl edi, 0xb
mov dword [rsp + 0x88], eax
mov word [rsp + 0x68c], ax
add eax, r12d
mov dword [rsp + 0x6b4], edi
mov word [rsp + 0x6f0], cx
test r12d, r12d
je 0x6838b959
cmp eax, 0x40
jg 0x6838bd7d
mov ebp, eax
add ecx, r12d
add eax, eax
shl ebp, 0xa
mov dword [rsp + 0x8c], eax
mov word [rsp + 0x68e], ax
add eax, r15d
mov dword [rsp + 0x6b8], ebp
mov word [rsp + 0x6f2], cx
test r15d, r15d
je 0x6838b994
cmp eax, 0x80
jg 0x6838bd7d
mov r12d, eax
add ecx, r15d
mov r15d, dword [rsp + 0x28]
add eax, eax
shl r12d, 9
mov dword [rsp + 0x90], eax
mov word [rsp + 0x690], ax
add eax, r15d
mov dword [rsp + 0x6bc], r12d
mov word [rsp + 0x6f4], cx
test r15d, r15d
je 0x6838b9d7
cmp eax, 0x100
jg 0x6838bd7d
mov r14d, eax
mov r10d, dword [rsp + 0x2c]
add eax, eax
add ecx, dword [rsp + 0x28]
shl r14d, 8
mov dword [rsp + 0x94], eax
mov word [rsp + 0x692], ax
add eax, r10d
mov dword [rsp + 0x6c0], r14d
mov word [rsp + 0x6f6], cx
test r10d, r10d
je 0x6838ba1b
cmp eax, 0x200
jg 0x6838bd7d
mov esi, eax
mov edi, dword [rsp + 0x38]
add eax, eax
add ecx, dword [rsp + 0x2c]
shl esi, 7
mov dword [rsp + 0x98], eax
mov word [rsp + 0x694], ax
add eax, edi
mov dword [rsp + 0x6c4], esi
mov word [rsp + 0x6f8], cx
test edi, edi
je 0x6838ba59
cmp eax, 0x400
jg 0x6838bd7d
mov ebp, eax
mov r12d, dword [rsp + 0x3c]
add eax, eax
add ecx, dword [rsp + 0x38]
shl ebp, 6
mov dword [rsp + 0x9c], eax
mov word [rsp + 0x696], ax
add eax, r12d
mov dword [rsp + 0x6c8], ebp
mov word [rsp + 0x6fa], cx
test r12d, r12d
je 0x6838ba9a
cmp eax, 0x800
jg 0x6838bd7d
mov r15d, eax
mov r14d, dword [rsp + 0x40]
add eax, eax
add ecx, dword [rsp + 0x3c]
shl r15d, 5
mov dword [rsp + 0xa0], eax
mov word [rsp + 0x698], ax
add eax, r14d
mov dword [rsp + 0x6cc], r15d
mov word [rsp + 0x6fc], cx
test r14d, r14d
je 0x6838bade
cmp eax, 0x1000
jg 0x6838bd7d
mov r10d, eax
mov esi, dword [rsp + 0x44]
add eax, eax
add ecx, dword [rsp + 0x40]
shl r10d, 4
mov dword [rsp + 0xa4], eax
mov word [rsp + 0x69a], ax
add eax, esi
mov dword [rsp + 0x6d0], r10d
mov word [rsp + 0x6fe], cx
test esi, esi
je 0x6838bb1f
cmp eax, 0x2000
jg 0x6838bd7d
mov ebp, dword [rsp + 0x48]
lea edi, [rax*8]
add ecx, dword [rsp + 0x44]
add eax, eax
mov dword [rsp + 0xa8], eax
mov word [rsp + 0x69c], ax
add eax, ebp
mov dword [rsp + 0x6d4], edi
mov word [rsp + 0x700], cx
test ebp, ebp
je 0x6838bb5f
cmp eax, 0x4000
jg 0x6838bd7d
add ecx, dword [rsp + 0x48]
lea r12d, [rax*4]
add eax, eax
mov word [rsp + 0x702], cx
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0xac], eax
mov word [rsp + 0x69e], ax
add eax, ecx
mov dword [rsp + 0x6d8], r12d
test ecx, ecx
jne 0x6838c2d0
add eax, eax
mov dword [rsp + 0x28], r8d
mov r14, qword [rsp + 0x30]
xor r10d, r10d
mov dword [rsp + 0x6dc], eax
mov dword [rsp + 0x6e0], 0x10000
jmp 0x6838bbd5
add esi, 1
mov dword [rsp + rdi*4 + 0x70], esi
add r10, 1
cmp r10, 0x13
je 0x6838bd98
movzx r8d, byte [r13 + r10]
mov ecx, r8d
test r8d, r8d
je 0x6838bbc7
movsxd rdi, r8d
mov esi, dword [rsp + rdi*4 + 0x70]
movzx eax, word [rsp + rdi*2 + 0x680]
movzx ebp, word [rsp + rdi*2 + 0x6e4]
mov r15d, esi
sub r15d, eax
mov eax, r15d
add eax, ebp
cdqe
mov byte [rsp + rax + 0x704], r8b
mov word [rsp + rax*2 + 0x824], r10w
cmp r8d, 9
jg 0x6838bbc0
mov ebp, esi
lea eax, [rsi + rsi]
mov r12d, r8d
sar ebp, 1
and eax, 0xaaaa
shl r12d, 9
and ebp, 0x5555
or r12d, r10d
or eax, ebp
mov r15d, eax
lea ebp, [rax*4]
sar r15d, 2
and ebp, 0xcccc
and r15d, 0x3333
or ebp, r15d
mov eax, ebp
shl ebp, 4
sar eax, 4
and ebp, 0xf0f0
and eax, 0xf0f
or eax, ebp
mov ebp, 1
mov r15d, eax
shl eax, 8
shl ebp, cl
sar r15d, 8
movzx eax, ax
mov ecx, 0x10
or eax, r15d
sub ecx, r8d
movsxd rbp, ebp
sar eax, cl
cdqe
nop dword [rax]
mov word [r14 + rax*2], r12w
add rax, rbp
cmp eax, 0x1ff
jle 0x6838bc98
jmp 0x6838bbc0
lea rbx, str.bad_sizes
xor eax, eax
mov qword [0x683c4440], rbx
add rsp, 0xa78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edi, edx
lea r15d, [rdx + rdx]
sar edi, 1
and r15d, 0xaaaa
and edi, 0x5555
or edi, r15d
mov eax, edi
shl edi, 2
sar eax, 2
and edi, 0xcccc
and eax, 0x3333
or eax, edi
mov r13d, eax
shl eax, 4
sar r13d, 4
and eax, 0xf0f0
and r13d, 0xf0f
or r13d, eax
mov eax, r13d
shl r13d, 8
sar eax, 8
movzx r14d, r13w
or eax, r14d
cmp dword [rsp + 0x6c8], eax
jg 0x6838c110
cmp eax, dword [rsp + 0x6cc]
jl 0x6838c280
cmp eax, dword [rsp + 0x6d0]
jl 0x6838c290
cmp eax, dword [rsp + 0x6d4]
jl 0x6838c2a0
cmp eax, dword [rsp + 0x6d8]
jl 0x6838c2b0
cmp eax, dword [rsp + 0x6dc]
jl 0x6838c2c0
lea rdx, str.bad_codelengths
xor eax, eax
mov qword [0x683c4440], rdx
jmp 0x6838bcc0
mov r13d, dword [rsp + 0x28]
and r11d, 0x1f
xor r10d, r10d
mov ebp, 0x10
movabs r12, 0x101010101010101
lea r11d, [r11 + 1]
and r13d, 0x1f
mov dword [rsp + 0x28], r11d
lea esi, [r13 + 0x101]
lea r8d, [rsi + r11]
mov r11d, 0x18
nop dword [rax]
cmp r9d, 0xf
jg 0x6838be31
mov r14, qword [rbx + 8]
mov rax, qword [rbx]
mov ecx, r9d
cmp r14, rax
jbe 0x6838be14
lea rdi, [rax + 1]
mov qword [rbx], rdi
movzx r15d, byte [rax]
shl r15d, cl
add ecx, 8
or edx, r15d
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], edx
cmp ecx, 0x18
jg 0x6838be22
mov rax, rdi
cmp r14, rax
ja 0x6838bded
add ecx, 8
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6838bde8
mov r13d, r11d
sub r13d, r9d
and r13d, 0xfffffff8
lea r9d, [r9 + r13 + 8]
mov r14d, edx
and r14d, 0x1ff
movzx ecx, word [rsp + r14*2 + 0x280]
mov eax, ecx
test ecx, ecx
je 0x6838bcd8
sar ecx, 9
and eax, 0x1ff
shr edx, cl
sub r9d, ecx
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], r9d
cmp eax, 0x12
jg 0x6838bd7d
cmp eax, 0xf
jg 0x6838bed8
movsxd rcx, r10d
add r10d, 1
mov byte [rsp + rcx + 0xb0], al
cmp r8d, r10d
jg 0x6838bdd8
jne 0x6838bd7d
lea rbp, [rsp + 0xb0]
lea rcx, [rbx + 0x34]
mov r8d, esi
mov rdx, rbp
call fcn.683ae820
test eax, eax
je 0x6838bcc0
mov r8d, dword [rsp + 0x28]
lea rdx, [rbp + rsi]
lea rcx, [rbx + 0x818]
call fcn.683ae820
test eax, eax
setne r9b
movzx eax, r9b
jmp 0x6838bcc0
cmp eax, 0x10
je 0x6838c050
cmp eax, 0x11
je 0x6838bfa0
cmp r9d, 6
jg 0x6838bf42
mov r15, qword [rbx + 8]
mov r14, qword [rbx]
mov ecx, r9d
cmp r15, r14
jbe 0x6838bf26
lea rdi, [r14 + 1]
mov qword [rbx], rdi
movzx r13d, byte [r14]
shl r13d, cl
add ecx, 8
or edx, r13d
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], edx
cmp ecx, 0x18
jg 0x6838bf34
mov r14, rdi
cmp r15, r14
ja 0x6838beff
add ecx, 8
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6838befa
mov eax, r11d
sub eax, r9d
and eax, 0xfffffff8
lea r9d, [r9 + rax + 8]
movsxd rdi, r10d
mov r15d, edx
sub r9d, 7
shr edx, 7
lea rax, [rsp + rdi + 0xb0]
and r15d, 0x7f
mov dword [rbx + 0x14], edx
lea rdi, [rax + 8]
lea ecx, [r15 + 0xb]
mov dword [rbx + 0x10], r9d
and rdi, 0xfffffffffffffff8
mov qword [rax], 0
mov r13, rcx
mov qword [rax + rcx - 8], 0
sub rax, rdi
add r10d, r13d
lea ecx, [rcx + rax]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
jmp 0x6838be7e
cmp r9d, 2
jg 0x6838bff8
mov r14, qword [rbx + 8]
mov rdi, qword [rbx]
mov ecx, r9d
cmp r14, rdi
jbe 0x6838bfdc
lea r15, [rdi + 1]
mov qword [rbx], r15
movzx r13d, byte [rdi]
shl r13d, cl
add ecx, 8
or edx, r13d
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], edx
cmp ecx, 0x18
jg 0x6838bfea
mov rdi, r15
cmp r14, rdi
ja 0x6838bfb5
add ecx, 8
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6838bfb0
mov eax, r11d
sub eax, r9d
and eax, 0xfffffff8
lea r9d, [r9 + rax + 8]
mov ecx, edx
sub r9d, 3
shr edx, 3
movsxd r14, r10d
and ecx, 7
mov dword [rbx + 0x14], edx
xor r13d, r13d
lea r15, [rsp + r14 + 0xb0]
add ecx, 3
mov dword [rbx + 0x10], r9d
cmp ecx, 8
jae 0x6838c160
test cl, 4
jne 0x6838c30c
test ecx, ecx
jne 0x6838c2e0
nop word cs:[rax + rax]
add r10d, ecx
jmp 0x6838be7e
cmp r9d, 1
jg 0x6838c0a7
mov r13, qword [rbx + 8]
mov r14, qword [rbx]
mov ecx, r9d
cmp r13, r14
jbe 0x6838c08a
lea rdi, [r14 + 1]
mov qword [rbx], rdi
movzx eax, byte [r14]
shl eax, cl
add ecx, 8
or edx, eax
mov dword [rbx + 0x10], ecx
mov dword [rbx + 0x14], edx
cmp ecx, 0x18
jg 0x6838c098
mov r14, rdi
cmp r13, r14
ja 0x6838c065
add ecx, 8
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x6838c060
mov r15d, r11d
sub r15d, r9d
and r15d, 0xfffffff8
lea r9d, [r9 + r15 + 8]
lea eax, [r10 - 1]
mov r13d, edx
sub r9d, 2
shr edx, 2
cdqe
and r13d, 3
movsxd rdi, r10d
mov dword [rbx + 0x14], edx
lea ecx, [r13 + 3]
mov dword [rbx + 0x10], r9d
movzx r15d, byte [rsp + rax + 0xb0]
lea r14, [rsp + rdi + 0xb0]
imul r15, r12
test cl, 4
jne 0x6838c323
test ecx, ecx
je 0x6838c040
mov byte [r14], r15b
test cl, 2
je 0x6838c040
mov edi, ecx
mov word [r14 + rdi - 2], r15w
jmp 0x6838c040
mov ecx, 6
mov edi, 0xa
nop word [rax + rax]
movsxd r15, edi
sar eax, cl
mov ecx, edi
sub r9d, edi
movzx r13d, word [rsp + r15*2 + 0x680]
shr edx, cl
mov dword [rbx + 0x10], r9d
movzx r14d, word [rsp + r15*2 + 0x6e4]
mov dword [rbx + 0x14], edx
sub eax, r13d
add eax, r14d
cdqe
movzx eax, word [rsp + rax*2 + 0x824]
jmp 0x6838be62
mov edi, ecx
mov qword [r15], 0
mov qword [r15 + rdi - 8], 0
lea rdi, [r15 + 8]
and rdi, 0xfffffffffffffff8
sub r15, rdi
add r15d, ecx
mov eax, r15d
and eax, 0xfffffff8
cmp eax, 8
jb 0x6838c040
lea r15d, [rax - 1]
mov r14d, 8
mov qword [rdi], 0
shr r15d, 3
and r15d, 7
cmp r14d, eax
jae 0x6838c040
test r15d, r15d
je 0x6838c229
cmp r15d, 1
je 0x6838c215
cmp r15d, 2
je 0x6838c20a
cmp r15d, 3
je 0x6838c1ff
cmp r15d, 4
je 0x6838c1f4
cmp r15d, 5
je 0x6838c1e9
cmp r15d, 6
jne 0x6838c2fd
mov r15d, r14d
add r14d, 8
mov qword [rdi + r15], r13
mov r15d, r14d
add r14d, 8
mov qword [rdi + r15], r13
mov r15d, r14d
add r14d, 8
mov qword [rdi + r15], r13
mov r15d, r14d
add r14d, 8
mov qword [rdi + r15], r13
mov r15d, r14d
add r14d, 8
mov qword [rdi + r15], r13
mov r15d, r14d
add r14d, 8
mov qword [rdi + r15], r13
cmp r14d, eax
jae 0x6838c040
mov r15d, r14d
mov qword [rdi + r15], r13
lea r15d, [r14 + 8]
mov qword [rdi + r15], r13
lea r15d, [r14 + 0x10]
mov qword [rdi + r15], r13
lea r15d, [r14 + 0x18]
mov qword [rdi + r15], r13
lea r15d, [r14 + 0x20]
mov qword [rdi + r15], r13
lea r15d, [r14 + 0x28]
mov qword [rdi + r15], r13
lea r15d, [r14 + 0x30]
mov qword [rdi + r15], r13
lea r15d, [r14 + 0x38]
add r14d, 0x40
mov qword [rdi + r15], r13
cmp r14d, eax
jb 0x6838c229
jmp 0x6838c040
mov edi, 0xb
mov ecx, ebp
sub ecx, edi
jmp 0x6838c120
mov edi, 0xc
jmp 0x6838c285
mov edi, 0xd
jmp 0x6838c285
mov edi, 0xe
jmp 0x6838c285
mov edi, 0xf
jmp 0x6838c285
cmp eax, 0x8000
jle 0x6838bb9a
jmp 0x6838bd7d
mov byte [r15], 0
test cl, 2
je 0x6838c040
mov eax, ecx
xor r14d, r14d
mov word [r15 + rax - 2], r14w
jmp 0x6838c040
mov qword [rdi + r14], r13
mov r14d, 0x10
jmp 0x6838c1de
mov edi, ecx
mov dword [r15], 0
mov dword [r15 + rdi - 4], 0
jmp 0x6838c040
mov r13d, ecx
mov dword [r14], r15d
mov dword [r14 + r13 - 4], r15d
jmp 0x6838c040