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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e422b
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x10001840]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x90], 0
lea eax, [edi + 0x90]
jne 0x10093992
mov esi, dword [ebp + 8]
xor al, al
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 1
mov edx, dword [esi + 4]
mov ecx, dword [esi + 8]
sub edx, ecx
cmp edx, 3
ja case.default.0x10093818
jmp dword [edx*4 + 0x100939c0]
mov al, byte [ecx + 3]
mov byte [ebp + 0xb], al
test al, al
mov byte [edi + 0x38], al
mov eax, dword [ebp - 0x18]
je case.0x10093818.3
cmp byte [ebp + 0xb], 0x53
je case.0x10093818.3
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Unrecognized_VCDIFF_format_version
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
je 0x100938eb
mov ecx, 0x100e6700
call fcn.100239a0
push 1
call fcn.100aec92
cmp byte [ecx + 2], 0xc4
movzx eax, al
cmovne eax, dword [ebp - 0x14]
cmp byte [ecx + 1], 0xc3
movzx eax, al
cmovne eax, dword [ebp - 0x14]
cmp byte [ecx], 0xd6
jne 0x100939a7
test al, al
jne 0x100939a7
cmp edx, 5
jae 0x100938bb
mov eax, 0xfffffffe
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
mov al, byte [ecx + 4]
test al, 1
je 0x10093901
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Secondary_compression_is_not_supported
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
call fcn.10092f70
or eax, 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
test al, 2
je 0x10093940
mov eax, dword [esi + 8]
mov ecx, edi
push dword [esi + 4]
add eax, 5
push eax
call fcn.100939d0
cmp eax, 0xfffffffe
je 0x100938a3
cmp eax, 0xffffffff
je 0x100938eb
add eax, 5
mov ecx, esi
push eax
call fcn.1009fbe0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0x24
call fcn.100ab691
add esp, 4
mov dword [ebp + 8], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x10093974
xorps xmm0, xmm0
mov ecx, eax
movdqu xmmword [eax], xmm0
movdqu xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0
call fcn.1009f220
jmp 0x10093976
xor eax, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + 0x90]
push eax
call fcn.10094cf0
push 5
mov ecx, esi
call fcn.1009fbe0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Did_not_find_VCDIFF_header_bytes__input_is_not_a_VCDIFF_delta_file
jmp 0x10093849
Function at 0x10093be0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e42a8
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x10001840]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
cmp dword [ebx + 0xb0], 0
mov esi, dword [ebp + 8]
mov dword [ebp - 0x20], esi
jne 0x10093c23
xor eax, eax
jmp 0x10093ddd
cmp dword [ebx + 0x94], 0
jne 0x10093c72
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Internal_error:__custom_code_table_decoder__is_set__but_custom_code_table__is_NULL
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
je 0x10093c6a
mov ecx, 0x100e6700
call fcn.100239a0
push 1
call fcn.100aec92
or eax, 0xffffffff
jmp 0x10093ddd
xorps xmm0, xmm0
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x1c], vtable.open_vcdiff::OutputStringInterface.0
mov dword [ebp - 4], 0
lea edi, [ebx + 0x98]
mov dword [ebp - 0x1c], vtable.open_vcdiff::OutputString_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.0
mov dword [ebp - 0x18], edi
mov dword [ebp - 4], 1
lea edi, [ebp - 0x1c]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 4]
sub eax, ecx
push edi
push eax
push ecx
mov ecx, dword [ebx + 0xb0]
call fcn.10093e70
lea edi, [ebx + 0x98]
test al, al
je 0x10093d5b
cmp dword [ebx + 0xa8], 0x600
jae 0x10093ce2
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
mov eax, 0xfffffffe
jmp 0x10093dc1
mov ecx, dword [ebx + 0xb0]
call fcn.10094050
test al, al
je 0x10093d5b
mov eax, dword [ebx + 0xa8]
cmp eax, 0x600
je 0x10093d60
push 0x600
push ecx
push eax
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Decoded_custom_code_table_size__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046ef0
mov edx, str.__does_not_match_size_of_a_code_table__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046ef0
mov edx, 0x100fdcf8
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
call fcn.10092f70
or eax, 0xffffffff
jmp 0x10093dc1
cmp dword [edi + 0x14], 0x10
jb 0x10093d68
mov edi, dword [edi]
mov esi, edi
mov ecx, 0x180
mov edi, dword [ebx + 0x94]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x98]
call fcn.10034190
mov eax, dword [ebx + 0xb0]
mov ecx, dword [ebp - 0x20]
push dword [eax + 0x18]
call fcn.1009fd70
push 0
lea ecx, [ebx + 0xb0]
call fcn.10094d20
mov eax, dword [ebx + 0x90]
mov ecx, dword [eax + 4]
inc cl
add cl, byte [eax]
movzx eax, cl
lea ecx, [ebx + 0x3c]
push eax
push dword [ebx + 0x94]
call fcn.10093120
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], vtable.open_vcdiff::OutputString_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___.0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], vtable.open_vcdiff::OutputStringInterface.0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100ac8ee
mov esp, ebp
pop ebp
ret 4
Function at 0x10093e70
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
mov eax, dword [0x10001840]
xor eax, esp
mov dword [esp + 0x10], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, ecx
mov dword [esp + 8], ebx
mov ecx, dword [ebp + 8]
push edi
cmp byte [esi + 0xc8], 0
jne 0x10093eea
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.DecodeChunk___called_without_StartDecoding__
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
jne 0x1009403a
mov ecx, esi
call fcn.10093670
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.100ac8ee
mov esp, ebp
pop ebp
ret 0xc
cmp dword [esi + 0x18], 0
xorps xmm0, xmm0
mov edx, dword [ebp + 0xc]
movq qword [esp + 0x10], xmm0
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], ecx
lea eax, [ecx + edx]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
je 0x10093f38
push edx
lea edi, [esi + 8]
push ecx
mov ecx, edi
call fcn.10024b10
cmp dword [edi + 0x14], 0x10
mov eax, dword [esi + 0x18]
jb 0x10093f2a
mov edi, dword [edi]
add eax, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edi
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.100937c0
test eax, eax
jne 0x10093fff
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10093be0
test eax, eax
jne 0x10093fff
mov ecx, dword [esp + 0x14]
mov eax, ecx
mov edx, dword [esp + 0x18]
sub eax, edx
je 0x10094010
lea eax, [esi + 0x3c]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
call fcn.10094b50
test eax, eax
jne 0x10093fff
mov ecx, esi
call fcn.100933c0
test al, al
jne 0x10094008
cmp byte [esi + 0xc9], al
jne 0x10093fe8
cmp dword [esi + 0x34], 0x10
lea edi, [esi + 0x20]
mov ebx, dword [esi + 0x30]
jb 0x10093fa8
mov ecx, dword [edi]
jmp 0x10093faa
mov ecx, edi
mov edx, dword [esp + 0xc]
mov eax, dword [esi + 0xc4]
sub ebx, eax
push ebx
mov ebx, dword [esp + 0x10]
add eax, ecx
mov edx, dword [edx]
mov ecx, ebx
push eax
call dword [edx + 4]
cmp dword [edi + 0x14], 0x10
mov dword [edi + 0x10], 0
jb 0x10093fd4
mov edi, dword [edi]
mov byte [edi], 0
mov dword [esi + 0x6c], 0
mov dword [esi + 0xc4], 0
mov ecx, dword [esp + 0x14]
mov eax, ecx
mov edx, dword [esp + 0x18]
sub eax, edx
lea eax, [esi + 0x3c]
jne 0x10093f75
jmp 0x10094010
cmp eax, 0xffffffff
je 0x10093ecd
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
sub ecx, edx
push ecx
push edx
lea ecx, [esi + 8]
call fcn.10010290
push ebx
mov ecx, esi
call fcn.10093e00
mov ecx, dword [esp + 0x1c]
mov al, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100ac8ee
mov esp, ebp
pop ebp
ret 0xc
mov ecx, 0x100e6700
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x10094050
Capabilities:
Terminate process

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
mov bl, 1
cmp byte [esi + 0xc8], 0
jne 0x1009408f
mov edx, str.WARNING:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.FinishDecoding___called_before_StartDecoding____or_called_after_DecodeChunk___returned_false
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
je 0x100940d1
jmp 0x100940e0
cmp dword [esi + 0x90], 0
je 0x100940b0
cmp dword [esi + 0xb0], 0
jne 0x100940bb
cmp byte [esi + 0x40], 0
jne 0x100940bb
call fcn.100933c0
test al, al
jne 0x100940d3
cmp dword [esi + 0x18], 0
sete al
test al, al
jne 0x100940d3
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.FinishDecoding___called_before_parsing_entire_delta_file_window
jmp 0x10094074
xor bl, bl
mov ecx, esi
call fcn.10093670
pop esi
mov al, bl
pop ebx
pop ecx
ret
mov ecx, 0x100e6700
call fcn.100239a0
push 1
call fcn.100aec92
int3

