Function at 0x14008f050
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1568
call fcn.1400f4eb0
sub rsp, rax
vmovdqa xmmword [rsp + 0x1550], xmm7
vmovdqa xmmword [rsp + 0x1540], xmm6
mov r12d, r8d
mov r13d, edx
mov r15, rcx
mov rax, qword [0x140206880]
xor rax, rsp
mov qword [rsp + 0x1538], rax
mov byte [rsp + 0x12e], 0
mov word [rsp + 0x12c], 0
mov rsi, qword [rcx]
lea rax, [rcx + 8]
mov qword [rsp + 0x68], rax
lea r14, [rsi + 0x38]
lea rbp, [rsi + 0x39]
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rcx + 8], xmm0
mov qword [rcx + 0x18], 0
mov rcx, qword [rsi + 0xc0]
mov rax, qword [rsi + 0xc8]
xor edi, edi
lea rbx, [0x14011a6d8]
nop word cs:[rax + rax]
cmp rcx, rax
jae 0x14008f110
lea r8, [rcx + 1]
mov qword [rsi + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x14008f16a
cmp dword [rsi + 0x30], 0
je 0x14008f145
mov r8d, dword [rsi + 0x34]
mov rcx, qword [rsi + 0x28]
mov rdx, r14
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0xc0]
sub ecx, dword [rsi + 0xd0]
add dword [rsi + 0xb8], ecx
test eax, eax
je 0x14008f149
cdqe
add rax, r14
movzx edx, byte [r14]
jmp 0x14008f159
xor edx, edx
jmp 0x14008f16a
mov dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 0
xor edx, edx
mov rax, rbp
mov qword [rsi + 0xc8], rax
mov qword [rsi + 0xc0], rbp
mov rcx, rbp
cmp dl, byte [rdi + rbx]
jne 0x14008f1e9
inc rdi
cmp rdi, 8
jne 0x14008f0f0
mov ebx, 1
cmp r13d, 1
je 0x14008f20c
mov dword [rsp + 0x88], r13d
mov dword [rsp + 0xa4], r12d
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x50], 1
xor eax, eax
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x78], 0
mov dword [rsp + 0x7c], 0
xor eax, eax
mov qword [rsp + 0x60], rax
xor edi, edi
xor eax, eax
mov qword [rsp + 0x80], rax
xor eax, eax
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x4c], 0
jmp 0x14008f260
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.bad_png_sig
mov qword [rax + 8], rcx
xor ebx, ebx
mov rcx, qword [rsp + 0x1538]
xor rcx, rsp
call fcn.1400f4f10
mov eax, ebx
vmovaps xmm6, xmmword [rsp + 0x1540]
vmovaps xmm7, xmmword [rsp + 0x1550]
add rsp, 0x1568
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x50], 0
nop dword [rax]
mov rcx, rsi
call fcn.140095790
mov rcx, rsi
call fcn.140095790
mov rcx, rsi
call fcn.140095790
mov r12d, eax
shl r12d, 0x10
mov rcx, rsi
call fcn.140095790
mov r15d, eax
or r12d, eax
mov rcx, rsi
call fcn.140095790
mov ebx, eax
mov r13d, eax
shl ebx, 0x10
mov rcx, rsi
call fcn.140095790
or ebx, eax
cmp ebx, 0x49484451
jle 0x14008f3e0
cmp ebx, 0x49484452
je 0x14008f496
cmp ebx, 0x504c5445
mov ecx, dword [rsp + 0x50]
je 0x14008f521
cmp ebx, 0x74524e53
jne 0x14008f78a
test ecx, ecx
mov eax, dword [rsp + 0x4c]
jne 0x14008fd62
mov rcx, qword [rsp + 0x68]
cmp qword [rcx], 0
jne 0x14008fda0
test al, al
je 0x14008f8a2
cmp dword [rsp + 0x88], 2
je 0x14008ff09
mov rax, qword [rsp + 0x60]
test eax, eax
je 0x14008ff1a
cmp eax, r12d
jb 0x14008fe6e
mov al, 4
mov dword [rsp + 0x4c], eax
test r12d, r12d
je 0x14008f244
mov dword [rsp + 0x50], 0
mov ebx, r12d
mov rcx, qword [rsi + 0xc0]
mov rax, qword [rsi + 0xc8]
shl rbx, 2
xor r15d, r15d
jmp 0x14008f37d
lea r8, [rcx + 1]
mov qword [rsi + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
mov r8d, r15d
and r8d, 0xfffffffc
mov byte [rsp + r8 + 0x133], dl
add r15, 4
cmp rbx, r15
je 0x14008f250
cmp rcx, rax
jb 0x14008f350
cmp dword [rsi + 0x30], 0
je 0x14008f3b7
mov r8d, dword [rsi + 0x34]
mov rcx, qword [rsi + 0x28]
mov rdx, r14
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0xc0]
sub ecx, dword [rsi + 0xd0]
add dword [rsi + 0xb8], ecx
test eax, eax
je 0x14008f3bb
cdqe
add rax, r14
movzx edx, byte [r14]
jmp 0x14008f3cb
xor edx, edx
jmp 0x14008f361
mov dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 0
xor edx, edx
mov rax, rbp
mov qword [rsi + 0xc8], rax
mov qword [rsi + 0xc0], rbp
mov rcx, rbp
jmp 0x14008f361
cmp ebx, 0x43674249
je 0x14008f72d
cmp ebx, 0x49444154
jne 0x14008f77a
cmp dword [rsp + 0x50], 0
jne 0x14008fd62
mov eax, dword [rsp + 0x4c]
test al, al
je 0x14008f416
cmp dword [rsp + 0x60], 0
je 0x14008fdbf
cmp dword [rsp + 0x88], 2
je 0x14008fe37
cmp r12d, 0x40000001
jae 0x14008fe4f
mov r13, qword [rsp + 0x80]
lea r15d, [r12 + r13]
xor ebx, ebx
cmp r15d, r13d
jl 0x14008f20c
cmp r15d, edi
jbe 0x14008f81c
cmp r12d, 0x1001
mov eax, 0x1000
cmovae eax, r12d
test edi, edi
cmovne eax, edi
mov rbx, qword [rsp + 0x68]
nop dword [rax + rax]
mov edi, eax
lea eax, [rdi + rdi]
cmp r15d, edi
ja 0x14008f470
mov edx, edi
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x140090652
mov qword [rbx], rax
jmp 0x14008f824
cmp dword [rsp + 0x50], 0
je 0x14008fd81
cmp r12d, 0xd
jne 0x14008fdde
mov rcx, rsi
call fcn.140095790
mov ebx, eax
shl ebx, 0x10
mov rcx, rsi
call fcn.140095790
or eax, ebx
mov dword [rsi], eax
mov rcx, rsi
call fcn.140095790
mov ebx, eax
shl ebx, 0x10
mov rcx, rsi
call fcn.140095790
or eax, ebx
mov dword [rsi + 4], eax
cmp eax, 0x1000001
jae 0x14008fcde
cmp dword [rsi], 0x1000001
jae 0x14008fcde
mov rax, qword [rsi + 0xc0]
cmp rax, qword [rsi + 0xc8]
jae 0x14008f7d6
lea rcx, [rax + 1]
mov qword [rsi + 0xc0], rcx
movzx eax, byte [rax]
mov rbx, qword [rsp + 0x58]
jmp 0x14008f992
test ecx, ecx
jne 0x14008fd62
cmp r12d, 0x301
jae 0x14008fcfd
movzx eax, r15w
imul eax, eax, 0xaaab
shr eax, 0x11
mov qword [rsp + 0x60], rax
lea eax, [rax + rax*2]
cmp eax, r12d
jne 0x14008fcfd
cmp r15w, 3
jb 0x14008f244
mov dword [rsp + 0x50], 0
mov rbx, qword [rsp + 0x60]
cmp ebx, 1
adc ebx, 0
mov rcx, qword [rsi + 0xc0]
mov rax, qword [rsi + 0xc8]
xor r15d, r15d
jmp 0x14008f5be
lea r8, [rcx + 1]
mov qword [rsi + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
mov byte [rsp + r15*4 + 0x132], dl
mov byte [rsp + r15*4 + 0x133], 0xff
inc r15
cmp rbx, r15
je 0x14008f250
cmp rcx, rax
jae 0x14008f5e0
lea r8, [rcx + 1]
mov qword [rsi + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x14008f63a
cmp dword [rsi + 0x30], 0
je 0x14008f615
mov r8d, dword [rsi + 0x34]
mov rcx, qword [rsi + 0x28]
mov rdx, r14
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0xc0]
sub ecx, dword [rsi + 0xd0]
add dword [rsi + 0xb8], ecx
test eax, eax
je 0x14008f619
cdqe
add rax, r14
movzx edx, byte [r14]
jmp 0x14008f629
xor edx, edx
jmp 0x14008f63a
mov dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 0
xor edx, edx
mov rax, rbp
mov qword [rsi + 0xc8], rax
mov qword [rsi + 0xc0], rbp
mov rcx, rbp
mov byte [rsp + r15*4 + 0x130], dl
cmp rcx, rax
jae 0x14008f660
lea r8, [rcx + 1]
mov qword [rsi + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
jmp 0x14008f6ba
cmp dword [rsi + 0x30], 0
je 0x14008f695
mov r8d, dword [rsi + 0x34]
mov rcx, qword [rsi + 0x28]
mov rdx, r14
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0xc0]
sub ecx, dword [rsi + 0xd0]
add dword [rsi + 0xb8], ecx
test eax, eax
je 0x14008f699
cdqe
add rax, r14
movzx edx, byte [r14]
jmp 0x14008f6a9
xor edx, edx
jmp 0x14008f6ba
mov dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 0
xor edx, edx
mov rax, rbp
mov qword [rsi + 0xc8], rax
mov qword [rsi + 0xc0], rbp
mov rcx, rbp
mov byte [rsp + r15*4 + 0x131], dl
cmp rcx, rax
jb 0x14008f590
cmp dword [rsi + 0x30], 0
je 0x14008f700
mov r8d, dword [rsi + 0x34]
mov rcx, qword [rsi + 0x28]
mov rdx, r14
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0xc0]
sub ecx, dword [rsi + 0xd0]
add dword [rsi + 0xb8], ecx
test eax, eax
je 0x14008f707
cdqe
add rax, r14
movzx edx, byte [r14]
jmp 0x14008f717
xor edx, edx
jmp 0x14008f5a1
mov dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 0
xor edx, edx
mov rax, rbp
mov qword [rsi + 0xc8], rax
mov qword [rsi + 0xc0], rbp
mov rcx, rbp
jmp 0x14008f5a1
mov dword [rsp + 0x7c], 1
test r12d, r12d
je 0x14008f250
js 0x14008f961
cmp qword [rsi + 0x10], 0
je 0x14008f7bd
mov rax, qword [rsi + 0xc0]
mov rcx, qword [rsi + 0xc8]
mov r8d, ecx
sub r8d, eax
mov edx, r12d
sub edx, r8d
jle 0x14008f7c4
mov qword [rsi + 0xc0], rcx
mov rcx, qword [rsi + 0x28]
call qword [rsi + 0x18]
jmp 0x14008f250
cmp ebx, 0x49454e44
mov ecx, dword [rsp + 0x50]
je 0x14008fd5a
test ecx, ecx
jne 0x14008fd62
test r13d, 0x2000
je 0x14008fdfd
test r12d, r12d
je 0x14008f244
js 0x14008f959
mov dword [rsp + 0x50], 0
cmp qword [rsi + 0x10], 0
jne 0x14008f74b
mov rax, qword [rsi + 0xc0]
mov ecx, r12d
add rcx, rax
mov qword [rsi + 0xc0], rcx
jmp 0x14008f250
cmp dword [rsi + 0x30], 0
mov rbx, qword [rsp + 0x58]
je 0x14008ff39
mov r8d, dword [rsi + 0x34]
mov rcx, qword [rsi + 0x28]
mov rdx, r14
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0xc0]
sub ecx, dword [rsi + 0xd0]
add dword [rsi + 0xb8], ecx
test eax, eax
je 0x14008f974
movsxd rcx, eax
add rcx, r14
movzx eax, byte [r14]
jmp 0x14008f984
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov ebx, r13d
add rbx, rax
cmp qword [rsi + 0x10], 0
je 0x14008f911
mov rdx, qword [rsi + 0xc0]
mov rax, qword [rsi + 0xc8]
mov rcx, rax
sub rcx, rdx
mov r13d, r12d
sub r13d, ecx
jle 0x14008f91f
movsxd r12, ecx
mov rcx, rbx
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add rbx, r12
mov rcx, qword [rsi + 0x28]
mov rdx, rbx
mov r8d, r13d
call qword [rsi + 0x10]
mov dword [rsp + 0x50], 0
mov rcx, qword [rsi + 0xc8]
mov qword [rsi + 0xc0], rcx
mov ecx, r15d
mov qword [rsp + 0x80], rcx
cmp eax, r13d
je 0x14008f250
jmp 0x14008fe8d
mov eax, dword [rsi + 8]
test al, 1
mov edx, dword [rsp + 0x88]
je 0x14009013f
lea ecx, [rax + rax]
cmp ecx, r12d
jne 0x14008fe6e
cmp edx, 2
je 0x14009015e
mov r15, qword [rsp + 0x58]
cmp dword [r15 + 0x20], 0x10
jne 0x14008fa21
mov cl, 1
mov qword [rsp + 0x90], rcx
test eax, eax
jle 0x14008fa68
xor ebx, ebx
nop dword [rax]
mov rcx, rsi
call fcn.140095790
mov word [rsp + rbx*2 + 0x126], ax
inc rbx
movsxd rax, dword [rsi + 8]
cmp rbx, rax
jl 0x14008f8f0
jmp 0x14008fa68
mov rdx, qword [rsi + 0xc0]
mov rax, qword [rsi + 0xc8]
movsxd r12, r12d
lea rcx, [rdx + r12]
cmp rcx, rax
ja 0x14008fe8d
mov rcx, rbx
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 0xc0], r12
mov dword [rsp + 0x50], 0
mov eax, r15d
mov qword [rsp + 0x80], rax
jmp 0x14008f250
mov dword [rsp + 0x50], 0
mov rax, qword [rsi + 0xc8]
mov qword [rsi + 0xc0], rax
jmp 0x14008f250
mov dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 0
xor eax, eax
mov rcx, rbp
mov qword [rsi + 0xc8], rcx
mov qword [rsi + 0xc0], rbp
movzx eax, al
mov dword [rbx + 0x20], eax
cmp al, 0x10
ja 0x14008ff40
mov ecx, 0x10116
bt ecx, eax
jae 0x14008ff40
mov rcx, qword [rsi + 0xc0]
mov rax, qword [rsi + 0xc8]
cmp rcx, rax
jae 0x14008f9e0
lea r8, [rcx + 1]
mov qword [rsi + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
cmp dl, 7
jb 0x14008faa7
jmp 0x14008fd3b
cmp dword [rsi + 0x30], 0
je 0x14008fa15
mov r8d, dword [rsi + 0x34]
mov rcx, qword [rsi + 0x28]
mov rdx, r14
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0xc0]
sub ecx, dword [rsi + 0xd0]
add dword [rsi + 0xb8], ecx
test eax, eax
je 0x14008fa7d
cdqe
add rax, r14
movzx edx, byte [r14]
jmp 0x14008fa8d
xor r15d, r15d
mov ebx, dword [rsp + 0x4c]
jmp 0x14008fad2
mov cl, 1
mov qword [rsp + 0x90], rcx
test eax, eax
jle 0x14008fa68
xor ebx, ebx
lea r12, [0x14011a6e0]
nop dword [rax + rax]
mov rcx, rsi
call fcn.140095790
mov ecx, eax
movsxd rax, dword [r15 + 0x20]
movzx eax, byte [rax + r12]
mul cl
mov byte [rsp + rbx + 0x12c], al
inc rbx
movsxd rax, dword [rsi + 8]
cmp rbx, rax
jl 0x14008fa40
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x4c], 0
jmp 0x14008f250
mov dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 0
xor edx, edx
mov rax, rbp
mov qword [rsi + 0xc8], rax
mov qword [rsi + 0xc0], rbp
mov rcx, rbp
cmp dl, 7
jae 0x14008fd3b
movzx r15d, dl
cmp r15d, 3
jne 0x14008fac5
cmp dword [rbx + 0x20], 0x10
je 0x14008fd3b
mov bl, 3
mov r15d, 3
jmp 0x14008fad2
test dl, 1
mov ebx, dword [rsp + 0x4c]
jne 0x14008fd3b
cmp rcx, rax
jae 0x14008faf1
lea r8, [rcx + 1]
mov qword [rsi + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
test dl, dl
je 0x14008fb4f
jmp 0x14008feac
cmp dword [rsi + 0x30], 0
je 0x14008fb4f
mov r8d, dword [rsi + 0x34]
mov rcx, qword [rsi + 0x28]
mov rdx, r14
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0xc0]
sub ecx, dword [rsi + 0xd0]
add dword [rsi + 0xb8], ecx
test eax, eax
je 0x14008fb26
cdqe
add rax, r14
movzx edx, byte [r14]
jmp 0x14008fb36
mov dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 0
xor edx, edx
mov rax, rbp
mov qword [rsi + 0xc8], rax
mov qword [rsi + 0xc0], rbp
mov rcx, rbp
test dl, dl
jne 0x14008feac
cmp rcx, rax
jae 0x14008fb6e
lea r8, [rcx + 1]
mov qword [rsi + 0xc0], r8
movzx edx, byte [rcx]
mov rcx, r8
test dl, dl
je 0x14008fbcc
jmp 0x14008fecb
cmp dword [rsi + 0x30], 0
je 0x14008fbcc
mov r8d, dword [rsi + 0x34]
mov rcx, qword [rsi + 0x28]
mov rdx, r14
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0xc0]
sub ecx, dword [rsi + 0xd0]
add dword [rsi + 0xb8], ecx
test eax, eax
je 0x14008fba3
cdqe
add rax, r14
movzx edx, byte [r14]
jmp 0x14008fbb3
mov dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 0
xor edx, edx
mov rax, rbp
mov qword [rsi + 0xc8], rax
mov qword [rsi + 0xc0], rbp
mov rcx, rbp
test dl, dl
jne 0x14008fecb
cmp rcx, rax
jae 0x14008fbe8
lea rax, [rcx + 1]
mov qword [rsi + 0xc0], rax
movzx eax, byte [rcx]
cmp al, 2
jb 0x14008fc48
jmp 0x14008feea
cmp dword [rsi + 0x30], 0
je 0x14008fc1e
mov r8d, dword [rsi + 0x34]
mov rcx, qword [rsi + 0x28]
mov rdx, r14
call qword [rsi + 0x10]
mov ecx, dword [rsi + 0xc0]
sub ecx, dword [rsi + 0xd0]
add dword [rsi + 0xb8], ecx
test eax, eax
je 0x14008fc22
movsxd rcx, eax
add rcx, r14
movzx eax, byte [r14]
jmp 0x14008fc32
xor eax, eax
jmp 0x14008fc4b
mov dword [rsi + 0x30], 0
mov byte [rsi + 0x38], 0
xor eax, eax
mov rcx, rbp
mov qword [rsi + 0xc8], rcx
mov qword [rsi + 0xc0], rbp
cmp al, 2
jae 0x14008feea
movzx eax, al
mov r8d, dword [rsi]
test r8d, r8d
je 0x14008fd1c
mov ecx, dword [rsi + 4]
test ecx, ecx
je 0x14008fd1c
mov qword [rsp + 0xb0], rax
test bl, bl
mov dword [rsp + 0x78], r15d
je 0x14008fc9d
mov dword [rsp + 0x4c], ebx
mov dword [rsi + 8], 1
mov dword [rsp + 0x50], 0
mov eax, 0x40000000
xor edx, edx
div r8d
shr eax, 2
cmp eax, ecx
jae 0x14008f250
jmp 0x14008fcde
mov eax, r15d
and eax, 2
mov edx, r15d
shr edx, 2
and edx, 1
lea r9d, [rdx + rax]
inc r9d
mov dword [rsi + 8], r9d
mov dword [rsp + 0x50], 0
mov eax, 0x40000000
xor edx, edx
div r8d
xor edx, edx
div r9d
mov dword [rsp + 0x4c], 0
cmp eax, ecx
jae 0x14008f250
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.too_large
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.invalid_PLTE
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.0_pixel_image
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.bad_ctype
jmp 0x14008f203
test ecx, ecx
je 0x14008ff5f
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.first_not_IHDR
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.multiple_IHDR
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.tRNS_after_IDAT
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.no_PLTE
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.bad_IHDR_len
jmp 0x14008f203
mov edx, r13d
mov byte [0x1401ef9e0], dh
lea rcx, [0x1401ef9e0]
mov byte [0x1401ef9e1], dl
mov byte [0x1401ef9e2], ah
mov byte [0x1401ef9e3], al
mov eax, dword [0x140210b70]
mov rdx, qword gs:[0x58]
mov rax, qword [rdx + rax*8]
jmp 0x14008f203
mov ebx, 1
test al, al
je 0x14008f20c
movzx eax, al
mov dword [rsi + 8], eax
jmp 0x14008f20c
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.IDAT_size_limit
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.bad_tRNS_len
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.outofdata
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.bad_comp_method
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.bad_filter_method
jmp 0x14008f203
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.bad_interlace_method
jmp 0x14008f203
mov dword [rsi + 8], 4
mov ebx, 1
jmp 0x14008f20c
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.tRNS_before_PLTE
jmp 0x14008f203
mov dword [rbx + 0x20], 0
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.1_2_4_8_16_bit_only
jmp 0x14008f203
mov ebx, 1
cmp dword [rsp + 0x88], 0
mov r14, qword [rsp + 0x58]
mov ebp, dword [rsp + 0xa4]
jne 0x14008f20c
mov rax, qword [rsp + 0x68]
mov rdi, qword [rax]
test rdi, rdi
je 0x14009016d
mov eax, dword [r14 + 0x20]
imul eax, dword [rsi]
add eax, 7
shr eax, 3
mov ecx, dword [rsi + 4]
mov ebx, dword [rsi + 8]
imul ebx, ecx
imul ebx, eax
add ebx, ecx
movsxd rcx, ebx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x14009019a
xor ecx, ecx
cmp dword [rsp + 0x7c], 0
sete cl
mov qword [rsp + 0x538], rdi
movsxd rdx, dword [rsp + 0x80]
add rdx, rdi
mov qword [rsp + 0x540], rdx
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0x538]
mov rdx, rax
mov r8d, ebx
mov r9d, 1
call fcn.140083870
test eax, eax
je 0x14009018c
mov edi, dword [rsp + 0x550]
mov rax, qword [rsp + 0x558]
mov qword [r14 + 0x10], rax
xor ebx, ebx
test rax, rax
je 0x14008f20c
sub edi, eax
mov rcx, qword [r14 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r14 + 8], 0
mov eax, dword [rsi + 8]
lea ecx, [rax + 1]
cmp byte [rsp + 0x90], 0
cmovne eax, ecx
cmp byte [rsp + 0x4c], 0
mov r15d, ecx
cmovne r15d, eax
cmp ecx, ebp
cmovne r15d, eax
cmp ebp, 3
cmove r15d, eax
mov dword [rsi + 0xc], r15d
mov ebp, dword [r14 + 0x20]
mov rax, qword [r14]
mov r12, qword [r14 + 0x10]
cmp ebp, 0x10
sete r9b
mov ecx, dword [rax]
mov r8d, dword [rax + 4]
cmp dword [rsp + 0xb0], 0
je 0x140090514
mov eax, ecx
or eax, r8d
js 0x1400904ee
test r8d, r8d
je 0x1400900ae
mov eax, 0x7fffffff
xor edx, edx
div r8d
cmp eax, ecx
jl 0x1400904ee
shlx r13d, r15d, r9d
imul ecx, r8d
mov eax, ecx
or eax, r13d
js 0x1400904ee
test r13d, r13d
je 0x1400900d9
mov eax, 0x7fffffff
xor edx, edx
div r13d
cmp eax, ecx
jl 0x1400904ee
imul ecx, r13d
movsxd rcx, ecx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x1400904ee
mov qword [rsp + 0xd0], r12
mov dword [rsp + 0x98], r13d
movsxd rax, r13d
mov qword [rsp + 0x60], rax
add rax, rax
mov qword [rsp + 0xe8], rax
xor r11d, r11d
lea rbx, [0x14011a6f0]
lea r13, [0x14011a730]
mov dword [rsp + 0xc0], r15d
mov dword [rsp + 0xbc], ebp
jmp 0x14009020a
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.tRNS_with_alpha
jmp 0x14008f203
inc eax
mov dword [rsi + 8], eax
mov ebx, 1
jmp 0x14008f20c
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.no_IDAT
jmp 0x14008f203
mov rcx, qword [rsp + 0x558]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r14 + 0x10], 0
jmp 0x14008f20a
mov ebx, dword [rsp + 0xc4]
add ebx, 7
sar ebx, 3
inc ebx
imul ebx, dword [rsp + 0x70]
mov rcx, qword [r14 + 0x18]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, ebx
add qword [rsp + 0xd0], rax
mov edi, dword [rsp + 0xc8]
sub edi, ebx
mov r15d, dword [rsp + 0xc0]
mov ebp, dword [rsp + 0xbc]
mov r11, qword [rsp + 0xf0]
lea rbx, [0x14011a6f0]
lea r13, [0x14011a730]
inc r11
cmp r11, 7
je 0x140090687
mov r9, qword [r14]
movsxd rax, dword [rbx + r11*4]
movsxd r10, dword [r13 + r11*4]
mov qword [rsp + 0xe0], rax
mov r8d, eax
not r8d
add r8d, dword [r9]
add r8d, r10d
mov eax, r8d
xor edx, edx
div r10d
mov dword [rsp + 0x74], eax
lea rax, [0x14011a710]
mov ecx, dword [rax + r11*4]
mov dword [rsp + 0x9c], ecx
not ecx
add ecx, dword [r9 + 4]
lea rax, [0x14011a750]
mov r12d, dword [rax + r11*4]
add ecx, r12d
mov eax, ecx
xor edx, edx
div r12d
mov dword [rsp + 0x70], eax
mov qword [rsp + 0xd8], r10
cmp r10d, r8d
ja 0x1400901fd
mov dword [rsp + 0xa0], r12d
cmp r12d, ecx
ja 0x1400901fd
mov qword [rsp + 0xf0], r11
mov eax, dword [rsp + 0x74]
mov ecx, eax
imul ecx, ebp
imul ecx, dword [r9 + 8]
mov dword [rsp + 0xc4], ecx
mov ecx, dword [rsp + 0x78]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], ebp
mov ebx, dword [rsp + 0x70]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
mov rcx, r14
mov rdx, qword [rsp + 0xd0]
mov dword [rsp + 0xc8], edi
mov r8d, edi
mov r9d, r15d
call fcn.140096280
test eax, eax
je 0x1400906a6
test ebx, ebx
mov rcx, qword [rsp + 0x60]
mov r15d, dword [rsp + 0x74]
mov edx, dword [rsp + 0xa0]
jle 0x1400901a7
movsxd rax, r15d
mov qword [rsp + 0x110], rax
mov eax, dword [rsp + 0x70]
mov qword [rsp + 0x118], rax
mov eax, r15d
mov qword [rsp + 0x108], rax
and eax, 0xfffffffe
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x98]
mov r12d, eax
imul r12d, dword [rsp + 0x9c]
imul eax, edx
mov dword [rsp + 0xcc], eax
mov rdx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xd8]
lea r9, [r8 + rdx]
imul r9, rcx
mov rax, qword [rsp + 0xa8]
add r9, rax
mov qword [rsp + 0x100], r9
mov r9, qword [rsp + 0xe8]
imul r9, r8
mov qword [rsp + 0x80], r9
imul rcx, rdx
add rcx, rax
mov qword [rsp + 0xf8], rcx
xor edi, edi
jmp 0x1400903ad
inc rdi
add r12d, dword [rsp + 0xcc]
cmp rdi, qword [rsp + 0x118]
je 0x1400901a7
test r15d, r15d
jle 0x140090394
mov r13d, r12d
mov qword [rsp + 0xb0], rdi
mov rbp, rdi
imul rbp, qword [rsp + 0x110]
mov r10, qword [r14]
mov r9, qword [r14 + 0x18]
cmp r15d, 1
mov dword [rsp + 0x68], r12d
jne 0x1400903e2
xor ebx, ebx
jmp 0x14009046d
mov r14, qword [rsp + 0xf8]
mov r12, qword [rsp + 0x100]
xor ebx, ebx
mov qword [rsp + 0x50], r9
mov ecx, dword [r10]
mov r15d, dword [rsp + 0x68]
imul ecx, r15d
add rcx, r14
lea rdx, [rbx + rbp]
mov rdi, qword [rsp + 0x60]
imul rdx, rdi
add rdx, r9
mov r8, rdi
mov r13, r10
call sub.VCRUNTIME140.dll_memcpy
mov rdx, rbx
or rdx, 1
mov ecx, dword [r13]
imul ecx, r15d
add rcx, r12
add rdx, rbp
imul rdx, rdi
add rdx, qword [rsp + 0x50]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
mov r10, r13
mov r9, qword [rsp + 0x50]
add rbx, 2
mov rax, qword [rsp + 0x80]
add r12, rax
add r14, rax
cmp qword [rsp + 0x88], rbx
jne 0x1400903f9
test byte [rsp + 0x108], 1
mov r14, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov r15d, dword [rsp + 0x74]
mov eax, dword [rsp + 0xa0]
mov r12d, dword [rsp + 0x68]
mov rdi, qword [rsp + 0xb0]
je 0x140090394
imul eax, edi
add eax, dword [rsp + 0x9c]
imul eax, dword [rsp + 0x98]
mov rcx, rbx
imul rcx, qword [rsp + 0xd8]
add rcx, qword [rsp + 0xe0]
imul eax, dword [r10]
add rax, qword [rsp + 0xa8]
imul rcx, r8
add rcx, rax
add rbp, rbx
imul rbp, r8
add r9, rbp
mov rdx, r9
call sub.VCRUNTIME140.dll_memcpy
jmp 0x140090394
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.outofmem
mov qword [rax + 8], rcx
jmp 0x14008f20c
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], ecx
mov rcx, r14
mov rdx, r12
mov r8d, edi
mov r9d, r15d
call fcn.140096280
test eax, eax
je 0x14008f20a
cmp byte [rsp + 0x90], 0
je 0x140090581
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0x20], 0x10
mov r8d, dword [rsi + 0xc]
jne 0x14009056f
lea rdx, [rsp + 0x126]
mov rcx, qword [rsp + 0x58]
call fcn.140095970
jmp 0x140090581
lea rdx, [rsp + 0x12c]
mov rcx, qword [rsp + 0x58]
call fcn.140095c90
cmp dword [rsp + 0x7c], 0
je 0x1400905c9
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp dword [rax + 0x24], 0
lea rax, [rax + 0x20]
lea rcx, [0x1402100b0]
cmovne rcx, rax
cmp dword [rcx], 0
je 0x1400905c9
cmp dword [rsi + 0xc], 3
jl 0x1400905c9
mov rcx, qword [rsp + 0x58]
call fcn.140096060
cmp byte [rsp + 0x4c], 0
je 0x140090671
movzx ebp, byte [rsp + 0x4c]
mov dword [rsi + 8], ebp
mov eax, dword [rsp + 0xa4]
cmp eax, 3
cmovge ebp, eax
mov dword [rsi + 0xc], ebp
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov edi, dword [rax + 4]
imul edi, dword [rax]
mov eax, edi
or eax, ebp
js 0x140090652
mov eax, 0x7fffffff
xor edx, edx
div ebp
cmp eax, edi
jl 0x140090652
mov rax, qword [rsp + 0x58]
mov rbx, qword [rax + 0x18]
mov eax, edi
imul eax, ebp
movsxd rcx, eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140090652
mov r14, rax
cmp ebp, 3
jne 0x1400906b9
test edi, edi
je 0x14009081d
mov eax, edi
cmp edi, 1
jne 0x140090784
xor edx, edx
mov rcx, r14
jmp 0x1400907f5
mov eax, dword [0x140210b70]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, str.outofmem
jmp 0x14008f203
cmp byte [rsp + 0x90], 0
je 0x140090832
inc dword [rsi + 8]
jmp 0x140090832
mov rax, qword [rsp + 0xa8]
mov qword [r14 + 0x18], rax
cmp byte [rsp + 0x90], 0
jne 0x14009054c
jmp 0x140090581
mov rcx, qword [rsp + 0xa8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14008f20a
test edi, edi
je 0x14009081d
mov eax, edi
cmp edi, 0x10
jb 0x1400906e2
lea rcx, [rbx + rax]
cmp r14, rcx
jae 0x140090863
lea rcx, [r14 + rax*4]
cmp rbx, rcx
jae 0x140090863
xor ecx, ecx
mov rdx, r14
mov r8, rcx
not r8
add r8, rax
mov r9, rax
and r9, 3
je 0x140090715
movzx r10d, byte [rbx + rcx]
mov r10d, dword [rsp + r10*4 + 0x130]
mov dword [rdx], r10d
add rdx, 4
inc rcx
dec r9
jne 0x1400906f9
cmp r8, 3
jb 0x14009081d
sub rax, rcx
add rcx, rbx
add rcx, 3
xor r8d, r8d
movzx r9d, byte [rcx + r8 - 3]
mov r9d, dword [rsp + r9*4 + 0x130]
mov dword [rdx + r8*4], r9d
movzx r9d, byte [rcx + r8 - 2]
mov r9d, dword [rsp + r9*4 + 0x130]
mov dword [rdx + r8*4 + 4], r9d
movzx r9d, byte [rcx + r8 - 1]
mov r9d, dword [rsp + r9*4 + 0x130]
mov dword [rdx + r8*4 + 8], r9d
movzx r9d, byte [rcx + r8]
mov r9d, dword [rsp + r9*4 + 0x130]
mov dword [rdx + r8*4 + 0xc], r9d
add r8, 4
cmp rax, r8
jne 0x14009072c
jmp 0x14009081d
mov r8d, eax
and r8d, 0xfffffffe
xor edx, edx
mov rcx, r14
movzx r9d, byte [rbx + rdx]
movzx r10d, byte [rsp + r9*4 + 0x130]
mov byte [rcx], r10b
movzx r10d, byte [rsp + r9*4 + 0x131]
mov byte [rcx + 1], r10b
movzx r9d, byte [rsp + r9*4 + 0x132]
mov byte [rcx + 2], r9b
movzx r9d, byte [rbx + rdx + 1]
movzx r10d, byte [rsp + r9*4 + 0x130]
mov byte [rcx + 3], r10b
movzx r10d, byte [rsp + r9*4 + 0x131]
mov byte [rcx + 4], r10b
movzx r9d, byte [rsp + r9*4 + 0x132]
mov byte [rcx + 5], r9b
add rcx, 6
add rdx, 2
cmp r8, rdx
jne 0x140090790
test al, 1
je 0x14009081d
movzx eax, byte [rbx + rdx]
movzx edx, byte [rsp + rax*4 + 0x130]
mov byte [rcx], dl
movzx edx, byte [rsp + rax*4 + 0x131]
mov byte [rcx + 1], dl
movzx eax, byte [rsp + rax*4 + 0x132]
mov byte [rcx + 2], al
mov rcx, rbx
vzeroupper
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x18], r14
mov rdi, qword [rsp + 0x58]
mov rcx, qword [rdi + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x10], 0
mov rcx, rsi
call fcn.140095790
mov rcx, rsi
call fcn.140095790
mov ebx, 1
jmp 0x14008f20c
cmp edi, 0x20
jae 0x140090bf7
xor ecx, ecx
mov r8, rcx
mov ecx, eax
and ecx, 0xfffffff0
lea rdx, [r14 + rcx*4]
movzx r10d, byte [rbx + r8]
movzx r9d, byte [rbx + r8 + 1]
vmovd xmm0, dword [rsp + r10*4 + 0x130]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 1
movzx r11d, byte [rsp + r10*4 + 0x131]
vmovd xmm1, r11d
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 1
movzx r11d, byte [rsp + r10*4 + 0x132]
vmovd xmm2, r11d
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 1
movzx r10d, byte [rsp + r10*4 + 0x133]
vmovd xmm3, r10d
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 1
movzx r9d, byte [rbx + r8 + 2]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 2
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 2
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 2
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 2
movzx r9d, byte [rbx + r8 + 3]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 3
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 3
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 3
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 3
movzx r9d, byte [rbx + r8 + 4]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 4
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 4
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 4
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 4
movzx r9d, byte [rbx + r8 + 5]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 5
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 5
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 5
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 5
movzx r9d, byte [rbx + r8 + 6]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 6
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 6
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 6
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 6
movzx r9d, byte [rbx + r8 + 7]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 7
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 7
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 7
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 7
movzx r9d, byte [rbx + r8 + 8]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 8
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 8
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 8
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 8
movzx r9d, byte [rbx + r8 + 9]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 9
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 9
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 9
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 9
movzx r9d, byte [rbx + r8 + 0xa]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 0xa
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 0xa
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 0xa
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 0xa
movzx r9d, byte [rbx + r8 + 0xb]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 0xb
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 0xb
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 0xb
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 0xb
movzx r9d, byte [rbx + r8 + 0xc]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 0xc
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 0xc
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 0xc
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 0xc
movzx r9d, byte [rbx + r8 + 0xd]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 0xd
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 0xd
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 0xd
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 0xd
movzx r9d, byte [rbx + r8 + 0xe]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 0xe
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 0xe
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 0xe
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 0xe
movzx r9d, byte [rbx + r8 + 0xf]
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x130], 0xf
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 0xf
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x132], 0xf
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 0xf
vpunpcklbw xmm4, xmm0, xmm1
vpunpckhbw xmm0, xmm0, xmm1
vpunpcklbw xmm1, xmm2, xmm3
vpunpckhbw xmm2, xmm2, xmm3
vpunpcklwd xmm3, xmm4, xmm1
vpunpckhwd xmm1, xmm4, xmm1
vpunpcklwd xmm4, xmm0, xmm2
vpunpckhwd xmm0, xmm0, xmm2
vmovdqu xmmword [r14 + r8*4 + 0x30], xmm0
vmovdqu xmmword [r14 + r8*4 + 0x20], xmm4
vmovdqu xmmword [r14 + r8*4 + 0x10], xmm1
vmovdqu xmmword [r14 + r8*4], xmm3
add r8, 0x10
cmp rcx, r8
jne 0x14009087a
cmp rcx, rax
jne 0x1400906e7
jmp 0x14009081d
mov ecx, eax
and ecx, 0xffffffe0
xor edx, edx
movzx r8d, byte [rbx + rdx]
movzx r9d, byte [rbx + rdx + 0x10]
movzx r10d, byte [rsp + r9*4 + 0x131]
vmovd xmm0, r10d
movzx r10d, byte [rsp + r9*4 + 0x132]
vmovd xmm3, r10d
movzx r10d, byte [rbx + rdx + 0x11]
vmovd xmm1, dword [rsp + r9*4 + 0x130]
vpinsrb xmm2, xmm1, byte [rsp + r10*4 + 0x130], 1
vpinsrb xmm1, xmm0, byte [rsp + r10*4 + 0x131], 1
vpinsrb xmm0, xmm3, byte [rsp + r10*4 + 0x132], 1
movzx r9d, byte [rsp + r9*4 + 0x133]
vmovd xmm3, r9d
vpinsrb xmm3, xmm3, byte [rsp + r10*4 + 0x133], 1
movzx r9d, byte [rbx + rdx + 0x12]
movzx r10d, byte [rbx + rdx + 0x13]
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x130], 2
vpinsrb xmm2, xmm2, byte [rsp + r10*4 + 0x130], 3
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 2
vpinsrb xmm1, xmm1, byte [rsp + r10*4 + 0x131], 3
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x132], 2
vpinsrb xmm0, xmm0, byte [rsp + r10*4 + 0x132], 3
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 2
movzx r9d, byte [rbx + rdx + 0x14]
vpinsrb xmm3, xmm3, byte [rsp + r10*4 + 0x133], 3
movzx r10d, byte [rbx + rdx + 0x15]
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x130], 4
vpinsrb xmm2, xmm2, byte [rsp + r10*4 + 0x130], 5
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 4
vpinsrb xmm1, xmm1, byte [rsp + r10*4 + 0x131], 5
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x132], 4
vpinsrb xmm0, xmm0, byte [rsp + r10*4 + 0x132], 5
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 4
vpinsrb xmm3, xmm3, byte [rsp + r10*4 + 0x133], 5
movzx r9d, byte [rbx + rdx + 0x16]
movzx r10d, byte [rbx + rdx + 0x17]
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x130], 6
vpinsrb xmm2, xmm2, byte [rsp + r10*4 + 0x130], 7
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 6
vpinsrb xmm1, xmm1, byte [rsp + r10*4 + 0x131], 7
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x132], 6
vpinsrb xmm0, xmm0, byte [rsp + r10*4 + 0x132], 7
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 6
movzx r9d, byte [rbx + rdx + 0x18]
vpinsrb xmm3, xmm3, byte [rsp + r10*4 + 0x133], 7
movzx r10d, byte [rbx + rdx + 0x19]
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x130], 8
vpinsrb xmm2, xmm2, byte [rsp + r10*4 + 0x130], 9
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 8
vpinsrb xmm1, xmm1, byte [rsp + r10*4 + 0x131], 9
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x132], 8
vpinsrb xmm0, xmm0, byte [rsp + r10*4 + 0x132], 9
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 8
vpinsrb xmm3, xmm3, byte [rsp + r10*4 + 0x133], 9
movzx r9d, byte [rbx + rdx + 0x1a]
movzx r10d, byte [rbx + rdx + 0x1b]
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x130], 0xa
vpinsrb xmm2, xmm2, byte [rsp + r10*4 + 0x130], 0xb
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 0xa
vpinsrb xmm1, xmm1, byte [rsp + r10*4 + 0x131], 0xb
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x132], 0xa
vpinsrb xmm0, xmm0, byte [rsp + r10*4 + 0x132], 0xb
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 0xa
movzx r9d, byte [rbx + rdx + 0x1c]
vpinsrb xmm3, xmm3, byte [rsp + r10*4 + 0x133], 0xb
movzx r10d, byte [rsp + r8*4 + 0x131]
vmovd xmm4, r10d
movzx r10d, byte [rbx + rdx + 0x1d]
vpinsrb xmm2, xmm2, byte [rsp + r9*4 + 0x130], 0xc
vpinsrb xmm2, xmm2, byte [rsp + r10*4 + 0x130], 0xd
vpinsrb xmm1, xmm1, byte [rsp + r9*4 + 0x131], 0xc
vpinsrb xmm1, xmm1, byte [rsp + r10*4 + 0x131], 0xd
vpinsrb xmm0, xmm0, byte [rsp + r9*4 + 0x132], 0xc
vpinsrb xmm0, xmm0, byte [rsp + r10*4 + 0x132], 0xd
vpinsrb xmm3, xmm3, byte [rsp + r9*4 + 0x133], 0xc
movzx r9d, byte [rbx + rdx + 1]
vpinsrb xmm3, xmm3, byte [rsp + r10*4 + 0x133], 0xd
movzx r10d, byte [rbx + rdx + 0x1e]
vpinsrb xmm2, xmm2, byte [rsp + r10*4 + 0x130], 0xe
vpinsrb xmm1, xmm1, byte [rsp + r10*4 + 0x131], 0xe
vpinsrb xmm5, xmm0, byte [rsp + r10*4 + 0x132], 0xe
vpinsrb xmm6, xmm3, byte [rsp + r10*4 + 0x133], 0xe
movzx r10d, byte [rbx + rdx + 0x1f]
vpinsrb xmm0, xmm2, byte [rsp + r10*4 + 0x130], 0xf
vmovd xmm2, dword [rsp + r8*4 + 0x130]
vpinsrb xmm7, xmm2, byte [rsp + r9*4 + 0x130], 1
vpinsrb xmm1, xmm1, byte [rsp + r10*4 + 0x131], 0xf
vpinsrb xmm4, xmm4, byte [rsp + r9*4 + 0x131], 1
vpinsrb xmm3, xmm5, byte [rsp + r10*4 + 0x132], 0xf
vpinsrb xmm2, xmm6, byte [rsp + r10*4 + 0x133], 0xf
movzx r10d, byte [rsp + r8*4 + 0x132]
vmovd xmm5, r10d
vpinsrb xmm5, xmm5, byte [rsp + r9*4 + 0x132], 1
movzx r8d, byte [rsp + r8*4 + 0x133]
vmovd xmm6, r8d
vpinsrb xmm6, xmm6, byte [rsp + r9*4 + 0x133], 1
movzx r8d, byte [rbx + rdx + 2]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 2
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 2
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 2
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 2
movzx r8d, byte [rbx + rdx + 3]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 3
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 3
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 3
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 3
movzx r8d, byte [rbx + rdx + 4]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 4
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 4
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 4
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 4
movzx r8d, byte [rbx + rdx + 5]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 5
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 5
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 5
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 5
movzx r8d, byte [rbx + rdx + 6]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 6
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 6
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 6
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 6
movzx r8d, byte [rbx + rdx + 7]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 7
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 7
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 7
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 7
movzx r8d, byte [rbx + rdx + 8]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 8
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 8
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 8
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 8
movzx r8d, byte [rbx + rdx + 9]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 9
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 9
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 9
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 9
movzx r8d, byte [rbx + rdx + 0xa]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 0xa
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 0xa
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 0xa
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 0xa
movzx r8d, byte [rbx + rdx + 0xb]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 0xb
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 0xb
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 0xb
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 0xb
movzx r8d, byte [rbx + rdx + 0xc]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 0xc
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 0xc
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 0xc
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 0xc
movzx r8d, byte [rbx + rdx + 0xd]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 0xd
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 0xd
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 0xd
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 0xd
movzx r8d, byte [rbx + rdx + 0xe]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 0xe
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 0xe
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 0xe
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 0xe
movzx r8d, byte [rbx + rdx + 0xf]
vpinsrb xmm7, xmm7, byte [rsp + r8*4 + 0x130], 0xf
vpinsrb xmm4, xmm4, byte [rsp + r8*4 + 0x131], 0xf
vpinsrb xmm5, xmm5, byte [rsp + r8*4 + 0x132], 0xf
vpinsrb xmm6, xmm6, byte [rsp + r8*4 + 0x133], 0xf
vinserti128 ymm0, ymm7, xmm0, 1
vinserti128 ymm1, ymm4, xmm1, 1
vinserti128 ymm3, ymm5, xmm3, 1
vinserti128 ymm2, ymm6, xmm2, 1
vpunpcklbw ymm4, ymm0, ymm1
vpunpckhbw ymm0, ymm0, ymm1
vpunpcklbw ymm1, ymm3, ymm2
vpunpckhbw ymm2, ymm3, ymm2
vpunpcklwd ymm3, ymm4, ymm1
vpunpckhwd ymm1, ymm4, ymm1
vpunpcklwd ymm4, ymm0, ymm2
vpunpckhwd ymm0, ymm0, ymm2
vinserti128 ymm2, ymm3, xmm1, 1
vinserti128 ymm5, ymm4, xmm0, 1
vperm2i128 ymm1, ymm3, ymm1, 0x31
vperm2i128 ymm0, ymm4, ymm0, 0x31
vmovdqu ymmword [r14 + rdx*4 + 0x60], ymm0
vmovdqu ymmword [r14 + rdx*4 + 0x40], ymm1
vmovdqu ymmword [r14 + rdx*4 + 0x20], ymm5
vmovdqu ymmword [r14 + rdx*4], ymm2
add rdx, 0x20
cmp rcx, rdx
jne 0x140090bfe
cmp rcx, rax
je 0x14009081d
test al, 0x10
jne 0x14009086e
lea rdx, [r14 + rcx*4]
jmp 0x1400906e7