joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40c370
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov edx, ecx
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov al, byte [ecx]
test al, al
je 0x40c398
cmp al, 0x5c
je 0x40c38b
cmp al, 0x2f
jne 0x40c38e
lea edx, [ecx + 1]
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x40c383
mov al, byte [edx]
mov esi, 0x7fed7fed
push edi
mov edi, 0xeeeeeeee
test al, al
je 0x40c3d1
movzx eax, al
lea edx, [edx + 1]
add esi, edi
movzx ecx, byte [eax + 0x462188]
mov eax, edi
shl eax, 5
add eax, ecx
add eax, edi
xor esi, dword [ecx*4 + 0x465e58]
lea edi, [esi + 3]
add edi, eax
mov al, byte [edx]
test al, al
jne 0x40c3a7
test dword [ebp + 0x18], 0x20000
pop edi
je 0x40c3e5
lea eax, [esi + ebx]
xor eax, dword [ebp + 0x14]
pop esi
pop ebx
pop ebp
ret
mov eax, esi
pop esi
pop ebx
pop ebp
ret

Function at 0x40c3f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0xc]
mov edx, 0xeeeeeeee
push edi
shr esi, 2
xor edi, edi
test esi, esi
je 0x40c445
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
nop dword [eax]
movzx ecx, al
add edx, dword [ecx*4 + 0x466258]
lea ecx, [edx + eax]
xor dword [ebx + edi*4], ecx
mov ecx, eax
not ecx
shr eax, 0xb
shl ecx, 0x15
add ecx, 0x11111111
or eax, ecx
mov ecx, edx
shl ecx, 5
add edx, 3
add ecx, dword [ebx + edi*4]
inc edi
add edx, ecx
cmp edi, esi
jb 0x40c410
pop ebx
pop edi
pop esi
pop ebp
ret

Function at 0x40c560
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
shr edi, 2
mov esi, 0xeeeeeeee
mov dword [ebp + 0xc], edi
test edi, edi
je 0x40c5bf
mov eax, dword [ebp + 0x10]
nop dword [eax]
mov edi, dword [ebp + 8]
movzx ecx, al
add esi, dword [ecx*4 + 0x466258]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + ebx*4]
lea ecx, [esi + eax]
xor ecx, edx
mov dword [edi + ebx*4], ecx
mov ecx, eax
not ecx
shr eax, 0xb
shl ecx, 0x15
inc ebx
add ecx, 0x11111111
or eax, ecx
mov ecx, esi
shl ecx, 5
add esi, 3
add ecx, edx
add esi, ecx
cmp ebx, dword [ebp + 0xc]
jb 0x40c580
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x40d380
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi + 4]
mov edi, dword [esi + 0x38]
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ebx
mov edx, dword [edi]
test dword [eax + 0x20], 0x10000
mov dword [ebp - 4], edx
je 0x40d423
mov eax, dword [ebp - 4]
mov edx, dword [esi + 0x24]
shr eax, 2
dec edx
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
mov eax, dword [esi + 0x38]
mov dword [ebp - 8], edi
mov edi, 0xeeeeeeee
jbe 0x40d41e
xor ebx, ebx
mov esi, dword [ebp - 8]
movzx eax, dl
add edi, dword [eax*4 + 0x466258]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + ebx*4]
lea eax, [edi + edx]
xor eax, ecx
mov dword [esi + ebx*4], eax
mov eax, edx
not eax
shr edx, 0xb
shl eax, 0x15
inc ebx
add eax, 0x11111111
or edx, eax
mov eax, edi
shl eax, 5
add edi, 3
add eax, ecx
add edi, eax
cmp ebx, dword [ebp - 0xc]
jb 0x40d3d2
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edi, dword [esi + 0x38]
jmp 0x40d420
mov edi, eax
mov edx, dword [ebp - 4]
mov eax, dword [esi + 0x34]
test eax, eax
je 0x40d435
add ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
adc ebx, 0
mov dword [ebp - 0x18], ebx
push edx
push edi
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x14]
push dword [eax]
call fcn.0040b1b0
add esp, 0x10
pop edi
pop esi
pop ebx
test al, al
jne 0x40d459
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esp, ebp
pop ebp
ret
xor eax, eax
mov esp, ebp
pop ebp
ret

