Function at 0x140055740
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1e8
movaps xmmword [rsp + 0x190], xmm6
movaps xmmword [rsp + 0x1a0], xmm7
movaps xmmword [rsp + 0x1b0], xmm8
movaps xmmword [rsp + 0x1c0], xmm9
movaps xmmword [rsp + 0x1d0], xmm10
mov rdi, qword [rsp + 0x258]
mov ebp, dword [rsp + 0x250]
mov esi, dword [rsp + 0x260]
mov qword [rdi + 4], 0
mov dword [rdi], 8
mov r12, rcx
mov rcx, qword [rcx + 0xc0]
mov qword [rsp + 0x38], rdx
mov rax, qword [r12 + 0xc8]
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], r9
cmp rcx, rax
jb 0x140055cf0
mov eax, dword [r12 + 0x30]
test eax, eax
jne 0x1400561c8
nop dword [rax]
lea rcx, [0x140158020]
lea rbx, str.Not_a_PNG
call sym.__emutls_get_address
mov qword [rax], rbx
mov rdx, qword [r12 + 0xd0]
movdqu xmm3, xmmword [r12 + 0xd0]
mov qword [rsp + 0x50], rax
mov rax, qword [r12 + 0xd8]
movups xmmword [r12 + 0xc0], xmm3
cmp rdx, rax
jae 0x140055920
lea rcx, [rdx + 1]
mov qword [r12 + 0xc0], rcx
movzx r8d, byte [rdx]
cmp r8b, 0x42
jne 0x140056309
cmp rcx, rax
jae 0x140056320
lea rax, [rcx + 1]
mov qword [r12 + 0xc0], rax
movzx ecx, byte [rcx]
cmp cl, 0x4d
jne 0x14005632d
mov rcx, r12
call sym.stbi__get32le_stbi__context_
mov rcx, r12
call sym.stbi__get16le_stbi__context_
mov rcx, r12
call sym.stbi__get16le_stbi__context_
mov rcx, r12
call sym.stbi__get32le_stbi__context_
mov rcx, r12
call sym.stbi__get32le_stbi__context_
cmp eax, 0x38
ja 0x14005659b
cmp eax, 0xb
jbe 0x1400565a7
movabs rdx, 0x100010000001000
bt rdx, rax
jae 0x1400565a7
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
mov rcx, r12
movdqu xmm4, xmmword [r12 + 0xd0]
mov rdx, qword [rsp + 0x38]
movups xmmword [r12 + 0xc0], xmm4
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
movaps xmm8, xmmword [rsp + 0x1b0]
mov dword [rsp + 0x250], ebp
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.stbi__bmp_load_stbi__context__int__int__int__int__stbi__result_info___clone_isra0_
mov r8d, dword [r12 + 0x30]
test r8d, r8d
jne 0x1400562c0
mov qword [r12 + 0xc0], rdx
mov qword [r12 + 0xc8], rax
mov rcx, r12
call sym.stbi__gif_test_raw_stbi__context_
movdqu xmm5, xmmword [r12 + 0xd0]
mov ebx, eax
movups xmmword [r12 + 0xc0], xmm5
test eax, eax
jne 0x140056228
mov rcx, r12
call sym.stbi__get32be_stbi__context_
movdqu xmm0, xmmword [r12 + 0xd0]
movups xmmword [r12 + 0xc0], xmm0
cmp eax, 0x38425053
je 0x140056604
movhlps xmm5, xmm0
movq rdx, xmm0
movq rax, xmm5
cmp rdx, rax
jb 0x14005640f
mov eax, dword [r12 + 0x30]
test eax, eax
jne 0x140056f3a
mov rax, qword [r12 + 0xd0]
mov qword [r12 + 0xc0], rax
mov rax, qword [r12 + 0xd8]
mov qword [r12 + 0xc8], rax
mov edx, 1
mov ecx, 0x4888
call sym.calloc
mov r13, rax
test rax, rax
je 0x140056b4d
lea rsi, [sym.stbi__idct_simd_unsigned_char__int__short_]
lea rax, [sym.stbi__YCbCr_to_RGB_simd_unsigned_char__unsigned_char_const__unsigned_char_const__unsigned_char_const__int__int_]
mov qword [r13], r12
mov rcx, r13
movq xmm6, rsi
movq xmm7, rax
mov edx, 1
lea rsi, [sym.stbi__resample_row_hv_2_simd_unsigned_char__unsigned_char__unsigned_char__int__int_]
punpcklqdq xmm6, xmm7
mov qword [r13 + 0x4880], rsi
movups xmmword [r13 + 0x4870], xmm6
call sym.stbi__decode_jpeg_header_stbi__jpeg__int_
mov rdx, qword [r12 + 0xd8]
mov r15, qword [r12 + 0xd0]
mov rcx, r13
mov r14d, eax
mov qword [r12 + 0xc8], rdx
mov qword [r12 + 0xc0], r15
mov qword [rsp + 0x48], rdx
call sym.free
test r14d, r14d
mov rdx, qword [rsp + 0x48]
je 0x140056b6c
mov edx, 1
mov ecx, 0x4888
call sym.calloc
mov r14, rax
test rax, rax
je 0x140057f95
mov qword [rax], r12
mov qword [rax + 0x4880], rsi
mov dword [r12 + 8], 0
movups xmmword [rax + 0x4870], xmm6
cmp ebp, 4
ja 0x140056f83
mov rcx, rax
call sym.stbi__decode_jpeg_image_stbi__jpeg_
test eax, eax
je 0x140057e59
mov r13, qword [r14]
mov r9d, dword [r13 + 8]
test ebp, ebp
jne 0x140057147
mov ebp, 1
cmp r9d, 2
jle 0x140057139
mov ebp, 3
cmp r9d, 3
je 0x140057e2d
mov byte [rsp + 0x78], 0
pxor xmm0, xmm0
lea rax, [rsp + 0xd0]
lea rsi, [r14 + 0x46a4]
movaps xmmword [rsp + 0xb0], xmm0
mov r12, rax
lea r15, [sym.resample_row_1_unsigned_char__unsigned_char__unsigned_char__int__int_]
movaps xmmword [rsp + 0xc0], xmm0
mov edi, dword [r13]
mov qword [rsp + 0x80], rax
mov eax, r9d
mov r9d, edi
mov edi, ebx
mov ebx, eax
nop dword [rax + rax]
lea ecx, [r9 + 3]
call sym.malloc
mov qword [rsi + 0x44], rax
test rax, rax
je 0x140055c7b
mov eax, dword [r14 + 0x4688]
mov r9d, dword [r13]
cdq
idiv dword [rsi]
mov ecx, eax
mov eax, dword [r14 + 0x468c]
movd xmm0, ecx
cdq
idiv dword [rsi + 4]
mov dword [r12 + 0x28], 0
xor edx, edx
mov r8d, eax
lea eax, [r9 + rcx - 1]
div ecx
mov edx, r8d
movd xmm4, r8d
movabs rcx, 0x100000001
sar edx, 1
punpckldq xmm0, xmm4
movd xmm7, edx
movd xmm1, eax
movsxd rax, edi
punpckldq xmm1, xmm7
lea rax, [rax + rax*2]
punpcklqdq xmm0, xmm1
shl rax, 4
movups xmmword [r12 + 0x18], xmm0
movq xmm0, qword [rsi + 0x2c]
punpcklqdq xmm0, xmm0
movups xmmword [r12 + 8], xmm0
mov rdx, qword [rsp + rax + 0xe8]
mov rax, r15
cmp rdx, rcx
je 0x140055c20
movabs rcx, 0x200000001
lea rax, [sym.stbi__resample_row_v_2_unsigned_char__unsigned_char__unsigned_char__int__int_]
cmp rdx, rcx
je 0x140055c20
movabs rcx, 0x100000002
lea rax, [sym.stbi__resample_row_h_2_unsigned_char__unsigned_char__unsigned_char__int__int_]
cmp rdx, rcx
je 0x140055c20
movabs rcx, 0x200000002
lea rax, [sym.stbi__resample_row_generic_unsigned_char__unsigned_char__unsigned_char__int__int_]
cmp rdx, rcx
jne 0x140055c20
mov rax, qword [r14 + 0x4880]
nop dword [rax + rax]
add edi, 1
mov qword [r12], rax
add rsi, 0x60
add r12, 0x30
cmp edi, ebx
jne 0x140055b30
mov edi, r9d
mov ecx, dword [r13 + 4]
mov r9d, ebx
test edi, edi
js 0x140055c7b
je 0x1400572a4
mov eax, 0x7fffffff
xor edx, edx
idiv edi
cmp eax, ebp
jl 0x140055c7b
test ecx, ecx
js 0x140055c7b
je 0x1400575a3
mov eax, 0x7fffffff
xor edx, edx
mov r8d, edi
idiv ecx
imul r8d, ebp
cmp r8d, eax
jle 0x1400581cc
mov edx, dword [r13 + 8]
mov rcx, r14
lea rdi, str.Out_of_memory
call sym.stbi__free_jpeg_components_stbi__jpeg__int__int___clone_constprop0_
mov rax, qword [rsp + 0x50]
mov qword [rax], rdi
mov qword [rsp + 0x48], 0
mov rcx, r14
call sym.free
mov rax, qword [rsp + 0x48]
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
movaps xmm8, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, [rcx + 1]
mov qword [r12 + 0xc0], rdx
movzx ecx, byte [rcx]
cmp cl, 0x89
jne 0x1400557e0
cmp rdx, rax
jb 0x140055d78
mov r15d, dword [r12 + 0x30]
test r15d, r15d
je 0x1400557e0
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
lea rcx, [r12 + 0x39]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
test eax, eax
je 0x1400563a0
cdqe
mov qword [r12 + 0xc0], rcx
movzx edx, byte [r12 + 0x38]
add rax, rbx
mov qword [r12 + 0xc8], rax
jmp 0x140055d87
lea rcx, [rdx + 1]
mov qword [r12 + 0xc0], rcx
movzx edx, byte [rdx]
cmp dl, 0x50
jne 0x1400557e0
cmp rcx, rax
jb 0x140055e00
mov r14d, dword [r12 + 0x30]
test r14d, r14d
je 0x1400557e0
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
lea rdx, [r12 + 0x39]
test eax, eax
je 0x140056378
cdqe
mov qword [r12 + 0xc0], rdx
movzx ecx, byte [r12 + 0x38]
add rax, rbx
mov qword [r12 + 0xc8], rax
jmp 0x140055e0f
lea rdx, [rcx + 1]
mov qword [r12 + 0xc0], rdx
movzx ecx, byte [rcx]
cmp cl, 0x4e
jne 0x1400557e0
cmp rdx, rax
jb 0x140055e88
mov r13d, dword [r12 + 0x30]
test r13d, r13d
je 0x1400557e0
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
lea rcx, [r12 + 0x39]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
test eax, eax
je 0x1400563a0
cdqe
mov qword [r12 + 0xc0], rcx
movzx edx, byte [r12 + 0x38]
add rax, rbx
mov qword [r12 + 0xc8], rax
jmp 0x140055e97
lea rcx, [rdx + 1]
mov qword [r12 + 0xc0], rcx
movzx edx, byte [rdx]
cmp dl, 0x47
jne 0x1400557e0
cmp rcx, rax
jb 0x140055f10
mov ebx, dword [r12 + 0x30]
test ebx, ebx
je 0x1400557e0
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
lea rdx, [r12 + 0x39]
test eax, eax
je 0x140056378
cdqe
mov qword [r12 + 0xc0], rdx
movzx ecx, byte [r12 + 0x38]
add rax, rbx
mov qword [r12 + 0xc8], rax
jmp 0x140055f1f
lea rdx, [rcx + 1]
mov qword [r12 + 0xc0], rdx
movzx ecx, byte [rcx]
cmp cl, 0xd
jne 0x1400557e0
cmp rdx, rax
jb 0x140055f98
mov r11d, dword [r12 + 0x30]
test r11d, r11d
je 0x1400557e0
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
lea rcx, [r12 + 0x39]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
test eax, eax
je 0x1400563a0
cdqe
mov qword [r12 + 0xc0], rcx
movzx edx, byte [r12 + 0x38]
add rax, rbx
mov qword [r12 + 0xc8], rax
jmp 0x140055fa7
lea rcx, [rdx + 1]
mov qword [r12 + 0xc0], rcx
movzx edx, byte [rdx]
cmp dl, 0xa
jne 0x1400557e0
cmp rcx, rax
jb 0x140056020
mov r10d, dword [r12 + 0x30]
test r10d, r10d
je 0x1400557e0
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
lea rdx, [r12 + 0x39]
test eax, eax
je 0x140056378
cdqe
mov qword [r12 + 0xc0], rdx
movzx ecx, byte [r12 + 0x38]
add rax, rbx
mov qword [r12 + 0xc8], rax
jmp 0x14005602f
lea rdx, [rcx + 1]
mov qword [r12 + 0xc0], rdx
movzx ecx, byte [rcx]
cmp cl, 0x1a
jne 0x1400557e0
cmp rdx, rax
jae 0x140056138
lea rax, [rdx + 1]
mov qword [r12 + 0xc0], rax
movzx edx, byte [rdx]
cmp dl, 0xa
jne 0x1400557e0
movdqu xmm2, xmmword [r12 + 0xd0]
mov qword [rsp + 0xd0], r12
movups xmmword [r12 + 0xc0], xmm2
cmp ebp, 4
ja 0x1400561a0
xor edx, edx
lea rcx, [rsp + 0xd0]
mov r8d, ebp
call sym.stbi__parse_png_file_stbi__png__int__int_
test eax, eax
je 0x140056288
mov edx, dword [rsp + 0xf0]
cmp edx, 8
jle 0x1400563c8
cmp edx, 0x10
jne 0x14005666f
mov rax, qword [rsp + 0xe8]
mov dword [rdi], edx
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xd0]
test ebp, ebp
je 0x140056348
mov ecx, dword [rax + 0xc]
mov r9d, dword [rax]
cmp ebp, ecx
je 0x140056348
mov eax, dword [rax + 4]
cmp edx, 8
mov r8d, ebp
mov edx, ecx
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x20], eax
je 0x140056c79
call sym.stbi__convert_format16_unsigned_short__int__int__unsigned_int__unsigned_int___clone_part0_
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0xd0]
cmp qword [rsp + 0x48], 0
mov dword [rax + 0xc], ebp
je 0x1400561b6
mov rcx, qword [rsp + 0xe8]
jmp 0x14005634a
mov r9d, dword [r12 + 0x30]
test r9d, r9d
je 0x1400557e0
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
test eax, eax
jne 0x1400563d2
lea rax, [r12 + 0x39]
mov byte [r12 + 0x38], 0
mov dword [r12 + 0x30], 0
mov qword [r12 + 0xc8], rax
jmp 0x1400557e0
lea rcx, [0x140158020]
lea rdi, str.Internal_error
call sym.__emutls_get_address
mov qword [rax], rdi
mov qword [rsp + 0x48], 0
jmp 0x140055ca7
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
lea rdx, [r12 + 0x39]
test eax, eax
je 0x140056378
cdqe
mov qword [r12 + 0xc0], rdx
movzx ecx, byte [r12 + 0x38]
add rax, rbx
mov qword [r12 + 0xc8], rax
jmp 0x140055cff
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
mov rcx, r12
mov dword [rsp + 0x250], ebp
mov rdx, qword [rsp + 0x38]
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
movaps xmm8, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.stbi__gif_load_stbi__context__int__int__int__int__stbi__result_info___clone_isra0_
mov qword [rsp + 0x48], 0
mov rcx, qword [rsp + 0xe8]
call sym.free
mov rcx, qword [rsp + 0xe0]
call sym.free
mov rcx, qword [rsp + 0xd8]
call sym.free
jmp 0x140055ca7
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xd0]
mov rcx, qword [r12 + 0xc0]
sub rcx, rdx
add dword [r12 + 0xb8], ecx
test eax, eax
jne 0x1400563ea
mov dword [r12 + 0x30], 0
mov byte [r12 + 0x38], 0
mov rax, qword [r12 + 0xd8]
jmp 0x14005592e
mov ecx, dword [r12 + 0x30]
test ecx, ecx
jne 0x1400566b2
mov qword [r12 + 0xc0], rdx
mov rax, qword [r12 + 0xd8]
jmp 0x140055936
xor ecx, ecx
mov edx, dword [rax]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov dword [rdi], edx
mov rdi, qword [rsp + 0x30]
mov edx, dword [rax + 4]
mov dword [rsi], edx
test rdi, rdi
je 0x140056299
mov eax, dword [rax + 8]
mov dword [rdi], eax
jmp 0x140056299
mov dword [r12 + 0x30], 0
mov byte [r12 + 0x38], 0
mov qword [r12 + 0xc8], rdx
mov qword [r12 + 0xc0], rdx
jmp 0x1400557e0
mov dword [r12 + 0x30], 0
mov byte [r12 + 0x38], 0
mov qword [r12 + 0xc8], rcx
mov qword [r12 + 0xc0], rcx
jmp 0x1400557e0
mov edx, 8
jmp 0x1400560b0
cdqe
movzx edx, byte [r12 + 0x38]
add rbx, rax
mov qword [r12 + 0xc8], rbx
jmp 0x140056050
cdqe
lea rcx, [r12 + 0x39]
movzx r8d, byte [r12 + 0x38]
add rax, rbx
mov qword [r12 + 0xc0], rcx
mov qword [r12 + 0xc8], rax
jmp 0x140055837
lea rax, [rdx + 1]
mov qword [r12 + 0xc0], rax
movzx eax, byte [rdx]
cmp al, 0x53
jne 0x1400559ac
mov rax, qword [r12 + 0xc0]
cmp rax, qword [r12 + 0xc8]
jb 0x14005668a
mov eax, dword [r12 + 0x30]
test eax, eax
je 0x1400559ac
mov rcx, r12
call sym.stbi__refill_buffer_stbi__context_
mov rax, qword [r12 + 0xc0]
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
cmp al, 0x80
jne 0x1400559ac
mov rax, qword [r12 + 0xc0]
cmp rax, qword [r12 + 0xc8]
jb 0x14005669e
mov eax, dword [r12 + 0x30]
test eax, eax
je 0x1400559ac
mov rcx, r12
call sym.stbi__refill_buffer_stbi__context_
mov rax, qword [r12 + 0xc0]
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
cmp al, 0xf6
jne 0x1400559ac
mov rax, qword [r12 + 0xc0]
cmp rax, qword [r12 + 0xc8]
jb 0x1400564e9
mov eax, dword [r12 + 0x30]
test eax, eax
je 0x1400559ac
mov rcx, r12
call sym.stbi__refill_buffer_stbi__context_
mov rax, qword [r12 + 0xc0]
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
cmp al, 0x34
jne 0x1400559ac
mov rax, qword [r12 + 0xc0]
mov r13d, 0x54
lea rsi, [r12 + 0x38]
mov rdx, qword [r12 + 0xc8]
mov rcx, rax
jmp 0x140056536
add rcx, 1
mov qword [r12 + 0xc0], rcx
sub r13d, 1
je 0x1400565d0
cmp rcx, rdx
jb 0x140056520
mov eax, dword [r12 + 0x30]
test eax, eax
je 0x14005652c
mov rcx, qword [r12 + 0x28]
mov rdx, rsi
mov r8d, dword [r12 + 0x34]
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
lea rcx, [r12 + 0x39]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
test eax, eax
jne 0x1400565c8
mov dword [r12 + 0x30], 0
mov rdx, rcx
mov byte [r12 + 0x38], 0
mov qword [r12 + 0xc8], rdx
mov qword [r12 + 0xc0], rcx
jmp 0x14005652c
and eax, 0xffffffef
cmp eax, 0x6c
je 0x1400558b0
mov rax, qword [r12 + 0xd0]
mov qword [r12 + 0xc0], rax
mov rax, qword [r12 + 0xd8]
jmp 0x140055936
cdqe
lea rdx, [rsi + rax]
jmp 0x140056589
cmp rcx, rdx
jb 0x140056700
mov r15d, dword [r12 + 0x30]
test r15d, r15d
jne 0x140056fa3
mov rdx, qword [r12 + 0xd0]
mov rax, qword [r12 + 0xd8]
mov qword [r12 + 0xc0], rdx
jmp 0x1400559c4
mov r9, qword [rsp + 0x30]
mov r8, qword [rsp + 0x40]
mov rcx, r12
mov dword [rsp + 0x260], esi
mov rdx, qword [rsp + 0x38]
mov dword [rsp + 0x250], ebp
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
mov qword [rsp + 0x258], rdi
movaps xmm8, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.stbi__psd_load_stbi__context__int__int__int__int__stbi__result_info__int_
lea rcx, [0x140158020]
lea rsi, str.PNG_not_supported:_unsupported_color_depth
call sym.__emutls_get_address
mov qword [rax], rsi
jmp 0x1400561b6
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
jmp 0x140056468
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
jmp 0x1400564b2
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xd0]
mov rcx, qword [r12 + 0xc0]
sub rcx, rdx
add dword [r12 + 0xb8], ecx
test eax, eax
jne 0x140056f5e
mov dword [r12 + 0x30], 0
mov byte [r12 + 0x38], 0
jmp 0x14005632d
lea rdx, [rcx + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rcx]
cmp al, 0x50
jne 0x1400565e7
mov rax, qword [r12 + 0xc0]
cmp rax, qword [r12 + 0xc8]
jb 0x140056b11
mov r14d, dword [r12 + 0x30]
test r14d, r14d
je 0x1400565e7
mov rcx, r12
call sym.stbi__refill_buffer_stbi__context_
mov rax, qword [r12 + 0xc0]
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
cmp al, 0x49
jne 0x1400565e7
mov rax, qword [r12 + 0xc0]
cmp rax, qword [r12 + 0xc8]
jb 0x140056b25
mov r13d, dword [r12 + 0x30]
test r13d, r13d
je 0x1400565e7
mov rcx, r12
call sym.stbi__refill_buffer_stbi__context_
mov rax, qword [r12 + 0xc0]
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
cmp al, 0x43
jne 0x1400565e7
mov rax, qword [r12 + 0xc0]
cmp rax, qword [r12 + 0xc8]
jb 0x1400567dc
mov esi, dword [r12 + 0x30]
test esi, esi
je 0x1400565e7
mov rcx, r12
call sym.stbi__refill_buffer_stbi__context_
mov rax, qword [r12 + 0xc0]
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
cmp al, 0x54
jne 0x1400565e7
mov rdi, qword [rsp + 0x30]
mov ebx, 0x5c
lea rcx, [rsp + 0xac]
mov rax, qword [r12 + 0xd0]
movdqu xmm6, xmmword [r12 + 0xd0]
mov rdx, qword [r12 + 0xd8]
lea rsi, [r12 + 0x38]
test rdi, rdi
movups xmmword [r12 + 0xc0], xmm6
cmovne rcx, rdi
mov qword [rsp + 0x30], rcx
mov rcx, rax
jmp 0x140056851
add rcx, 1
mov qword [r12 + 0xc0], rcx
sub ebx, 1
je 0x1400568c8
cmp rcx, rdx
jb 0x140056840
mov r11d, dword [r12 + 0x30]
test r11d, r11d
je 0x14005684c
mov rcx, qword [r12 + 0x28]
mov rdx, rsi
mov r8d, dword [r12 + 0x34]
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
lea rcx, [r12 + 0x39]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
test eax, eax
jne 0x1400568c0
mov dword [r12 + 0x30], 0
mov rdx, rcx
mov byte [r12 + 0x38], 0
mov qword [r12 + 0xc8], rdx
mov qword [r12 + 0xc0], rcx
jmp 0x14005684c
cdqe
lea rdx, [rsi + rax]
jmp 0x1400568a5
mov rcx, r12
call sym.stbi__get16be_stbi__context_
mov rcx, r12
mov r15d, eax
call sym.stbi__get16be_stbi__context_
mov edi, eax
cmp eax, 0x1000000
jg 0x140056b39
cmp r15d, 0x1000000
jg 0x140056b39
cmp qword [r12 + 0x10], 0
je 0x140056919
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x20]
test eax, eax
je 0x14005692f
mov r10d, dword [r12 + 0x30]
test r10d, r10d
je 0x14005712d
mov rax, qword [r12 + 0xc8]
cmp qword [r12 + 0xc0], rax
jae 0x14005712d
mov eax, r15d
or eax, edi
js 0x140056f97
test edi, edi
je 0x1400571ea
mov eax, 0x7fffffff
xor edx, edx
idiv edi
cmp r15d, eax
jg 0x140056f97
mov ebx, r15d
imul ebx, edi
cmp ebx, 0x1fffffff
jg 0x140056f97
mov rcx, r12
call sym.stbi__get32be_stbi__context_
mov rcx, r12
call sym.stbi__get16be_stbi__context_
mov rcx, r12
call sym.stbi__get16be_stbi__context_
shl ebx, 2
movsxd rbx, ebx
mov rcx, rbx
call sym.malloc
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14005827b
mov r8, rbx
mov edx, 0xff
mov rcx, rax
xor r13d, r13d
call sym.memset
mov dword [rsp + 0x58], 0
mov eax, ebp
lea r14, [rsp + 0xd1]
mov ebp, edi
mov rdi, r12
mov r12d, eax
mov rax, qword [rdi + 0xc8]
mov rdx, qword [rdi + 0xc0]
mov dword [rsp + 0x60], r13d
add r13d, 1
mov r10, qword [rdi + 0x10]
mov rcx, rax
cmp rdx, rax
jae 0x140056ffb
lea r8, [rdx + 1]
mov qword [rdi + 0xc0], r8
movzx esi, byte [rdx]
cmp r8, rax
jae 0x140057061
lea rcx, [r8 + 1]
mov qword [rdi + 0xc0], rcx
movzx ebx, byte [r8]
cmp rcx, rax
jae 0x1400570bf
lea rdx, [rcx + 1]
mov qword [rdi + 0xc0], rdx
movzx ecx, byte [rcx]
mov byte [r14], cl
cmp rdx, rax
jae 0x140056fc7
lea rcx, [rdx + 1]
mov qword [rdi + 0xc0], rcx
movzx r8d, byte [rdx]
or dword [rsp + 0x58], r8d
mov edx, r8d
cmp qword [rdi + 0x10], 0
mov byte [r14 + 1], dl
je 0x140056a7d
mov rcx, qword [rdi + 0x28]
call qword [rdi + 0x20]
test eax, eax
je 0x140056a86
mov eax, dword [rdi + 0x30]
test eax, eax
je 0x140056fe2
mov rcx, qword [rdi + 0xc0]
mov rax, qword [rdi + 0xc8]
cmp rcx, rax
jae 0x140056fe2
cmp bl, 8
jne 0x1400581e2
add r14, 3
test sil, sil
je 0x140059014
cmp r13d, 0xa
jne 0x1400569c7
mov rax, qword [rsp + 0x50]
lea rsi, str.too_many_packets
mov edi, ebp
mov ebp, r12d
mov qword [rax], rsi
mov rcx, qword [rsp + 0x48]
call sym.free
xor eax, eax
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x38]
mov dword [rax], r15d
mov rax, qword [rsp + 0x40]
mov dword [rax], edi
test ebp, ebp
jne 0x140056ae5
mov rax, qword [rsp + 0x30]
mov ebp, dword [rax]
cmp ebp, 4
je 0x140055ca7
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x48]
mov r9d, r15d
mov r8d, ebp
mov edx, 4
call sym.stbi__convert_format_unsigned_char__int__int__unsigned_int__unsigned_int___clone_part0_
mov qword [rsp + 0x48], rax
jmp 0x140055ca7
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
jmp 0x14005675a
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
jmp 0x1400567a5
lea rax, str.Very_large_image__corrupt__
mov rdi, qword [rsp + 0x50]
mov qword [rdi], rax
jmp 0x1400561b6
mov rax, qword [rsp + 0x50]
lea rsi, str.Out_of_memory
mov qword [rax], rsi
mov r15, qword [r12 + 0xc0]
mov rdx, qword [r12 + 0xc8]
cmp r15, rdx
jae 0x140056c88
lea rax, [r15 + 1]
mov qword [r12 + 0xc0], rax
movzx esi, byte [r15]
cmp rax, rdx
jae 0x140056cf6
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx edx, byte [rax]
cmp sil, 0x50
jne 0x140056d5b
sub edx, 0x35
cmp dl, 1
ja 0x140056d5b
lea r9, [r12 + 8]
lea r8, [r12 + 4]
mov rdx, r12
mov rcx, r12
call sym.stbi__pnm_info_stbi__context__int__int__int_
mov dword [rdi], eax
test eax, eax
je 0x1400561b6
cmp dword [r12 + 4], 0x1000000
ja 0x1400571d6
mov eax, dword [r12]
cmp eax, 0x1000000
ja 0x1400571d6
mov rsi, qword [rsp + 0x38]
mov dword [rsi], eax
mov rsi, qword [rsp + 0x40]
mov eax, dword [r12 + 4]
mov dword [rsi], eax
mov rsi, qword [rsp + 0x30]
test rsi, rsi
je 0x140056c14
mov eax, dword [r12 + 8]
mov dword [rsi], eax
mov r15d, dword [r12 + 8]
mov r14d, dword [rdi]
mov ebx, dword [r12 + 4]
mov esi, dword [r12]
test r15d, r15d
js 0x140056c65
test esi, esi
js 0x140056c65
je 0x140057f2f
mov eax, 0x7fffffff
xor edx, edx
idiv esi
cmp r15d, eax
jg 0x140056c65
test ebx, ebx
js 0x140056c65
mov ecx, esi
imul ecx, r15d
test ebx, ebx
je 0x140057f39
mov eax, 0x7fffffff
xor edx, edx
idiv ebx
cmp ecx, eax
jle 0x140057f39
mov rax, qword [rsp + 0x50]
lea rdi, str.PNM_too_large
mov qword [rax], rdi
jmp 0x1400561b6
call sym.stbi__convert_format_unsigned_char__int__int__unsigned_int__unsigned_int___clone_part0_
mov qword [rsp + 0x48], rax
jmp 0x14005610d
mov r14d, dword [r12 + 0x30]
test r14d, r14d
je 0x140056d5b
lea rsi, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rsi
call qword [r12 + 0x10]
movsxd rcx, eax
mov rax, qword [r12 + 0xc0]
sub rax, qword [r12 + 0xd0]
add dword [r12 + 0xb8], eax
lea rax, [r12 + 0x39]
test ecx, ecx
jne 0x140057265
mov dword [r12 + 0x30], 0
xor esi, esi
mov byte [r12 + 0x38], 0
mov qword [r12 + 0xc8], rax
mov qword [r12 + 0xc0], rax
mov r13d, dword [r12 + 0x30]
test r13d, r13d
je 0x140056d5b
lea r13, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, r13
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
lea rcx, [r12 + 0x39]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
test eax, eax
jne 0x140057284
mov dword [r12 + 0x30], 0
mov byte [r12 + 0x38], 0
mov qword [r12 + 0xc8], rcx
mov qword [r12 + 0xc0], rcx
movdqu xmm6, xmmword [r12 + 0xd0]
mov rcx, r12
movups xmmword [r12 + 0xc0], xmm6
call sym.stbi__hdr_test_stbi__context_
mov dword [rsp + 0x90], eax
test eax, eax
je 0x140057184
mov rdi, qword [rsp + 0x30]
mov dword [rsp + 0x20], ebp
mov rcx, r12
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov r9, rdi
call sym.stbi__hdr_load_stbi__context__int__int__int__int__stbi__result_info___clone_isra0_
mov rsi, rax
test ebp, ebp
jne 0x140056dac
mov ebp, dword [rdi]
mov rax, qword [rsp + 0x40]
mov r12d, dword [rax]
mov rax, qword [rsp + 0x38]
mov edi, dword [rax]
test rsi, rsi
je 0x1400561b6
xor r9d, r9d
mov r8d, ebp
mov edx, r12d
mov ecx, edi
call sym.stbi__malloc_mad3_int__int__int__int_
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140059007
mov eax, ebp
mov r8d, ebp
mov ecx, r12d
and eax, 1
cmp eax, 1
sbb r8d, 0
imul ecx, edi
test ecx, ecx
jle 0x140056f2d
movss xmm10, dword [0x140165810]
xor edx, edx
test r8d, r8d
mov dword [rsp + 0x40], r8d
cmovns edx, r8d
mov dword [rsp + 0x50], ecx
xor r15d, r15d
mov qword [rsp + 0x38], rsi
mov esi, ebp
mov ebp, r15d
mov r15d, edx
mov edi, dword [rsp + 0x40]
test edi, edi
jle 0x140056ec4
mov rdi, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x48]
movsxd rax, ebp
movsxd r14, r15d
movss xmm9, dword [0x140158144]
movss xmm6, dword [0x1401656a0]
pxor xmm7, xmm7
movss xmm8, dword [0x140158140]
lea r13, [rdi + rax*4]
lea r12, [rdx + rax]
xor edi, edi
movaps xmm1, xmm9
nop word [rax + rax]
movss xmm0, dword [r13 + rdi*4]
movss dword [rsp + 0x30], xmm1
mulss xmm0, xmm8
call dbg.powf
xor eax, eax
movss xmm1, dword [rsp + 0x30]
mulss xmm0, xmm10
addss xmm0, xmm6
comiss xmm7, xmm0
ja 0x140056eb7
comiss xmm0, dword [0x140165810]
mov eax, 0xffffffff
ja 0x140056eb7
cvttss2si eax, xmm0
mov byte [r12 + rdi], al
add rdi, 1
cmp r14, rdi
jne 0x140056e78
cmp esi, r15d
jle 0x140056f17
mov rdi, qword [rsp + 0x38]
lea eax, [rbp + r15]
pxor xmm1, xmm1
movss xmm0, dword [0x140165810]
cdqe
movss xmm6, dword [0x1401656a0]
xor r10d, r10d
mulss xmm0, dword [rdi + rax*4]
addss xmm0, xmm6
comiss xmm1, xmm0
ja 0x140056f0e
comiss xmm0, dword [0x140165810]
mov r10d, 0xffffffff
ja 0x140056f0e
cvttss2si r10d, xmm0
mov rdi, qword [rsp + 0x48]
mov byte [rdi + rax], r10b
mov eax, dword [rsp + 0x50]
add ebx, 1
add ebp, esi
cmp ebx, eax
jne 0x140056e2a
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
call sym.free
jmp 0x140055ca7
mov rcx, r12
call sym.stbi__refill_buffer_stbi__context_
mov rax, qword [r12 + 0xc0]
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
jmp 0x14005641e
cdqe
movzx ecx, byte [r12 + 0x38]
add rbx, rax
lea rax, [r12 + 0x39]
mov qword [r12 + 0xc8], rbx
mov qword [r12 + 0xc0], rax
jmp 0x140055859
mov rax, qword [rsp + 0x50]
lea rdi, str.Internal_error
mov qword [rax], rdi
jmp 0x140055c96
lea rax, str.PIC_image_too_large_to_decode
jmp 0x140056b40
mov rcx, r12
call sym.stbi__refill_buffer_stbi__context_
mov rax, qword [r12 + 0xc0]
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx eax, byte [rax]
jmp 0x14005670f
mov edx, dword [rdi + 0x30]
test edx, edx
jne 0x140057209
cmp qword [rdi + 0x10], 0
mov byte [r14 + 1], 0
jne 0x140056a59
mov rax, qword [rsp + 0x50]
lea rsi, str.file_too_short__reading_packets_
mov edi, ebp
mov ebp, r12d
mov qword [rax], rsi
jmp 0x140056aba
mov r9d, dword [rdi + 0x30]
xor esi, esi
test r9d, r9d
jne 0x140057012
xor ebx, ebx
mov rax, rcx
xor ecx, ecx
jmp 0x140056a2b
lea rbx, [rdi + 0x38]
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rdi + 0x28]
mov rdx, rbx
call r10
mov rdx, qword [rdi + 0xc0]
lea r8, [rdi + 0x39]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x140057eef
mov dword [rdi + 0x30], 0
mov r10, qword [rdi + 0x10]
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], r8
mov qword [rdi + 0xc0], r8
mov r8d, dword [rdi + 0x30]
test r8d, r8d
je 0x1400580ae
lea rbx, [rdi + 0x38]
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov rdx, rbx
call r10
mov rdx, qword [rdi + 0xc0]
lea rcx, [rdi + 0x39]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
jne 0x140057f0f
mov dword [rdi + 0x30], 0
mov r10, qword [rdi + 0x10]
xor ebx, ebx
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rcx
mov qword [rdi + 0xc0], rcx
mov ecx, dword [rdi + 0x30]
test ecx, ecx
je 0x1400580c1
lea r11, [rdi + 0x38]
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov rdx, r11
mov qword [rsp + 0x68], r11
call r10
mov rdx, qword [rdi + 0xc0]
mov r11, qword [rsp + 0x68]
sub rdx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], edx
test eax, eax
lea rdx, [rdi + 0x39]
jne 0x140057ee1
mov dword [rdi + 0x30], 0
mov rax, rdx
xor ecx, ecx
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov r10, qword [rdi + 0x10]
mov qword [rdi + 0xc0], rdx
jmp 0x140056a2b
lea rax, str.file_too_short__pic_header_
jmp 0x140056b40
test r9d, r9d
jg 0x140055ae3
jmp 0x140055c96
cmp r9d, 3
jne 0x140057139
cmp dword [r14 + 0x4850], 3
mov byte [rsp + 0x78], 1
je 0x140055ae8
cmp qword [r14 + 0x4848], 0
je 0x140055ae8
cmp ebp, 2
mov eax, 1
mov byte [rsp + 0x78], 0
cmovle r9d, eax
jmp 0x140055ae8
mov rcx, r12
call sym.stbi__get8_stbi__context_
mov rcx, r12
call sym.stbi__get8_stbi__context_
movzx esi, al
mov ebx, esi
cmp esi, 1
jle 0x140057826
mov rax, qword [r12 + 0xd0]
mov rdx, qword [r12 + 0xd8]
mov qword [r12 + 0xc0], rax
mov rax, qword [rsp + 0x50]
lea rdi, str.Image_not_of_any_known_type__or_corrupt
mov qword [r12 + 0xc8], rdx
mov qword [rax], rdi
jmp 0x1400561b6
mov rax, qword [rsp + 0x50]
lea rdi, str.Very_large_image__corrupt__
mov qword [rax], rdi
jmp 0x1400561b6
mov rcx, r12
xor ebx, ebx
call sym.stbi__get32be_stbi__context_
mov rcx, r12
call sym.stbi__get16be_stbi__context_
mov rcx, r12
call sym.stbi__get16be_stbi__context_
jmp 0x14005697e
lea rdx, [rdi + 0x38]
mov rcx, qword [rdi + 0x28]
mov r8d, dword [rdi + 0x34]
mov qword [rsp + 0x68], rdx
call r10
mov rcx, qword [rdi + 0xc0]
mov rdx, qword [rsp + 0x68]
sub rcx, qword [rdi + 0xd0]
add dword [rdi + 0xb8], ecx
test eax, eax
lea rcx, [rdi + 0x39]
jne 0x14005807b
mov dword [rdi + 0x30], 0
mov rax, rcx
xor edx, edx
mov byte [rdi + 0x38], 0
mov qword [rdi + 0xc8], rax
mov qword [rdi + 0xc0], rcx
jmp 0x140056a4e
lea rdx, [rsi + rcx]
mov qword [r12 + 0xc0], rax
movzx esi, byte [r12 + 0x38]
mov qword [r12 + 0xc8], rdx
jmp 0x140056b85
cdqe
mov qword [r12 + 0xc0], rcx
movzx edx, byte [r12 + 0x38]
add r13, rax
mov qword [r12 + 0xc8], r13
jmp 0x140056b9d
test ecx, ecx
js 0x140055c7b
je 0x1400575a3
mov eax, edi
mov dword [rsp + 0x58], r9d
imul eax, ebp
imul ecx, eax
add ecx, 1
movsxd rcx, ecx
call sym.malloc
movsxd r9, dword [rsp + 0x58]
test rax, rax
mov qword [rsp + 0x48], rax
je 0x140055c7b
lea rax, [rsp + 0xb0]
lea rsi, [r14 + 0x46c0]
xor ebx, ebx
mov r15d, ebp
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x70], rax
lea rax, [rax + r9*8]
mov qword [rsp + 0x88], rsi
movsxd rsi, ebp
mov rbp, rax
mov qword [rsp + 0x90], rsi
mov esi, edi
mov edi, ebx
nop dword [rax]
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x58], r14
mov dword [rsp + 0x68], edi
mov r13, qword [rsp + 0x88]
imul esi, eax
mov rax, qword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x80]
add rsi, rax
mov qword [rsp + 0x60], rsi
mov edi, dword [rbx + 0x1c]
mov r14, qword [rbx + 0x10]
mov esi, dword [rbx + 0x24]
mov rax, qword [rbx]
mov ecx, edi
mov r11d, dword [rbx + 0x18]
mov r9d, dword [rbx + 0x20]
mov r8, r14
sar ecx, 1
mov rdx, qword [rbx + 8]
cmp esi, ecx
jl 0x14005737c
mov r8, rdx
mov rdx, r14
mov rcx, qword [r13 + 0x28]
add esi, 1
mov dword [rsp + 0x20], r11d
call rax
mov qword [r12], rax
cmp edi, esi
jle 0x140057450
mov dword [rbx + 0x24], esi
add r12, 8
add rbx, 0x30
add r13, 0x60
cmp rbp, r12
jne 0x140057352
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
mov edi, dword [rsp + 0x68]
mov r13, qword [r14]
mov ecx, dword [r13]
cmp r15d, 2
jle 0x14005747e
mov edx, dword [r13 + 8]
mov r10, qword [rsp + 0xb0]
cmp edx, 3
je 0x14005752f
cmp edx, 4
jne 0x140057568
mov edx, dword [r14 + 0x484c]
test edx, edx
je 0x140057753
cmp edx, 2
mov r11, qword [r14 + 0x4878]
mov rdx, r10
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x28], r15d
mov r8, qword [rsp + 0xb8]
mov rcx, rsi
mov r9, qword [rsp + 0xc0]
je 0x140057a98
call r11
mov r13, qword [r14]
nop dword [rax + rax]
add dword [rsp + 0x50], r15d
add edi, 1
cmp edi, dword [r13 + 4]
jae 0x1400575bb
mov esi, dword [r13]
jmp 0x140057320
mov eax, dword [rbx + 0x28]
mov dword [rbx + 0x24], 0
mov qword [rbx + 8], r14
add eax, 1
mov dword [rbx + 0x28], eax
cmp eax, dword [r13]
jge 0x140057399
movsxd rax, dword [r13 + 4]
add r14, rax
mov qword [rbx + 0x10], r14
jmp 0x140057399
cmp byte [rsp + 0x78], 0
je 0x1400574e6
cmp r15d, 1
je 0x1400576df
test ecx, ecx
je 0x140057430
mov r11, qword [rsp + 0xc0]
mov r10, qword [rsp + 0xb8]
xor edx, edx
mov r9, qword [rsp + 0xb0]
nop dword [rax]
movzx eax, byte [r9 + rdx]
movzx ecx, byte [r10 + rdx]
imul eax, eax, 0x4d
imul ecx, ecx, 0x96
add eax, ecx
movzx ecx, byte [r11 + rdx]
mov byte [rsi + rdx*2 + 1], 0xff
imul ecx, ecx, 0x1d
add eax, ecx
mov byte [rsi + rdx*2], ah
add rdx, 1
cmp edx, dword [r13]
jb 0x1400574b0
jmp 0x140057430
cmp dword [r13 + 8], 4
je 0x140057676
mov r8, qword [rsp + 0xb0]
cmp r15d, 1
je 0x140057732
xor edx, edx
test ecx, ecx
je 0x140057430
nop dword [rax]
movzx eax, byte [r8 + rdx]
mov byte [rsi + rdx*2 + 1], 0xff
mov byte [rsi + rdx*2], al
add rdx, 1
cmp edx, dword [r13]
jb 0x140057510
mov r13, qword [r14]
jmp 0x140057430
cmp byte [rsp + 0x78], 0
jne 0x1400577dc
mov dword [rsp + 0x20], ecx
mov rdx, r10
mov rcx, rsi
mov r9, qword [rsp + 0xc0]
mov dword [rsp + 0x28], r15d
mov r8, qword [rsp + 0xb8]
call qword [r14 + 0x4878]
mov r13, qword [r14]
jmp 0x140057430
mov r8, qword [rsp + 0x90]
xor edx, edx
test ecx, ecx
je 0x140057430
nop word [rax + rax]
movzx ecx, byte [r10 + rdx]
mov byte [rsi + 3], 0xff
add rdx, 1
movzx eax, cl
mov byte [rsi + 2], cl
mov ah, cl
mov word [rsi], ax
add rsi, r8
cmp edx, dword [r13]
jb 0x140057580
jmp 0x140057527
mov ecx, 1
call sym.malloc
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140055c7b
movsxd rax, dword [r13 + 8]
test eax, eax
jle 0x14005763d
lea rax, [rax + rax*2]
mov rbx, r14
pxor xmm6, xmm6
shl rax, 5
lea rsi, [rax + r14]
mov rcx, qword [rbx + 0x46d8]
test rcx, rcx
je 0x1400575ee
call sym.free
movups xmmword [rbx + 0x46d0], xmm6
mov rcx, qword [rbx + 0x46e0]
test rcx, rcx
je 0x140057615
call sym.free
mov qword [rbx + 0x46e0], 0
mov qword [rbx + 0x46f0], 0
mov rcx, qword [rbx + 0x46e8]
test rcx, rcx
je 0x140057631
call sym.free
mov qword [rbx + 0x46e8], 0
add rbx, 0x60
cmp rbx, rsi
jne 0x1400575d6
mov r13, qword [r14]
mov eax, dword [r13]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x30]
mov dword [rdi], eax
mov rdi, qword [rsp + 0x40]
mov eax, dword [r13 + 4]
mov dword [rdi], eax
test rsi, rsi
je 0x140055c9f
xor eax, eax
cmp dword [r13 + 8], 3
setge al
lea eax, [rax + rax + 1]
mov dword [rsi], eax
jmp 0x140055c9f
mov edx, dword [r14 + 0x484c]
test edx, edx
je 0x140057b1d
cmp edx, 2
jne 0x1400574f1
test ecx, ecx
je 0x140057430
mov r10, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xb0]
movsxd r11, r15d
xor ecx, ecx
movzx eax, byte [r9 + rcx]
movzx edx, byte [r10 + rcx]
mov byte [rsi + 1], 0xff
add rcx, 1
not eax
movzx eax, al
imul eax, edx
sub eax, 0xffffff80
mov edx, eax
shr edx, 8
add eax, edx
mov byte [rsi], ah
add rsi, r11
cmp ecx, dword [r13]
jb 0x1400576ab
jmp 0x140057527
test ecx, ecx
je 0x140057430
mov r11, qword [rsp + 0xc0]
mov r10, qword [rsp + 0xb8]
xor ecx, ecx
mov r9, qword [rsp + 0xb0]
movzx eax, byte [r9 + rcx]
movzx edx, byte [r10 + rcx]
imul eax, eax, 0x4d
imul edx, edx, 0x96
add eax, edx
movzx edx, byte [r11 + rcx]
imul edx, edx, 0x1d
add eax, edx
mov byte [rsi + rcx], ah
add rcx, 1
cmp ecx, dword [r13]
jb 0x140057701
jmp 0x140057430
test ecx, ecx
je 0x140057430
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rsi + rdx], al
add rdx, 1
cmp edx, dword [r13]
jb 0x14005773c
jmp 0x140057527
test ecx, ecx
je 0x140057430
mov r9, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xb8]
movsxd rax, r15d
xor edx, edx
mov r12, qword [rsp + 0xc0]
movzx r8d, byte [r9 + rdx]
movzx ecx, byte [r10 + rdx]
imul ecx, r8d
sub ecx, 0xffffff80
mov r11d, ecx
shr r11d, 8
add ecx, r11d
mov byte [rsi], ch
movzx ecx, byte [rbx + rdx]
imul ecx, r8d
sub ecx, 0xffffff80
mov r11d, ecx
shr r11d, 8
add ecx, r11d
mov byte [rsi + 1], ch
movzx ecx, byte [r12 + rdx]
add rdx, 1
mov byte [rsi + 3], 0xff
imul ecx, r8d
sub ecx, 0xffffff80
mov r8d, ecx
shr r8d, 8
add ecx, r8d
mov byte [rsi + 2], ch
add rsi, rax
cmp edx, dword [r13]
jb 0x140057778
jmp 0x140057527
test ecx, ecx
je 0x140057430
mov r9, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc0]
movsxd rcx, r15d
xor edx, edx
movzx eax, byte [r10 + rdx]
mov byte [rsi], al
movzx eax, byte [r9 + rdx]
mov byte [rsi + 1], al
movzx eax, byte [r8 + rdx]
add rdx, 1
mov byte [rsi + 3], 0xff
mov byte [rsi + 2], al
add rsi, rcx
cmp edx, dword [r13]
jb 0x1400577f9
jmp 0x140057527
mov rcx, r12
call sym.stbi__get8_stbi__context_
cmp esi, 1
je 0x140058136
and eax, 0xfffffff6
cmp al, 2
jne 0x1400571a2
mov edx, 9
mov rcx, r12
call sym.stbi__skip_stbi__context__int___clone_part0_
mov rcx, r12
call sym.stbi__get16le_stbi__context_
test eax, eax
jle 0x1400571a2
mov rcx, r12
call sym.stbi__get16le_stbi__context_
test eax, eax
jle 0x1400571a2
mov rcx, r12
and ebx, 1
call sym.stbi__get8_stbi__context_
mov ecx, eax
lea eax, [rcx - 8]
test al, 0xf7
setne dl
cmp cl, 0x20
ja 0x140058287
movabs rax, 0xfffffffeffff7eff
sar rax, cl
and eax, 1
test dl, dl
je 0x1400578a9
test bl, bl
jne 0x1400571a2
movdqu xmm0, xmmword [r12 + 0xd0]
mov rdx, qword [r12 + 0xd8]
movq r8, xmm0
test rax, rax
jne 0x1400582aa
movups xmmword [r12 + 0xc0], xmm0
cmp r8, rdx
jae 0x140057bc5
lea rax, [r8 + 1]
mov qword [r12 + 0xc0], rax
movzx edi, byte [r8]
mov byte [rsp + 0x70], dil
cmp rax, rdx
jae 0x140057bd8
lea rcx, [rax + 1]
mov qword [r12 + 0xc0], rcx
movzx eax, byte [rax]
mov dword [rsp + 0x60], eax
cmp rcx, rdx
jae 0x140057c4d
lea rax, [rcx + 1]
mov qword [r12 + 0xc0], rax
movzx edi, byte [rcx]
mov rcx, r12
call sym.stbi__get16le_stbi__context_
mov rcx, r12
mov dword [rsp + 0x88], eax
call sym.stbi__get16le_stbi__context_
mov dword [rsp + 0x68], eax
mov rax, qword [r12 + 0xc0]
cmp rax, qword [r12 + 0xc8]
jae 0x140057db7
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx esi, byte [rax]
mov rcx, r12
call sym.stbi__get16le_stbi__context_
mov rcx, r12
call sym.stbi__get16le_stbi__context_
mov rcx, r12
call sym.stbi__get16le_stbi__context_
mov rcx, r12
mov r13d, eax
call sym.stbi__get16le_stbi__context_
mov rdx, qword [r12 + 0xc0]
mov ebx, eax
mov rax, qword [r12 + 0xc8]
cmp rdx, rax
jae 0x140057cc0
lea rcx, [rdx + 1]
mov qword [r12 + 0xc0], rcx
movzx r14d, byte [rdx]
movzx edx, r14b
mov dword [rsp + 0x78], edx
cmp rcx, rax
jae 0x140057d3d
lea rax, [rcx + 1]
mov qword [r12 + 0xc0], rax
movzx r8d, byte [rcx]
mov dword [rsp + 0xd0], 0
cmp ebx, 0x1000000
jg 0x140056b39
cmp r13d, 0x1000000
jg 0x140056b39
mov dword [rsp + 0x80], 0
movzx eax, dil
cmp eax, 7
jle 0x140057a19
mov dword [rsp + 0x80], 1
sub eax, 8
mov r15d, dword [rsp + 0x60]
test r15d, r15d
je 0x140058184
cmp sil, 0x10
ja 0x140058fe1
cmp sil, 0xe
jbe 0x1400581a2
mov dword [rsp + 0x58], 1
mov r14d, 3
mov rax, qword [rsp + 0x38]
mov dword [rax], r13d
mov rax, qword [rsp + 0x40]
mov dword [rax], ebx
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140057a65
mov dword [rax], r14d
mov eax, r13d
or eax, ebx
js 0x140057a86
mov eax, 0x7fffffff
xor edx, edx
test ebx, ebx
je 0x1400590c6
idiv ebx
cmp r13d, eax
jle 0x140058327
lea rax, str.Corrupt_TGA
jmp 0x140056b40
call r11
mov r13, qword [r14]
mov eax, dword [r13]
test eax, eax
je 0x140057430
mov r10, qword [rsp + 0xc8]
movsxd r11, r15d
xor ecx, ecx
movzx eax, byte [rsi]
movzx edx, byte [r10 + rcx]
add rcx, 1
not eax
movzx eax, al
imul eax, edx
sub eax, 0xffffff80
mov r8d, eax
shr r8d, 8
add eax, r8d
mov byte [rsi], ah
movzx eax, byte [rsi + 1]
not eax
movzx eax, al
imul eax, edx
sub eax, 0xffffff80
mov r8d, eax
shr r8d, 8
add eax, r8d
mov byte [rsi + 1], ah
movzx eax, byte [rsi + 2]
not eax
movzx eax, al
imul eax, edx
sub eax, 0xffffff80
mov edx, eax
shr edx, 8
add eax, edx
mov byte [rsi + 2], ah
add rsi, r11
cmp ecx, dword [r13]
jb 0x140057ab7
jmp 0x140057430
test ecx, ecx
je 0x140057430
mov rax, qword [rsp + 0xc0]
movsxd r10, r15d
xor r8d, r8d
mov r11, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xb0]
mov r12, qword [rsp + 0xb8]
mov qword [rsp + 0x58], rax
movzx eax, byte [r11 + r8]
movzx edx, byte [rbx + r8]
movzx r9d, byte [r12 + r8]
mov rcx, qword [rsp + 0x58]
imul edx, eax
movzx ecx, byte [rcx + r8]
imul r9d, eax
mov byte [rsi + 1], 0xff
add r8, 1
sub edx, 0xffffff80
imul ecx, eax
mov eax, edx
sub r9d, 0xffffff80
shr eax, 8
add edx, eax
mov eax, r9d
sub ecx, 0xffffff80
shr eax, 8
shr edx, 8
add eax, r9d
imul edx, edx, 0x4d
shr eax, 8
imul eax, eax, 0x96
add eax, edx
mov edx, ecx
shr edx, 8
add edx, ecx
shr edx, 8
imul edx, edx, 0x1d
add eax, edx
mov byte [rsi], ah
add rsi, r10
cmp r8d, dword [r13]
jb 0x140057b50
jmp 0x140057527
mov r11d, dword [r12 + 0x30]
mov byte [rsp + 0x70], 0
test r11d, r11d
jne 0x1400580d4
mov eax, dword [r12 + 0x30]
xor edi, edi
mov dword [rsp + 0x60], eax
test eax, eax
je 0x140057924
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
lea rcx, [r12 + 0x39]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
test eax, eax
jne 0x1400582e3
xor r8d, r8d
xor r9d, r9d
mov byte [r12 + 0x38], 0
mov dword [r12 + 0x30], r8d
mov qword [r12 + 0xc8], rcx
mov qword [r12 + 0xc0], rcx
mov dword [rsp + 0x60], r9d
cmp dword [r12 + 0x30], 0
je 0x14005830e
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
lea rdx, [r12 + 0x39]
test eax, eax
jne 0x140058304
xor ecx, ecx
mov byte [r12 + 0x38], 0
mov rbx, rdx
mov dword [r12 + 0x30], ecx
mov qword [r12 + 0xc8], rbx
movzx edi, byte [r12 + 0x38]
mov qword [r12 + 0xc0], rdx
jmp 0x140057924
mov eax, dword [r12 + 0x30]
xor r14d, r14d
xor r8d, r8d
mov dword [rsp + 0x78], eax
test eax, eax
je 0x1400579d3
lea rdx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov qword [rsp + 0x48], rdx
call qword [r12 + 0x10]
mov rcx, qword [r12 + 0xc0]
mov rdx, qword [rsp + 0x48]
sub rcx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], ecx
test eax, eax
lea rcx, [r12 + 0x39]
jne 0x1400582c3
xor eax, eax
mov byte [r12 + 0x38], 0
mov dword [r12 + 0x30], eax
xor eax, eax
mov qword [r12 + 0xc8], rcx
mov qword [r12 + 0xc0], rcx
mov dword [rsp + 0x78], eax
cmp dword [r12 + 0x30], 0
je 0x14005831f
lea rdx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov qword [rsp + 0x48], rdx
call qword [r12 + 0x10]
mov rcx, qword [r12 + 0xc0]
mov rdx, qword [rsp + 0x48]
sub rcx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], ecx
test eax, eax
lea rcx, [r12 + 0x39]
jne 0x140058315
xor eax, eax
mov byte [r12 + 0x38], 0
mov rdx, rcx
mov dword [r12 + 0x30], eax
mov qword [r12 + 0xc8], rdx
movzx r8d, byte [r12 + 0x38]
mov qword [r12 + 0xc0], rcx
jmp 0x1400579d3
mov eax, dword [r12 + 0x30]
xor esi, esi
test eax, eax
je 0x140057964
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc0]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
lea rdx, [r12 + 0x39]
test eax, eax
jne 0x1400581fb
xor eax, eax
mov byte [r12 + 0x38], 0
mov rbx, rdx
mov dword [r12 + 0x30], eax
mov qword [r12 + 0xc8], rbx
movzx esi, byte [r12 + 0x38]
mov qword [r12 + 0xc0], rdx
jmp 0x140057964
mov ebp, dword [r14 + 0x4850]
mov byte [rsp + 0x78], 1
cmp ebp, 3
je 0x140055ae8
cmp qword [r14 + 0x4848], 0
mov ebp, 3
sete byte [rsp + 0x78]
jmp 0x140055ae8
mov rax, qword [r14]
mov eax, dword [rax + 8]
test eax, eax
jle 0x140055c96
movsxd rsi, eax
mov rbx, r14
pxor xmm6, xmm6
imul rsi, rsi, 0x60
add rsi, r14
mov rcx, qword [rbx + 0x46d8]
test rcx, rcx
je 0x140057e90
call sym.free
movups xmmword [rbx + 0x46d0], xmm6
mov rcx, qword [rbx + 0x46e0]
test rcx, rcx
je 0x140057eb7
call sym.free
mov qword [rbx + 0x46e0], 0
mov qword [rbx + 0x46f0], 0
mov rcx, qword [rbx + 0x46e8]
test rcx, rcx
je 0x140057ed3
call sym.free
mov qword [rbx + 0x46e8], 0
add rbx, 0x60
cmp rsi, rbx
jne 0x140057e78
jmp 0x140055c96
cdqe
movzx ecx, byte [rdi + 0x38]
add rax, r11
jmp 0x140057116
cdqe
mov qword [rdi + 0xc0], r8
movzx esi, byte [rdi + 0x38]
add rax, rbx
mov r10, qword [rdi + 0x10]
mov qword [rdi + 0xc8], rax
jmp 0x1400569fc
cdqe
mov qword [rdi + 0xc0], rcx
mov r10, qword [rdi + 0x10]
add rax, rbx
movzx ebx, byte [rdi + 0x38]
mov qword [rdi + 0xc8], rax
jmp 0x140056a14
test ebx, ebx
js 0x140056c65
xor ecx, ecx
cmp r14d, 0xfffffff9
jl 0x140056c65
mov eax, r14d
mov r8d, 8
cdq
idiv r8d
mov r14d, eax
test eax, eax
je 0x140057f6c
mov eax, 0x7fffffff
imul ecx, ebx
xor edx, edx
idiv r14d
cmp eax, ecx
jl 0x140056c65
test esi, esi
je 0x140057fbf
mov eax, 0x7fffffff
xor edx, edx
idiv esi
cmp r15d, eax
jg 0x140057f95
test ebx, ebx
je 0x140057fbf
mov eax, 0x7fffffff
xor edx, edx
mov ecx, esi
idiv ebx
imul ecx, r15d
cmp eax, ecx
jge 0x140057fa9
mov rax, qword [rsp + 0x50]
lea rdi, str.Out_of_memory
mov qword [rax], rdi
jmp 0x1400561b6
test r14d, r14d
je 0x140057fbf
mov eax, 0x7fffffff
imul ecx, ebx
xor edx, edx
idiv r14d
cmp ecx, eax
jg 0x140057f95
mov ecx, esi
imul ecx, r15d
imul ecx, ebx
imul ecx, r14d
movsxd rcx, ecx
call sym.malloc
mov qword [rsp + 0x48], rax
mov r13, rax
test rax, rax
je 0x140057f95
mov eax, ebx
mov rdx, r13
mov rcx, r12
imul eax, esi
imul eax, r15d
imul eax, r14d
mov r8d, eax
call sym.stbi__getn_stbi__context__unsigned_char__int_
test eax, eax
je 0x140058092
test ebp, ebp
je 0x140055ca7
mov edx, dword [r12 + 8]
cmp ebp, edx
je 0x140055ca7
mov eax, dword [r12 + 4]
cmp dword [rdi], 0x10
mov r8d, ebp
mov rcx, r13
mov r9d, dword [r12]
mov dword [rsp + 0x250], eax
je 0x140058205
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
movaps xmm8, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.stbi__convert_format_unsigned_char__int__int__unsigned_int__unsigned_int___clone_part0_
movzx r8d, byte [rdi + 0x38]
cdqe
or dword [rsp + 0x58], r8d
add rax, rdx
mov edx, r8d
jmp 0x140057252
mov rcx, r13
lea rdi, str.PNM_file_truncated
call sym.free
mov rax, qword [rsp + 0x50]
mov qword [rax], rdi
jmp 0x1400561b6
mov rdx, qword [rdi + 0xc0]
mov rcx, qword [rdi + 0xc8]
jmp 0x140057006
mov rdx, qword [rdi + 0xc0]
mov rcx, qword [rdi + 0xc8]
jmp 0x140057008
lea rbx, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rbx
call qword [r12 + 0x10]
movsxd rdx, eax
mov rax, qword [r12 + 0xc0]
sub rax, qword [r12 + 0xd0]
add dword [r12 + 0xb8], eax
lea rax, [r12 + 0x39]
test edx, edx
jne 0x140058fbe
xor r10d, r10d
mov byte [r12 + 0x38], 0
mov dword [r12 + 0x30], r10d
mov qword [r12 + 0xc8], rax
mov qword [r12 + 0xc0], rax
jmp 0x140057bd8
and eax, 0xfffffff7
sub al, 1
jne 0x1400571a2
mov rcx, r12
mov edx, 4
call sym.stbi__skip_stbi__context__int___clone_part0_
mov rcx, r12
call sym.stbi__get8_stbi__context_
cmp al, 0x20
ja 0x1400571a2
movabs rdx, 0xfffffffefefe7eff
bt rdx, rax
jb 0x1400571a2
mov edx, 4
mov rcx, r12
call sym.stbi__skip_stbi__context__int___clone_part0_
jmp 0x14005784f
sub r14d, 8
cmp r14b, 0x18
ja case.0x1400581a0.1
lea rcx, [0x140163414]
movzx r14d, r14b
movsxd rdx, dword [rcx + r14*4]
add rdx, rcx
jmp rdx
cmp sil, 8
je case.0x1400581a0.0
lea rax, str.Cant_find_out_TGA_pixelformat
jmp 0x140056b40
mov r14d, dword [rsp + 0x78]
xor esi, esi
mov dword [rsp + 0x58], esi
sar r14d, 3
jmp 0x140057a49
imul r8d, ecx
cmp r8d, 0x7fffffff
je 0x140055c7b
jmp 0x1400572b2
mov rax, qword [rsp + 0x50]
lea rsi, str.packet_isnt_8bpp
mov edi, ebp
mov ebp, r12d
mov qword [rax], rsi
jmp 0x140056aba
cdqe
add rbx, rax
jmp 0x140057e12
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
movaps xmm8, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.stbi__convert_format16_unsigned_short__int__int__unsigned_int__unsigned_int___clone_part0_
cmp eax, 3
setne al
movzx eax, al
mov dword [rsp + 0x58], eax
lea r14d, [rax + 2]
jmp 0x140057a49
xor r11d, r11d
mov r14d, 1
mov dword [rsp + 0x58], r11d
jmp 0x140057a49
mov rcx, qword [rsp + 0x48]
call sym.free
lea rax, str.Out_of_memory
jmp 0x140056b40
test dl, dl
je 0x140058293
test bl, bl
jne 0x1400571a2
movdqu xmm0, xmmword [r12 + 0xd0]
mov rdx, qword [r12 + 0xd8]
movq r8, xmm0
and ecx, 0xfffffff7
cmp cl, 0x10
je 0x1400578c9
mov qword [r12 + 0xc0], r8
jmp 0x1400571ba
cdqe
mov qword [r12 + 0xc0], rcx
movzx r14d, byte [r12 + 0x38]
add rax, rdx
mov qword [r12 + 0xc8], rax
jmp 0x1400579b2
cdqe
mov qword [r12 + 0xc0], rcx
lea rdx, [rbx + rax]
movzx eax, byte [r12 + 0x38]
mov qword [r12 + 0xc8], rdx
jmp 0x140057908
cdqe
add rbx, rax
jmp 0x140057ca5
xor edi, edi
jmp 0x140057924
cdqe
add rdx, rax
jmp 0x140057d9c
xor r8d, r8d
jmp 0x1400579d3
mov eax, 0x7fffffff
xor edx, edx
idiv r14d
mov edi, eax
mov eax, r13d
imul eax, ebx
cmp eax, edi
jg 0x140057a86
mov r15d, r13d
mov ecx, r14d
mov byte [rsp + 0x30], r8b
imul r15d, ebx
imul ecx, r15d
movsxd rcx, ecx
call sym.malloc
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14005827b
movzx eax, byte [rsp + 0x70]
movzx r8d, byte [rsp + 0x30]
test eax, eax
je 0x1400583af
cmp qword [r12 + 0x10], 0
mov rdx, qword [r12 + 0xc0]
je 0x14005839f
mov r9, qword [r12 + 0xc8]
mov rcx, r9
sub rcx, rdx
cmp eax, ecx
jg 0x1400590d0
movzx eax, byte [rsp + 0x70]
add rdx, rax
mov qword [r12 + 0xc0], rdx
mov eax, r8d
mov esi, dword [rsp + 0x80]
and eax, 0x20
or esi, dword [rsp + 0x60]
mov byte [rsp + 0x9b], al
jne 0x140058a90
cmp dword [rsp + 0x58], 0
jne 0x14005869e
test ebx, ebx
jle 0x140058595
mov esi, r13d
mov rdx, qword [r12 + 0xc0]
imul esi, r14d
mov dword [rsp + 0x30], esi
movsxd rdi, esi
test al, al
je 0x140058605
mov rsi, qword [rsp + 0x48]
mov rax, rdi
xor r10d, r10d
mov dword [rsp + 0x38], r10d
mov rdi, rsi
mov esi, ebx
mov rbx, rax
jmp 0x14005842c
add dword [rsp + 0x38], 1
mov eax, dword [rsp + 0x38]
add rdi, rbx
cmp esi, eax
je 0x140058c68
cmp qword [r12 + 0x10], 0
mov rax, qword [r12 + 0xc8]
je 0x14005844d
mov r10, rax
sub r10, rdx
cmp dword [rsp + 0x30], r10d
jg 0x140058c6f
lea rcx, [rdx + rbx]
cmp rax, rcx
jb 0x140058418
mov r8, rbx
mov rcx, rdi
call sym.memcpy
mov rdx, qword [r12 + 0xc0]
add rdx, rbx
mov qword [r12 + 0xc0], rdx
jmp 0x140058418
mov rsi, rbx
mov ebx, dword [rsp + 0x9c]
mov ebp, r12d
cmp byte [rsp + 0x9b], 0
jne 0x140058588
test ebx, ebx
jle 0x140058588
mov r8d, r13d
lea eax, [rbx - 1]
imul r8d, r14d
mov dword [rsp + 0x60], eax
test r8d, r8d
je 0x140058588
lea eax, [r8 - 1]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x80], rsi
xor r12d, r12d
mov dword [rsp + 0x38], eax
mov eax, r8d
shr eax, 4
shl rax, 4
mov qword [rsp + 0x50], rax
mov eax, r8d
and eax, 0xfffffff0
mov dword [rsp + 0x40], eax
mov eax, r8d
and eax, 0xf
mov dword [rsp + 0x30], eax
mov eax, r8d
add rax, rcx
mov qword [rsp + 0x68], rax
mov eax, r8d
and eax, 0xf
mov dword [rsp + 0x70], eax
sub eax, 1
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x60]
mov edx, r12d
imul edx, r13d
sub eax, r12d
imul eax, r13d
imul edx, r14d
imul eax, r14d
cmp dword [rsp + 0x38], 6
movsxd r9, edx
movsxd r10, eax
jbe 0x140058548
lea r11, [r9 + 0x10]
cmp r10, r11
jge 0x1400588c8
lea r11, [r10 + 0x10]
cmp r11, r9
jle 0x1400588c8
mov rdi, qword [rsp + 0x68]
lea rax, [rcx + r9]
lea r11, [rdi + r9]
mov rdx, rax
movzx esi, byte [rax]
add rax, 1
sub rdx, r9
movzx edi, byte [rdx + r10]
mov byte [rax - 1], dil
mov byte [rdx + r10], sil
cmp rax, r11
jne 0x140058555
add r12d, 1
lea eax, [r12 + r12]
cmp ebx, eax
jg 0x140058507
mov rsi, qword [rsp + 0x80]
test rsi, rsi
je 0x140058595
mov rcx, rsi
call sym.free
cmp dword [rsp + 0x58], 0
jne 0x1400585a2
cmp r14d, 2
jg 0x1400585d4
test ebp, ebp
je 0x140055ca7
cmp ebp, r14d
je 0x140055ca7
mov dword [rsp + 0x20], ebx
mov rcx, qword [rsp + 0x48]
mov r9d, r13d
mov r8d, ebp
mov edx, r14d
call sym.stbi__convert_format_unsigned_char__int__int__unsigned_int__unsigned_int___clone_part0_
mov qword [rsp + 0x48], rax
jmp 0x140055ca7
test r15d, r15d
je 0x1400585a2
mov rax, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x90]
movsxd rdx, r14d
movzx r8d, byte [rax]
movzx r9d, byte [rax + 2]
add ecx, 1
mov byte [rax], r9b
mov byte [rax + 2], r8b
add rax, rdx
cmp ecx, r15d
jne 0x1400585e8
jmp 0x1400585a2
mov eax, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x38], r9d
neg eax
cdqe
mov qword [rsp + 0x40], rax
mov eax, r15d
sub eax, r13d
imul eax, r14d
cdqe
add rsi, rax
mov rax, rdi
mov rdi, rsi
mov esi, ebx
mov rbx, rax
jmp 0x140058654
add dword [rsp + 0x38], 1
mov rcx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x38]
add rdi, rcx
cmp esi, eax
je 0x140058c68
cmp qword [r12 + 0x10], 0
mov rax, qword [r12 + 0xc8]
je 0x140058675
mov r9, rax
sub r9, rdx
cmp dword [rsp + 0x30], r9d
jg 0x140058c14
lea rcx, [rdx + rbx]
cmp rax, rcx
jb 0x14005863b
mov r8, rbx
mov rcx, rdi
call sym.memcpy
mov rdx, qword [r12 + 0xc0]
add rdx, rbx
mov qword [r12 + 0xc0], rdx
jmp 0x14005863b
xor esi, esi
test r15d, r15d
je 0x140058483
xor r8d, r8d
movsxd rax, r14d
lea rdi, [rsp + 0xd0]
mov dword [rsp + 0x9c], ebx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x48]
mov rbx, rsi
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x40], r8d
mov dword [rsp + 0x30], r8d
mov qword [rsp + 0x70], rdi
mov edi, ebp
mov rbp, r12
mov qword [rsp + 0x50], rax
mov r12d, edi
mov eax, 1
mov ecx, dword [rsp + 0x80]
test ecx, ecx
je 0x1400587a2
mov edx, dword [rsp + 0x30]
test edx, edx
je 0x14005876a
mov edi, dword [rsp + 0x40]
test edi, edi
je 0x1400587a2
test eax, eax
jne 0x140058cf1
test r14d, r14d
je 0x140058742
mov r8, qword [rsp + 0x70]
xor eax, eax
mov edx, eax
mov rdi, qword [rsp + 0x50]
add eax, 1
movzx ecx, byte [r8 + rdx]
mov byte [rdi + rdx], cl
cmp eax, r14d
jb 0x14005872b
add dword [rsp + 0x38], 1
mov eax, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x88]
sub dword [rsp + 0x30], 1
add qword [rsp + 0x50], rsi
cmp eax, r15d
je 0x140058476
xor eax, eax
jmp 0x1400586f4
mov rax, qword [rbp + 0xc0]
cmp rax, qword [rbp + 0xc8]
jae 0x140058d5d
lea rdx, [rax + 1]
mov qword [rbp + 0xc0], rdx
movzx eax, byte [rax]
mov edx, eax
sar eax, 7
and edx, 0x7f
mov dword [rsp + 0x40], eax
add edx, 1
movzx edi, dl
mov dword [rsp + 0x30], edi
mov esi, dword [rsp + 0x60]
test esi, esi
jne 0x140058894
mov r10d, dword [rsp + 0x58]
test r10d, r10d
je 0x140058811
mov rcx, rbp
mov esi, 0x1f
call sym.stbi__get16le_stbi__context_
mov ecx, eax
shr ax, 0xa
and eax, 0x1f
imul eax, eax, 0xff
cdq
idiv esi
mov byte [rsp + 0xd0], al
mov eax, ecx
shr ax, 5
and eax, 0x1f
imul eax, eax, 0xff
cdq
idiv esi
mov byte [rsp + 0xd1], al
mov eax, ecx
and eax, 0x1f
imul eax, eax, 0xff
cdq
idiv esi
mov byte [rsp + 0xd2], al
jmp 0x14005871f
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xc8]
cmp rcx, rax
jb 0x140058fa7
cmp dword [rbp + 0x30], 0
jne 0x140058f2c
mov byte [rsp + 0xd0], 0
cmp r14d, 1
je 0x140058724
cmp dword [rbp + 0x30], 0
jne 0x140058ea0
mov byte [rsp + 0xd1], 0
cmp r14d, 2
jle 0x14005871f
cmp dword [rbp + 0x30], 0
jne 0x140058e23
mov byte [rsp + 0xd2], 0
cmp r14d, 4
jne 0x14005871f
xor eax, eax
cmp dword [rbp + 0x30], 0
jne 0x140058dba
mov byte [rsp + 0xd3], al
jmp 0x140058724
cmp dword [rsp + 0x78], 8
je 0x140058cce
mov rcx, rbp
call sym.stbi__get16le_stbi__context_
cmp dword [rsp + 0x68], eax
jg 0x1400588af
xor eax, eax
imul eax, r14d
mov rdi, qword [rsp + 0x70]
mov ecx, r14d
movsxd rsi, eax
add rsi, rbx
rep movsb byte [rdi], byte [rsi]
jmp 0x14005871f
cmp dword [rsp + 0x38], 0xe
jle 0x140058a82
lea rsi, [rcx + r9]
lea rdi, [rcx + r10]
xor r11d, r11d
movdqu xmm0, xmmword [rsi + r11]
movdqu xmm6, xmmword [rdi + r11]
movups xmmword [rsi + r11], xmm6
movups xmmword [rdi + r11], xmm0
add r11, 0x10
cmp qword [rsp + 0x50], r11
jne 0x1400588de
mov r11d, dword [rsp + 0x40]
add edx, r11d
add eax, r11d
cmp r11d, r8d
je 0x140058574
cmp dword [rsp + 0x78], 6
mov edi, dword [rsp + 0x70]
jbe 0x140058c5e
mov esi, dword [rsp + 0x30]
add r9, r11
add r10, r11
add r9, rcx
add r10, rcx
mov r11, qword [r9]
movq xmm0, qword [r10]
movq qword [r9], xmm0
mov qword [r10], r11
mov r10d, edi
and r10d, 0xfffffff8
sub esi, r10d
add edx, r10d
add eax, r10d
and edi, 7
mov r9d, esi
je 0x140058574
movsxd r11, edx
movsxd r10, eax
add r11, rcx
add r10, rcx
movzx edi, byte [r11]
movzx esi, byte [r10]
mov byte [r11], sil
lea r11d, [rdx + 1]
mov byte [r10], dil
lea r10d, [rax + 1]
cmp r9d, 1
je 0x140058574
movsxd r11, r11d
movsxd r10, r10d
add r11, rcx
add r10, rcx
movzx edi, byte [r11]
movzx esi, byte [r10]
mov byte [r11], sil
lea r11d, [rdx + 2]
mov byte [r10], dil
lea r10d, [rax + 2]
cmp r9d, 2
je 0x140058574
movsxd r11, r11d
movsxd r10, r10d
add r11, rcx
add r10, rcx
movzx edi, byte [r11]
movzx esi, byte [r10]
mov byte [r11], sil
lea r11d, [rdx + 3]
mov byte [r10], dil
lea r10d, [rax + 3]
cmp r9d, 3
je 0x140058574
movsxd r11, r11d
movsxd r10, r10d
add r11, rcx
add r10, rcx
movzx edi, byte [r11]
movzx esi, byte [r10]
mov byte [r11], sil
lea r11d, [rdx + 4]
mov byte [r10], dil
lea r10d, [rax + 4]
cmp r9d, 4
je 0x140058574
movsxd r11, r11d
movsxd r10, r10d
add r11, rcx
add r10, rcx
movzx edi, byte [r11]
movzx esi, byte [r10]
mov byte [r11], sil
lea r11d, [rdx + 5]
mov byte [r10], dil
lea r10d, [rax + 5]
cmp r9d, 5
je 0x140058574
movsxd r11, r11d
movsxd r10, r10d
add edx, 6
add eax, 6
add r11, rcx
add r10, rcx
movzx edi, byte [r11]
movzx esi, byte [r10]
mov byte [r11], sil
mov byte [r10], dil
cmp r9d, 6
je 0x140058574
movsxd rdx, edx
cdqe
add rdx, rcx
add rax, rcx
movzx r9d, byte [rdx]
movzx r10d, byte [rax]
mov byte [rdx], r10b
mov byte [rax], r9b
jmp 0x140058574
mov esi, r8d
mov edi, r8d
xor r11d, r11d
jmp 0x140058926
cmp dword [rsp + 0x60], 0
je 0x14005869e
cmp dword [rsp + 0x68], 0
je 0x140058bdb
cmp dword [rsp + 0x88], 0
je 0x140058ac5
js 0x140058cb9
mov edx, dword [rsp + 0x88]
mov rcx, r12
call sym.stbi__skip_stbi__context__int___clone_part0_
mov eax, dword [rsp + 0x68]
cmp edi, eax
jb 0x140058271
mov r8d, dword [rsp + 0x68]
imul r8d, r14d
movsxd rcx, r8d
mov dword [rsp + 0x30], r8d
call sym.malloc
mov rsi, rax
test rax, rax
je 0x140058271
cmp dword [rsp + 0x58], 0
mov r8d, dword [rsp + 0x30]
je 0x140058bea
xor r8d, r8d
movsxd r10, r14d
mov dword [rsp + 0x30], ebp
mov rcx, r12
mov ebp, ebx
mov rdi, rax
mov r12, rax
mov ebx, r8d
mov rsi, r10
mov qword [rsp + 0x38], rcx
add ebx, 1
call sym.stbi__get16le_stbi__context_
mov rcx, qword [rsp + 0x38]
mov r9d, eax
mov r8d, eax
shr r9w, 0xa
and r9d, 0x1f
mov eax, r9d
shl eax, 8
sub eax, r9d
mov r9d, eax
imul r9, r9, 0x8421085
shr r9, 0x20
sub eax, r9d
shr eax, 1
add eax, r9d
mov r9d, r8d
and r8d, 0x1f
shr r9w, 5
shr eax, 4
and r9d, 0x1f
mov byte [rdi], al
mov eax, r9d
shl eax, 8
sub eax, r9d
mov r9d, eax
imul r9, r9, 0x8421085
shr r9, 0x20
sub eax, r9d
shr eax, 1
add eax, r9d
shr eax, 4
mov byte [rdi + 1], al
mov eax, r8d
shl eax, 8
sub eax, r8d
mov r8d, eax
imul r8, r8, 0x8421085
shr r8, 0x20
sub eax, r8d
shr eax, 1
add eax, r8d
shr eax, 4
mov byte [rdi + 2], al
add rdi, rsi
cmp dword [rsp + 0x68], ebx
jg 0x140058b1e
mov ebx, ebp
mov rsi, r12
mov ebp, dword [rsp + 0x30]
mov r12, rcx
jmp 0x1400586a0
mov rcx, qword [rsp + 0x48]
call sym.free
jmp 0x140057a86
mov rdx, rax
mov rcx, r12
call sym.stbi__getn_stbi__context__unsigned_char__int_
test eax, eax
jne 0x1400586a0
mov rcx, qword [rsp + 0x48]
call sym.free
mov rcx, rsi
call sym.free
jmp 0x140057a86
movsxd r8, r9d
mov rcx, rdi
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x50], r8
call sym.memcpy
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x60]
mov rcx, qword [r12 + 0x28]
lea rdx, [rdi + r8]
mov r8d, dword [rsp + 0x30]
sub r8d, r9d
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc8]
mov qword [r12 + 0xc0], rdx
jmp 0x14005863b
mov r9d, dword [rsp + 0x30]
jmp 0x14005895e
mov ebx, esi
jmp 0x140058595
movsxd r8, r10d
mov rcx, rdi
mov qword [rsp + 0x50], r10
mov qword [rsp + 0x40], r8
call sym.memcpy
mov r8, qword [rsp + 0x40]
mov r10, qword [rsp + 0x50]
mov rcx, qword [r12 + 0x28]
lea rdx, [rdi + r8]
mov r8d, dword [rsp + 0x30]
sub r8d, r10d
call qword [r12 + 0x10]
mov rdx, qword [r12 + 0xc8]
mov qword [r12 + 0xc0], rdx
jmp 0x140058418
mov rax, qword [r12 + 0xc8]
mov qword [r12 + 0xc0], rax
jmp 0x140058ac5
mov rax, qword [rbp + 0xc0]
cmp rax, qword [rbp + 0xc8]
jae 0x140058cfa
lea rdx, [rax + 1]
mov qword [rbp + 0xc0], rdx
movzx eax, byte [rax]
jmp 0x1400588a7
mov dword [rsp + 0x40], eax
jmp 0x1400587a2
xor eax, eax
cmp dword [rbp + 0x30], 0
je 0x1400588a7
lea rsi, [rbp + 0x38]
mov rcx, qword [rbp + 0x28]
mov r8d, dword [rbp + 0x34]
mov rdx, rsi
call qword [rbp + 0x10]
mov rdx, qword [rbp + 0xc0]
sub rdx, qword [rbp + 0xd0]
add dword [rbp + 0xb8], edx
lea rdx, [rbp + 0x39]
test eax, eax
jne 0x140058e0b
xor r11d, r11d
mov byte [rbp + 0x38], 0
mov rsi, rdx
mov dword [rbp + 0x30], r11d
mov qword [rbp + 0xc8], rsi
movzx eax, byte [rbp + 0x38]
mov qword [rbp + 0xc0], rdx
jmp 0x1400588a7
xor eax, eax
cmp dword [rbp + 0x30], 0
je 0x14005878c
lea rsi, [rbp + 0x38]
mov rcx, qword [rbp + 0x28]
mov r8d, dword [rbp + 0x34]
mov rdx, rsi
call qword [rbp + 0x10]
mov rdx, qword [rbp + 0xc0]
sub rdx, qword [rbp + 0xd0]
add dword [rbp + 0xb8], edx
lea rdx, [rbp + 0x39]
test eax, eax
jne 0x140058e15
xor eax, eax
mov byte [rbp + 0x38], 0
mov rsi, rdx
mov dword [rbp + 0x30], eax
mov qword [rbp + 0xc8], rsi
movzx eax, byte [rbp + 0x38]
mov qword [rbp + 0xc0], rdx
jmp 0x14005878c
lea rsi, [rbp + 0x38]
mov rcx, qword [rbp + 0x28]
mov r8d, dword [rbp + 0x34]
mov rdx, rsi
call qword [rbp + 0x10]
mov rdx, qword [rbp + 0xc0]
sub rdx, qword [rbp + 0xd0]
add dword [rbp + 0xb8], edx
lea rdx, [rbp + 0x39]
test eax, eax
jne 0x140058e1c
xor eax, eax
mov byte [rbp + 0x38], 0
mov rsi, rdx
mov dword [rbp + 0x30], eax
mov qword [rbp + 0xc8], rsi
movzx eax, byte [rbp + 0x38]
mov qword [rbp + 0xc0], rdx
jmp 0x140058888
cdqe
add rsi, rax
jmp 0x140058d46
cdqe
add rsi, rax
jmp 0x140058da3
cdqe
add rsi, rax
jmp 0x140058df4
lea rsi, [rbp + 0x38]
mov rcx, qword [rbp + 0x28]
mov r8d, dword [rbp + 0x34]
mov rdx, rsi
call qword [rbp + 0x10]
mov rdx, qword [rbp + 0xc0]
sub rdx, qword [rbp + 0xd0]
add dword [rbp + 0xb8], edx
lea rdx, [rbp + 0x39]
test eax, eax
jne 0x140058f1b
xor ecx, ecx
mov byte [rbp + 0x38], 0
mov rax, rdx
mov dword [rbp + 0x30], ecx
mov qword [rbp + 0xc8], rax
movzx ecx, byte [rbp + 0x38]
mov qword [rbp + 0xc0], rdx
mov byte [rsp + 0xd2], cl
cmp r14d, 4
jne 0x14005871f
cmp rdx, rax
jae 0x14005887c
lea rax, [rdx + 1]
mov qword [rbp + 0xc0], rax
movzx eax, byte [rdx]
jmp 0x140058888
lea rsi, [rbp + 0x38]
mov rcx, qword [rbp + 0x28]
mov r8d, dword [rbp + 0x34]
mov rdx, rsi
call qword [rbp + 0x10]
mov rdx, qword [rbp + 0xc0]
lea rcx, [rbp + 0x39]
sub rdx, qword [rbp + 0xd0]
add dword [rbp + 0xb8], edx
test eax, eax
jne 0x140058f25
xor r8d, r8d
mov byte [rbp + 0x38], 0
mov rax, rcx
mov dword [rbp + 0x30], r8d
mov qword [rbp + 0xc8], rax
movzx edx, byte [rbp + 0x38]
mov qword [rbp + 0xc0], rcx
mov byte [rsp + 0xd1], dl
cmp r14d, 2
jle 0x14005871f
cmp rcx, rax
jae 0x140058860
lea rdx, [rcx + 1]
mov qword [rbp + 0xc0], rdx
movzx ecx, byte [rcx]
jmp 0x140058e73
cdqe
add rax, rsi
jmp 0x140058e61
cdqe
add rax, rsi
jmp 0x140058edc
lea rsi, [rbp + 0x38]
mov rcx, qword [rbp + 0x28]
mov r8d, dword [rbp + 0x34]
mov rdx, rsi
call qword [rbp + 0x10]
mov rdx, qword [rbp + 0xc0]
sub rdx, qword [rbp + 0xd0]
add dword [rbp + 0xb8], edx
lea rdx, [rbp + 0x39]
test eax, eax
jne 0x140058fb7
xor r9d, r9d
mov byte [rbp + 0x38], 0
mov rax, rdx
mov dword [rbp + 0x30], r9d
mov qword [rbp + 0xc8], rax
movzx ecx, byte [rbp + 0x38]
mov qword [rbp + 0xc0], rdx
mov byte [rsp + 0xd0], cl
cmp r14d, 1
je 0x140058724
cmp rdx, rax
jae 0x140058844
lea rcx, [rdx + 1]
mov qword [rbp + 0xc0], rcx
movzx edx, byte [rdx]
jmp 0x140058eee
lea rdx, [rcx + 1]
mov qword [rbp + 0xc0], rdx
movzx ecx, byte [rcx]
jmp 0x140058f7a
cdqe
add rax, rsi
jmp 0x140058f68
movzx edi, byte [r12 + 0x38]
add rdx, rbx
mov qword [r12 + 0xc0], rax
mov qword [r12 + 0xc8], rdx
mov byte [rsp + 0x70], dil
jmp 0x1400578f0
lea edx, [rsi - 0x18]
lea rax, str.Cant_find_out_TGA_pixelformat
and dl, 0xf7
jne 0x140056b40
movzx r14d, sil
xor edi, edi
mov dword [rsp + 0x58], edi
sar r14d, 3
jmp 0x140057a49
mov rcx, rsi
call sym.free
jmp 0x140057f95
mov eax, r12d
mov r12, rdi
mov edi, ebp
mov rsi, qword [rsp + 0x30]
mov ebp, eax
mov eax, dword [rsp + 0x58]
movsxd rdx, dword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
and eax, 0x10
lea rdx, [rdx + rdx*2]
cmp eax, 1
mov rbx, r14
mov r14d, edi
sbb eax, eax
mov rdi, rbx
xor r13d, r13d
add eax, 4
mov dword [rsi], eax
lea rsi, [rsp + 0xd0]
lea eax, [r15*4]
mov qword [rsp + 0x68], rsi
lea rsi, [rsp + rdx + 0xd3]
cdqe
mov qword [rsp + 0x70], rsi
mov esi, ebp
cmp r14d, r13d
jle 0x140059661
mov rbp, qword [rsp + 0x68]
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x58], r14d
mov dword [rsp + 0x80], r13d
mov r13, rbp
movzx eax, byte [r13 + 1]
cmp al, 1
je 0x1400593ac
cmp al, 2
je 0x140059122
test al, al
je 0x1400590f1
mov rax, qword [rsp + 0x50]
mov ebp, esi
lea rsi, str.packet_has_bad_compression_type
mov edi, dword [rsp + 0x58]
mov qword [rax], rsi
jmp 0x140056aba
idiv r14d
mov edi, eax
jmp 0x140058341
sub eax, ecx
mov qword [r12 + 0xc0], r9
mov rcx, qword [r12 + 0x28]
mov edx, eax
call qword [r12 + 0x18]
movzx r8d, byte [rsp + 0x30]
jmp 0x1400583af
xor ebp, ebp
mov rbx, rdi
jmp 0x140059118
movzx edx, byte [r13 + 2]
mov r8, rbx
mov rcx, r12
call sym.stbi__readval_stbi__context__int__unsigned_char_
test rax, rax
je 0x14005939a
add ebp, 1
add rbx, 4
cmp r15d, ebp
jg 0x1400590f8
jmp 0x140059309
mov dword [rsp + 0x60], esi
mov ebp, r15d
mov rbx, rdi
test ebp, ebp
jle 0x140059305
mov rax, qword [r12 + 0xc0]
mov r9, qword [r12 + 0x10]
cmp rax, qword [r12 + 0xc8]
jae 0x14005925c
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx edx, byte [rax]
cmp qword [r12 + 0x10], 0
movzx esi, dl
je 0x140059183
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x20]
test eax, eax
je 0x140059199
cmp dword [r12 + 0x30], 0
je 0x1400592e9
mov rax, qword [r12 + 0xc8]
cmp qword [r12 + 0xc0], rax
jae 0x1400592e9
cmp esi, 0x7f
jle 0x140059280
lea r14d, [rsi - 0x7f]
cmp esi, 0x80
je 0x1400592d9
cmp ebp, r14d
jl 0x1400592bd
movzx edx, byte [r13 + 2]
lea r8, [rsp + 0xb0]
mov rcx, r12
mov esi, edx
call sym.stbi__readval_stbi__context__int__unsigned_char_
test rax, rax
je 0x1400592b0
mov r8d, esi
mov ecx, esi
mov edx, esi
xor eax, eax
and r8d, 0x40
and ecx, 0x20
and edx, 0x10
jmp 0x14005923d
test sil, sil
jns 0x140059202
movzx r9d, byte [rsp + 0xb0]
mov byte [rbx + rax*4], r9b
test r8b, r8b
je 0x140059215
movzx r9d, byte [rsp + 0xb1]
mov byte [rbx + rax*4 + 1], r9b
test cl, cl
je 0x140059227
movzx r9d, byte [rsp + 0xb2]
mov byte [rbx + rax*4 + 2], r9b
test dl, dl
je 0x140059239
movzx r9d, byte [rsp + 0xb3]
mov byte [rbx + rax*4 + 3], r9b
add rax, 1
cmp r14d, eax
jg 0x1400591f0
xor eax, eax
test r14d, r14d
cmovns eax, r14d
cdqe
lea rsi, [rbx + rax*4]
sub ebp, r14d
mov rbx, rsi
jmp 0x14005912c
mov esi, dword [r12 + 0x30]
test esi, esi
jne 0x140059339
test r9, r9
je 0x1400592e9
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x20]
test eax, eax
jne 0x140059177
lea r14d, [rsi + 1]
cmp ebp, r14d
jl 0x1400592bd
movsxd rax, r14d
lea rsi, [rbx + rax*4]
jmp 0x14005929b
add rbx, 4
cmp rbx, rsi
je 0x140059251
movzx edx, byte [r13 + 2]
mov r8, rbx
mov rcx, r12
call sym.stbi__readval_stbi__context__int__unsigned_char_
test rax, rax
jne 0x140059292
mov edi, dword [rsp + 0x58]
mov ebp, dword [rsp + 0x60]
jmp 0x140056aba
mov rax, qword [rsp + 0x50]
lea rsi, str.scanline_overrun
mov edi, dword [rsp + 0x58]
mov ebp, dword [rsp + 0x60]
mov qword [rax], rsi
jmp 0x140056aba
mov rcx, r12
call sym.stbi__get16be_stbi__context_
mov r14d, eax
jmp 0x1400591b2
mov rax, qword [rsp + 0x50]
lea rsi, str.file_too_short__mixed_read_count_
mov edi, dword [rsp + 0x58]
mov ebp, dword [rsp + 0x60]
mov qword [rax], rsi
jmp 0x140056aba
mov esi, dword [rsp + 0x60]
mov rax, qword [rsp + 0x70]
add r13, 3
cmp r13, rax
jne 0x140059097
mov rax, qword [rsp + 0x78]
mov r13d, dword [rsp + 0x80]
mov r14d, dword [rsp + 0x58]
add r13d, 1
add rdi, rax
jmp 0x140059074
lea r14, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, r14
call r9
mov rdx, qword [r12 + 0xc0]
sub rdx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], edx
lea rdx, [r12 + 0x39]
test eax, eax
jne 0x1400593a5
xor eax, eax
mov byte [r12 + 0x38], 0
mov r14, rdx
mov dword [r12 + 0x30], eax
mov qword [r12 + 0xc0], rdx
movzx edx, byte [r12 + 0x38]
mov qword [r12 + 0xc8], r14
jmp 0x14005915e
mov edi, dword [rsp + 0x58]
mov ebp, esi
jmp 0x140056aba
cdqe
add r14, rax
jmp 0x14005937f
mov qword [rsp + 0x88], rdi
mov ebp, r15d
mov rbx, rdi
lea r14, [rsp + 0xb0]
mov dword [rsp + 0x60], esi
test ebp, ebp
jle 0x140059634
mov rax, qword [r12 + 0xc0]
mov r9, qword [r12 + 0x10]
cmp rax, qword [r12 + 0xc8]
jae 0x1400594af
lea rdx, [rax + 1]
mov qword [r12 + 0xc0], rdx
movzx esi, byte [rax]
cmp qword [r12 + 0x10], 0
je 0x14005941a
mov rcx, qword [r12 + 0x28]
call qword [r12 + 0x20]
test eax, eax
je 0x140059430
cmp dword [r12 + 0x30], 0
je 0x140059645
mov rax, qword [r12 + 0xc8]
cmp qword [r12 + 0xc0], rax
jae 0x140059645
movzx eax, sil
cmp eax, ebp
jle 0x1400594d4
movzx edx, byte [r13 + 2]
mov r8, r14
mov rcx, r12
mov esi, ebp
mov edi, edx
call sym.stbi__readval_stbi__context__int__unsigned_char_
test rax, rax
je 0x1400592b0
mov eax, ebp
mov edx, edi
mov r8d, edi
mov ecx, edi
and edx, 0x40
and r8d, 0x20
and ecx, 0x10
test dil, dil
js 0x14005959a
test dl, dl
jne 0x1400595f2
test r8b, r8b
jne 0x14005956b
test cl, cl
je 0x1400594a0
xor edx, edx
movzx ecx, byte [rsp + 0xb3]
mov byte [rbx + rdx*4 + 3], cl
add rdx, 1
cmp eax, edx
jg 0x14005948c
movzx r9d, sil
sub ebp, eax
lea rbx, [rbx + r9*4]
jmp 0x1400593c6
cmp dword [r12 + 0x30], 0
jne 0x140059502
test r9, r9
je 0x140059645
mov rcx, qword [r12 + 0x28]
xor esi, esi
call qword [r12 + 0x20]
test eax, eax
jne 0x14005940e
movzx edx, byte [r13 + 2]
mov r8, r14
mov rcx, r12
mov edi, edx
call sym.stbi__readval_stbi__context__int__unsigned_char_
test rax, rax
je 0x1400592b0
movzx eax, sil
test eax, eax
jne 0x14005945b
sub ebp, eax
jmp 0x1400593c6
lea rsi, [r12 + 0x38]
mov rcx, qword [r12 + 0x28]
mov r8d, dword [r12 + 0x34]
mov rdx, rsi
call r9
mov rcx, qword [r12 + 0xc0]
sub rcx, qword [r12 + 0xd0]
add dword [r12 + 0xb8], ecx
lea rcx, [r12 + 0x39]
test eax, eax
jne 0x140059563
xor eax, eax
mov byte [r12 + 0x38], 0
mov rdx, rcx
mov dword [r12 + 0x30], eax
mov qword [r12 + 0xc8], rdx
movzx esi, byte [r12 + 0x38]
mov qword [r12 + 0xc0], rcx
jmp 0x1400593f8
cdqe
lea rdx, [rsi + rax]
jmp 0x140059548
xor edx, edx
movzx r8d, byte [rsp + 0xb2]
mov byte [rbx + rdx*4 + 2], r8b
test cl, cl
je 0x14005958d
movzx r8d, byte [rsp + 0xb3]
mov byte [rbx + rdx*4 + 3], r8b
add rdx, 1
cmp eax, edx
jg 0x14005956d
jmp 0x1400594a0
movzx r9d, sil
lea r9, [rbx + r9*4]
movzx r10d, byte [rsp + 0xb0]
mov byte [rbx], r10b
test dl, dl
je 0x1400595bf
movzx r10d, byte [rsp + 0xb1]
mov byte [rbx + 1], r10b
test r8b, r8b
je 0x1400595d1
movzx r10d, byte [rsp + 0xb2]
mov byte [rbx + 2], r10b
test cl, cl
je 0x1400595e2
movzx r10d, byte [rsp + 0xb3]
mov byte [rbx + 3], r10b
add rbx, 4
cmp rbx, r9
jne 0x1400595a2
sub ebp, eax
jmp 0x1400593c6
xor edx, edx
movzx r9d, byte [rsp + 0xb1]
mov byte [rbx + rdx*4 + 1], r9b
test r8b, r8b
je 0x140059615
movzx r9d, byte [rsp + 0xb2]
mov byte [rbx + rdx*4 + 2], r9b
test cl, cl
je 0x140059627
movzx r9d, byte [rsp + 0xb3]
mov byte [rbx + rdx*4 + 3], r9b
add rdx, 1
cmp eax, edx
jg 0x1400595f4
jmp 0x1400594a0
mov rdi, qword [rsp + 0x88]
mov esi, dword [rsp + 0x60]
jmp 0x140059309
mov rax, qword [rsp + 0x50]
lea rsi, str.file_too_short__pure_read_count_
mov edi, dword [rsp + 0x58]
mov ebp, dword [rsp + 0x60]
mov qword [rax], rsi
jmp 0x140056aba
mov edi, r14d
mov ebp, esi
jmp 0x140056acb