joyce8/EMBER2024-capa huggingface dataset:
Function at 0x471fa0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x110
mov eax, dword [0x4d16b0]
xor eax, esp
mov dword [esp + 0x10c], eax
push ebx
push esi
mov esi, edx
mov eax, dword [esi + 0x6c]
test al, 1
push edi
mov edi, dword [esp + 0x120]
mov ebx, ecx
jne 0x471fd5
mov edi, str.Missing_IHDR_before_tRNS
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x471fe3
mov ecx, str.Invalid_tRNS_after_IDAT
jmp 0x47216e
test edi, edi
je 0x471ff7
test byte [edi + 8], 0x10
je 0x471ff7
mov ecx, str.Duplicate_tRNS_chunk
jmp 0x47216e
mov cl, byte [esi + 0x126]
test cl, cl
jne 0x472047
cmp ebx, 2
je 0x472010
mov ecx, str.Incorrect_tRNS_chunk_length
jmp 0x47216e
mov ebx, 2
lea eax, [esp + 0xc]
call fcn.00470a30
mov ax, word [esp + 0xc]
movzx cx, al
movzx dx, ah
shl cx, 8
add cx, dx
mov word [esi + 0x11a], 1
mov word [esi + 0x194], cx
jmp 0x472104
cmp cl, 2
jne 0x4720ad
cmp ebx, 6
jne 0x472006
lea eax, [esp + 0x10]
call fcn.00470a30
movzx eax, byte [esp + 0x10]
movzx ecx, byte [esp + 0x11]
movzx edx, byte [esp + 0x12]
shl ax, 8
add ax, cx
movzx ecx, byte [esp + 0x14]
mov word [esi + 0x18e], ax
movzx eax, byte [esp + 0x13]
shl dx, 8
add dx, ax
mov word [esi + 0x190], dx
movzx edx, byte [esp + 0x15]
shl cx, 8
add cx, dx
mov word [esi + 0x11a], 1
mov word [esi + 0x192], cx
jmp 0x472104
cmp cl, 3
jne 0x472169
test al, 2
jne 0x4720c4
mov ecx, str.Missing_PLTE_before_tRNS
call fcn.004665c0
movzx eax, word [esi + 0x118]
cmp ebx, eax
ja 0x472006
cmp ebx, 0x100
ja 0x472006
test ebx, ebx
jne 0x4720f4
mov ecx, str.Zero_length_tRNS_chunk
call fcn.004665c0
xor eax, eax
jmp 0x472175
lea eax, [esp + 0x18]
call fcn.00470a30
mov word [esi + 0x11a], bx
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
je 0x472132
pop edi
mov word [esi + 0x11a], 0
pop esi
pop ebx
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.0047f460
add esp, 0x110
ret
movzx ecx, word [esi + 0x11a]
push ecx
lea edx, [esp + 0x1c]
lea ebx, [esi + 0x18c]
push edx
mov eax, edi
mov ecx, esi
call fcn.00466010
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.0047f460
add esp, 0x110
ret
mov ecx, str.tRNS_chunk_not_allowed_with_alpha_channel
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
mov ecx, dword [esp + 0x118]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047f460
add esp, 0x110
ret
Function at 0x4721a0
Capabilities:
Terminate process