Function at 0x4116d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
dec edx
add edx, eax
cmp eax, edx
jae 0x4116f5
movzx ecx, byte [edx]
xor byte [eax], cl
movzx ecx, byte [eax]
xor byte [edx], cl
movzx ecx, byte [edx]
dec edx
xor byte [eax], cl
inc eax
cmp eax, edx
jb 0x4116e0
pop ebp
ret
Function at 0x413c20
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
jne 0x413c42
push 0xeb
push str.e:eurekawow_stormlib_9.22_srclibtomcrypt_srchashesmd5.c
push str.md___NULL
call fcn.00423b10
add esp, 0xc
mov dword [esi + 8], 0x67452301
xor eax, eax
mov dword [esi + 0xc], 0xefcdab89
mov dword [esi + 0x10], 0x98badcfe
mov dword [esi + 0x14], 0x10325476
mov dword [esi + 0x18], 0
mov dword [esi], 0
mov dword [esi + 4], 0
pop esi
pop ebp
ret
Function at 0x414880
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
lea ecx, [edx - 0x21524111]
mov eax, dword [eax]
add ecx, eax
mov eax, dword [ebp + 0x14]
push esi
push edi
mov esi, ecx
mov edi, ecx
add ecx, dword [eax]
mov dword [ebp - 4], esi
cmp edx, 0xc
jbe switch.0x00414990
add edx, 0xfffffff3
mov eax, 0xaaaaaaab
mul edx
mov eax, edx
shr eax, 3
inc eax
mov dword [ebp - 8], eax
movzx esi, byte [ebx + 7]
movzx eax, byte [ebx + 6]
movzx edx, byte [ebx + 0xb]
shl esi, 8
add esi, eax
shl edx, 8
movzx eax, byte [ebx + 5]
shl esi, 8
add esi, eax
movzx eax, byte [ebx + 4]
add edi, eax
shl esi, 8
movzx eax, byte [ebx + 0xa]
add edi, esi
movzx esi, byte [ebx + 8]
add edx, eax
movzx eax, byte [ebx + 9]
add esi, ecx
shl edx, 8
add edx, eax
shl edx, 8
add esi, edx
mov edx, dword [ebp + 8]
mov ebx, esi
rol ebx, 4
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 2]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx]
shl ecx, 8
add ecx, eax
sub ecx, esi
add esi, edi
add ecx, dword [ebp - 4]
xor ebx, ecx
sub edi, ebx
mov eax, ebx
add ebx, esi
rol eax, 6
xor eax, edi
sub esi, eax
mov edx, eax
rol edx, 8
add eax, ebx
xor edx, esi
sub ebx, edx
mov esi, edx
rol esi, 0x10
add edx, eax
xor esi, ebx
mov ebx, dword [ebp + 8]
mov edi, esi
sub eax, esi
ror edi, 0xd
add esi, edx
xor edi, eax
mov dword [ebp - 4], esi
sub edx, edi
mov ecx, edi
rol ecx, 4
add ebx, 0xc
xor ecx, edx
mov dword [ebp + 8], ebx
mov edx, dword [ebp + 0xc]
add edi, esi
sub edx, 0xc
sub dword [ebp - 8], 1
mov dword [ebp + 0xc], edx
jne 0x4148c4
cmp edx, 0xc
ja 0x4149fc
jmp dword [edx*4 + 0x414a54]
movzx eax, byte [ebx + 0xb]
shl eax, 0x18
add ecx, eax
movzx eax, byte [ebx + 0xa]
shl eax, 0x10
add ecx, eax
movzx eax, byte [ebx + 9]
shl eax, 8
add ecx, eax
movzx eax, byte [ebx + 8]
add ecx, eax
movzx eax, byte [ebx + 7]
shl eax, 0x18
add edi, eax
movzx eax, byte [ebx + 6]
shl eax, 0x10
add edi, eax
movzx eax, byte [ebx + 5]
shl eax, 8
add edi, eax
movzx eax, byte [ebx + 4]
add edi, eax
movzx eax, byte [ebx + 3]
shl eax, 0x18
add esi, eax
movzx eax, byte [ebx + 2]
shl eax, 0x10
add esi, eax
movzx eax, byte [ebx + 1]
shl eax, 8
add esi, eax
movzx eax, byte [ebx]
add esi, eax
mov dword [ebp - 4], esi
xor ecx, edi
mov eax, edi
rol eax, 0xe
sub ecx, eax
mov eax, ecx
mov esi, ecx
xor esi, dword [ebp - 4]
rol eax, 0xb
sub esi, eax
xor edi, esi
mov eax, esi
ror eax, 7
sub edi, eax
mov eax, edi
xor ecx, edi
rol eax, 0x10
sub ecx, eax
mov eax, ecx
mov edx, ecx
rol eax, 4
xor edx, esi
sub edx, eax
mov eax, edx
xor edi, edx
rol eax, 0xe
sub edi, eax
mov eax, edi
xor ecx, edi
ror eax, 8
sub ecx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax], ecx
mov eax, dword [ebp + 0x14]
mov dword [eax], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x416780
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x41678c
pop ebp
ret
mov dword [ebp + 0xc], eax
pop ebp
jmp fcn.004167a0

