Function at 0x140001580
Capabilities:
Terminate process

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push r12
push r13
push r14
push r15
sub rsp, 0x58
xor r15d, r15d
mov eax, edx
cmp edx, 0xffffffff
mov r14, r9
lea rdx, [rsp + 0x30]
mov r13, rcx
jne 0x1400015cb
call sub.gif_7.dll_DGifOpenFileName
mov r12, rax
test rax, rax
jne 0x1400015ef
mov ecx, dword [rsp + 0x30]
call sub.gif_7.dll_PrintGifError
lea ecx, [r15 + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, eax
call sub.gif_7.dll_DGifOpenFileHandle
mov r12, rax
test rax, rax
jne 0x1400015ef
mov ecx, dword [rsp + 0x30]
call sub.gif_7.dll_PrintGifError
lea ecx, [r12 + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, r12
call sub.gif_7.dll_DGifSlurp
test eax, eax
jne 0x140001611
mov ecx, dword [r12 + 0x60]
call sub.gif_7.dll_PrintGifError
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov r8d, dword [r12 + 4]
lea rcx, str.screen_width__d_nscreen_height__d_n
mov edx, dword [r12]
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rdi
call fcn.140003260
mov ecx, dword [r12 + 8]
mov edx, 1
movzx r9d, byte [r12 + 0x10]
mov r8d, dword [r12 + 0xc]
shl edx, cl
lea rcx, str.screen_colors__d_nscreen_background__d_npixel_aspect_byte__u_n_n
call fcn.140003260
lea rsi, [0x140005afc]
cmp qword [r12 + 0x18], r15
je 0x140001711
lea rcx, str.screen_map_n
call fcn.140003260
mov rax, qword [r12 + 0x18]
lea rdx, [0x140005b00]
lea rcx, str._tsort_flag__s_n
cmp byte [rax + 8], r15b
cmovne rdx, rsi
call fcn.140003260
mov rax, qword [r12 + 0x18]
xor esi, esi
mov ecx, dword [rax]
test ecx, ecx
jle 0x1400016fe
mov rdi, r14
xor ebx, ebx
mov rax, qword [rax + 0x10]
movzx r9d, byte [rbx + rax + 2]
movzx r8d, byte [rbx + rax + 1]
movzx edx, byte [rbx + rax]
cmp ecx, 0x5d
jae 0x1400016de
movsx ecx, byte [rdi]
mov dword [rsp + 0x20], ecx
lea rcx, str._trgb__03d__03d__03d_is__c_n
call fcn.140003260
jmp 0x1400016ea
lea rcx, str._trgb__03d__03d__03d_n
call fcn.140003260
mov rax, qword [r12 + 0x18]
inc esi
add rbx, 3
inc rdi
mov ecx, dword [rax]
cmp esi, ecx
jl 0x1400016b0
lea rcx, str.end_n_n
call fcn.140003260
lea rsi, [0x140005afc]
xor ebp, ebp
cmp dword [r12 + 0x20], ebp
jle 0x14000194c
xor r13d, r13d
lea rbx, str.image_bits__d_by__d_hex_n
nop dword [rax + rax]
mov rdi, qword [r12 + 0x48]
mov rcx, r12
add rdi, r13
mov r8, qword [rdi + 0x30]
mov edx, dword [rdi + 0x28]
call section..text
mov r9d, dword [rdi + 4]
lea rcx, str.image___d_nimage_left__d_nimage_top__d_n
mov r8d, dword [rdi]
inc ebp
mov edx, ebp
mov dword [rsp + 0x34], ebp
call fcn.140003260
cmp byte [rdi + 0x10], 0
je 0x140001774
lea rcx, str.image_interlaced_n
call fcn.140003260
mov rax, qword [rdi + 0x18]
test rax, rax
je 0x140001829
lea rcx, str.image_map_n
call fcn.140003260
mov rax, qword [rdi + 0x18]
lea rdx, [0x140005b00]
lea rcx, str._tsort_flag__s_n
cmp byte [rax + 8], 0
cmovne rdx, rsi
call fcn.140003260
mov rax, qword [rdi + 0x18]
mov ecx, dword [rax]
cmp ecx, 0x5d
jae 0x14000189b
xor ebp, ebp
test ecx, ecx
jle 0x140001810
xor ebx, ebx
mov rsi, r14
nop word [rax + rax]
mov rax, qword [rax + 0x10]
movsx ecx, byte [rsi]
mov dword [rsp + 0x20], ecx
lea rcx, str._trgb__03d__03d__03d_is__c_n
movzx r9d, byte [rax + rbx + 2]
movzx r8d, byte [rax + rbx + 1]
movzx edx, byte [rax + rbx]
call fcn.140003260
mov rax, qword [rdi + 0x18]
lea rsi, [rsi + 1]
inc ebp
lea rbx, [rbx + 3]
cmp ebp, dword [rax]
jl 0x1400017d0
lea rbx, str.image_bits__d_by__d_hex_n
mov ebp, dword [rsp + 0x34]
lea rcx, str.end_n_n
call fcn.140003260
mov rax, qword [rdi + 0x18]
test rax, rax
jne 0x140001833
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x140001836
mov r15d, dword [rax]
mov r8d, dword [rdi + 0xc]
lea rcx, str.image_bits__d_by__d_n
mov edx, dword [rdi + 8]
cmp r15d, 0x5d
cmovae rcx, rbx
call fcn.140003260
xor esi, esi
cmp dword [rdi + 0xc], esi
jle 0x140001923
nop dword [rax]
mov eax, dword [rdi + 8]
xor ebx, ebx
test eax, eax
jle 0x140001906
nop dword [rax]
imul eax, esi
add eax, ebx
movsxd rcx, eax
mov rax, qword [rdi + 0x20]
movzx edx, byte [rcx + rax]
cmp r15d, 0x5d
jae 0x1400018ea
cmp dl, 0x5d
jae 0x1400018ea
movzx eax, dl
movsx ecx, byte [rax + r14]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_putchar]
jmp 0x1400018f9
xor esi, esi
test ecx, ecx
jle 0x140001814
xor ebx, ebx
nop word [rax + rax]
mov rax, qword [rax + 0x10]
lea rcx, str._trgb__03d__03d__03d_n
movzx r9d, byte [rax + rbx + 2]
movzx r8d, byte [rax + rbx + 1]
movzx edx, byte [rax + rbx]
call fcn.140003260
mov rax, qword [rdi + 0x18]
lea rbx, [rbx + 3]
inc esi
cmp esi, dword [rax]
jl 0x1400018b0
lea rbx, str.image_bits__d_by__d_hex_n
jmp 0x140001814
movzx edx, dl
lea rcx, str._02x
call fcn.140003260
mov eax, dword [rdi + 8]
inc ebx
cmp ebx, eax
jl 0x140001870
mov ecx, 0xa
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_putchar]
inc esi
cmp esi, dword [rdi + 0xc]
jl 0x140001860
lea rbx, str.image_bits__d_by__d_hex_n
mov ecx, 0xa
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_putchar]
add r13, 0x38
lea rsi, [0x140005afc]
cmp ebp, dword [r12 + 0x20]
jl 0x140001730
mov r13, qword [rsp + 0x80]
mov r8, qword [r12 + 0x58]
mov rcx, r12
mov edx, dword [r12 + 0x50]
call section..text
lea rcx, str._The_following_sets_edit_modes_for_GNU_EMACS_n
call fcn.140003260
lea rcx, str._Local
call fcn.140003260
lea rcx, str.Variables:_n
call fcn.140003260
lea rcx, str._mode:picture_n
call fcn.140003260
lea rcx, str._truncate_lines:t_n
call fcn.140003260
lea rcx, str._End:_n
call fcn.140003260
cmp dword [rsp + 0x88], 0xffffffff
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x90]
jne 0x1400019d6
mov rdx, r13
lea rcx, str._End_of__s_dump_n
call fcn.140003260
mov ecx, dword [r12 + 0xc]
test ecx, ecx
js 0x1400019ed
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x140001a07
cmp ecx, dword [rax]
jl 0x140001a07
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.gifbuild:_background_color_invalid_for_screen_colormap._n
call fcn.140002f60
lea rdx, [rsp + 0x30]
mov rcx, r12
call sub.gif_7.dll_DGifCloseFile
test eax, eax
jne 0x140001a2d
mov ecx, dword [rsp + 0x30]
call sub.gif_7.dll_PrintGifError
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
ret