1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
| ╎╎ 0x00401387 4863db movsxd rbx, ebx ╎╎ 0x0040138a 48c1e302 shl rbx, 2 ╎╎ 0x0040138e 4889df mov rdi, rbx ╎╎ 0x00401391 e86afeffff call sym.imp.malloc ;[1] ╎╎ 0x00401396 488d3d1e0e.. lea rdi, str.ERROR:_Failed_to_allocate_memory_for_the_image_data_ ; 0x4021bb ; "ERROR: Failed to all ╎╎ 0x0040139d 4889c5 mov rbp, rax ╎╎ 0x004013a0 4885c0 test rax, rax ╎└─< 0x004013a3 74b1 je 0x401356 ╎ 0x004013a5 89da mov edx, ebx ╎ 0x004013a7 4889c6 mov rsi, rax ╎ 0x004013aa 4183c8ff or r8d, 0xffffffff ; -1 ╎ 0x004013ae 31ff xor edi, edi ╎ 0x004013b0 488d0d390e.. lea rcx, str.ERROR:_Failed_to_read_data_ ; 0x4021f0 ; "ERROR: Failed to read data!" ╎ 0x004013b7 e8bf020000 call sym.read_exact ;[2] ╎ 0x004013bc 0fb6442407 movzx eax, byte [rsp + 7] ╎ 0x004013c1 0fb6542406 movzx edx, byte [rsp + 6] ╎ 0x004013c6 0fafd0 imul edx, eax ╎ 0x004013c9 31c0 xor eax, eax ╎┌─> 0x004013cb 39c2 cmp edx, eax ┌───< 0x004013cd 7e30 jle 0x4013ff │╎╎ 0x004013cf 0fb64c8503 movzx ecx, byte [rbp + rax*4 + 3] │╎╎ 0x004013d4 48ffc0 inc rax │╎╎ 0x004013d7 8d71e0 lea esi, [rcx - 0x20] │╎╎ 0x004013da 4080fe5e cmp sil, 0x5e ; '^' ; 94 │╎└─< 0x004013de 76eb jbe 0x4013cb │╎ 0x004013e0 488b3dd92c.. mov rdi, qword [obj.stderr] ; obj.stderr__GLIBC_2.2.5 │╎ ; [0x4040c0:8]=0 │╎ 0x004013e7 488d151e0e.. lea rdx, str.ERROR:_Invalid_character_0x_x_in_the_image_data__n ; str.ERROR:_Invalid_character_0x_x_ │╎ ; 0x40220c ; "ERROR: Invalid character 0x%x in the image data!\n" │╎ 0x004013ee be01000000 mov esi, 1 │╎ 0x004013f3 31c0 xor eax, eax │╎ 0x004013f5 e856feffff call sym.imp.__fprintf_chk ;[3] │└──< 0x004013fa e95cffffff jmp 0x40135b └───> 0x004013ff 4889ee mov rsi, rbp 0x00401402 4c89e7 mov rdi, r12 0x00401405 4c8d25142c.. lea r12, obj.desired_output ; 0x404020 ; color ; go to check desired_output 0x0040140c 31db xor ebx, ebx 0x0040140e e8b8020000 call sym.display ;[4] 0x00401413 448b6c2408 mov r13d, dword [rsp + 8] 0x00401418 4c8b742410 mov r14, qword [rsp + 0x10] 0x0040141d 4183fd04 cmp r13d, 4 ; 4 ; pixel size 0x00401421 0f94c3 sete bl 0x00401424 31ed xor ebp, ebp 0x00401426 4531ff xor r15d, r15d ┌─> 0x00401429 83fd04 cmp ebp, 4 ; 4 ┌──< 0x0040142c 743e je 0x40146c │╎ 0x0040142e 4139ed cmp r13d, ebp ┌───< 0x00401431 7639 jbe 0x40146c ││╎ 0x00401433 486bfd18 imul rdi, rbp, 0x18 ││╎ 0x00401437 418a443e13 mov al, byte [r14 + rdi + 0x13] ││╎ 0x0040143c 413a442413 cmp al, byte [r12 + 0x13] ││╎ 0x00401441 410f45df cmovne ebx, r15d ││╎ 0x00401445 3c20 cmp al, 0x20 ; 32 ┌────< 0x00401447 741a je 0x401463 │││╎ 0x00401449 3c0a cmp al, 0xa ; 10 ┌─────< 0x0040144b 7416 je 0x401463 ││││╎ 0x0040144d 4c01f7 add rdi, r14 ││││╎ 0x00401450 ba18000000 mov edx, 0x18 ; 24 ││││╎ 0x00401455 4c89e6 mov rsi, r12 ││││╎ 0x00401458 e883fdffff call sym.imp.memcmp ;[5] ││││╎ 0x0040145d 85c0 test eax, eax ││││╎ 0x0040145f 410f45df cmovne ebx, r15d └└────> 0x00401463 48ffc5 inc rbp ││╎ 0x00401466 4983c418 add r12, 0x18 ; 24 ││└─< 0x0040146a ebbd jmp 0x401429 └└──> 0x0040146c 85db test ebx, ebx ┌─< 0x0040146e 7407 je 0x401477 │ 0x00401470 31c0 xor eax, eax │ 0x00401472 e80f010000 call sym.win ;[6] └─> 0x00401477 488b442418 mov rax, qword [rsp + 0x18] 0x0040147c 6448330425.. xor rax, qword fs:[0x28] ┌─< 0x00401485 7405 je 0x40148c │ 0x00401487 e804fdffff call sym.imp.__stack_chk_fail ;[7] └─> 0x0040148c 4883c428 add rsp, 0x28
> px 96 @ 0x404020 - offset - 2021 2223 2425 2627 2829 2A2B 2C2D 2E2F 0123456789ABCDEF 0x00404020 1b5b 3338 3b32 3b31 3534 3b31 3732 3b30 .[38;2;154;172;0 0x00404030 3130 6d63 1b5b 306d 1b5b 3338 3b32 3b30 10mc.[0m.[38;2;0 0x00404040 3533 3b30 3935 3b32 3235 6d49 1b5b 306d 53;095;225mI.[0m 0x00404050 1b5b 3338 3b32 3b31 3332 3b30 3934 3b30 .[38;2;132;094;0 0x00404060 3637 6d4d 1b5b 306d 1b5b 3338 3b32 3b32 67mM.[0m.[38;2;2 0x00404070 3035 3b30 3336 3b30 3836 6d47 1b5b 306d 05;036;086mG.[0m
|