Function at 0x1401589f0
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f68]
mov eax, 0x2068
call fcn.140317e30
sub rsp, rax
mov rax, qword [0x14046c618]
xor rax, rsp
mov qword [rbp + 0x1f50], rax
mov rdi, r8
mov qword [rsp + 0x48], rdx
mov rsi, rdx
mov ebx, ecx
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x1000
mov r14, r9
call fcn.140319f10
xor edx, edx
mov r8d, ebx
and r8d, 0xffffffe0
jbe 0x140158c50
nop dword [rax]
nop dword [rax + rax]
mov ecx, edx
add rcx, rsi
mov rax, qword [rcx]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 1]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 2]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 3]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 4]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 5]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 6]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 7]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 8]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 9]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0xa]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0xb]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0xc]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0xd]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0xe]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0xf]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x10]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x11]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x12]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x13]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
add edx, 0x20
mov rax, qword [rcx + 0x14]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x15]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x16]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x17]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x18]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x19]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x1a]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x1b]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x1c]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x1d]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x1e]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
mov rax, qword [rcx + 0x1f]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
cmp edx, r8d
jb 0x140158a60
cmp edx, ebx
jae 0x140158c78
mov ecx, edx
mov eax, ebx
add rcx, rsi
sub eax, edx
mov edx, eax
nop
mov rax, qword [rcx]
lea rcx, [rcx + 1]
bswap rax
shr rax, 0x36
inc dword [rsp + rax*4 + 0x50]
sub rdx, 1
jne 0x140158c60
mov edx, 0xffffffff
mov r9d, 2
lea eax, [r9 - 2]
add edx, dword [rsp + rax*4 + 0x50]
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 - 1]
add edx, dword [rsp + rax*4 + 0x50]
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
mov eax, r9d
lea rcx, [rax*4]
lea eax, [r9 + 1]
mov r8d, dword [rsp + rcx + 0x50]
add r8d, edx
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rcx + 0x50], r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 2]
mov dword [rbp + rcx + 0xf50], r8d
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 3]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 4]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 5]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 6]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 7]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 8]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 9]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 0xa]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 0xb]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 0xc]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 0xd]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 0xe]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 0xf]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 0x10]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 0x11]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 0x12]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 0x13]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 0x14]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 0x15]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 0x16]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 0x17]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 0x18]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 0x19]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 0x1a]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 0x1b]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 + 0x1c]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
mov dword [rbp + rax*4 + 0xf50], r8d
lea eax, [r9 + 0x1d]
mov edx, dword [rsp + rax*4 + 0x50]
add r9d, 0x20
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
mov dword [rbp + rax*4 + 0xf50], edx
lea eax, [r9 - 2]
cmp eax, 0x400
jb 0x140158c83
cmp ebx, 8
jb 0x140159119
nop dword [rax]
lea eax, [rbx - 1]
mov r8, qword [rax + rsi]
lea rcx, [rsp + 0x50]
mov edx, eax
bswap r8
mov rax, r8
and r8, 0xffffffffffe00000
or r8, rdx
shr rax, 0x36
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
mov qword [rdi + rax*8], r8
dec eax
mov dword [rcx], eax
lea eax, [rbx - 2]
mov edx, eax
lea rcx, [rsp + 0x50]
mov r8, qword [rax + rsi]
bswap r8
mov rax, r8
and r8, 0xffffffffffe00000
or r8, rdx
shr rax, 0x36
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
mov qword [rdi + rax*8], r8
dec eax
mov dword [rcx], eax
lea eax, [rbx - 3]
mov edx, eax
lea rcx, [rsp + 0x50]
mov r8, qword [rax + rsi]
bswap r8
mov rax, r8
and r8, 0xffffffffffe00000
or r8, rdx
shr rax, 0x36
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
mov qword [rdi + rax*8], r8
dec eax
mov dword [rcx], eax
lea eax, [rbx - 4]
mov edx, eax
lea rcx, [rsp + 0x50]
mov r8, qword [rax + rsi]
bswap r8
mov rax, r8
and r8, 0xffffffffffe00000
shr rax, 0x36
or r8, rdx
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
mov qword [rdi + rax*8], r8
dec eax
mov dword [rcx], eax
lea eax, [rbx - 5]
mov edx, eax
lea rcx, [rsp + 0x50]
mov r8, qword [rax + rsi]
bswap r8
mov rax, r8
and r8, 0xffffffffffe00000
shr rax, 0x36
or r8, rdx
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
mov qword [rdi + rax*8], r8
dec eax
mov dword [rcx], eax
lea eax, [rbx - 6]
mov edx, eax
lea rcx, [rsp + 0x50]
mov r8, qword [rax + rsi]
bswap r8
mov rax, r8
and r8, 0xffffffffffe00000
shr rax, 0x36
or r8, rdx
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
mov qword [rdi + rax*8], r8
dec eax
mov dword [rcx], eax
lea eax, [rbx - 7]
mov edx, eax
lea rcx, [rsp + 0x50]
add ebx, 0xfffffff8
mov r8, qword [rax + rsi]
bswap r8
mov rax, r8
and r8, 0xffffffffffe00000
or r8, rdx
shr rax, 0x36
lea rcx, [rcx + rax*4]
mov edx, ebx
mov eax, dword [rcx]
mov qword [rdi + rax*8], r8
dec eax
mov r8, qword [rsi + rbx]
mov dword [rcx], eax
lea rcx, [rsp + 0x50]
bswap r8
mov rax, r8
and r8, 0xffffffffffe00000
shr rax, 0x36
or r8, rdx
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
mov qword [rdi + rax*8], r8
dec eax
mov dword [rcx], eax
cmp ebx, 8
jae 0x140158f90
test ebx, ebx
je 0x140159153
nop dword [rax]
dec ebx
lea rcx, [rsp + 0x50]
mov edx, ebx
mov r8, qword [rbx + rsi]
bswap r8
mov rax, r8
and r8, 0xffffffffffe00000
shr rax, 0x36
or r8, rdx
lea rcx, [rcx + rax*4]
mov eax, dword [rcx]
mov qword [rdi + rax*8], r8
dec eax
mov dword [rcx], eax
test ebx, ebx
jne 0x140159120
lea rbx, [rbp + 0xf50]
mov qword [rsp + 0x40], 0x400
mov qword [rsp + 0x38], rbx
xor r15d, r15d
nop dword [rax + rax]
mov ebx, dword [rbx]
inc ebx
mov dword [rsp + 0x20], ebx
sub ebx, r15d
mov dword [rsp + 0x30], ebx
cmp ebx, 1
jbe 0x1401597d2
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x1000
call fcn.140319f10
mov r10d, ebx
mov r9d, 0
and r10d, 0xfffffff8
jbe 0x14015931f
mov eax, 3
lea r8d, [r15 + 2]
sub eax, r15d
mov r12d, 1
mov dword [rsp + 0x24], eax
mov r13d, 2
mov esi, dword [rsp + 0x24]
mov eax, 4
sub eax, r15d
sub r12d, r15d
mov dword [rsp + 0x28], eax
sub r13d, r15d
mov ebx, dword [rsp + 0x28]
mov eax, 5
sub eax, r15d
mov r11d, r15d
mov dword [rsp + 0x2c], eax
not r11d
nop word [rax + rax]
lea eax, [r8 - 2]
mov rdx, qword [rdi + rax*8]
mov rax, rdx
shr rax, 0x2c
and eax, 0x3ff
inc dword [rsp + rax*4 + 0x50]
mov eax, r9d
add r9d, 8
mov qword [r14 + rax*8], rdx
lea eax, [r8 - 1]
mov rdx, qword [rdi + rax*8]
mov rax, rdx
shr rax, 0x2c
and eax, 0x3ff
inc dword [rsp + rax*4 + 0x50]
lea eax, [r8 + r11]
mov qword [r14 + rax*8], rdx
mov rcx, qword [rdi + r8*8]
mov rax, rcx
shr rax, 0x2c
and eax, 0x3ff
inc dword [rsp + rax*4 + 0x50]
mov eax, r8d
sub eax, r15d
mov qword [r14 + rax*8], rcx
lea eax, [r8 + 1]
mov rdx, qword [rdi + rax*8]
mov rax, rdx
shr rax, 0x2c
and eax, 0x3ff
inc dword [rsp + rax*4 + 0x50]
lea eax, [r12 + r8]
mov qword [r14 + rax*8], rdx
lea eax, [r8 + 2]
mov rdx, qword [rdi + rax*8]
mov rax, rdx
shr rax, 0x2c
and eax, 0x3ff
inc dword [rsp + rax*4 + 0x50]
lea eax, [r8 + r13]
mov qword [r14 + rax*8], rdx
lea eax, [r8 + 3]
mov rdx, qword [rdi + rax*8]
mov rax, rdx
shr rax, 0x2c
and eax, 0x3ff
inc dword [rsp + rax*4 + 0x50]
lea eax, [rsi + r8]
mov qword [r14 + rax*8], rdx
lea eax, [r8 + 4]
mov rdx, qword [rdi + rax*8]
mov rax, rdx
shr rax, 0x2c
and eax, 0x3ff
inc dword [rsp + rax*4 + 0x50]
lea eax, [rbx + r8]
mov qword [r14 + rax*8], rdx
lea eax, [r8 + 5]
mov rdx, qword [rdi + rax*8]
mov rax, rdx
shr rax, 0x2c
and eax, 0x3ff
inc dword [rsp + rax*4 + 0x50]
mov eax, dword [rsp + 0x2c]
add eax, r8d
add r8d, 8
mov qword [r14 + rax*8], rdx
cmp r9d, r10d
jb 0x140159200
mov ebx, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
cmp r9d, ebx
jae 0x140159357
mov eax, r9d
lea r8, [r14 + rax*8]
nop word [rax + rax]
lea eax, [r9 + r15]
inc r9d
mov rdx, qword [rdi + rax*8]
mov qword [r8], rdx
lea r8, [r8 + 8]
mov rax, rdx
shr rax, 0x2c
and eax, 0x3ff
inc dword [rsp + rax*4 + 0x50]
cmp r9d, ebx
jb 0x140159330
mov edx, 0xffffffff
mov r9d, 2
lea eax, [r9 - 2]
add edx, dword [rsp + rax*4 + 0x50]
lea rcx, [rsp + 0x50]
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 - 1]
add edx, dword [rsp + rax*4 + 0x50]
mov dword [rsp + rax*4 + 0x50], edx
mov eax, r9d
mov r8d, dword [rcx + rax*4]
lea rcx, [rcx + rax*4]
lea eax, [r9 + 1]
add r8d, edx
mov dword [rcx], r8d
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 2]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 3]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 4]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 5]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 6]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 7]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 8]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 9]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 0xa]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 0xb]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 0xc]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 0xd]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 0xe]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 0xf]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 0x10]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 0x11]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 0x12]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 0x13]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 0x14]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 0x15]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 0x16]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 0x17]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 0x18]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 0x19]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 0x1a]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 0x1b]
mov edx, dword [rsp + rax*4 + 0x50]
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 + 0x1c]
mov r8d, dword [rsp + rax*4 + 0x50]
add r8d, edx
mov dword [rsp + rax*4 + 0x50], r8d
lea eax, [r9 + 0x1d]
mov edx, dword [rsp + rax*4 + 0x50]
add r9d, 0x20
add edx, r8d
mov dword [rsp + rax*4 + 0x50], edx
lea eax, [r9 - 2]
cmp eax, 0x400
jb 0x140159362
cmp ebx, 8
jb 0x1401596d0
nop dword [rax + rax]
lea eax, [rbx - 1]
mov r8, qword [r14 + rax*8]
mov rdx, r8
shr rdx, 0x2c
and edx, 0x3ff
mov ecx, dword [rsp + rdx*4 + 0x50]
lea eax, [rcx - 1]
mov dword [rsp + rdx*4 + 0x50], eax
lea eax, [r15 + rcx]
mov qword [rdi + rax*8], r8
lea eax, [rbx - 2]
mov r8, qword [r14 + rax*8]
mov rdx, r8
shr rdx, 0x2c
and edx, 0x3ff
mov ecx, dword [rsp + rdx*4 + 0x50]
lea eax, [rcx - 1]
mov dword [rsp + rdx*4 + 0x50], eax
lea eax, [r15 + rcx]
mov qword [rdi + rax*8], r8
lea eax, [rbx - 3]
mov r8, qword [r14 + rax*8]
mov rdx, r8
shr rdx, 0x2c
and edx, 0x3ff
mov ecx, dword [rsp + rdx*4 + 0x50]
lea eax, [rcx - 1]
mov dword [rsp + rdx*4 + 0x50], eax
lea eax, [r15 + rcx]
mov qword [rdi + rax*8], r8
lea eax, [rbx - 4]
mov r8, qword [r14 + rax*8]
mov rdx, r8
shr rdx, 0x2c
and edx, 0x3ff
mov ecx, dword [rsp + rdx*4 + 0x50]
lea eax, [rcx - 1]
mov dword [rsp + rdx*4 + 0x50], eax
lea eax, [r15 + rcx]
mov qword [rdi + rax*8], r8
lea eax, [rbx - 5]
mov r8, qword [r14 + rax*8]
mov rdx, r8
shr rdx, 0x2c
and edx, 0x3ff
mov ecx, dword [rsp + rdx*4 + 0x50]
lea eax, [rcx - 1]
mov dword [rsp + rdx*4 + 0x50], eax
lea eax, [r15 + rcx]
mov qword [rdi + rax*8], r8
lea eax, [rbx - 6]
mov r8, qword [r14 + rax*8]
mov rdx, r8
shr rdx, 0x2c
and edx, 0x3ff
mov ecx, dword [rsp + rdx*4 + 0x50]
lea eax, [rcx - 1]
mov dword [rsp + rdx*4 + 0x50], eax
lea eax, [r15 + rcx]
mov qword [rdi + rax*8], r8
lea eax, [rbx - 7]
mov r8, qword [r14 + rax*8]
add ebx, 0xfffffff8
mov rdx, r8
shr rdx, 0x2c
and edx, 0x3ff
mov ecx, dword [rsp + rdx*4 + 0x50]
lea eax, [rcx - 1]
mov dword [rsp + rdx*4 + 0x50], eax
lea eax, [r15 + rcx]
mov qword [rdi + rax*8], r8
mov r8, qword [r14 + rbx*8]
mov rdx, r8
shr rdx, 0x2c
and edx, 0x3ff
cmp ebx, 8
mov ecx, dword [rsp + rdx*4 + 0x50]
lea eax, [rcx - 1]
mov dword [rsp + rdx*4 + 0x50], eax
lea eax, [r15 + rcx]
mov qword [rdi + rax*8], r8
jae 0x140159580
test ebx, ebx
je 0x1401596fa
nop word [rax + rax]
dec ebx
mov r8, qword [r14 + rbx*8]
mov rdx, r8
shr rdx, 0x2c
and edx, 0x3ff
mov ecx, dword [rsp + rdx*4 + 0x50]
lea eax, [rcx - 1]
mov dword [rsp + rdx*4 + 0x50], eax
lea eax, [r15 + rcx]
mov qword [rdi + rax*8], r8
test ebx, ebx
jne 0x1401596d0
mov r13d, dword [rsp + 0x20]
mov eax, r15d
mov r8, qword [rdi + rax*8]
lea rbx, [rdi + rax*8]
lea r11, [rbx + 8]
lea r12, [rdi + r13*8]
cmp r11, r12
je 0x1401597d7
nop dword [rax + rax]
mov r10, qword [r11]
mov rax, r8
mov r9, r10
shr rax, 0x15
shr r9, 0x15
cmp r9, rax
jb 0x140159767
ja 0x1401597c0
mov rcx, r10
mov rax, r8
and ecx, 0x1fffff
and eax, 0x1fffff
cmp rcx, rax
je 0x1401597c0
mov rcx, qword [rsi + rcx + 5]
mov rax, qword [rsi + rax + 5]
bswap rcx
bswap rax
cmp rcx, rax
jae 0x1401597c0
mov r15, r8
mov rax, r11
nop dword [rax]
mov qword [rax], r8
sub rax, 8
cmp rax, rbx
jbe 0x1401597ba
mov r8, qword [rax - 8]
mov rcx, r8
shr rcx, 0x15
cmp r9, rcx
jb 0x140159770
ja 0x1401597ba
mov rdx, r10
mov rcx, r8
and edx, 0x1fffff
and ecx, 0x1fffff
cmp rdx, rcx
je 0x1401597ba
mov rdx, qword [rsi + rdx + 5]
mov rcx, qword [rsi + rcx + 5]
bswap rdx
bswap rcx
cmp rdx, rcx
jb 0x140159770
mov qword [rax], r10
mov r10, r15
add r11, 8
mov r8, r10
cmp r11, r12
jne 0x140159720
jmp 0x1401597d7
mov r13d, dword [rsp + 0x20]
mov rbx, qword [rsp + 0x38]
mov r15d, r13d
add rbx, 4
sub qword [rsp + 0x40], 1
mov qword [rsp + 0x38], rbx
jne 0x140159170
mov rcx, qword [rbp + 0x1f50]
xor rcx, rsp
call fcn.1403171d0
add rsp, 0x2068
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret