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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
mov edx, dword [ebp + 8]
xor eax, eax
push ebx
push esi
push edi
movzx edi, dl
mov bl, 1
add edi, 4
mov dword [ebp - 4], edi
test edi, edi
jle 0x1009eff8
cmp eax, 0x103
jae 0x1009f18d
mov byte [ebp + eax - 0x118], 0
inc eax
cmp eax, edi
jl 0x1009efe0
mov eax, 0xfffffe00
lea esi, [ecx + 0x200]
sub eax, ecx
mov dword [ebp - 8], eax
jmp 0x1009f010
lea ecx, [eax + esi]
movzx eax, byte [esi + 0x200]
push str.first
push edx
mov dl, byte [esi - 0x200]
push eax
movzx eax, byte [esi]
push eax
mov dword [ebp - 0xc], ecx
call fcn.1009ed80
add esp, 0x10
test al, al
je 0x1009f042
test bl, bl
je 0x1009f042
mov bl, 1
jmp 0x1009f044
xor bl, bl
movzx eax, byte [esi + 0x300]
mov dl, byte [esi - 0x100]
mov ecx, dword [ebp - 0xc]
push str.second
push dword [ebp + 8]
push eax
movzx eax, byte [esi + 0x100]
push eax
call fcn.1009ed80
add esp, 0x10
test al, al
je 0x1009f079
test bl, bl
je 0x1009f079
mov bl, 1
jmp 0x1009f07b
xor bl, bl
cmp byte [esi], 0
jne 0x1009f0a5
cmp byte [esi - 0x100], 0
jne 0x1009f0a5
movzx ecx, byte [esi + 0x200]
movzx eax, byte [esi - 0x200]
add eax, ecx
cmp eax, edi
jge 0x1009f0a5
mov byte [ebp + eax - 0x118], 1
mov eax, dword [ebp - 8]
inc esi
mov edx, dword [ebp + 8]
add eax, esi
cmp eax, 0x100
mov eax, dword [ebp - 8]
jl 0x1009f010
mov esi, dword [ebp - 4]
xor edi, edi
test esi, esi
jle 0x1009f182
lea esp, [esp]
test edi, edi
je 0x1009f179
cmp byte [ebp + edi - 0x118], 0
jne 0x1009f179
cmp edi, 3
jl 0x1009f129
lea eax, [edi - 3]
mov edx, str.ERROR:
push eax
push ecx
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.VCDiff:_Bad_code_table__there_is_no_opcode_for_inst_COPY__size_0__mode
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
je 0x1009f177
jmp 0x1009f192
mov ecx, edi
call fcn.1009ecf0
mov edx, str.ERROR:
mov ecx, 0x100e6780
mov esi, eax
call fcn.100200d0
mov edx, str.VCDiff:_Bad_code_table__there_is_no_opcode_for_inst
mov ecx, eax
call fcn.100200d0
mov edx, esi
mov ecx, eax
call fcn.100200d0
mov edx, str.__size_0___mode_0
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x1009f192
mov esi, dword [ebp - 4]
xor bl, bl
inc edi
cmp edi, esi
jl 0x1009f0d0
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.100ae667
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3
Function at 0x1009f2d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 8
push esi
mov esi, ecx
push edi
mov edx, dword [esi]
cmp edx, 0xfe
jg 0x1009f43d
test edx, edx
js 0x1009f43d
mov ecx, dword [esi + 4]
cmp ecx, 0xfe
jg 0x1009f3f2
test ecx, ecx
js 0x1009f3f2
lea eax, [ecx + edx]
cmp eax, 0xfe
jle 0x1009f391
push pe_nt_image_headers32
push ecx
push ecx
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Using_near_cache_size
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
mov edx, str._and_same_cache_size
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
mov edx, str._would_exceed_maximum_number_of_COPY_modes__
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
mov edx, 0x100fdca8
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
call fcn.10092f90
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
jle 0x1009f3b7
mov eax, dword [esi + 0xc]
lea edi, [esp + 8]
push edi
lea ecx, [esi + 0xc]
mov dword [esp + 0xc], 0
mov dword [ecx + 4], eax
push edx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.1009f8e0
mov edx, dword [esi + 4]
test edx, edx
jle 0x1009f3e3
mov eax, dword [esi + 0x18]
lea edi, [esp + 8]
push edi
shl edx, 8
lea ecx, [esi + 0x18]
push edx
push eax
mov dword [ecx + 4], eax
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x18], 0
call fcn.1009f8e0
pop edi
mov dword [esi + 8], 0
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Same_cache_size
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
mov edx, str._is_invalid
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
je 0x1009f389
jmp 0x1009f455
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Near_cache_size
jmp 0x1009f408
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3
Function at 0x1009f4b0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [ebp - 4], edi
test esi, esi
jns 0x1009f516
push esi
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.EncodeAddress_was_passed_a_negative_address:
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x1009f645
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [ebp + 0xc]
cmp esi, ecx
jl 0x1009f56a
push ecx
push ecx
push esi
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.EncodeAddress_was_called_with_address__
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
mov edx, str.____here_address__
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
mov edx, 0x100fdca8
mov ecx, eax
call fcn.100200d0
jmp 0x1009f4ec
mov ebx, dword [edi + 4]
test ebx, ebx
jle 0x1009f5c0
shl ebx, 8
mov eax, esi
cdq
idiv ebx
mov eax, dword [edi + 0x18]
mov ebx, edx
cmp dword [eax + ebx*4], esi
jne 0x1009f5c0
push esi
mov ecx, edi
call fcn.1009f470
mov ecx, ebx
and ecx, 0x800000ff
jns 0x1009f59d
dec ecx
or ecx, 0xffffff00
inc ecx
mov eax, dword [ebp + 0x10]
mov dword [eax], ecx
mov eax, ebx
mov cl, byte [edi]
cdq
add cl, 2
and edx, 0xff
add eax, edx
sar eax, 8
add eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
sub ecx, esi
mov dword [ebp + 8], esi
xor bl, bl
cmp ecx, esi
jge 0x1009f5d0
mov bl, 1
mov dword [ebp + 8], ecx
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp + 0xc], eax
test eax, eax
jle 0x1009f61d
mov eax, dword [edi + 0xc]
mov edx, eax
mov edi, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, esi
sub eax, dword [edx]
js 0x1009f5f5
cmp eax, edi
jge 0x1009f5f5
lea ebx, [ecx + 2]
mov edi, eax
mov eax, dword [ebp + 0xc]
inc ecx
add edx, 4
cmp ecx, eax
jl 0x1009f5e6
mov dword [ebp + 8], edi
mov edi, dword [ebp - 4]
test eax, eax
jle 0x1009f61d
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 8]
mov dword [ecx + eax*4], esi
mov eax, dword [edi + 8]
inc eax
cdq
idiv dword [edi]
mov dword [edi + 8], edx
mov ecx, dword [edi + 4]
test ecx, ecx
jle 0x1009f632
mov eax, esi
shl ecx, 8
cdq
idiv ecx
mov ecx, dword [edi + 0x18]
mov dword [ecx + edx*4], esi
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
pop edi
pop esi
mov dword [ecx], eax
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3
Function at 0x1009f660
Capabilities:
Terminate process

Disassembly:
push ecx
test ecx, ecx
jns 0x1009f6ae
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Decoded_address
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
mov edx, str._is_invalid
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x1009f6fc
xor al, al
pop ecx
ret
cmp ecx, edx
jl 0x1009f6f8
push edx
push ecx
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Decoded_address__
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
mov edx, str.__is_beyond_location_in_target_file__
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
mov edx, 0x100fdca8
jmp 0x1009f691
mov al, 1
pop ecx
ret
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3
Function at 0x1009f710
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
mov dword [ebp - 4], esi
push edi
test eax, eax
jns 0x1009f767
push eax
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.DecodeAddress_was_passed_a_negative_value_for_here_address:
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
je 0x1009f8ab
jmp 0x1009f8c5
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edi, dword [edi]
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x1009f8b7
mov dl, byte [esi]
mov bl, byte [ebp + 0xc]
mov bh, dl
add bh, 2
cmp bl, bh
jb 0x1009f7b1
mov al, byte [esi + 4]
inc al
add al, dl
cmp bl, al
ja 0x1009f7b1
mov cl, byte [edi]
inc edi
movzx eax, bh
movzx edx, bl
mov ebx, dword [ebp - 4]
sub edx, eax
movzx eax, cl
shl edx, 8
add edx, eax
mov eax, dword [esi + 0x18]
mov esi, dword [eax + edx*4]
jmp 0x1009f807
lea edx, [ebp - 8]
call fcn.100a45a0
mov esi, eax
cmp esi, 0xfffffffe
je 0x1009f8b7
cmp esi, 0xffffffff
je 0x1009f882
test bl, bl
jne 0x1009f7d6
mov ebx, dword [ebp - 4]
jmp 0x1009f804
cmp bl, 1
jne 0x1009f7ec
mov edx, dword [ebp + 8]
mov eax, edx
mov edi, dword [ebp - 8]
sub eax, esi
mov ebx, dword [ebp - 4]
mov esi, eax
jmp 0x1009f80a
cmp bl, 2
jb 0x1009f831
cmp bl, bh
jae 0x1009f831
movzx ecx, bl
mov ebx, dword [ebp - 4]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + ecx*4 - 8]
add esi, eax
mov edi, dword [ebp - 8]
mov edx, dword [ebp + 8]
mov ecx, esi
call fcn.1009f660
test al, al
je 0x1009f8ab
mov eax, dword [ebp + 0x10]
mov ecx, ebx
push esi
mov dword [eax], edi
call fcn.1009f470
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp - 4]
mov edx, str.ERROR:
mov eax, dword [ecx + 4]
inc al
add al, byte [ecx]
movzx eax, al
push eax
push ecx
movzx eax, bl
push eax
push ecx
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Invalid_mode_value__
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
mov edx, str.__passed_to_DecodeAddress__maximum_mode_value_
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.1004dc70
jmp 0x1009f89d
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Found_invalid_variable_length_integer_as_encoded_address_value
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
call fcn.10092f90
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3
Function at 0x1009fc00
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
sub eax, edx
cmp ecx, eax
jbe 0x1009fc71
push eax
push ecx
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Internal_error:_position_advanced_by
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.10046f30
mov edx, str._bytes__current_unparsed_size
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.10046f30
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x1009fc7c
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
pop esi
pop ebp
ret 4
lea eax, [edx + ecx]
mov dword [esi + 8], eax
pop esi
pop ebp
ret 4
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3

Function at 0x1009fc90
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [ebp + 8]
mov ebx, dword [esi]
cmp edi, ebx
jae 0x1009fcf8
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Internal_error:_new_data_position
mov ecx, eax
call fcn.100200d0
mov edx, edi
mov ecx, eax
call fcn.100200d0
mov edx, str._is_beyond_start_of_data
mov ecx, eax
call fcn.100200d0
mov edx, ebx
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x1009fd61
mov eax, dword [esi]
mov dword [esi + 8], eax
pop edi
pop esi
pop ebx
pop ebp
ret 4
mov ebx, dword [esi + 4]
cmp edi, ebx
jbe 0x1009fd57
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Internal_error:_new_data_position
mov ecx, eax
call fcn.100200d0
mov edx, edi
mov ecx, eax
call fcn.100200d0
mov edx, str._is_beyond_end_of_data
mov ecx, eax
call fcn.100200d0
mov edx, ebx
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x1009fd72
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
pop edi
pop esi
pop ebx
pop ebp
ret 4
mov dword [esi + 8], edi
pop edi
pop esi
pop ebx
pop ebp
ret 4
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3

Function at 0x1009fd90
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push esi
mov esi, ecx
mov eax, dword [esi + 4]
mov ecx, eax
sub ecx, dword [esi + 8]
cmp edx, ecx
jbe 0x1009fe01
push ecx
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Internal_error:_specified_number_of_remaining_bytes
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.10046f30
mov edx, str._is_greater_than_unparsed_data_size
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.10046f30
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x1009fe0b
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
pop esi
pop ebp
ret 4
sub eax, edx
mov dword [esi + 8], eax
pop esi
pop ebp
ret 4
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3
Function at 0x1009fe20
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
cmp dword [esi + 0xc], 0
jne 0x1009fea8
mov ecx, dword [esi + 4]
lea edx, [esi + 8]
call fcn.100a45a0
cmp eax, 0xfffffffe
je 0x1009fea1
cmp eax, 0xffffffff
je 0x1009fe4f
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov al, 1
pop esi
pop ecx
pop ebp
ret 8
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Expected
mov ecx, eax
call fcn.100200d0
mov edx, dword [ebp + 8]
mov ecx, eax
call fcn.100200d0
mov edx, str.__found_invalid_variable_length_integer
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x1009feb0
mov dword [esi + 0xc], 0xffffffff
xor al, al
pop esi
pop ecx
pop ebp
ret 8
mov dword [esi + 0xc], 0xfffffffe
xor al, al
pop esi
pop ecx
pop ebp
ret 8
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3

Function at 0x1009fed0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
cmp dword [esi + 0xc], 0
jne 0x1009ff72
mov ecx, dword [esi + 4]
lea edx, [esi + 8]
call fcn.100a4710
mov ecx, eax
cmp ecx, 0xfffffffe
jne 0x1009ff03
cmp edx, 0xffffffff
jne 0x1009ff03
mov dword [esi + 0xc], eax
xor al, al
pop esi
pop ecx
pop ebp
ret 8
and eax, edx
cmp eax, 0xffffffff
je 0x1009ff87
test edx, edx
jl 0x1009ff7a
jg 0x1009ff15
cmp ecx, 0xffffffff
jbe 0x1009ff7a
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Value_of
mov ecx, eax
call fcn.100200d0
mov edx, str.Adler32_checksum_value
mov ecx, eax
call fcn.100200d0
mov edx, 0x101015c8
mov ecx, eax
call fcn.100200d0
mov ecx, eax
call fcn.100a0560
mov edx, str.__is_too_large_for_unsigned_32_bit_integer
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
call fcn.10092f90
mov dword [esi + 0xc], 0xffffffff
xor al, al
pop esi
pop ecx
pop ebp
ret 8
mov eax, dword [ebp + 0xc]
pop esi
mov dword [eax], ecx
mov al, 1
pop ecx
pop ebp
ret 8
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Expected
mov ecx, eax
call fcn.100200d0
mov edx, str.Adler32_checksum_value
mov ecx, eax
call fcn.100200d0
mov edx, str.__found_invalid_variable_length_integer
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
je 0x1009ff6b
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3
Function at 0x1009ffe0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push str.source_segment_length
mov edi, ecx
call fcn.1009fe20
test al, al
je 0x100a0141
mov ebx, dword [ebp + 0x14]
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 8]
mov dword [ebx], eax
cmp eax, esi
jbe 0x100a0093
push esi
push ecx
push eax
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Source_segment_length__
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.10046f30
mov edx, str.__is_larger_than
mov ecx, eax
call fcn.100200d0
mov edx, dword [ebp + 0x10]
mov ecx, eax
call fcn.100200d0
mov edx, 0x100fdcac
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.10046f30
mov edx, 0x100fdca8
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
je 0x100a013a
jmp 0x100a017c
lea eax, [ebp + 0x14]
mov dword [ebp + 0x14], 0
push eax
push str.source_segment_position
mov ecx, edi
call fcn.1009fe20
test al, al
je 0x100a0141
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov dword [eax], ecx
cmp ecx, esi
jb 0x100a014c
cmp dword [ebx], 0
jbe 0x100a014c
push esi
push ecx
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Source_segment_position__
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.10046f30
mov edx, str.__is_past
mov ecx, eax
call fcn.100200d0
mov edx, dword [ebp + 0xc]
mov ecx, eax
call fcn.100200d0
mov edx, 0x100fdcac
mov ecx, eax
call fcn.100200d0
add esp, 4
mov ecx, eax
call fcn.10046f30
mov edx, 0x100fdca8
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
call fcn.10092f90
mov dword [edi + 0xc], 0xffffffff
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebx]
add eax, ecx
cmp eax, esi
jbe 0x100a0171
push esi
push ecx
push eax
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Source_segment_end_position__
jmp 0x100a00e3
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3
Function at 0x100a0190
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, ecx
cmp dword [edi + 0xc], 0
jne 0x100a01ae
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
sub eax, ecx
jne 0x100a01b6
mov dword [edi + 0xc], 0xfffffffe
xor al, al
pop edi
pop esi
pop ebp
ret 0x18
mov esi, dword [ebp + 0x14]
mov al, byte [ecx]
mov ecx, edi
push 1
mov byte [esi], al
call fcn.1009fc00
movzx eax, byte [esi]
and eax, 3
dec eax
je 0x100a026e
dec eax
je 0x100a0210
dec eax
je 0x100a01e1
mov al, 1
pop edi
pop esi
pop ebp
ret 0x18
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Win_Indicator_must_not_have_both_VCD_SOURCE_and_VCD_TARGET_set
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
je 0x100a023f
jmp 0x100a028e
cmp byte [ebp + 0x10], 0
jne 0x100a024e
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Delta_file_contains_VCD_TARGET_flag__which_is_not_allowed_by_current_decoder_settings
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
call fcn.10092f90
mov dword [edi + 0xc], 0xffffffff
xor al, al
pop edi
pop esi
pop ebp
ret 0x18
push dword [ebp + 0x1c]
mov ecx, edi
push dword [ebp + 0x18]
push str.target_file
push str.current_target_position
push dword [ebp + 0xc]
call fcn.1009ffe0
pop edi
pop esi
pop ebp
ret 0x18
push dword [ebp + 0x1c]
mov ecx, edi
push dword [ebp + 0x18]
push str.dictionary
push str.end_of_dictionary
push dword [ebp + 8]
call fcn.1009ffe0
pop edi
pop esi
pop ebp
ret 0x18
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3

Function at 0x100a02a0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, ecx
cmp dword [esi + 0x14], 0
je 0x100a02ec
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Internal_error:_VCDiffHeaderParser::ParseWindowLengths_was_called_twice_for_the_same_delta_window
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x100a033d
mov dword [esi + 0xc], 0xffffffff
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push str.length_of_the_delta_encoding
call fcn.1009fe20
test al, al
je 0x100a02e3
mov eax, dword [ebp - 4]
mov ecx, esi
mov dword [esi + 0x10], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x14], eax
lea eax, [ebp - 4]
push eax
push str.size_of_the_target_window
mov dword [ebp - 4], 0
call fcn.1009fe20
test al, al
je 0x100a02e3
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 4]
pop esi
mov dword [ecx], eax
mov al, 1
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3

Function at 0x100a0350
Capabilities:
Terminate process

Disassembly:
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Internal_error:_VCDiffHeaderParser::GetDeltaWindowEnd_was_called_before_ParseWindowLengths
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x100a0382
xor eax, eax
pop ecx
ret
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3
Function at 0x100a03a0
Capabilities:
Terminate process

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
cmp dword [esi + 0xc], 0
jne 0x100a03bc
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
sub eax, ecx
jne 0x100a03c2
mov dword [esi + 0xc], 0xfffffffe
xor al, al
pop esi
pop ebx
pop ecx
ret
mov bl, byte [ecx]
mov ecx, esi
push 1
call fcn.1009fc00
test bl, 7
je 0x100a040c
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Secondary_compression_of_delta_file_sections_is_not_supported
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x100a0412
mov dword [esi + 0xc], 0xffffffff
xor al, al
pop esi
pop ebx
pop ecx
ret
pop esi
mov al, 1
pop ebx
pop ecx
ret
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3

Function at 0x100a0430
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
lea eax, [ebp - 4]
mov dword [ebp - 4], 0
push eax
push str.length_of_data_for_ADDs_and_RUNs
mov esi, ecx
call fcn.1009fe20
mov ebx, dword [ebp + 0xc]
test al, al
je 0x100a045c
mov eax, dword [ebp - 4]
mov dword [ebx], eax
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], 0
push eax
push str.length_of_instructions_section
mov ecx, esi
call fcn.1009fe20
mov edi, dword [ebp + 0x10]
test al, al
je 0x100a047f
mov eax, dword [ebp + 0xc]
mov dword [edi], eax
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], 0
push eax
push str.length_of_addresses_for_COPYs
mov ecx, esi
call fcn.1009fe20
test al, al
je 0x100a04a2
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov dword [ecx], eax
cmp byte [ebp + 8], 0
je 0x100a04c7
lea eax, [ebp + 8]
mov dword [ebp + 8], 0
push eax
push ecx
mov ecx, esi
call fcn.1009fed0
test al, al
je 0x100a04c7
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov dword [ecx], eax
cmp dword [esi + 0xc], 0
jne 0x100a0508
mov ecx, dword [esi + 0x14]
test ecx, ecx
jne 0x100a0513
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.Internal_error:_VCDiffHeaderParser::ParseSectionLengths_was_called_before_ParseWindowLengths
mov ecx, eax
call fcn.100200d0
push eax
call fcn.10094e10
add esp, 4
cmp byte [0x100e7ab4], 0
jne 0x100a0547
mov dword [esi + 0xc], 0xffffffff
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [esi + 8]
sub eax, ecx
mov ecx, dword [ebp + 0x14]
add eax, dword [ebx]
add eax, dword [edi]
add eax, dword [ecx]
cmp dword [esi + 0x10], eax
je 0x100a053c
mov edx, str.ERROR:
mov ecx, 0x100e6780
call fcn.100200d0
mov edx, str.The_length_of_the_delta_encoding_does_not_match_the_size_of_the_header_plus_the_sizes_of_the_data_sections
jmp 0x100a04e8
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ecx, 0x100e6780
call fcn.100239b0
push 1
call fcn.100aecb2
int3