joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10091ea0
Capabilities:
Parse credit card information

Disassembly:
add ecx, 0xfffffffe
cmp ecx, 8
ja case.default.0x10091eac
jmp dword [ecx*4 + 0x10091fd4]
cmp dl, 0x40
jne 0x10091ebe
mov eax, 4
ret
mov al, dl
or al, 0x20
cmp al, 0x61
jb 0x10091eca
cmp al, 0x7a
jbe 0x10091f2d
cmp dl, 0x30
jl 0x10091ed4
cmp dl, 0x39
jle 0x10091f2d
cmp dl, 0x2d
je 0x10091f2d
cmp dl, 0x5f
je 0x10091f2d
cmp dl, 0x2e
je 0x10091f2d
cmp dl, 0x21
je 0x10091f2d
cmp dl, 0x7e
je 0x10091f2d
cmp dl, 0x2a
je 0x10091f2d
cmp dl, 0x27
je 0x10091f2d
cmp dl, 0x28
je 0x10091f2d
cmp dl, 0x29
je 0x10091f2d
cmp dl, 0x25
je 0x10091f2d
cmp dl, 0x3b
je 0x10091f2d
cmp dl, 0x3a
je 0x10091f2d
cmp dl, 0x26
je 0x10091f2d
cmp dl, 0x3d
je 0x10091f2d
cmp dl, 0x2b
je 0x10091f2d
cmp dl, 0x24
je 0x10091f2d
cmp dl, 0x2c
jne case.default.0x10091eac
mov eax, 3
ret
cmp dl, 0x5b
jne 0x10091f3e
mov eax, 5
ret
mov al, dl
or al, 0x20
cmp al, 0x61
jb 0x10091f4a
cmp al, 0x7a
jbe 0x10091f5e
cmp dl, 0x30
jl 0x10091f54
cmp dl, 0x39
jle 0x10091f5e
cmp dl, 0x2e
je 0x10091f5e
cmp dl, 0x2d
jne case.default.0x10091eac
mov eax, 6
ret
mov al, dl
or al, 0x20
cmp al, 0x61
jb 0x10091f70
cmp al, 0x7a
jbe 0x10091f5e
cmp dl, 0x30
jl 0x10091f7a
cmp dl, 0x39
jle 0x10091f5e
cmp dl, 0x2e
je 0x10091f5e
cmp dl, 0x2d
je 0x10091f5e
cmp dl, 0x3a
jne case.default.0x10091eac
mov eax, 9
ret
cmp dl, 0x5d
jne case.0x10091eac.5
mov eax, 8
ret
cmp dl, 0x30
jl 0x10091fa4
cmp dl, 0x39
jle 0x10091fba
mov al, dl
or al, 0x20
cmp al, 0x61
jb 0x10091fb0
cmp al, 0x66
jbe 0x10091fba
cmp dl, 0x3a
je 0x10091fba
cmp dl, 0x2e
jne case.default.0x10091eac
mov eax, 7
ret
sub dl, 0x30
mov eax, 0xa
cmp dl, 9
jbe 0x10091fd2
mov eax, 1
ret

Function at 0x10092f80
Capabilities:
Terminate process

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esi + 0x10]
test ecx, ecx
je 0x10093010
mov eax, dword [esi + 8]
cmp ecx, dword [eax]
jbe 0x10092fc2
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_last_instruction_start_past_end_of_instructions_and_sizes_in_UnGetInstruction
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x10093012
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0x10]
mov dword [ecx], eax
mov eax, pe_nt_image_headers32
cmp word [esi + 0x14], ax
je 0x10093008
cmp word [esi + 0x16], ax
je 0x10093008
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_two_pending_instructions_in_a_row_in_UnGetInstruction
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x10093023
mov ax, word [esi + 0x16]
mov word [esi + 0x14], ax
pop esi
ret
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 0x100933b0
Capabilities:
Terminate process