Disassembly:
sub esp, 0xc
mov eax, dword [0x4d16b0]
xor eax, esp
mov dword [esp + 8], eax
push ebp
mov ebp, dword [esp + 0x14]
push esi
mov esi, ecx
mov eax, dword [esi + 0x6c]
test al, 1
push edi
mov edi, edx
jne 0x4721cc
mov edi, str.Missing_IHDR_before_bKGD
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x4721f5
mov ecx, str.Invalid_bKGD_after_IDAT
call fcn.004665c0
mov eax, ebp
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0047f460
add esp, 0xc
ret
mov cl, byte [esi + 0x126]
cmp cl, 3
jne 0x472229
test al, 2
jne 0x472229
mov ecx, str.Missing_PLTE_before_bKGD
call fcn.004665c0
mov eax, ebp
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0047f460
add esp, 0xc
ret
test edi, edi
je 0x472258
test byte [edi + 8], 0x20
je 0x472258
mov ecx, str.Duplicate_bKGD_chunk
call fcn.004665c0
mov eax, ebp
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0047f460
add esp, 0xc
ret
cmp cl, 3
push ebx
jne 0x472265
mov ebx, 1
jmp 0x472270
movzx ebx, cl
and ebx, 2
or ebx, 1
add ebx, ebx
cmp ebp, ebx
je 0x47229a
mov ecx, str.Incorrect_bKGD_chunk_length
call fcn.004665c0
mov eax, ebp
mov ecx, esi
call fcn.00470aa0
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0047f460
add esp, 0xc
ret
lea eax, [esp + 0x10]
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
jne 0x4723b8
mov al, byte [esi + 0x126]
cmp al, 3
jne 0x472335
test edi, edi
mov al, byte [esp + 0x10]
mov byte [esi + 0x138], al
je 0x4723ab
movzx ecx, word [edi + 0x14]
test cx, cx
je 0x4723ab
movzx dx, al
cmp dx, cx
jb 0x472303
mov ecx, str.Incorrect_bKGD_chunk_index_value
call fcn.004665c0
pop ebx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0047f460
add esp, 0xc
ret
mov ecx, dword [esi + 0x114]
movzx eax, al
lea eax, [eax + eax*2]
movzx edx, byte [eax + ecx]
add eax, ecx
mov word [esi + 0x13a], dx
movzx cx, byte [eax + 1]
mov word [esi + 0x13c], cx
movzx edx, byte [eax + 2]
mov word [esi + 0x13e], dx
jmp 0x4723ab
test al, 2
jne 0x472363
movzx ax, byte [esp + 0x10]
movzx cx, byte [esp + 0x11]
shl ax, 8
add ax, cx
mov word [esi + 0x140], ax
mov word [esi + 0x13c], ax
mov word [esi + 0x13a], ax
jmp 0x4723a4
movzx edx, byte [esp + 0x10]
movzx eax, byte [esp + 0x11]
movzx ecx, byte [esp + 0x12]
shl dx, 8
add dx, ax
movzx eax, byte [esp + 0x14]
mov word [esi + 0x13a], dx
movzx edx, byte [esp + 0x13]
shl cx, 8
add cx, dx
mov word [esi + 0x13c], cx
movzx ecx, byte [esp + 0x15]
shl ax, 8
add ax, cx
mov word [esi + 0x13e], ax
lea ecx, [esi + 0x138]
mov eax, edi
call fcn.00465610
mov ecx, dword [esp + 0x18]
pop ebx
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.0047f460
add esp, 0xc
ret
Function at 0x4723d0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x20c
mov eax, dword [0x4d16b0]
xor eax, esp
mov dword [esp + 0x208], eax
push ebx
push esi
mov esi, dword [esp + 0x218]
mov eax, dword [esi + 0x6c]
test al, 1
push edi
mov ebx, edx
mov dword [esp + 0x10], ecx
jne 0x472407
mov edi, str.Missing_IHDR_before_hIST
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x472415
mov ecx, str.Invalid_hIST_after_IDAT
jmp 0x4724c8
test al, 2
jne 0x472423
mov ecx, str.Missing_PLTE_before_hIST
jmp 0x4724c8
test ecx, ecx
je 0x472437
test byte [ecx + 8], 0x40
je 0x472437
mov ecx, str.Duplicate_hIST_chunk
jmp 0x4724c8
movzx eax, word [esi + 0x118]
mov edi, ebx
shr edi, 1
cmp edi, eax
jne 0x4724c3
cmp edi, 0x100
ja 0x4724c3
push ebp
xor ebp, ebp
test edi, edi
jbe 0x47248e
jmp 0x472460
mov ebx, 2
lea eax, [esp + 0x10]
call fcn.00470a30
mov ax, word [esp + 0x10]
movzx cx, al
movzx dx, ah
shl cx, 8
add cx, dx
mov word [esp + ebp*2 + 0x18], cx
add ebp, 1
cmp ebp, edi
jb 0x472460
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
pop ebp
jne 0x4724d6
mov edi, dword [esp + 0x10]
lea ebx, [esp + 0x14]
mov eax, esi
call fcn.00465700
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x208]
xor ecx, esp
call fcn.0047f460
add esp, 0x20c
ret
mov ecx, str.Incorrect_hIST_chunk_length
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
mov ecx, dword [esp + 0x214]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047f460
add esp, 0x20c
ret
Function at 0x4724f0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x10
mov eax, dword [0x4d16b0]
xor eax, esp
mov dword [esp + 0xc], eax
push ebx
push esi
mov esi, edx
mov eax, dword [esi + 0x6c]
test al, 1
push edi
mov edi, dword [esp + 0x20]
mov ebx, ecx
jne 0x47251c
mov edi, str.Missing_IHDR_before_pHYs
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x472545
mov ecx, str.Invalid_pHYs_after_IDAT
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.0047f460
add esp, 0x10
ret
test edi, edi
je 0x472574
test byte [edi + 8], 0x80
je 0x472574
mov ecx, str.Duplicate_pHYs_chunk
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.0047f460
add esp, 0x10
ret
cmp ebx, 9
je 0x47259e
mov ecx, str.Incorrect_pHYs_chunk_length
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.0047f460
add esp, 0x10
ret
mov ebx, 9
lea eax, [esp + 0xc]
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
jne 0x472617
test edi, edi
je 0x472617
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0xd]
movzx edx, byte [esp + 0xe]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0xf]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x10]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x12]
shl edx, 8
mov dword [edi + 0x74], eax
movzx eax, byte [esp + 0x11]
add edx, eax
movzx eax, byte [esp + 0x13]
shl edx, 8
add edx, ecx
mov cl, byte [esp + 0x14]
shl edx, 8
add edx, eax
or dword [edi + 8], 0x80
mov dword [edi + 0x78], edx
mov byte [edi + 0x7c], cl
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047f460
add esp, 0x10
ret
Function at 0x472630
Capabilities:
Terminate process

