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

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, ecx
push esi
push edi
cmp byte [ebx + 0xd], 0
jne 0x100952a8
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.EncodeChunk_called_before_StartEncoding
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x10095328
xor al, al
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
mov ecx, dword [ebx + 4]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push esi
mov eax, dword [ecx]
push edi
mov eax, dword [eax + 0x28]
call eax
test al, al
jne 0x100952d4
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Target_chunk_not_valid_for_writer
jmp 0x10095282
test byte [ebx + 8], 2
je 0x100952fb
mov esi, dword [ebx + 4]
xor ecx, ecx
push dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov edi, dword [esi]
call fcn.1009e900
add esp, 4
mov ecx, esi
push eax
call dword [edi + 0x18]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
cmp byte [ebx + 0xc], 0
mov eax, dword [ebx + 4]
mov ecx, dword [ebx]
push eax
push dword [ebp + 0x10]
push esi
push edi
je 0x1009531a
call fcn.100a0800
mov al, 1
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
call fcn.100a09d0
pop edi
pop esi
mov al, 1
pop ebx
pop ebp
ret 0xc
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3

Function at 0x10095340
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp byte [ecx + 0xd], 0
jne 0x1009537e
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.FinishEncoding_called_before_StartEncoding
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x10095394
xor al, al
pop ecx
pop ebp
ret 4
push dword [ebp + 8]
mov byte [ecx + 0xd], 0
mov ecx, dword [ecx + 4]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov al, 1
pop ecx
pop ebp
ret 4
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x1009eb70
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 8]
test eax, eax
jne 0x1009ebb6
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_GetNextInstruction___called_before_Init__
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
je 0x1009ec7a
jmp 0x1009ecb0
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov ax, word [esi + 0x14]
mov word [esi + 0x16], ax
mov ecx, pe_nt_image_headers32
cmp word [esi + 0x14], cx
jne 0x1009ec11
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
cmp eax, dword [esi + 0xc]
jae 0x1009ec8e
mov dl, byte [eax]
mov eax, dword [esi]
movzx edi, dl
cmp byte [edi + eax + 0x100], 0
je 0x1009ebf5
movsx ax, dl
mov word [esi + 0x14], ax
inc dword [ecx]
mov eax, dword [esi]
mov bl, byte [edi + eax]
movzx edx, byte [edi + eax + 0x200]
mov bh, byte [edi + eax + 0x400]
test bl, bl
jne 0x1009ec33
jmp 0x1009ebc3
mov al, byte [esi + 0x14]
mov word [esi + 0x14], cx
movzx ecx, al
mov eax, dword [esi]
mov bl, byte [ecx + eax + 0x100]
movzx edx, byte [ecx + eax + 0x300]
mov bh, byte [ecx + eax + 0x500]
test edx, edx
jne 0x1009ec9b
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
call fcn.100a4580
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
cmp eax, 0xfffffffe
je 0x1009ec87
cmp eax, 0xffffffff
jne 0x1009eca0
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Instruction_size_is_not_a_valid_variable_length_integer
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
call fcn.10092f60
mov eax, 4
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
mov ecx, esi
call fcn.10092f80
mov eax, 5
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
mov eax, dword [ebp + 8]
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
pop edi
pop esi
mov byte [eax], bh
movzx eax, bl
pop ebx
pop ecx
pop ebp
ret 8
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3

Function at 0x1009ecd0
Capabilities:
Terminate process