Disassembly:
push ecx
mov edx, dword [ecx + 0xb4]
cmp edx, 0xfffffffd
jne 0x100933c0
xor al, al
pop ecx
ret
mov ecx, dword [ecx + 0xc0]
cmp ecx, edx
jbe 0x1009341f
push edx
push ecx
push ecx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_Decoded_data_size
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046f10
mov edx, str._exceeds_planned_target_file_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 0x10093428
mov al, 1
pop ecx
ret
xor eax, eax
cmp ecx, edx
sete al
pop ecx
ret
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3

Function at 0x10093710
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
cmp byte [esi + 0xc8], 0
je 0x1009374f
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.StartDecoding___called_twice_without_FinishDecoding__
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
je 0x10093790
jmp 0x10093796
cmp dword [esi + 0x1c], 0x10
lea eax, [esi + 8]
mov dword [eax + 0x10], 0
jb 0x10093761
mov eax, dword [eax]
mov byte [eax], 0
lea eax, [esi + 0x20]
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], 0
jb 0x10093776
mov eax, dword [eax]
mov byte [eax], 0
call fcn.10093660
mov eax, dword [ebp + 8]
mov dword [esi], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 4], eax
mov byte [esi + 0xc8], 1
pop esi
pop ecx
pop ebp
ret 8
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x100937b0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e420b
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 0x10093982
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.0x10093808
jmp dword [edx*4 + 0x100939b0]
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.0x10093808.3
cmp byte [ebp + 0xb], 0x53
je case.0x10093808.3
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Unrecognized_VCDIFF_format_version
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
je 0x100938db
mov ecx, 0x100e66e0
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 0x10093997
test al, al
jne 0x10093997
cmp edx, 5
jae 0x100938ab
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 0x100938f1
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Secondary_compression_is_not_supported
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
call fcn.10092f60
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 0x10093930
mov eax, dword [esi + 8]
mov ecx, edi
push dword [esi + 4]
add eax, 5
push eax
call fcn.100939c0
cmp eax, 0xfffffffe
je 0x10093893
cmp eax, 0xffffffff
je 0x100938db
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 0x10093964
xorps xmm0, xmm0
mov ecx, eax
movdqu xmmword [eax], xmm0
movdqu xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0
call fcn.1009f220
jmp 0x10093966
xor eax, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + 0x90]
push eax
call fcn.10094ce0
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, 0x100e66e0
call fcn.100200c0
mov edx, str.Did_not_find_VCDIFF_header_bytes__input_is_not_a_VCDIFF_delta_file
jmp 0x10093839
Function at 0x10093bd0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e4288
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 0x10093c13
xor eax, eax
jmp 0x10093dcd
cmp dword [ebx + 0x94], 0
jne 0x10093c62
mov edx, str.ERROR:
mov ecx, 0x100e66e0
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.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
je 0x10093c5a
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
or eax, 0xffffffff
jmp 0x10093dcd
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.10093e60
lea edi, [ebx + 0x98]
test al, al
je 0x10093d4b
cmp dword [ebx + 0xa8], 0x600
jae 0x10093cd2
mov eax, dword [esi + 4]
mov dword [esi + 8], eax
mov eax, 0xfffffffe
jmp 0x10093db1
mov ecx, dword [ebx + 0xb0]
call fcn.10094040
test al, al
je 0x10093d4b
mov eax, dword [ebx + 0xa8]
cmp eax, 0x600
je 0x10093d50
push 0x600
push ecx
push eax
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
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.10046f10
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.10046f10
mov edx, 0x100fdc78
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
call fcn.10092f60
or eax, 0xffffffff
jmp 0x10093db1
cmp dword [edi + 0x14], 0x10
jb 0x10093d58
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.10094d10
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.10093110
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 0x10093e60
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 0x10093eda
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.DecodeChunk___called_without_StartDecoding__
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x1009402a
mov ecx, esi
call fcn.10093660
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 0x10093f28
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 0x10093f1a
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.100937b0
test eax, eax
jne 0x10093fef
lea eax, [esp + 0x10]
mov ecx, esi
push eax
call fcn.10093bd0
test eax, eax
jne 0x10093fef
mov ecx, dword [esp + 0x14]
mov eax, ecx
mov edx, dword [esp + 0x18]
sub eax, edx
je 0x10094000
lea eax, [esi + 0x3c]
lea ecx, [esp + 0x10]
push ecx
mov ecx, eax
call fcn.10094b40
test eax, eax
jne 0x10093fef
mov ecx, esi
call fcn.100933b0
test al, al
jne 0x10093ff8
cmp byte [esi + 0xc9], al
jne 0x10093fd8
cmp dword [esi + 0x34], 0x10
lea edi, [esi + 0x20]
mov ebx, dword [esi + 0x30]
jb 0x10093f98
mov ecx, dword [edi]
jmp 0x10093f9a
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 0x10093fc4
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 0x10093f65
jmp 0x10094000
cmp eax, 0xffffffff
je 0x10093ebd
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.10093df0
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, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x10094040
Capabilities:
Terminate process