Disassembly:
sub esp, 0x10
mov eax, dword [0x4d16b0]
xor eax, esp
mov dword [esp + 0xc], eax
push ebx
push esi
mov esi, edx
mov eax, dword [esi + 0x6c]
test al, 1
push edi
mov edi, dword [esp + 0x20]
mov ebx, ecx
jne 0x47265c
mov edi, str.Missing_IHDR_before_oFFs
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x472685
mov ecx, str.Invalid_oFFs_after_IDAT
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.0047f460
add esp, 0x10
ret
test edi, edi
je 0x4726b7
test dword [edi + 8], 0x100
je 0x4726b7
mov ecx, str.Duplicate_oFFs_chunk
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.0047f460
add esp, 0x10
ret
cmp ebx, 9
je 0x4726e1
mov ecx, str.Incorrect_oFFs_chunk_length
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
xor ecx, esp
call fcn.0047f460
add esp, 0x10
ret
mov ebx, 9
lea eax, [esp + 0xc]
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
jne 0x472785
mov al, byte [esp + 0xc]
movzx ecx, al
shl ecx, 8
test al, al
jns 0x47272b
movzx eax, byte [esp + 0xd]
movzx edx, byte [esp + 0xe]
add ecx, eax
movzx eax, byte [esp + 0xf]
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, eax
jmp 0x472746
movzx edx, byte [esp + 0xd]
movzx eax, byte [esp + 0xe]
add ecx, edx
movzx edx, byte [esp + 0xf]
shl ecx, 8
add ecx, eax
shl ecx, 8
add ecx, edx
mov al, byte [esp + 0x10]
movzx edx, byte [esp + 0x11]
test al, al
movzx eax, al
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x12]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x13]
shl eax, 8
add eax, edx
test edi, edi
je 0x472785
or dword [edi + 8], 0x100
mov dword [edi + 0x6c], eax
mov al, byte [esp + 0x14]
mov dword [edi + 0x68], ecx
mov byte [edi + 0x70], al
mov ecx, dword [esp + 0x18]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047f460
add esp, 0x10
ret
Function at 0x472b80
Capabilities:
Terminate process

