Function at 0x631e3880
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 0x631e38f8
mov r9, qword [rcx + 8]
mov rsi, qword [rcx]
mov ecx, r10d
cmp r9, rsi
jbe 0x631e38d9
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 0x631e38e8
mov rsi, rdx
cmp r9, rsi
ja 0x631e38b3
add ecx, 8
mov dword [rbx + 0x14], r8d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x631e38ae
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 0x631e3969
mov rbp, qword [rbx + 8]
mov r9, qword [rbx]
mov ecx, r15d
cmp rbp, r9
jbe 0x631e3948
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 0x631e3957
mov r9, r12
cmp rbp, r9
ja 0x631e3920
add ecx, 8
mov dword [rbx + 0x14], r11d
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x631e391b
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 0x631e39cf
mov rax, qword [rbx + 8]
mov r9, qword [rbx]
cmp rax, r9
jbe 0x631e39af
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 0x631e39bd
mov r9, rsi
cmp rax, r9
ja 0x631e398a
add ecx, 8
mov dword [rbx + 0x14], edi
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x631e3985
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, [0x6355dc60]
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 0x631e3a6e
mov r15, qword [rbx + 8]
mov r10, qword [rbx]
mov ecx, r9d
cmp r15, r10
jbe 0x631e3a52
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 0x631e3a60
mov r10, rsi
cmp r15, r10
ja 0x631e3a2d
add ecx, 8
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x631e3a28
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 0x631e3a18
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 0x631e3b36
mov ecx, dword [rsp + 0xb4]
mov dword [rsp + 0xb0], 0
cmp ecx, 2
jg 0x631e4180
mov r10d, dword [rsp + 0xb8]
cmp r10d, 4
jg 0x631e4180
mov esi, dword [rsp + 0xbc]
cmp esi, 8
jg 0x631e4180
mov edi, dword [rsp + 0xc0]
cmp edi, 0x10
jg 0x631e4180
mov ebp, dword [rsp + 0xc4]
cmp ebp, 0x20
jg 0x631e4180
mov r12d, dword [rsp + 0xc8]
cmp r12d, 0x40
jg 0x631e4180
mov r15d, dword [rsp + 0xcc]
cmp r15d, 0x80
jg 0x631e4180
mov r14d, dword [rsp + 0xd0]
mov dword [rsp + 0x28], r14d
cmp r14d, 0x100
jg 0x631e4180
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x2c], eax
cmp eax, 0x200
jg 0x631e4180
mov r14d, dword [rsp + 0xd8]
mov dword [rsp + 0x38], r14d
cmp r14d, 0x400
jg 0x631e4180
mov eax, dword [rsp + 0xdc]
mov dword [rsp + 0x3c], eax
cmp eax, 0x800
jg 0x631e4180
mov r14d, dword [rsp + 0xe0]
mov dword [rsp + 0x40], r14d
cmp r14d, 0x1000
jg 0x631e4180
mov eax, dword [rsp + 0xe4]
mov dword [rsp + 0x44], eax
cmp eax, 0x2000
jg 0x631e4180
mov r14d, dword [rsp + 0xe8]
mov dword [rsp + 0x48], r14d
cmp r14d, 0x4000
jg 0x631e4180
mov eax, dword [rsp + 0xec]
mov dword [rsp + 0x4c], eax
cmp eax, 0x8000
jg 0x631e4180
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 0x631e3d4b
cmp eax, 4
jg 0x631e424d
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 0x631e3d82
cmp eax, 8
jg 0x631e424d
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 0x631e3dbb
cmp eax, 0x10
jg 0x631e424d
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 0x631e3df1
cmp eax, 0x20
jg 0x631e424d
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 0x631e3e29
cmp eax, 0x40
jg 0x631e424d
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 0x631e3e64
cmp eax, 0x80
jg 0x631e424d
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 0x631e3ea7
cmp eax, 0x100
jg 0x631e424d
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 0x631e3eeb
cmp eax, 0x200
jg 0x631e424d
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 0x631e3f29
cmp eax, 0x400
jg 0x631e424d
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 0x631e3f6a
cmp eax, 0x800
jg 0x631e424d
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 0x631e3fae
cmp eax, 0x1000
jg 0x631e424d
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 0x631e3fef
cmp eax, 0x2000
jg 0x631e424d
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 0x631e402f
cmp eax, 0x4000
jg 0x631e424d
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 0x631e47a0
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 0x631e40a5
add esi, 1
mov dword [rsp + rdi*4 + 0x70], esi
add r10, 1
cmp r10, 0x13
je 0x631e4268
movzx r8d, byte [r13 + r10]
mov ecx, r8d
test r8d, r8d
je 0x631e4097
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 0x631e4090
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 0x631e4168
jmp 0x631e4090
lea rbx, str.bad_sizes
xor eax, eax
mov qword [0x63273660], 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 0x631e45e0
cmp eax, dword [rsp + 0x6cc]
jl 0x631e4750
cmp eax, dword [rsp + 0x6d0]
jl 0x631e4760
cmp eax, dword [rsp + 0x6d4]
jl 0x631e4770
cmp eax, dword [rsp + 0x6d8]
jl 0x631e4780
cmp eax, dword [rsp + 0x6dc]
jl 0x631e4790
lea rdx, str.bad_codelengths
xor eax, eax
mov qword [0x63273660], rdx
jmp 0x631e4190
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 0x631e4301
mov r14, qword [rbx + 8]
mov rax, qword [rbx]
mov ecx, r9d
cmp r14, rax
jbe 0x631e42e4
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 0x631e42f2
mov rax, rdi
cmp r14, rax
ja 0x631e42bd
add ecx, 8
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x631e42b8
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 0x631e41a8
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 0x631e424d
cmp eax, 0xf
jg 0x631e43a8
movsxd rcx, r10d
add r10d, 1
mov byte [rsp + rcx + 0xb0], al
cmp r8d, r10d
jg 0x631e42a8
jne 0x631e424d
lea rbp, [rsp + 0xb0]
lea rcx, [rbx + 0x34]
mov r8d, esi
mov rdx, rbp
call fcn.63206cf0
test eax, eax
je 0x631e4190
mov r8d, dword [rsp + 0x28]
lea rdx, [rbp + rsi]
lea rcx, [rbx + 0x818]
call fcn.63206cf0
test eax, eax
setne r9b
movzx eax, r9b
jmp 0x631e4190
cmp eax, 0x10
je 0x631e4520
cmp eax, 0x11
je 0x631e4470
cmp r9d, 6
jg 0x631e4412
mov r15, qword [rbx + 8]
mov r14, qword [rbx]
mov ecx, r9d
cmp r15, r14
jbe 0x631e43f6
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 0x631e4404
mov r14, rdi
cmp r15, r14
ja 0x631e43cf
add ecx, 8
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x631e43ca
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 0x631e434e
cmp r9d, 2
jg 0x631e44c8
mov r14, qword [rbx + 8]
mov rdi, qword [rbx]
mov ecx, r9d
cmp r14, rdi
jbe 0x631e44ac
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 0x631e44ba
mov rdi, r15
cmp r14, rdi
ja 0x631e4485
add ecx, 8
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x631e4480
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 0x631e4630
test cl, 4
jne 0x631e47dc
test ecx, ecx
jne 0x631e47b0
nop word cs:[rax + rax]
add r10d, ecx
jmp 0x631e434e
cmp r9d, 1
jg 0x631e4577
mov r13, qword [rbx + 8]
mov r14, qword [rbx]
mov ecx, r9d
cmp r13, r14
jbe 0x631e455a
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 0x631e4568
mov r14, rdi
cmp r13, r14
ja 0x631e4535
add ecx, 8
mov dword [rbx + 0x14], edx
mov dword [rbx + 0x10], ecx
cmp ecx, 0x18
jle 0x631e4530
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 0x631e47f3
test ecx, ecx
je 0x631e4510
mov byte [r14], r15b
test cl, 2
je 0x631e4510
mov edi, ecx
mov word [r14 + rdi - 2], r15w
jmp 0x631e4510
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 0x631e4332
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 0x631e4510
lea r15d, [rax - 1]
mov r14d, 8
mov qword [rdi], 0
shr r15d, 3
and r15d, 7
cmp r14d, eax
jae 0x631e4510
test r15d, r15d
je 0x631e46f9
cmp r15d, 1
je 0x631e46e5
cmp r15d, 2
je 0x631e46da
cmp r15d, 3
je 0x631e46cf
cmp r15d, 4
je 0x631e46c4
cmp r15d, 5
je 0x631e46b9
cmp r15d, 6
jne 0x631e47cd
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 0x631e4510
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 0x631e46f9
jmp 0x631e4510
mov edi, 0xb
mov ecx, ebp
sub ecx, edi
jmp 0x631e45f0
mov edi, 0xc
jmp 0x631e4755
mov edi, 0xd
jmp 0x631e4755
mov edi, 0xe
jmp 0x631e4755
mov edi, 0xf
jmp 0x631e4755
cmp eax, 0x8000
jle 0x631e406a
jmp 0x631e424d
mov byte [r15], 0
test cl, 2
je 0x631e4510
mov eax, ecx
xor r14d, r14d
mov word [r15 + rax - 2], r14w
jmp 0x631e4510
mov qword [rdi + r14], r13
mov r14d, 0x10
jmp 0x631e46ae
mov edi, ecx
mov dword [r15], 0
mov dword [r15 + rdi - 4], 0
jmp 0x631e4510
mov r13d, ecx
mov dword [r14], r15d
mov dword [r14 + r13 - 4], r15d
jmp 0x631e4510