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

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
mov bl, 1
cmp byte [esi + 0xc8], 0
jne 0x1009edcf
mov edx, str.WARNING:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.FinishDecoding___called_before_StartDecoding____or_called_after_DecodeChunk___returned_false
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
je 0x1009ee11
jmp 0x1009ee20
cmp dword [esi + 0x90], 0
je 0x1009edf0
cmp dword [esi + 0xb0], 0
jne 0x1009edfb
cmp byte [esi + 0x40], 0
jne 0x1009edfb
call fcn.1009e100
test al, al
jne 0x1009ee13
cmp dword [esi + 0x18], 0
sete al
test al, al
jne 0x1009ee13
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.FinishDecoding___called_before_parsing_entire_delta_file_window
jmp 0x1009edb4
xor bl, bl
mov ecx, esi
call fcn.1009e3b0
pop esi
mov al, bl
pop ebx
pop ecx
ret
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3

Function at 0x1009ee40
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ecx + 0xbc]
mov edx, dword [ebp + 8]
push esi
push edi
cmp edx, eax
jbe 0x1009eebd
push eax
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Length_of_target_window__
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.10011a30
mov edx, str.__exceeds_limit_of
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.10011a30
mov edx, str._bytes
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
jne 0x1009ef89
mov al, 1
pop edi
pop esi
pop ecx
pop ebp
ret 4
mov esi, dword [ecx + 0xb4]
cmp esi, 0xfffffffd
je 0x1009ef21
mov edi, dword [ecx + 0xc0]
mov eax, esi
sub eax, edi
cmp edx, eax
jbe 0x1009ef21
push esi
push ecx
push edi
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Length_of_target_window__
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.10011a30
mov edx, str._bytes__plus_previous_windows__
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.10011a30
mov edx, str._bytes__would_exceed_planned_size_of
jmp 0x1009ee81
mov esi, dword [ecx + 0xb8]
mov eax, esi
mov ecx, dword [ecx + 0xc0]
sub eax, ecx
cmp edx, eax
jbe 0x1009ef80
push esi
push ecx
push ecx
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Length_of_target_window__
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.10011a30
mov edx, str._bytes__plus_previous_windows__
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.10011a30
mov edx, str._bytes__would_exceed_maximum_target_file_size_of
jmp 0x1009ee81
pop edi
xor al, al
pop esi
pop ecx
pop ebp
ret 4
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3
Function at 0x1009f030
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
push edi
mov ecx, esi
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
lea eax, [ebx + 0x38]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
movzx eax, byte [ebx + 0x34]
push eax
call fcn.100a9ea0
test al, al
jne 0x1009f07f
mov eax, dword [esi + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx]
mov edx, dword [ebp - 0xc]
cmp byte [eax + 0x38], 0x53
mov eax, dword [ebp - 4]
jne 0x1009f0d0
test edx, edx
jne 0x1009f0d0
test eax, eax
jne 0x1009f0d0
mov eax, dword [ebp - 8]
mov ecx, ebx
mov dword [ebx + 0x28], eax
push dword [esi + 4]
push dword [esi + 8]
call fcn.1009ded0
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 4]
add eax, 8
mov dword [ebx + 0x44], eax
xor eax, eax
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x50], 0x1000100
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
add eax, dword [ebp - 8]
mov ecx, dword [esi + 4]
add eax, edx
mov edi, dword [esi + 8]
sub ecx, edi
cmp ecx, eax
jae 0x1009f0ef
mov eax, 0xfffffffe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push edx
push edi
lea ecx, [ebx + 0x18]
call fcn.1009ddb0
mov eax, dword [ebx + 0x18]
lea ecx, [ebx + 0x10]
push dword [ebp - 8]
push dword [eax + 4]
call fcn.1009ddb0
mov eax, dword [ebx + 0x10]
lea ecx, [ebx + 0x20]
push dword [ebp - 4]
push dword [eax + 4]
call fcn.1009ddb0
mov eax, dword [ebx + 0x20]
mov esi, dword [eax + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x1009f132
call fcn.100a9dc0
jmp 0x1009f137
mov eax, dword [eax + 0x10]
add eax, ecx
cmp esi, eax
je 0x1009f0a8
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.The_end_of_the_instructions_section_does_not_match_the_end_of_the_delta_window
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
jne 0x1009f178
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3
Function at 0x1009f330
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 8], esi
mov ecx, dword [esi]
mov ebx, dword [esi + 0xc]
mov eax, dword [ecx + 0x30]
sub eax, dword [esi + 0x30]
mov ecx, dword [ecx + 0x90]
add ebx, eax
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x20]
push dword [eax + 4]
lea edx, [eax + 8]
push edx
push dword [ebp + 0xc]
push ebx
call fcn.100a9180
mov edi, eax
cmp edi, 0xfffffffe
je 0x1009f4c4
cmp edi, 0xffffffff
je 0x1009f49b
test edi, edi
js 0x1009f448
cmp edi, ebx
jg 0x1009f448
mov ebx, dword [ebp + 8]
mov ecx, dword [esi + 0xc]
lea eax, [edi + ebx]
cmp eax, ecx
ja 0x1009f3b4
mov eax, dword [esi + 8]
mov ecx, dword [esi]
add eax, edi
push ebx
push eax
add ecx, 0x20
call fcn.1002b320
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp edi, ecx
jae 0x1009f3df
mov eax, dword [esi + 8]
sub ecx, edi
push ecx
mov dword [ebp + 0xc], ecx
add eax, edi
mov ecx, dword [esi]
push eax
add ecx, 0x20
call fcn.1002b320
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
add eax, ecx
add edi, ecx
mov dword [ebp - 4], eax
sub ebx, ecx
jmp 0x1009f3e2
mov eax, dword [ebp - 4]
mov ecx, dword [esi]
sub edi, dword [esi + 0xc]
add ecx, 0x20
cmp dword [ecx + 0x14], 0x10
jb 0x1009f3f2
mov ecx, dword [ecx]
mov edx, dword [esi + 0x30]
mov esi, eax
add edx, ecx
sub esi, edi
mov dword [ebp + 0xc], edx
cmp ebx, esi
jbe 0x1009f42b
lea eax, [edx + edi]
push esi
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.1002b320
mov eax, dword [ebp - 4]
add edi, esi
mov edx, dword [ebp + 0xc]
add eax, esi
sub ebx, esi
mov dword [ebp - 4], eax
mov esi, eax
sub esi, edi
cmp ebx, esi
ja 0x1009f402
lea eax, [edx + edi]
push ebx
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.1002b320
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push ebx
push ecx
push edi
push ecx
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Internal_error:_unexpected_address
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
mov edx, str._returned_from_DecodeAddress__with_here_address_
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
je 0x1009f4b8
jmp 0x1009f4d2
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Unable_to_decode_address_for_COPY
mov ecx, eax
call fcn.100146e0
jmp 0x1009f487
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3
Function at 0x1009f890
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
push edi
cmp dword [esi], 0
jne 0x1009f8d3
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Internal_error:_VCDiffDeltaFileWindow::DecodeWindow___called_before_VCDiffDeltaFileWindow::Init__
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
je 0x1009f9ca
jmp 0x1009f9d4
cmp byte [esi + 4], 0
jne 0x1009f926
mov edi, dword [ebp + 8]
push edi
call fcn.1009f190
cmp eax, 0xfffffffe
je 0x1009f91a
cmp eax, 0xffffffff
je 0x1009f9ca
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
call fcn.100a8d40
test al, al
jne 0x1009f96f
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Error_initializing_address_cache
jmp 0x1009f9b5
mov eax, 0xfffffffe
pop edi
pop esi
pop ecx
pop ebp
ret 4
cmp byte [esi + 0x24], 0
je 0x1009f945
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Internal_error:_Resumed_decoding_of_a_delta_file_window_when_interleaved_format_is_not_being_used
jmp 0x1009f8b1
mov edi, dword [ebp + 8]
push dword [edi + 4]
push dword [edi + 8]
call fcn.1009ded0
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 4]
add eax, 8
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ecx
mov eax, dword [eax]
mov dword [esi + 0x4c], eax
mov ax, word [esi + 0x50]
mov word [esi + 0x52], ax
push edi
mov ecx, esi
call fcn.1009f4f0
cmp eax, 0xfffffffe
je 0x1009f991
cmp eax, 0xffffffff
je 0x1009f9ca
mov ecx, esi
call fcn.1009efa0
xor eax, eax
pop edi
pop esi
pop ecx
pop ebp
ret 4
cmp byte [esi + 0x24], 0
jne 0x1009f9a1
cmp dword [esi + 0x28], 0
jg 0x1009f91a
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.End_of_data_reached_while_decoding_VCDIFF_delta_file
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
call fcn.1009dcb0
pop edi
or eax, 0xffffffff
pop esi
pop ecx
pop ebp
ret 4
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3

Function at 0x1009fce0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, dword [ecx]
push dword [eax + 4]
mov eax, dword [edx + 4]
call eax
test al, al
jne 0x1009fd2d
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Internal_error:_Initialization_of_code_table_writer_failed
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
jne 0x1009fd71
xor al, al
pop esi
pop ebp
ret 4
mov eax, dword [esi]
mov ecx, dword [esi + 4]
push dword [eax + 4]
mov edx, dword [ecx]
push dword [eax]
mov eax, dword [edx + 0x24]
call eax
test al, al
jne 0x1009fd58
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Dictionary_not_valid_for_writer
jmp 0x1009fd0d
mov ecx, dword [esi + 4]
push dword [esi + 8]
push dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [esi + 0xd], 1
mov al, 1
pop esi
pop ebp
ret 4
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3
Function at 0x1009fd90
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, ecx
push esi
push edi
cmp byte [ebx + 0xd], 0
jne 0x1009fdd8
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.EncodeChunk_called_before_StartEncoding
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
jne 0x1009fe58
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 0x1009fe04
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Target_chunk_not_valid_for_writer
jmp 0x1009fdb2
test byte [ebx + 8], 2
je 0x1009fe2b
mov esi, dword [ebx + 4]
xor ecx, ecx
push dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov edi, dword [esi]
call fcn.100a8390
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 0x1009fe4a
call fcn.100aa290
mov al, 1
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
call fcn.100aa460
pop edi
pop esi
mov al, 1
pop ebx
pop ebp
ret 0xc
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3