Disassembly:
sub esp, 0x10
push esi
push edi
mov esi, ecx
mov edi, eax
mov eax, dword [esi + 0x6c]
test al, 1
jne 0x472b9c
mov edi, str.Missing_IHDR_before_sCAL
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x472bb8
mov ecx, str.Invalid_sCAL_after_IDAT
call fcn.004665c0
mov eax, edi
pop edi
mov ecx, esi
pop esi
add esp, 0x10
jmp fcn.00470aa0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x472be1
test dword [eax + 8], 0x4000
je 0x472be1
mov ecx, str.Duplicate_sCAL_chunk
call fcn.004665c0
mov eax, edi
pop edi
mov ecx, esi
pop esi
add esp, 0x10
jmp fcn.00470aa0
lea ecx, [edi + 1]
call fcn.0046fa50
test eax, eax
mov dword [esi + 0x2a8], eax
jne 0x472c0b
mov ecx, str.Out_of_memory_while_processing_sCAL_chunk
call fcn.004665c0
mov eax, edi
pop edi
mov ecx, esi
pop esi
add esp, 0x10
jmp fcn.00470aa0
push ebx
mov ebx, edi
call fcn.00470a30
mov eax, dword [esi + 0x2a8]
mov byte [edi + eax], 0
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
je 0x472c48
mov edx, dword [esi + 0x2a8]
mov ecx, esi
call fcn.0046fa20
pop ebx
pop edi
mov dword [esi + 0x2a8], 0
pop esi
add esp, 0x10
ret
push ebp
mov ebp, dword [esi + 0x2a8]
mov al, byte [ebp]
cmp al, 1
mov byte [esp + 0x13], al
je 0x472c68
cmp al, 2
je 0x472c68
mov ecx, str.Invalid_sCAL_ignored:_invalid_unit
jmp 0x472cf7
xor eax, eax
cmp byte [ebp + 1], 0x2d
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
lea eax, [ebp + 1]
mov dword [esp + 0x1c], eax
je 0x472cf2
lea ecx, [esp + 0x18]
push ecx
push ebp
lea edx, [esp + 0x1c]
call fcn.00467390
add esp, 8
test eax, eax
je 0x472cf2
mov eax, dword [esp + 0x14]
cmp eax, edi
jae 0x472cf2
mov dl, byte [eax + ebp]
add eax, 1
test dl, dl
mov dword [esp + 0x14], eax
jne 0x472cf2
cmp byte [eax + ebp], 0x2d
lea ebx, [eax + ebp]
je 0x472ceb
lea eax, [esp + 0x18]
push eax
push ebp
lea edx, [esp + 0x1c]
call fcn.00467390
add esp, 8
test eax, eax
je 0x472ceb
cmp dword [esp + 0x14], edi
jne 0x472ceb
mov ecx, dword [esp + 0x1c]
movsx edx, byte [esp + 0x13]
mov eax, dword [esp + 0x24]
push ebx
push ecx
push edx
push esi
call fcn.00465a60
add esp, 0x10
jmp 0x472cfc
mov ecx, str.Invalid_sCAL_chunk_ignored:_bad_height_format
jmp 0x472cf7
mov ecx, str.Invalid_sCAL_chunk_ignored:_bad_width_format
call fcn.004665c0
mov edx, dword [esi + 0x2a8]
mov ecx, esi
call fcn.0046fa20
pop ebp
pop ebx
pop edi
mov dword [esi + 0x2a8], 0
pop esi
add esp, 0x10
ret
Function at 0x472d20
Capabilities:
Terminate process

Disassembly:
sub esp, 0x14
mov eax, dword [0x4d16b0]
xor eax, esp
mov dword [esp + 0x10], eax
push ebx
push esi
mov esi, edx
mov eax, dword [esi + 0x6c]
test al, 1
push edi
mov edi, dword [esp + 0x24]
mov ebx, ecx
jne 0x472d4c
mov edi, str.Out_of_place_tIME_chunk
mov eax, esi
jmp fcn.004665a0
test edi, edi
je 0x472d7e
test dword [edi + 8], 0x200
je 0x472d7e
mov ecx, str.Duplicate_tIME_chunk
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.0047f460
add esp, 0x14
ret
test al, 4
je 0x472d88
or eax, 8
mov dword [esi + 0x6c], eax
cmp ebx, 7
je 0x472db2
mov ecx, str.Incorrect_tIME_chunk_length
call fcn.004665c0
mov eax, ebx
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.0047f460
add esp, 0x14
ret
mov ebx, 7
lea eax, [esp + 0x14]
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
jne 0x472e33
movzx eax, byte [esp + 0x1a]
mov dl, byte [esp + 0x18]
movzx ecx, byte [esp + 0x19]
mov byte [esp + 0x12], al
movzx eax, byte [esp + 0x17]
mov byte [esp + 0x10], dl
movzx dx, byte [esp + 0x14]
mov byte [esp + 0xf], al
movzx ax, byte [esp + 0x15]
mov byte [esp + 0x11], cl
movzx ecx, byte [esp + 0x16]
shl dx, 8
add dx, ax
test edi, edi
mov byte [esp + 0xe], cl
mov word [esp + 0xc], dx
je 0x472e33
test dword [esi + 0x6c], 0x200
jne 0x472e33
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
or dword [edi + 8], 0x200
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x40], edx
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047f460
add esp, 0x14
ret
Function at 0x472e50
Capabilities:
Terminate process

Disassembly:
push ecx
push esi
push edi
mov esi, ecx
mov edi, eax
mov eax, dword [esi + 0x260]
test eax, eax
je 0x472e98
cmp eax, 1
jne 0x472e72
mov eax, edi
pop edi
pop esi
add esp, 4
jmp fcn.00470aa0
add eax, 0xffffffff
cmp eax, 1
mov dword [esi + 0x260], eax
jne 0x472e98
mov ecx, str.No_space_in_chunk_cache_for_tEXt
call fcn.004665c0
mov eax, edi
pop edi
mov ecx, esi
pop esi
add esp, 4
jmp fcn.00470aa0
mov eax, dword [esi + 0x6c]
test al, 1
jne 0x472eab
mov edi, str.Missing_IHDR_before_tEXt
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x472eb5
or eax, 8
mov dword [esi + 0x6c], eax
mov ecx, dword [esi + 0x2a8]
test ecx, ecx
je 0x472eda
mov eax, dword [esi + 0x240]
test eax, eax
push ecx
je 0x472ed2
push esi
call eax
add esp, 8
jmp 0x472eda
call fcn.0047fdbd
add esp, 4
lea ecx, [edi + 1]
call fcn.0046fa50
test eax, eax
mov dword [esi + 0x2a8], eax
jne 0x472efa
mov ecx, str.No_memory_to_process_text_chunk
call fcn.004665c0
pop edi
pop esi
pop ecx
ret
push ebx
mov ebx, edi
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
test eax, eax
je 0x472f2b
mov edx, dword [esi + 0x2a8]
mov ecx, esi
call fcn.0046fa20
pop ebx
pop edi
mov dword [esi + 0x2a8], 0
pop esi
pop ecx
ret
mov ebx, dword [esi + 0x2a8]
lea eax, [ebx + edi]
mov byte [eax], 0
cmp byte [ebx], 0
push ebp
mov ebp, ebx
je 0x472f49
nop
add ebp, 1
cmp byte [ebp], 0
jne 0x472f40
cmp ebp, eax
je 0x472f50
add ebp, 1
mov eax, dword [esi + 0x70]
mov dword [esp + 0x10], eax
or eax, 0x100000
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x23c]
test eax, eax
push 0x1c
je 0x472f73
push esi
call eax
add esp, 8
jmp 0x472f7b
call fcn.00482392
add esp, 4
mov edi, eax
xor eax, eax
cmp edi, eax
jne 0x472f98
test dword [esi + 0x70], 0x100000
jne 0x472f98
mov edi, str.Out_of_Memory
mov eax, esi
jmp fcn.004665a0
cmp edi, eax
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x70], ecx
jne 0x472ff0
mov ecx, str.Not_enough_memory_to_process_text_chunk
call fcn.004665c0
mov ecx, dword [esi + 0x2a8]
test ecx, ecx
je 0x472fe0
mov eax, dword [esi + 0x240]
test eax, eax
push ecx
je 0x472fd8
push esi
call eax
add esp, 8
pop ebp
pop ebx
pop edi
mov dword [esi + 0x2a8], 0
pop esi
pop ecx
ret
call fcn.0047fdbd
add esp, 4
pop ebp
pop ebx
pop edi
mov dword [esi + 0x2a8], 0
pop esi
pop ecx
ret
push ebp
mov dword [edi], 0xffffffff
mov dword [edi + 4], ebx
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x10], eax
mov dword [edi + 8], ebp
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [esp + 0x18]
push edi
push edx
push esi
mov dword [edi + 0xc], eax
call fcn.00465d80
mov ebx, eax
mov eax, dword [esi + 0x2a8]
add esp, 0xc
test eax, eax
je 0x473045
mov ecx, dword [esi + 0x240]
test ecx, ecx
push eax
je 0x47303d
push esi
call ecx
add esp, 8
jmp 0x473045
call fcn.0047fdbd
add esp, 4
mov eax, dword [esi + 0x240]
test eax, eax
mov dword [esi + 0x2a8], 0
push edi
je 0x473062
push esi
call eax
add esp, 8
jmp 0x47306a
call fcn.0047fdbd
add esp, 4
test ebx, ebx
je 0x473078
mov ecx, str.Insufficient_memory_to_process_text_chunk
call fcn.004665c0
pop ebp
pop ebx
pop edi
pop esi
pop ecx
ret
Function at 0x473660
Capabilities:
Terminate process

Disassembly:
sub esp, 0xc
mov eax, dword [0x4d16b0]
xor eax, esp
mov dword [esp + 8], eax
push ebp
mov ebp, dword [esp + 0x14]
push esi
mov esi, edx
mov eax, dword [esi + 0x6c]
test al, 1
push edi
mov edi, ecx
jne 0x47368c
mov edi, str.Missing_IHDR_before_acTL
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x4736b5
mov ecx, str.Invalid_acTL_after_IDAT_skipped
call fcn.004665c0
mov eax, edi
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0047f460
add esp, 0xc
ret
test eax, 0x4000
je 0x4736e1
mov ecx, str.Duplicate_acTL_skipped
call fcn.004665c0
mov eax, edi
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0047f460
add esp, 0xc
ret
cmp edi, 8
je 0x47370b
mov ecx, str.acTL_with_invalid_length_skipped
call fcn.004665c0
mov eax, edi
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0047f460
add esp, 0xc
ret
push ebx
mov ebx, 8
lea eax, [esp + 0x10]
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
push esi
lea ecx, [esp + 0x14]
call fcn.00470830
push esi
lea ecx, [esp + 0x1c]
mov edi, eax
call fcn.00470830
mov edx, eax
push esi
mov ecx, edi
mov eax, ebp
call fcn.00466290
add esp, 0xc
test eax, eax
pop ebx
je 0x473754
or dword [esi + 0x6c], 0x4000
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.0047f460
add esp, 0xc
ret
Function at 0x473770
Capabilities:
Terminate process