Disassembly:
push ecx
push ebx
push esi
mov esi, ecx
mov bl, 1
cmp byte [esi + 0xc8], 0
jne 0x1009407f
mov edx, str.WARNING:
mov ecx, 0x100e66e0
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.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
je 0x100940c1
jmp 0x100940d0
cmp dword [esi + 0x90], 0
je 0x100940a0
cmp dword [esi + 0xb0], 0
jne 0x100940ab
cmp byte [esi + 0x40], 0
jne 0x100940ab
call fcn.100933b0
test al, al
jne 0x100940c3
cmp dword [esi + 0x18], 0
sete al
test al, al
jne 0x100940c3
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.FinishDecoding___called_before_parsing_entire_delta_file_window
jmp 0x10094064
xor bl, bl
mov ecx, esi
call fcn.10093660
pop esi
mov al, bl
pop ebx
pop ecx
ret
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3

Function at 0x100940f0
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 0x1009416d
push eax
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Length_of_target_window__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046f10
mov edx, str.__exceeds_limit_of
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046f10
mov edx, str._bytes
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x10094239
mov al, 1
pop edi
pop esi
pop ecx
pop ebp
ret 4
mov esi, dword [ecx + 0xb4]
cmp esi, 0xfffffffd
je 0x100941d1
mov edi, dword [ecx + 0xc0]
mov eax, esi
sub eax, edi
cmp edx, eax
jbe 0x100941d1
push esi
push ecx
push edi
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Length_of_target_window__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046f10
mov edx, str._bytes__plus_previous_windows__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046f10
mov edx, str._bytes__would_exceed_planned_size_of
jmp 0x10094131
mov esi, dword [ecx + 0xb8]
mov eax, esi
mov ecx, dword [ecx + 0xc0]
sub eax, ecx
cmp edx, eax
jbe 0x10094230
push esi
push ecx
push ecx
push ecx
push edx
push ecx
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Length_of_target_window__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046f10
mov edx, str._bytes__plus_previous_windows__
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.10046f10
mov edx, str._bytes__would_exceed_maximum_target_file_size_of
jmp 0x10094131
pop edi
xor al, al
pop esi
pop ecx
pop ebp
ret 4
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x100942e0
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 0x1009432f
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 0x10094380
test edx, edx
jne 0x10094380
test eax, eax
jne 0x10094380
mov eax, dword [ebp - 8]
mov ecx, ebx
mov dword [ebx + 0x28], eax
push dword [esi + 4]
push dword [esi + 8]
call fcn.10093180
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 0x1009439f
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.10093060
mov eax, dword [ebx + 0x18]
lea ecx, [ebx + 0x10]
push dword [ebp - 8]
push dword [eax + 4]
call fcn.10093060
mov eax, dword [ebx + 0x10]
lea ecx, [ebx + 0x20]
push dword [ebp - 4]
push dword [eax + 4]
call fcn.10093060
mov eax, dword [ebx + 0x20]
mov esi, dword [eax + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x100943e2
call fcn.100a0330
jmp 0x100943e7
mov eax, dword [eax + 0x10]
add eax, ecx
cmp esi, eax
je 0x10094358
mov edx, str.ERROR:
mov ecx, 0x100e66e0
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.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x10094428
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x100945e0
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 0x10094774
cmp edi, 0xffffffff
je 0x1009474b
test edi, edi
js 0x100946f8
cmp edi, ebx
jg 0x100946f8
mov ebx, dword [ebp + 8]
mov ecx, dword [esi + 0xc]
lea eax, [edi + ebx]
cmp eax, ecx
ja 0x10094664
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 0x1009468f
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 0x10094692
mov eax, dword [ebp - 4]
mov ecx, dword [esi]
sub edi, dword [esi + 0xc]
add ecx, 0x20
cmp dword [ecx + 0x14], 0x10
jb 0x100946a2
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 0x100946db
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 0x100946b2
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, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_unexpected_address
mov ecx, eax
call fcn.100200c0
add esp, 4
mov ecx, eax
call fcn.1004dc60
mov edx, str._returned_from_DecodeAddress__with_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 0x10094768
jmp 0x10094782
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Unable_to_decode_address_for_COPY
mov ecx, eax
call fcn.100200c0
jmp 0x10094737
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, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3
Function at 0x10094b40
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, ecx
push edi
cmp dword [esi], 0
jne 0x10094b83
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_VCDiffDeltaFileWindow::DecodeWindow___called_before_VCDiffDeltaFileWindow::Init__
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
je 0x10094c7a
jmp 0x10094c84
cmp byte [esi + 4], 0
jne 0x10094bd6
mov edi, dword [ebp + 8]
push edi
call fcn.10094440
cmp eax, 0xfffffffe
je 0x10094bca
cmp eax, 0xffffffff
je 0x10094c7a
mov eax, dword [esi]
mov ecx, dword [eax + 0x90]
call fcn.1009f2b0
test al, al
jne 0x10094c1f
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Error_initializing_address_cache
jmp 0x10094c65
mov eax, 0xfffffffe
pop edi
pop esi
pop ecx
pop ebp
ret 4
cmp byte [esi + 0x24], 0
je 0x10094bf5
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_Resumed_decoding_of_a_delta_file_window_when_interleaved_format_is_not_being_used
jmp 0x10094b61
mov edi, dword [ebp + 8]
push dword [edi + 4]
push dword [edi + 8]
call fcn.10093180
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.100947a0
cmp eax, 0xfffffffe
je 0x10094c41
cmp eax, 0xffffffff
je 0x10094c7a
mov ecx, esi
call fcn.10094250
xor eax, eax
pop edi
pop esi
pop ecx
pop ebp
ret 4
cmp byte [esi + 0x24], 0
jne 0x10094c51
cmp dword [esi + 0x28], 0
jg 0x10094bca
mov edx, str.ERROR:
mov ecx, 0x100e66e0
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.10094de0
add esp, 4
call fcn.10092f60
pop edi
or eax, 0xffffffff
pop esi
pop ecx
pop ebp
ret 4
mov ecx, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3

Function at 0x100951b0
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 0x100951fd
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Internal_error:_Initialization_of_code_table_writer_failed
mov ecx, eax
call fcn.100200c0
push eax
call fcn.10094de0
add esp, 4
cmp byte [0x100e7a14], 0
jne 0x10095241
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 0x10095228
mov edx, str.ERROR:
mov ecx, 0x100e66e0
call fcn.100200c0
mov edx, str.Dictionary_not_valid_for_writer
jmp 0x100951dd
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, 0x100e66e0
call fcn.100239a0
push 1
call fcn.100aec92
int3