joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100876f0
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.10093820
test al, al
jne 0x1008773f
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 0x10087790
test edx, edx
jne 0x10087790
test eax, eax
jne 0x10087790
mov eax, dword [ebp - 8]
mov ecx, ebx
mov dword [ebx + 0x28], eax
push dword [esi + 4]
push dword [esi + 8]
call fcn.10086590
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 0x100877af
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.10086470
mov eax, dword [ebx + 0x18]
lea ecx, [ebx + 0x10]
push dword [ebp - 8]
push dword [eax + 4]
call fcn.10086470
mov eax, dword [ebx + 0x10]
lea ecx, [ebx + 0x20]
push dword [ebp - 4]
push dword [eax + 4]
call fcn.10086470
mov eax, dword [ebx + 0x20]
mov esi, dword [eax + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x100877f2
call fcn.10093740
jmp 0x100877f7
mov eax, dword [eax + 0x10]
add eax, ecx
cmp esi, eax
je 0x10087768
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.The_end_of_the_instructions_section_does_not_match_the_end_of_the_delta_window
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
jne 0x10087838
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3
Function at 0x100879f0
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.10092af0
mov edi, eax
cmp edi, 0xfffffffe
je 0x10087b84
cmp edi, 0xffffffff
je 0x10087b5b
test edi, edi
js 0x10087b08
cmp edi, ebx
jg 0x10087b08
mov ebx, dword [ebp + 8]
mov ecx, dword [esi + 0xc]
lea eax, [edi + ebx]
cmp eax, ecx
ja 0x10087a74
mov eax, dword [esi + 8]
mov ecx, dword [esi]
add eax, edi
push ebx
push eax
add ecx, 0x20
call fcn.1001b230
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp edi, ecx
jae 0x10087a9f
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.1001b230
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 0x10087aa2
mov eax, dword [ebp - 4]
mov ecx, dword [esi]
sub edi, dword [esi + 0xc]
add ecx, 0x20
cmp dword [ecx + 0x14], 0x10
jb 0x10087ab2
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 0x10087aeb
lea eax, [edx + edi]
push esi
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.1001b230
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 0x10087ac2
lea eax, [edx + edi]
push ebx
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.1001b230
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, 0x1011f818
call fcn.10015f70
mov edx, str.Internal_error:_unexpected_address
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
mov edx, str._returned_from_DecodeAddress__with_here_address_
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
je 0x10087b78
jmp 0x10087b92
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Unable_to_decode_address_for_COPY
mov ecx, eax
call fcn.10015f70
jmp 0x10087b47
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, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3
Function at 0x10087f50
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
push edi
cmp dword [esi], 0
jne 0x10087f93
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Internal_error:_VCDiffDeltaFileWindow::DecodeWindow___called_before_VCDiffDeltaFileWindow::Init__
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
je 0x1008808a
jmp 0x10088094
cmp byte [esi + 4], 0
jne 0x10087fe6
mov edi, dword [ebp + 8]
push edi
call fcn.10087850
cmp eax, 0xfffffffe
je 0x10087fda
cmp eax, 0xffffffff
je 0x1008808a
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
call fcn.100926b0
test al, al
jne 0x1008802f
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Error_initializing_address_cache
jmp 0x10088075
mov eax, 0xfffffffe
pop edi
pop esi
pop ecx
pop ebp
ret 4
cmp byte [esi + 0x24], 0
je 0x10088005
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Internal_error:_Resumed_decoding_of_a_delta_file_window_when_interleaved_format_is_not_being_used
jmp 0x10087f71
mov edi, dword [ebp + 8]
push dword [edi + 4]
push dword [edi + 8]
call fcn.10086590
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.10087bb0
cmp eax, 0xfffffffe
je 0x10088051
cmp eax, 0xffffffff
je 0x1008808a
mov ecx, esi
call fcn.10087660
xor eax, eax
pop edi
pop esi
pop ecx
pop ebp
ret 4
cmp byte [esi + 0x24], 0
jne 0x10088061
cmp dword [esi + 0x28], 0
jg 0x10087fda
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.End_of_data_reached_while_decoding_VCDIFF_delta_file
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
call fcn.10086370
pop edi
or eax, 0xffffffff
pop esi
pop ecx
pop ebp
ret 4
mov ecx, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3

Function at 0x100885c0
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 0x1008860d
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Internal_error:_Initialization_of_code_table_writer_failed
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
jne 0x10088651
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 0x10088638
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Dictionary_not_valid_for_writer
jmp 0x100885ed
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, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3
Function at 0x10088670
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, ecx
push esi
push edi
cmp byte [ebx + 0xd], 0
jne 0x100886b8
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.EncodeChunk_called_before_StartEncoding
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
jne 0x10088738
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 0x100886e4
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Target_chunk_not_valid_for_writer
jmp 0x10088692
test byte [ebx + 8], 2
je 0x1008870b
mov esi, dword [ebx + 4]
xor ecx, ecx
push dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov edi, dword [esi]
call fcn.10091d00
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 0x1008872a
call fcn.10093c10
mov al, 1
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
call fcn.10093de0
pop edi
pop esi
mov al, 1
pop ebx
pop ebp
ret 0xc
mov ecx, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3

Function at 0x10088750
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp byte [ecx + 0xd], 0
jne 0x1008878e
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.FinishEncoding_called_before_StartEncoding
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
jne 0x100887a4
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, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3
Function at 0x10091f70
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 0x10091fb6
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Internal_error:_GetNextInstruction___called_before_Init__
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
je 0x1009207a
jmp 0x100920b0
mov eax, dword [eax]
mov dword [esi + 0x10], eax
mov ax, word [esi + 0x14]
mov word [esi + 0x16], ax
mov ecx, 0x100
cmp word [esi + 0x14], cx
jne 0x10092011
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
cmp eax, dword [esi + 0xc]
jae 0x1009208e
mov dl, byte [eax]
mov eax, dword [esi]
movzx edi, dl
cmp byte [edi + eax + 0x100], 0
je 0x10091ff5
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 0x10092033
jmp 0x10091fc3
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 0x1009209b
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
call fcn.10097990
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
cmp eax, 0xfffffffe
je 0x10092087
cmp eax, 0xffffffff
jne 0x100920a0
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Instruction_size_is_not_a_valid_variable_length_integer
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
call fcn.10086370
mov eax, 4
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
mov ecx, esi
call fcn.10086390
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, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3
Function at 0x10092160
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 0x100921e4
movzx eax, bl

Function at 0x100923a0
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 0x100923d8
cmp eax, 0x103
jae 0x1009256d
mov byte [ebp + eax - 0x118], 0
inc eax
cmp eax, edi
jl 0x100923c0
mov eax, 0xfffffe00
lea esi, [ecx + 0x200]
sub eax, ecx
mov dword [ebp - 8], eax
jmp 0x100923f0
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.10092160
add esp, 0x10
test al, al
je 0x10092422
test bl, bl
je 0x10092422
mov bl, 1
jmp 0x10092424
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.10092160
add esp, 0x10
test al, al
je 0x10092459
test bl, bl
je 0x10092459
mov bl, 1
jmp 0x1009245b
xor bl, bl
cmp byte [esi], 0
jne 0x10092485
cmp byte [esi - 0x100], 0
jne 0x10092485
movzx ecx, byte [esi + 0x200]
movzx eax, byte [esi - 0x200]
add eax, ecx
cmp eax, edi
jge 0x10092485
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 0x100923f0
mov esi, dword [ebp - 4]
xor edi, edi
test esi, esi
jle 0x10092562
lea esp, [esp]
test edi, edi
je 0x10092559
cmp byte [ebp + edi - 0x118], 0
jne 0x10092559
cmp edi, 3
jl 0x10092509
lea eax, [edi - 3]
mov edx, str.ERROR:
push eax
push ecx
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.VCDiff:_Bad_code_table__there_is_no_opcode_for_inst_COPY__size_0__mode
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
je 0x10092557
jmp 0x10092572
mov ecx, edi
call fcn.100920d0
mov edx, str.ERROR:
mov ecx, 0x1011f818
mov esi, eax
call fcn.10015f70
mov edx, str.VCDiff:_Bad_code_table__there_is_no_opcode_for_inst
mov ecx, eax
call fcn.10015f70
mov edx, esi
mov ecx, eax
call fcn.10015f70
mov edx, str.__size_0___mode_0
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
jne 0x10092572
mov esi, dword [ebp - 4]
xor bl, bl
inc edi
cmp edi, esi
jl 0x100924b0
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.100a1907
mov ecx, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3
Function at 0x100926b0
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 0x1009281d
test edx, edx
js 0x1009281d
mov ecx, dword [esi + 4]
cmp ecx, 0xfe
jg 0x100927d2
test ecx, ecx
js 0x100927d2
lea eax, [ecx + edx]
cmp eax, 0xfe
jle 0x10092771
push 0x100
push ecx
push ecx
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Using_near_cache_size
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
mov edx, str._and_same_cache_size
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
mov edx, str._would_exceed_maximum_number_of_COPY_modes__
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
mov edx, 0x100ebd78
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
call fcn.10086370
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test edx, edx
jle 0x10092797
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.10092cc0
mov edx, dword [esi + 4]
test edx, edx
jle 0x100927c3
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.10092cc0
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, 0x1011f818
call fcn.10015f70
mov edx, str.Same_cache_size
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
mov edx, str._is_invalid
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
je 0x10092769
jmp 0x10092835
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Near_cache_size
jmp 0x100927e8
mov ecx, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3
Function at 0x10092890
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 0x100928f6
push esi
push ecx
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.EncodeAddress_was_passed_a_negative_address:
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
jne 0x10092a25
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 0x1009294a
push ecx
push ecx
push esi
push ecx
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.EncodeAddress_was_called_with_address__
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
mov edx, str.____here_address__
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
mov edx, 0x100ebd78
mov ecx, eax
call fcn.10015f70
jmp 0x100928cc
mov ebx, dword [edi + 4]
test ebx, ebx
jle 0x100929a0
shl ebx, 8
mov eax, esi
cdq
idiv ebx
mov eax, dword [edi + 0x18]
mov ebx, edx
cmp dword [eax + ebx*4], esi
jne 0x100929a0
push esi
mov ecx, edi
call fcn.10092850
mov ecx, ebx
and ecx, 0x800000ff
jns 0x1009297d
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 0x100929b0
mov bl, 1
mov dword [ebp + 8], ecx
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp + 0xc], eax
test eax, eax
jle 0x100929fd
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 0x100929d5
cmp eax, edi
jge 0x100929d5
lea ebx, [ecx + 2]
mov edi, eax
mov eax, dword [ebp + 0xc]
inc ecx
add edx, 4
cmp ecx, eax
jl 0x100929c6
mov dword [ebp + 8], edi
mov edi, dword [ebp - 4]
test eax, eax
jle 0x100929fd
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 0x10092a12
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, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3
Function at 0x10092a40
Capabilities:
Terminate process