Disassembly:
sub esp, 0x28
mov eax, dword [0x4d16b0]
xor eax, esp
mov dword [esp + 0x24], eax
push ebx
push esi
push edi
mov edi, dword [esp + 0x38]
mov ebx, ecx
mov esi, edx
push ebx
mov eax, esi
call fcn.00473950
mov eax, dword [esi + 0x6c]
add esp, 4
test al, 1
jne 0x4737a7
mov edi, str.Missing_IHDR_before_fcTL
mov eax, esi
jmp fcn.004665a0
test al, 4
je 0x4737d1
mov ecx, str.Invalid_fcTL_after_IDAT_skipped
call fcn.004665c0
lea eax, [ebx - 4]
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.0047f460
add esp, 0x28
ret
test eax, 0x8000
je 0x4737fe
mov ecx, str.Duplicate_fcTL_within_one_frame_skipped
call fcn.004665c0
lea eax, [ebx - 4]
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.0047f460
add esp, 0x28
ret
cmp ebx, 0x1a
je 0x473829
mov ecx, str.fcTL_with_invalid_length_skipped
call fcn.004665c0
lea eax, [ebx - 4]
mov ecx, esi
call fcn.00470aa0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.0047f460
add esp, 0x28
ret
push ebp
mov ebx, 0x16
lea eax, [esp + 0x18]
call fcn.00470a30
xor eax, eax
mov ecx, esi
call fcn.00470aa0
push esi
lea ecx, [esp + 0x1c]
call fcn.00470830
push esi
lea ecx, [esp + 0x24]
mov ebx, eax
call fcn.00470830
push esi
lea ecx, [esp + 0x2c]
mov ebp, eax
call fcn.00470830
push esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x20], eax
call fcn.00470830
movzx ecx, byte [esp + 0x38]
movzx edx, byte [esp + 0x39]
shl cx, 8
add cx, dx
movzx edx, byte [esp + 0x3a]
movzx ecx, cx
mov dword [esp + 0x24], ecx
movzx ecx, byte [esp + 0x3b]
shl dx, 8
add dx, cx
mov ecx, dword [esi + 0x278]
add esp, 0x10
test ecx, ecx
movzx edx, dx
jne 0x4738c0
cmp dword [esp + 0x10], ecx
jne 0x4738b4
test eax, eax
je 0x4738c0
mov edi, str.fcTL_for_the_first_frame_must_have_zero_offset
mov eax, esi
jmp fcn.004665a0
test edi, edi
je 0x473906
test ecx, ecx
jne 0x4738dd
cmp ebx, dword [edi]
jne 0x4738d1
cmp ebp, dword [edi + 4]
je 0x4738dd
mov edi, str.size_in_first_frames_fcTL_must_match_the_size_in_IHDR
mov eax, esi
jmp fcn.004665a0
mov ecx, dword [esp + 0x2d]
push ecx
push edx
mov edx, dword [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x20]
push eax
mov al, byte [esp + 0x40]
push ebp
push ebx
push esi
call fcn.00466310
add esp, 0x20
mov eax, edi
mov ecx, esi
call fcn.00474ce0
or dword [esi + 0x6c], 0x8000
mov ecx, dword [esp + 0x34]
pop ebp
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047f460
add esp, 0x28
ret

Function at 0x473920
Capabilities:
Terminate process

Disassembly:
push esi
push edi
mov esi, eax
call fcn.00473950
add esp, 4
mov ecx, str.ignoring_fdAT_chunk
call fcn.004665c0
mov ecx, esi
lea eax, [edi - 4]
pop esi
jmp fcn.00470aa0
Function at 0x473950
Capabilities:
Terminate process

Disassembly:
push ebx
push esi
mov ebx, 4
cmp dword [esp + 0xc], ebx
push edi
mov esi, eax
jae 0x47396a
mov edi, str.invalid_fcTL_or_fdAT_chunk_found
jmp fcn.004665a0
lea eax, [esp + 0x10]
call fcn.00470a30
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x12]
movzx eax, cl
shl eax, 8
movzx ecx, ch
add eax, ecx
movzx ecx, byte [esp + 0x13]
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
cmp eax, 0x7fffffff
jbe 0x4739a9
mov edi, str.PNG_unsigned_integer_out_of_range
mov eax, esi
jmp fcn.004665a0
mov ecx, dword [esi + 0x26c]
cmp eax, ecx
je 0x4739bf
mov edi, str.fcTL_or_fdAT_chunk_with_out_of_order_sequence_number_found
mov eax, esi
jmp fcn.004665a0
add ecx, 1
pop edi
mov dword [esi + 0x26c], ecx
pop esi
pop ebx
ret