Function at 0x419820
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov ecx, dword [ebp + 8]
xor eax, eax
push ebx
push esi
mov dword [ebp - 8], eax
lea edx, [ecx + 0x32550]
mov dword [ebp - 0xc], edx
push edi
nop word [eax + eax]
xor ebx, ebx
mov dword [ebp - 4], 4
mov edi, eax
lea eax, [ebx + 1]
nop
movzx edx, word [ecx + eax*2 + 0x32bf4]
mov esi, edi
and esi, 1
shr edx, 4
mov ecx, esi
shr edi, 1
neg ecx
add eax, eax
sar ecx, 4
or eax, esi
and ecx, 0x7f
xor edx, ecx
mov ecx, dword [ebp + 8]
add ebx, dword [ecx + edx*4 + 0x30ea0]
sub dword [ebp - 4], 1
jne 0x419850
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
mov dword [edx], ebx
add edx, 4
mov dword [ebp - 0xc], edx
cmp eax, 0x10
jb 0x419840
pop edi
pop esi
mov dword [ecx + 0x32590], 0
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4198b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x464714]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov ebx, 4
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x208], ebx
nop dword [eax]
nop dword [eax + eax]
movzx ecx, byte [edi + ebx + 0x306a0]
mov esi, 1
mov eax, ecx
mov dword [ebp - 0x218], ecx
mov edx, ecx
shr eax, 1
dec eax
mov dword [ebp - 0x20c], 0
and edx, 1
mov dword [ebp - 0x210], eax
or edx, 2
mov ecx, eax
shl edx, cl
mov ecx, ebx
sub ecx, edx
mov dword [ebp - 0x214], edx
test eax, eax
je 0x419980
mov ebx, eax
mov eax, esi
mov edx, ecx
sub eax, dword [ebp - 0x218]
and edx, 1
add eax, dword [ebp - 0x214]
add esi, esi
shr ecx, 1
or esi, edx
mov dword [ebp - 0x210], ecx
movzx ecx, word [edi + eax*2 + 0x32b0e]
mov eax, edx
neg eax
shr ecx, 4
sar eax, 4
and eax, 0x7f
xor ecx, eax
mov eax, dword [ebp - 0x20c]
add eax, dword [edi + ecx*4 + 0x30ea0]
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x20c], eax
sub ebx, 1
jne 0x419924
mov ebx, dword [ebp - 0x208]
jmp 0x419982
xor eax, eax
mov dword [ebp + ebx*4 - 0x204], eax
inc ebx
mov dword [ebp - 0x208], ebx
cmp ebx, 0x80
jb 0x4198e0
lea ecx, [ebp - 0x204]
mov dword [ebp - 0x210], 4
sub ecx, edi
lea esi, [edi + 0x31950]
lea eax, [edi + 0x32910]
mov dword [ebp - 0x208], esi
lea edx, [edi + 0x31d58]
mov dword [ebp - 0x21c], eax
sub ecx, 0x31d50
mov dword [ebp - 0x20c], edx
mov dword [ebp - 0x218], ecx
nop
mov eax, dword [edi + 0x32594]
xor ebx, ebx
mov dword [ebp - 0x214], ebx
test eax, eax
je 0x419a52
mov eax, ebx
xor esi, esi
mov ebx, dword [ebp - 0x21c]
or eax, 0x40
nop
mov edx, eax
and eax, 1
shr edx, 1
neg eax
sar eax, 4
and eax, 0x7f
movzx ecx, word [ebx + edx*2]
shr ecx, 4
xor ecx, eax
mov eax, edx
add esi, dword [edi + ecx*4 + 0x30ea0]
cmp eax, 1
jne 0x419a00
mov ebx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x208]
mov dword [eax + ebx*4], esi
inc ebx
mov eax, dword [edi + 0x32594]
mov dword [ebp - 0x214], ebx
cmp ebx, eax
jb 0x4199f2
mov esi, dword [ebp - 0x208]
mov edx, dword [ebp - 0x20c]
mov ecx, 0xe
cmp eax, ecx
jbe 0x419a76
nop dword [eax + eax]
mov eax, ecx
shr eax, 1
shl eax, 4
sub eax, 0x50
add dword [esi + ecx*4], eax
inc ecx
cmp ecx, dword [edi + 0x32594]
jb 0x419a60
mov eax, dword [esi]
mov ecx, 4
mov ebx, dword [ebp - 0x218]
mov dword [edx - 8], eax
mov eax, dword [esi + 4]
mov dword [edx - 4], eax
mov eax, dword [esi + 8]
mov dword [edx], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 4], eax
add edx, 8
nop word [eax + eax]
movzx eax, byte [edi + ecx + 0x306a0]
lea edx, [edx + 4]
inc ecx
mov eax, dword [esi + eax*4]
add eax, dword [edx + ebx - 4]
mov dword [edx - 4], eax
cmp ecx, 0x80
jb 0x419aa0
mov edx, dword [ebp - 0x20c]
add esi, 0x100
sub dword [ebp - 0x21c], 0xffffff80
add edx, 0x200
sub ebx, 0x200
mov dword [ebp - 0x208], esi
sub dword [ebp - 0x210], 1
mov dword [ebp - 0x20c], edx
mov dword [ebp - 0x218], ebx
jne 0x4199e0
mov ecx, dword [ebp - 4]
mov dword [edi + 0x3bcf8], 0
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0043b9a5
mov esp, ebp
pop ebp
ret
Function at 0x41b550
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [ebp + 0x18]
push esi
push edi
mov edi, dword [ebp + 8]
movzx ecx, word [edi]
mov eax, ecx
xor ecx, 0x7f0
shr eax, 4
shr ecx, 4
mov eax, dword [ebx + eax*4]
mov edx, dword [ebx + ecx*4]
movzx ecx, word [edi + 2]
mov dword [ebp - 8], eax
mov eax, ecx
shr eax, 4
xor ecx, 0x7f0
shr ecx, 4
mov eax, dword [ebx + eax*4]
add eax, edx
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + ecx*4]
add eax, edx
xor esi, esi
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x18], esi
cmp esi, dword [ebp + 0x10]
jae 0x41b6c4
mov edx, esi
mov dword [ebp - 4], 0
mov esi, dword [ebp - 4]
or edx, 8
mov eax, dword [ebp + 0xc]
mov ecx, edx
shr ecx, 1
and edx, 1
neg edx
sar edx, 4
and edx, 0x7f
lea eax, [ecx + eax*8]
movzx eax, word [edi + eax*2 + 4]
shr eax, 4
xor eax, edx
mov edx, ecx
add esi, dword [ebx + eax*4]
cmp edx, 1
jne 0x41b5b8
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0x14]
add eax, esi
mov esi, dword [ebp + 0x18]
mov dword [ecx + esi*4], eax
inc esi
mov dword [ebp + 0x18], esi
cmp esi, 8
jb 0x41b5a0
cmp esi, 0x10
jae 0x41b65d
lea eax, [esi - 8]
mov dword [ebp - 4], eax
cmp esi, dword [ebp + 0x10]
jae 0x41b6c4
mov edx, eax
xor esi, esi
or edx, 8
mov eax, dword [ebp + 0xc]
mov ecx, edx
shr ecx, 1
and edx, 1
neg edx
sar edx, 4
and edx, 0x7f
lea eax, [ecx + eax*8]
movzx eax, word [edi + eax*2 + 0x104]
shr eax, 4
xor eax, edx
mov edx, ecx
add esi, dword [ebx + eax*4]
cmp edx, 1
jne 0x41b613
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0x14]
add eax, esi
mov esi, dword [ebp + 0x18]
mov dword [ecx + esi*4], eax
inc esi
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp + 0x18], esi
mov dword [ebp - 4], eax
cmp esi, 0x10
jb 0x41b603
cmp esi, dword [ebp + 0x10]
jae 0x41b6c4
lea eax, [esi - 0x10]
mov dword [ebp - 4], eax
nop dword [eax + eax]
mov esi, dword [ebp + 8]
xor edi, edi
or eax, 0x100
nop word [eax + eax]
mov edx, eax
and eax, 1
shr edx, 1
neg eax
sar eax, 4
and eax, 0x7f
movzx ecx, word [esi + edx*2 + 0x204]
shr ecx, 4
xor ecx, eax
mov eax, edx
add edi, dword [ebx + ecx*4]
cmp eax, 1
jne 0x41b680
mov esi, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x10]
add eax, edi
mov dword [ecx + esi*4], eax
inc esi
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp + 0x18], esi
mov dword [ebp - 4], eax
cmp esi, dword [ebp + 0x10]
jb 0x41b670
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x41b7b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
xor edi, edi
or ecx, 0x100
mov edx, dword [ebp + 8]
mov eax, ecx
shr eax, 8
movzx esi, word [edx + eax*2]
mov edx, ecx
shr edx, 7
add ecx, ecx
and edx, 1
shr esi, 4
neg edx
sar edx, 4
and edx, 0x7f
xor esi, edx
add edi, dword [ebx + esi*4]
cmp ecx, 0x10000
jb 0x41b7c4
mov eax, edi
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x41b800
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
push ebx
push esi
mov esi, 0x100
xor ebx, ebx
push edi
mov edi, dword [ebp + 0x10]
or ecx, esi
add edi, edi
mov edx, esi
and edx, edi
mov eax, ecx
add edx, esi
shr eax, 8
add eax, edx
mov edx, dword [ebp + 8]
movzx edx, word [edx + eax*2]
mov eax, ecx
shr eax, 7
add ecx, ecx
and eax, 1
shr edx, 4
neg eax
sar eax, 4
and eax, 0x7f
xor edx, eax
mov eax, dword [ebp + 0x14]
add ebx, dword [eax + edx*4]
mov edx, ecx
xor edx, edi
not edx
and esi, edx
cmp ecx, 0x10000
jb 0x41b815
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret
Function at 0x4229a0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push str.1.0.5__10_Dec_2007
push dword [ebp + 8]
push str._n_nbzip2_libbzip2:_internal_error_number__d._nThis_is_a_bug_in_bzip2_libbzip2___s._nPlease_report_it_to_me_at:_jseward_bzip.org.__If_this_happened_nwhen_you_were_using_some_program_which_uses_libbzip2_as_a_ncomponent__you_should_also_report_this_bug_to_the_author_s__nof_that_program.__Please_make_an_effort_to_report_this_bug__ntimely_and_accurate_bug_reports_eventually_lead_to_higher_nquality_software.__Thanks.__Julian_Seward__10_December_2007._n_n
push 2
call fcn.00442262
add esp, 4
push eax
call fcn.00422ce0
add esp, 0x10
cmp dword [ebp + 8], 0x3ef
jne 0x4229e4
push str._n_A_special_note_about_internal_error_number_1007__n_nExperience_suggests_that_a_common_cause_of_i.e._1007_nis_unreliable_memory_or_other_hardware.__The_1007_assertion_njust_happens_to_cross_check_the_results_of_huge_numbers_of_nmemory_reads_writes__and_so_acts__unintendedly__as_a_stress_ntest_of_your_memory_system._n_nI_suggest_the_following:_try_compressing_the_file_again__npossibly_monitoring_progress_in_detail_with_the__vv_flag._n_n_If_the_error_cannot_be_reproduced__and_or_happens_at_different_n__points_in_compression__you_may_have_a_flaky_memory_system._n__Try_a_memory_test_program.__I_have_used_Memtest86_n___www.memtest86.com_.__At_the_time_of_writing_it_is_free__GPLd_._n__Memtest86_tests_memory_much_more_thorougly_than_your_BIOSs_n__power_on_test__and_may_find_failures_that_the_BIOS_doesnt._n_n_If_the_error_can_be_repeatably_reproduced__this_is_a_bug_in_n__bzip2__and_I_would_very_much_like_to_hear_about_it.__Please_n__let_me_know__and__ideally__save_a_copy_of_the_file_causing_the_n__problem____without_which_I_will_be_unable_to_investigate_it._n_n
push 2
call fcn.00442262
add esp, 4
push eax
call fcn.00422ce0
add esp, 8
push 3
call fcn.00442184
int3
Function at 0x422a30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [eax + 0x38]
mov bl, byte [eax + 0x34]
test esi, esi
jle 0x422a6d
mov edx, dword [eax + 0x260]
push edi
movzx edi, bl
nop dword [eax]
mov ecx, edx
shl edx, 8
shr ecx, 0x18
xor ecx, edi
xor edx, dword [ecx*4 + 0x4642c0]
mov dword [eax + 0x260], edx
sub esi, 1
jne 0x422a50
pop edi
mov ecx, dword [eax + 0x34]
mov byte [eax + ecx + 0x58], 1
mov edx, dword [eax + 0x38]
mov ecx, edx
sub ecx, 1
je 0x422b1d
sub ecx, 1
je 0x422b01
sub ecx, 1
je 0x422ad9
mov byte [edx + eax + 0x54], 1
mov edx, dword [eax + 0x24]
mov ecx, dword [eax + 0x44]
mov byte [edx + ecx], bl
inc dword [eax + 0x44]
mov edx, dword [eax + 0x44]
mov ecx, dword [eax + 0x24]
mov byte [edx + ecx], bl
inc dword [eax + 0x44]
mov edx, dword [eax + 0x44]
mov ecx, dword [eax + 0x24]
mov byte [edx + ecx], bl
inc dword [eax + 0x44]
mov edx, dword [eax + 0x44]
mov ecx, dword [eax + 0x24]
mov byte [edx + ecx], bl
mov esi, dword [eax + 0x44]
inc esi
mov dword [eax + 0x44], esi
mov dl, byte [eax + 0x38]
mov ecx, dword [eax + 0x24]
sub dl, 4
mov byte [esi + ecx], dl
inc dword [eax + 0x44]
pop esi
pop ebx
pop ebp
ret
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x24]
pop esi
mov byte [edx + ecx], bl
inc dword [eax + 0x44]
mov edx, dword [eax + 0x44]
mov ecx, dword [eax + 0x24]
mov byte [edx + ecx], bl
inc dword [eax + 0x44]
mov edx, dword [eax + 0x44]
mov ecx, dword [eax + 0x24]
mov byte [edx + ecx], bl
inc dword [eax + 0x44]
pop ebx
pop ebp
ret
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x24]
pop esi
mov byte [edx + ecx], bl
inc dword [eax + 0x44]
mov edx, dword [eax + 0x44]
mov ecx, dword [eax + 0x24]
mov byte [edx + ecx], bl
inc dword [eax + 0x44]
pop ebx
pop ebp
ret
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x24]
pop esi
mov byte [edx + ecx], bl
inc dword [eax + 0x44]
pop ebx
pop ebp
ret
Function at 0x4291b0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
push esi
mov dword [eax + 0x30], 0
lea esi, [eax + 0x70]
mov dword [eax + 0x4c], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0x20
mov dword [eax + 0x54], 1
mov dword [eax + 0x48], 4
mov dword [eax + 0x58], 0
nop dword [eax]
mov ecx, edx
lea esi, [esi + 4]
and ecx, 1
mov eax, edx
shr eax, 1
neg ecx
and ecx, 0xedb88320
inc edx
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
shr eax, 1
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov dword [esi - 4], eax
cmp edx, 0x100
jb 0x4291f0
pop esi
pop ebp
ret
Function at 0x4382c0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push 0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0
push 0
call fcn.0044301d
mov ecx, dword [ebp + 8]
add esp, 0x18
mov dword [ecx], eax
test eax, eax
je 0x4382eb
xor eax, eax
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
mov ecx, 1
cmovne ecx, eax
mov eax, ecx
mov esp, ebp
pop ebp
ret