Disassembly:
push ecx
cmp ecx, 3
ja case.default.0x1009ecd6
jmp dword [ecx*4 + 0x1009ed4c]
mov eax, str.NOOP
pop ecx
ret
mov eax, 0x101010c0
pop ecx
ret
mov eax, 0x101010c4
pop ecx
ret
mov eax, str.COPY
pop ecx
ret
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Unexpected_instruction_type
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009ed39
mov eax, 0x100f4a04
pop ecx
ret
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
mov edi, edi
fucomp st(4)
or dword [eax], edx
in al, 0xec
or dword [eax], edx
jmp 0x1009ed42
jmp [edx + 1]
Function at 0x1009ed60
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov bl, dl
mov esi, ecx
mov al, 1
push edi
mov edi, dword [ebp + 0x14]
cmp bl, 3
jbe 0x1009ede4
movzx eax, bl
mov edx, str.ERROR:
push eax
push ecx
push esi
push ecx
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.VCDiff:_Bad_code_table__opcode
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str._has_invalid
mov ecx, eax
call fcn.100200c0
mov edx, edi
mov ecx, eax
call fcn.100200c0
mov edx, str._instruction_type
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009ef50
xor al, al
mov bh, byte [ebp + 0xc]
cmp bh, byte [ebp + 0x10]
jbe 0x1009ee5b
movzx eax, bh
mov edx, str.ERROR:
push eax
push ecx
push esi
push ecx
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.VCDiff:_Bad_code_table__opcode
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str._has_invalid
mov ecx, eax
call fcn.100200c0
mov edx, edi
mov ecx, eax
call fcn.100200c0
mov edx, str._mode
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009ef61
xor al, al
test bl, bl
jne 0x1009eed6
mov cl, byte [ebp + 8]
test cl, cl
je 0x1009eedb
movzx eax, cl
mov edx, str.ERROR:
push eax
push ecx
push esi
push ecx
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.VCDiff:_Bad_code_table__opcode
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str._has
mov ecx, eax
call fcn.100200c0
mov edx, edi
mov ecx, eax
call fcn.100200c0
mov edx, str._instruction_NOOP_with_nonzero_size
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], bl
jne 0x1009ef72
xor al, al
jmp 0x1009eedb
cmp bl, 3
je 0x1009ef4a
test bh, bh
je 0x1009ef4a
movzx eax, bh
mov edx, str.ERROR:
push eax
push ecx
push esi
push ecx
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.VCDiff:_Bad_code_table__opcode
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str._has_non_COPY
mov ecx, eax
call fcn.100200c0
mov edx, edi
mov ecx, eax
call fcn.100200c0
mov edx, str._instruction_with_nonzero_mode
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009ef83
xor al, al
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x1009efa0
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 0x1009efd8
cmp eax, 0x103
jae 0x1009f16d
mov byte [ebp + eax - 0x118], 0
inc eax
cmp eax, edi
jl 0x1009efc0
mov eax, 0xfffffe00
lea esi, [ecx + 0x200]
sub eax, ecx
mov dword [ebp - 8], eax
jmp 0x1009eff0
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.1009ed60
add esp, 0x10
test al, al
je 0x1009f022
test bl, bl
je 0x1009f022
mov bl, 1
jmp 0x1009f024
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.1009ed60
add esp, 0x10
test al, al
je 0x1009f059
test bl, bl
je 0x1009f059
mov bl, 1
jmp 0x1009f05b
xor bl, bl
cmp byte [esi], 0
jne 0x1009f085
cmp byte [esi - 0x100], 0
jne 0x1009f085
movzx ecx, byte [esi + 0x200]
movzx eax, byte [esi - 0x200]
add eax, ecx
cmp eax, edi
jge 0x1009f085
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 0x1009eff0
mov esi, dword [ebp - 4]
xor edi, edi
test esi, esi
jle 0x1009f162
lea esp, [esp]
test edi, edi
je 0x1009f159
cmp byte [ebp + edi - 0x118], 0
jne 0x1009f159
cmp edi, 3
jl 0x1009f109
lea eax, [edi - 3]
mov edx, str.ERROR:
push eax
push ecx
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.VCDiff:_Bad_code_table__there_is_no_opcode_for_inst_COPY__size_0__mode
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
je 0x1009f157
jmp 0x1009f172
mov ecx, edi
call fcn.1009ecd0
mov edx, str.ERROR:
mov ecx, 0x100e66e0
mov esi, eax
call fcn.100200c0
mov edx, str.VCDiff:_Bad_code_table__there_is_no_opcode_for_inst
mov ecx, eax
call fcn.100200c0
mov edx, esi
mov ecx, eax
call fcn.100200c0
mov edx, str.__size_0___mode_0
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009f172
mov esi, dword [ebp - 4]
xor bl, bl
inc edi
cmp edi, esi
jl 0x1009f0b0
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.100ae647
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x1009f2b0
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 0x1009f41d
test edx, edx
js 0x1009f41d
mov ecx, dword [esi + 4]
cmp ecx, 0xfe
jg 0x1009f3d2
test ecx, ecx
js 0x1009f3d2
lea eax, [ecx + edx]
cmp eax, 0xfe
jle 0x1009f371
push pe_nt_image_headers32
push ecx
push ecx
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Using_near_cache_size
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str._and_same_cache_size
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str._would_exceed_maximum_number_of_COPY_modes__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, 0x100fdc78
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
call fcn.10092f60
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
jle 0x1009f397
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.1009f8c0
mov edx, dword [esi + 4]
test edx, edx
jle 0x1009f3c3
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.1009f8c0
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, 0x100e66e0
call fcn.100200c0
mov edx, str.Same_cache_size
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str._is_invalid
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
je 0x1009f369
jmp 0x1009f435
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Near_cache_size
jmp 0x1009f3e8
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x1009f490
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 0x1009f4f6
push esi
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.EncodeAddress_was_passed_a_negative_address:
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009f625
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 0x1009f54a
push ecx
push ecx
push esi
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.EncodeAddress_was_called_with_address__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str.____here_address__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, 0x100fdc78
mov ecx, eax
call fcn.100200c0
jmp 0x1009f4cc
mov ebx, dword [edi + 4]
test ebx, ebx
jle 0x1009f5a0
shl ebx, 8
mov eax, esi
cdq
idiv ebx
mov eax, dword [edi + 0x18]
mov ebx, edx
cmp dword [eax + ebx*4], esi
jne 0x1009f5a0
push esi
mov ecx, edi
call fcn.1009f450
mov ecx, ebx
and ecx, 0x800000ff
jns 0x1009f57d
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 0x1009f5b0
mov bl, 1
mov dword [ebp + 8], ecx
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp + 0xc], eax
test eax, eax
jle 0x1009f5fd
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 0x1009f5d5
cmp eax, edi
jge 0x1009f5d5
lea ebx, [ecx + 2]
mov edi, eax
mov eax, dword [ebp + 0xc]
inc ecx
add edx, 4
cmp ecx, eax
jl 0x1009f5c6
mov dword [ebp + 8], edi
mov edi, dword [ebp - 4]
test eax, eax
jle 0x1009f5fd
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 0x1009f612
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, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x1009f640
Capabilities:
Terminate process

Disassembly:
push ecx
test ecx, ecx
jns 0x1009f68e
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Decoded_address
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str._is_invalid
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009f6dc
xor al, al
pop ecx
ret
cmp ecx, edx
jl 0x1009f6d8
push edx
push ecx
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Decoded_address__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str.__is_beyond_location_in_target_file__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, 0x100fdc78
jmp 0x1009f671
mov al, 1
pop ecx
ret
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x1009f6f0
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 0x1009f747
push eax
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.DecodeAddress_was_passed_a_negative_value_for_here_address:
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
je 0x1009f88b
jmp 0x1009f8a5
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edi, dword [edi]
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x1009f897
mov dl, byte [esi]
mov bl, byte [ebp + 0xc]
mov bh, dl
add bh, 2
cmp bl, bh
jb 0x1009f791
mov al, byte [esi + 4]
inc al
add al, dl
cmp bl, al
ja 0x1009f791
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 0x1009f7e7
lea edx, [ebp - 8]
call fcn.100a4580
mov esi, eax
cmp esi, 0xfffffffe
je 0x1009f897
cmp esi, 0xffffffff
je 0x1009f862
test bl, bl
jne 0x1009f7b6
mov ebx, dword [ebp - 4]
jmp 0x1009f7e4
cmp bl, 1
jne 0x1009f7cc
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 0x1009f7ea
cmp bl, 2
jb 0x1009f811
cmp bl, bh
jae 0x1009f811
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.1009f640
test al, al
je 0x1009f88b
mov eax, dword [ebp + 0x10]
mov ecx, ebx
push esi
mov dword [eax], edi
call fcn.1009f450
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, 0x100e66e0
call fcn.100200c0
mov edx, str.Invalid_mode_value__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str.__passed_to_DecodeAddress__maximum_mode_value_
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
jmp 0x1009f87d
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Found_invalid_variable_length_integer_as_encoded_address_value
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
call fcn.10092f60
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, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x1009fbe0
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 0x1009fc51
push eax
push ecx
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_position_advanced_by
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046f10
mov edx, str._bytes__current_unparsed_size
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046f10
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009fc5c
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, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3

Function at 0x1009fc70
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 0x1009fcd8
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_new_data_position
mov ecx, eax
call fcn.100200c0
mov edx, edi
mov ecx, eax
call fcn.100200c0
mov edx, str._is_beyond_start_of_data
mov ecx, eax
call fcn.100200c0
mov edx, ebx
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009fd41
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 0x1009fd37
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_new_data_position
mov ecx, eax
call fcn.100200c0
mov edx, edi
mov ecx, eax
call fcn.100200c0
mov edx, str._is_beyond_end_of_data
mov ecx, eax
call fcn.100200c0
mov edx, ebx
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009fd52
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, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3

Function at 0x1009fd70
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 0x1009fde1
push ecx
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_specified_number_of_remaining_bytes
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046f10
mov edx, str._is_greater_than_unparsed_data_size
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046f10
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009fdeb
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, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x1009fe00
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
cmp dword [esi + 0xc], 0
jne 0x1009fe88
mov ecx, dword [esi + 4]
lea edx, [esi + 8]
call fcn.100a4580
cmp eax, 0xfffffffe
je 0x1009fe81
cmp eax, 0xffffffff
je 0x1009fe2f
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, 0x100e66e0
call fcn.100200c0
mov edx, str.Expected
mov ecx, eax
call fcn.100200c0
mov edx, dword [ebp + 8]
mov ecx, eax
call fcn.100200c0
mov edx, str.__found_invalid_variable_length_integer
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009fe90
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, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3

Function at 0x1009feb0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
cmp dword [esi + 0xc], 0
jne 0x1009ff52
mov ecx, dword [esi + 4]
lea edx, [esi + 8]
call fcn.100a46f0
mov ecx, eax
cmp ecx, 0xfffffffe
jne 0x1009fee3
cmp edx, 0xffffffff
jne 0x1009fee3
mov dword [esi + 0xc], eax
xor al, al
pop esi
pop ecx
pop ebp
ret 8
and eax, edx
cmp eax, 0xffffffff
je 0x1009ff67
test edx, edx
jl 0x1009ff5a
jg 0x1009fef5
cmp ecx, 0xffffffff
jbe 0x1009ff5a
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Value_of
mov ecx, eax
call fcn.100200c0
mov edx, str.Adler32_checksum_value
mov ecx, eax
call fcn.100200c0
mov edx, 0x10101598
mov ecx, eax
call fcn.100200c0
mov ecx, eax
call fcn.100a0540
mov edx, str.__is_too_large_for_unsigned_32_bit_integer
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
call fcn.10092f60
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, 0x100e66e0
call fcn.100200c0
mov edx, str.Expected
mov ecx, eax
call fcn.100200c0
mov edx, str.Adler32_checksum_value
mov ecx, eax
call fcn.100200c0
mov edx, str.__found_invalid_variable_length_integer
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
je 0x1009ff4b
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3