Function at 0x10094100
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 0x1009417d
push eax
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Length_of_target_window__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046ef0
mov edx, str.__exceeds_limit_of
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046ef0
mov edx, str._bytes
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
jne 0x10094249
mov al, 1
pop edi
pop esi
pop ecx
pop ebp
ret 4
mov esi, dword [ecx + 0xb4]
cmp esi, 0xfffffffd
je 0x100941e1
mov edi, dword [ecx + 0xc0]
mov eax, esi
sub eax, edi
cmp edx, eax
jbe 0x100941e1
push esi
push ecx
push edi
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Length_of_target_window__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046ef0
mov edx, str._bytes__plus_previous_windows__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046ef0
mov edx, str._bytes__would_exceed_planned_size_of
jmp 0x10094141
mov esi, dword [ecx + 0xb8]
mov eax, esi
mov ecx, dword [ecx + 0xc0]
sub eax, ecx
cmp edx, eax
jbe 0x10094240
push esi
push ecx
push ecx
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Length_of_target_window__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046ef0
mov edx, str._bytes__plus_previous_windows__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046ef0
mov edx, str._bytes__would_exceed_maximum_target_file_size_of
jmp 0x10094141
pop edi
xor al, al
pop esi
pop ecx
pop ebp
ret 4
mov ecx, 0x100e6700
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x100942f0
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.100a0410
test al, al
jne 0x1009433f
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 0x10094390
test edx, edx
jne 0x10094390
test eax, eax
jne 0x10094390
mov eax, dword [ebp - 8]
mov ecx, ebx
mov dword [ebx + 0x28], eax
push dword [esi + 4]
push dword [esi + 8]
call fcn.10093190
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 0x100943af
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.10093070
mov eax, dword [ebx + 0x18]
lea ecx, [ebx + 0x10]
push dword [ebp - 8]
push dword [eax + 4]
call fcn.10093070
mov eax, dword [ebx + 0x10]
lea ecx, [ebx + 0x20]
push dword [ebp - 4]
push dword [eax + 4]
call fcn.10093070
mov eax, dword [ebx + 0x20]
mov esi, dword [eax + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x100943f2
call fcn.100a0330
jmp 0x100943f7
mov eax, dword [eax + 0x10]
add eax, ecx
cmp esi, eax
je 0x10094368
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.The_end_of_the_instructions_section_does_not_match_the_end_of_the_delta_window
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
jne 0x10094438
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x100e6700
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x100945f0
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.1009f6f0
mov edi, eax
cmp edi, 0xfffffffe
je 0x10094784
cmp edi, 0xffffffff
je 0x1009475b
test edi, edi
js 0x10094708
cmp edi, ebx
jg 0x10094708
mov ebx, dword [ebp + 8]
mov ecx, dword [esi + 0xc]
lea eax, [edi + ebx]
cmp eax, ecx
ja 0x10094674
mov eax, dword [esi + 8]
mov ecx, dword [esi]
add eax, edi
push ebx
push eax
add ecx, 0x20
call fcn.10024b10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp edi, ecx
jae 0x1009469f
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.10024b10
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 0x100946a2
mov eax, dword [ebp - 4]
mov ecx, dword [esi]
sub edi, dword [esi + 0xc]
add ecx, 0x20
cmp dword [ecx + 0x14], 0x10
jb 0x100946b2
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 0x100946eb
lea eax, [edx + edi]
push esi
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.10024b10
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 0x100946c2
lea eax, [edx + edi]
push ebx
push eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
add ecx, 0x20
call fcn.10024b10
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, 0x100e6700
call fcn.100200c0
mov edx, str.Internal_error:_unexpected_address
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc40
mov edx, str._returned_from_DecodeAddress__with_here_address_
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc40
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
je 0x10094778
jmp 0x10094792
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Unable_to_decode_address_for_COPY
mov ecx, eax
call fcn.100200c0
jmp 0x10094747
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, 0x100e6700
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x10094b50
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
push edi
cmp dword [esi], 0
jne 0x10094b93
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Internal_error:_VCDiffDeltaFileWindow::DecodeWindow___called_before_VCDiffDeltaFileWindow::Init__
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
je 0x10094c8a
jmp 0x10094c94
cmp byte [esi + 4], 0
jne 0x10094be6
mov edi, dword [ebp + 8]
push edi
call fcn.10094450
cmp eax, 0xfffffffe
je 0x10094bda
cmp eax, 0xffffffff
je 0x10094c8a
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
call fcn.1009f2b0
test al, al
jne 0x10094c2f
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Error_initializing_address_cache
jmp 0x10094c75
mov eax, 0xfffffffe
pop edi
pop esi
pop ecx
pop ebp
ret 4
cmp byte [esi + 0x24], 0
je 0x10094c05
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Internal_error:_Resumed_decoding_of_a_delta_file_window_when_interleaved_format_is_not_being_used
jmp 0x10094b71
mov edi, dword [ebp + 8]
push dword [edi + 4]
push dword [edi + 8]
call fcn.10093190
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.100947b0
cmp eax, 0xfffffffe
je 0x10094c51
cmp eax, 0xffffffff
je 0x10094c8a
mov ecx, esi
call fcn.10094260
xor eax, eax
pop edi
pop esi
pop ecx
pop ebp
ret 4
cmp byte [esi + 0x24], 0
jne 0x10094c61
cmp dword [esi + 0x28], 0
jg 0x10094bda
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.End_of_data_reached_while_decoding_VCDIFF_delta_file
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
call fcn.10092f70
pop edi
or eax, 0xffffffff
pop esi
pop ecx
pop ebp
ret 4
mov ecx, 0x100e6700
call fcn.100239a0
push 1
call fcn.100aec92
int3

Function at 0x100951c0
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 0x1009520d
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Internal_error:_Initialization_of_code_table_writer_failed
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
jne 0x10095251
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 0x10095238
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Dictionary_not_valid_for_writer
jmp 0x100951ed
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, 0x100e6700
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x10095270
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, ecx
push esi
push edi
cmp byte [ebx + 0xd], 0
jne 0x100952b8
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.EncodeChunk_called_before_StartEncoding
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
jne 0x10095338
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 0x100952e4
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Target_chunk_not_valid_for_writer
jmp 0x10095292
test byte [ebx + 8], 2
je 0x1009530b
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 0x1009532a
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, 0x100e6700
call fcn.100239a0
push 1
call fcn.100aec92
int3

Function at 0x10095350
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp byte [ecx + 0xd], 0
jne 0x1009538e
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.FinishEncoding_called_before_StartEncoding
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
jne 0x100953a4
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, 0x100e6700
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, 0x100e6700
call fcn.100200c0
mov edx, str.Internal_error:_GetNextInstruction___called_before_Init__
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 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, 0x100e6700
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.10094df0
add esp, 4
call fcn.10092f70
mov eax, 4
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
mov ecx, esi
call fcn.10092f90
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, 0x100e6700
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, 0x10101140
pop ecx
ret
mov eax, 0x10101144
pop ecx
ret
mov eax, str.COPY
pop ecx
ret
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e6700
call fcn.100200c0
mov edx, str.Unexpected_instruction_type
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc40
push eax
call fcn.10094df0
add esp, 4
cmp byte [0x100e7a34], 0
jne 0x1009ed39
mov eax, 0x100f4a04
pop ecx
ret
mov ecx, 0x100e6700
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]