Function at 0x1009fe70
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp byte [ecx + 0xd], 0
jne 0x1009feae
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.FinishEncoding_called_before_StartEncoding
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
jne 0x1009fec4
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, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3
Function at 0x100a8600
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 0x100a8646
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Internal_error:_GetNextInstruction___called_before_Init__
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
je 0x100a870a
jmp 0x100a8740
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 0x100a86a1
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
cmp eax, dword [esi + 0xc]
jae 0x100a871e
mov dl, byte [eax]
mov eax, dword [esi]
movzx edi, dl
cmp byte [edi + eax + 0x100], 0
je 0x100a8685
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 0x100a86c3
jmp 0x100a8653
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 0x100a872b
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
call fcn.100af020
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
cmp eax, 0xfffffffe
je 0x100a8717
cmp eax, 0xffffffff
jne 0x100a8730
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Instruction_size_is_not_a_valid_variable_length_integer
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
call fcn.1009dcb0
mov eax, 4
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
mov ecx, esi
call fcn.1009dcd0
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, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3

Function at 0x100a8760
Capabilities:
Terminate process

Disassembly:
push ecx
cmp ecx, 3
ja case.default.0x100a8766
jmp dword [ecx*4 + 0x100a87dc]
mov eax, str.NOOP
pop ecx
ret
mov eax, 0x101190c8
pop ecx
ret
mov eax, 0x101190c4
pop ecx
ret
mov eax, str.COPY
pop ecx
ret
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Unexpected_instruction_type
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
jne 0x100a87c9
mov eax, 0x100fdd8d
pop ecx
ret
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
mov edi, edi
insd dword es:[edi], dx
xchg dword [edx], ecx
adc byte [edi + eax*4 + 0xa], dh
adc byte [ebx - 0x79], bh
or dl, byte [eax]
add byte [edi - 0x3333eff6], 0xcc
int3
Function at 0x100a87f0
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 0x100a8874
movzx eax, bl
mov edx, str.ERROR:
push eax
push ecx
push esi
push ecx
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.VCDiff:_Bad_code_table__opcode
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
mov edx, str._has_invalid
mov ecx, eax
call fcn.100146e0
mov edx, edi
mov ecx, eax
call fcn.100146e0
mov edx, str._instruction_type
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
jne 0x100a89e0
xor al, al
mov bh, byte [ebp + 0xc]
cmp bh, byte [ebp + 0x10]
jbe 0x100a88eb
movzx eax, bh
mov edx, str.ERROR:
push eax
push ecx
push esi
push ecx
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.VCDiff:_Bad_code_table__opcode
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
mov edx, str._has_invalid
mov ecx, eax
call fcn.100146e0
mov edx, edi
mov ecx, eax
call fcn.100146e0
mov edx, str._mode
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
jne 0x100a89f1
xor al, al
test bl, bl
jne 0x100a8966
mov cl, byte [ebp + 8]
test cl, cl
je 0x100a896b
movzx eax, cl
mov edx, str.ERROR:
push eax
push ecx
push esi
push ecx
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.VCDiff:_Bad_code_table__opcode
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
mov edx, str._has
mov ecx, eax
call fcn.100146e0
mov edx, edi
mov ecx, eax
call fcn.100146e0
mov edx, str._instruction_NOOP_with_nonzero_size
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], bl
jne 0x100a8a02
xor al, al
jmp 0x100a896b
cmp bl, 3
je 0x100a89da
test bh, bh
je 0x100a89da
movzx eax, bh
mov edx, str.ERROR:
push eax
push ecx
push esi
push ecx
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.VCDiff:_Bad_code_table__opcode
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
mov edx, str._has_non_COPY
mov ecx, eax
call fcn.100146e0
mov edx, edi
mov ecx, eax
call fcn.100146e0
mov edx, str._instruction_with_nonzero_mode
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
jne 0x100a8a13
xor al, al
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3
Function at 0x100a8a30
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 0x100a8a68
cmp eax, 0x103
jae 0x100a8bfd
mov byte [ebp + eax - 0x118], 0
inc eax
cmp eax, edi
jl 0x100a8a50
mov eax, 0xfffffe00
lea esi, [ecx + 0x200]
sub eax, ecx
mov dword [ebp - 8], eax
jmp 0x100a8a80
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.100a87f0
add esp, 0x10
test al, al
je 0x100a8ab2
test bl, bl
je 0x100a8ab2
mov bl, 1
jmp 0x100a8ab4
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.100a87f0
add esp, 0x10
test al, al
je 0x100a8ae9
test bl, bl
je 0x100a8ae9
mov bl, 1
jmp 0x100a8aeb
xor bl, bl
cmp byte [esi], 0
jne 0x100a8b15
cmp byte [esi - 0x100], 0
jne 0x100a8b15
movzx ecx, byte [esi + 0x200]
movzx eax, byte [esi - 0x200]
add eax, ecx
cmp eax, edi
jge 0x100a8b15
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 0x100a8a80
mov esi, dword [ebp - 4]
xor edi, edi
test esi, esi
jle 0x100a8bf2
lea esp, [esp]
test edi, edi
je 0x100a8be9
cmp byte [ebp + edi - 0x118], 0
jne 0x100a8be9
cmp edi, 3
jl 0x100a8b99
lea eax, [edi - 3]
mov edx, str.ERROR:
push eax
push ecx
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.VCDiff:_Bad_code_table__there_is_no_opcode_for_inst_COPY__size_0__mode
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
je 0x100a8be7
jmp 0x100a8c02
mov ecx, edi
call fcn.100a8760
mov edx, str.ERROR:
mov ecx, 0x100ef488
mov esi, eax
call fcn.100146e0
mov edx, str.VCDiff:_Bad_code_table__there_is_no_opcode_for_inst
mov ecx, eax
call fcn.100146e0
mov edx, esi
mov ecx, eax
call fcn.100146e0
mov edx, str.__size_0___mode_0
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
jne 0x100a8c02
mov esi, dword [ebp - 4]
xor bl, bl
inc edi
cmp edi, esi
jl 0x100a8b40
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.100b8163
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3
Function at 0x100a8d40
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 0x100a8ead
test edx, edx
js 0x100a8ead
mov ecx, dword [esi + 4]
cmp ecx, 0xfe
jg 0x100a8e62
test ecx, ecx
js 0x100a8e62
lea eax, [ecx + edx]
cmp eax, 0xfe
jle 0x100a8e01
push pe_nt_image_headers32
push ecx
push ecx
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Using_near_cache_size
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
mov edx, str._and_same_cache_size
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
mov edx, str._would_exceed_maximum_number_of_COPY_modes__
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
mov edx, 0x100fdbfc
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
call fcn.1009dcb0
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
jle 0x100a8e27
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.100a9350
mov edx, dword [esi + 4]
test edx, edx
jle 0x100a8e53
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.100a9350
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, 0x100ef488
call fcn.100146e0
mov edx, str.Same_cache_size
mov ecx, eax
call fcn.100146e0
add esp, 4
mov ecx, eax
call fcn.1004fd10
mov edx, str._is_invalid
mov ecx, eax
call fcn.100146e0
push eax
call fcn.100195d0
add esp, 4
cmp byte [0x100f05bc], 0
je 0x100a8df9
jmp 0x100a8ec5
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100ef488
call fcn.100146e0
mov edx, str.Near_cache_size
jmp 0x100a8e78
mov ecx, 0x100ef488
call fcn.1002bf20
push 1
call fcn.100b8942
int3