Function at 0x503b67
Capabilities:
Accept command line arguments
Hide graphical window

Disassembly:
mov ecx, ebp
push ebp
mov ebp, esp
mov dword [0x505076], ecx
call dword [sym.imp.KERNEL32.DLL_GetCommandLineA]
mov dword [0x505298], eax
mov dword [0x505220], 0x5032dd
mov dword [0x50521c], 2
jmp 0x503b97
mov dword [0x505224], 0
mov dword [0x505228], 0
mov dword [0x505218], 0x30
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [0x50522c], eax
mov dword [0x505240], 0x504088
mov dword [0x505238], 0xf
mov dword [0x50506e], eax
push 0x7f00
push 0
call dword [sym.imp.user32.dll_LoadIconA]
mov dword [0x505230], eax
mov dword [0x505244], eax
push 0x7f00
push 0
call dword [sym.imp.user32.dll_LoadCursorA]
mov dword [0x505234], eax
push 0x505218
call dword [sym.imp.user32.dll_RegisterClassExA]
push 0
push dword [0x50506e]
push 0
push 0
push 0x1e5
push 0x21e
push 0xffffe52a
push 0xfffff588
push 0x40000
push str.wait
push str.aroka
push 0
call dword [sym.imp.user32.dll_CreateWindowExA]
mov dword [0x505290], eax
push 5
push dword [0x505290]
call dword [sym.imp.user32.dll_ShowWindow]
push dword [0x505290]
call dword [sym.imp.user32.dll_UpdateWindow]
jmp 0x503c6a
push 0
push 0
push 0
push 0x505248
call dword [sym.imp.user32.dll_GetMessageA]
or eax, eax
je 0x503c97
push 0x505248
call dword [sym.imp.user32.dll_TranslateMessage]
push 0x505248
call dword [sym.imp.user32.dll_DispatchMessageA]
jmp 0x503c6a
mov eax, dword [0x505250]
jmp 0x503ca4
call 0x502b16
ret
Function at 0x1054b058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.1054b1a8
push ebx
mov ebx, esp
push ebx
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
cld
mov dl, 0x80
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
mov ebx, 2
add dl, dl
jne 0x1054b07e
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x1054b06a
add dl, dl
jne 0x1054b089
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x1054b0dc
xor eax, eax
add dl, dl
jne 0x1054b096
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x1054b17d
add dl, dl
jne 0x1054b0a5
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1054b0b0
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1054b0bb
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1054b0c6
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x1054b0d2
push edi
mov eax, eax
sub edi, eax
mov al, byte [edi]
pop edi
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x1054b075
mov eax, 1
add dl, dl
jne 0x1054b0ea
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1054b0f5
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x1054b0e1
sub eax, ebx
mov ebx, 1
jne 0x1054b128
mov ecx, 1
add dl, dl
jne 0x1054b10e
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1054b119
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x1054b105
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x1054b075
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1054b13f
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1054b14a
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x1054b136
cmp eax, 0x7d00
jae 0x1054b16d
cmp eax, 0x500
jb 0x1054b168
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x1054b075
cmp eax, 0x7f
ja 0x1054b170
add ecx, 2
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x1054b075
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x1054b19e
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0x1054b075
pop ebx
sub edi, dword [ebx + 0x10]
mov eax, edi
pop ebx
ret 0x10