Disassembly:
push ecx
test ecx, ecx
jns 0x10092a8e
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Decoded_address
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
mov edx, str._is_invalid
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
jne 0x10092adc
xor al, al
pop ecx
ret
cmp ecx, edx
jl 0x10092ad8
push edx
push ecx
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Decoded_address__
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
mov edx, str.__is_beyond_location_in_target_file__
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
mov edx, 0x100ebd78
jmp 0x10092a71
mov al, 1
pop ecx
ret
mov ecx, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3
Function at 0x10092af0
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 0x10092b47
push eax
push ecx
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.DecodeAddress_was_passed_a_negative_value_for_here_address:
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
push eax
call fcn.100881f0
add esp, 4
cmp byte [0x10120b44], 0
je 0x10092c8b
jmp 0x10092ca5
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edi, dword [edi]
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0x10092c97
mov dl, byte [esi]
mov bl, byte [ebp + 0xc]
mov bh, dl
add bh, 2
cmp bl, bh
jb 0x10092b91
mov al, byte [esi + 4]
inc al
add al, dl
cmp bl, al
ja 0x10092b91
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 0x10092be7
lea edx, [ebp - 8]
call fcn.10097990
mov esi, eax
cmp esi, 0xfffffffe
je 0x10092c97
cmp esi, 0xffffffff
je 0x10092c62
test bl, bl
jne 0x10092bb6
mov ebx, dword [ebp - 4]
jmp 0x10092be4
cmp bl, 1
jne 0x10092bcc
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 0x10092bea
cmp bl, 2
jb 0x10092c11
cmp bl, bh
jae 0x10092c11
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.10092a40
test al, al
je 0x10092c8b
mov eax, dword [ebp + 0x10]
mov ecx, ebx
push esi
mov dword [eax], edi
call fcn.10092850
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, 0x1011f818
call fcn.10015f70
mov edx, str.Invalid_mode_value__
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
mov edx, str.__passed_to_DecodeAddress__maximum_mode_value_
mov ecx, eax
call fcn.10015f70
add esp, 4
mov ecx, eax
call fcn.10042ce0
jmp 0x10092c7d
mov edx, str.ERROR:
mov ecx, 0x1011f818
call fcn.10015f70
mov edx, str.Found_invalid_variable_length_integer_as_encoded_address_value
mov ecx, eax
call fcn.10015f70
push eax
call fcn.100881f0
add esp, 4
call fcn.10086370
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, 0x1011f818
call fcn.1001a0c0
push 1
call fcn.100a1f52
int3