Function at 0x10011630
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x81c
cmp dword [ebp + 0x14], 4
push ebx
push esi
push edi
mov ebx, eax
jl 0x1001165d
push str.________bucket_sorting_..._n
call fcn.1002f561
add eax, 0x40
push eax
call fcn.1002f702
add esp, 8
xor eax, eax
mov ecx, 0x101
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
xor ecx, ecx
test eax, eax
jle 0x1001168a
mov edx, dword [ebp + 0xc]
movzx edx, byte [ecx + edx]
add dword [esp + edx*4 + 0x20], 1
lea edx, [esp + edx*4 + 0x20]
add ecx, 1
cmp ecx, eax
jl 0x10011673
mov ecx, pe_nt_image_headers32
lea esi, [esp + 0x20]
lea edi, [esp + 0x428]
rep movsd dword es:[edi], dword [esi]
mov ecx, 1
mov edx, dword [esp + ecx*4 + 0x1c]
add dword [esp + ecx*4 + 0x20], edx
mov edx, dword [esp + ecx*4 + 0x20]
add dword [esp + ecx*4 + 0x24], edx
mov edx, dword [esp + ecx*4 + 0x24]
add dword [esp + ecx*4 + 0x28], edx
mov edx, dword [esp + ecx*4 + 0x28]
add dword [esp + ecx*4 + 0x2c], edx
add ecx, 4
cmp ecx, 0x101
jl 0x100116a1
xor edx, edx
test eax, eax
jle 0x100116f1
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [edx + ecx]
lea esi, [esp + ecx*4 + 0x20]
mov ecx, dword [esi]
sub ecx, 1
mov dword [esi], ecx
mov esi, dword [ebp + 8]
mov dword [esi + ecx*4], edx
add edx, 1
cmp edx, eax
jl 0x100116d2
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
add eax, 2
test eax, eax
jle 0x10011709
mov ecx, eax
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
xor eax, eax
jmp 0x10011710
mov ecx, dword [esp + eax*4 + 0x20]
mov edx, ecx
sar edx, 5
and ecx, 0x1f
lea edx, [ebx + edx*4]
mov esi, 1
shl esi, cl
mov ecx, dword [esp + eax*4 + 0x24]
add eax, 4
or dword [edx], esi
mov edx, ecx
and ecx, 0x1f
sar edx, 5
lea edx, [ebx + edx*4]
mov esi, 1
shl esi, cl
mov ecx, dword [esp + eax*4 + 0x18]
or dword [edx], esi
mov edx, ecx
and ecx, 0x1f
sar edx, 5
mov esi, 1
shl esi, cl
mov ecx, dword [esp + eax*4 + 0x1c]
lea edx, [ebx + edx*4]
or dword [edx], esi
mov edx, ecx
and ecx, 0x1f
mov esi, 1
shl esi, cl
sar edx, 5
lea edx, [ebx + edx*4]
or dword [edx], esi
cmp eax, 0x100
jl 0x10011710
mov edi, dword [ebp + 0x10]
mov eax, edi
mov dword [esp + 0x10], 0x20
mov ecx, eax
sar ecx, 5
lea edx, [ebx + ecx*4]
mov ecx, eax
and ecx, 0x1f
mov esi, 1
shl esi, cl
lea ecx, [eax + 1]
add eax, 2
or dword [edx], esi
mov edx, ecx
and ecx, 0x1f
mov esi, 1
shl esi, cl
sar edx, 5
lea edx, [ebx + edx*4]
not esi
and dword [edx], esi
sub dword [esp + 0x10], 1
jne 0x10011787
mov eax, 1
mov dword [esp + 0x10], eax
cmp dword [ebp + 0x14], 4
jl 0x100117e6
push eax
push str.________depth__6d_has
call fcn.1002f561
add eax, 0x40
push eax
call fcn.1002f702
add esp, 0xc
xor edx, edx
xor eax, eax
test edi, edi
jle 0x10011821
mov ecx, eax
and ecx, 0x1f
mov esi, 1
shl esi, cl
mov ecx, eax
sar ecx, 5
test dword [ebx + ecx*4], esi
je 0x10011806
mov edx, eax
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax*4]
sub ecx, dword [esp + 0x10]
jns 0x10011814
add ecx, edi
mov esi, dword [ebp + 0xc]
add eax, 1
cmp eax, edi
mov dword [esi + ecx*4], edx
jl 0x100117ee
mov dword [esp + 0x14], 0
or esi, 0xffffffff
lea esp, [esp]
lea eax, [esi + 1]
mov ecx, eax
and ecx, 0x1f
mov esi, 1
shl esi, cl
mov edx, eax
sar edx, 5
test dword [ebx + edx*4], esi
je 0x1001186d
lea esp, [esp]
test ecx, ecx
je 0x1001186d
add eax, 1
mov ecx, eax
and ecx, 0x1f
mov esi, 1
shl esi, cl
mov edx, eax
sar edx, 5
test dword [ebx + edx*4], esi
jne 0x10011850
mov ecx, eax
sar ecx, 5
mov edx, dword [ebx + ecx*4]
mov ecx, eax
and ecx, 0x1f
mov esi, 1
shl esi, cl
test edx, esi
je 0x100118cd
cmp edx, 0xffffffff
jne 0x1001189e
lea ebx, [ebx]
add eax, 0x20
mov edx, eax
sar edx, 5
cmp dword [ebx + edx*4], 0xffffffff
je 0x10011890
mov ecx, eax
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov ecx, eax
sar ecx, 5
test dword [ebx + ecx*4], edx
je 0x100118cd
add eax, 1
mov ecx, eax
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov ecx, eax
sar ecx, 5
test dword [ebx + ecx*4], edx
jne 0x100118b4
mov edi, dword [ebp + 0x10]
lea ecx, [eax - 1]
cmp ecx, edi
mov dword [esp + 0x18], ecx
jge 0x100119ec
mov ecx, eax
and ecx, 0x1f
mov esi, 1
shl esi, cl
mov edx, eax
sar edx, 5
test dword [ebx + edx*4], esi
jne 0x10011912
test ecx, ecx
je 0x10011912
add eax, 1
mov ecx, eax
and ecx, 0x1f
mov esi, 1
shl esi, cl
mov edx, eax
sar edx, 5
test dword [ebx + edx*4], esi
je 0x100118f5
mov ecx, eax
sar ecx, 5
mov edx, dword [ebx + ecx*4]
mov ecx, eax
and ecx, 0x1f
mov esi, 1
shl esi, cl
test edx, esi
jne 0x1001196d
test edx, edx
jne 0x1001193e
mov edi, edi
add eax, 0x20
mov edx, eax
sar edx, 5
cmp dword [ebx + edx*4], 0
je 0x10011930
mov ecx, eax
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov ecx, eax
sar ecx, 5
test dword [ebx + ecx*4], edx
jne 0x1001196d
add eax, 1
mov ecx, eax
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov ecx, eax
sar ecx, 5
test dword [ebx + ecx*4], edx
je 0x10011954
lea esi, [eax - 1]
cmp esi, edi
mov dword [esp + 0x1c], esi
jge 0x100119ec
mov eax, dword [esp + 0x18]
cmp esi, eax
jle 0x10011830
mov ecx, dword [esp + 0x14]
mov edi, dword [ebp + 8]
mov edx, esi
sub edx, eax
lea edx, [ecx + edx + 1]
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, esi
mov dword [esp + 0x18], edx
call fcn.10011350
mov eax, dword [esp + 0x1c]
add esp, 4
or ecx, 0xffffffff
cmp eax, esi
jg 0x10011830
mov edx, dword [ebp + 8]
mov edx, dword [edx + eax*4]
mov edi, dword [ebp + 0xc]
mov edi, dword [edi + edx*4]
cmp ecx, edi
je 0x100119e0
mov ecx, eax
sar ecx, 5
lea edx, [ebx + ecx*4]
mov ecx, eax
and ecx, 0x1f
mov esi, 1
shl esi, cl
mov ecx, edi
or dword [edx], esi
mov esi, dword [esp + 0x1c]
add eax, 1
cmp eax, esi
jle 0x100119b4
jmp 0x10011830
mov esi, dword [ebp + 0x14]
cmp esi, 4
jl 0x10011a0f
mov edx, dword [esp + 0x14]
push edx
push str._6d_unresolved_strings_n
call fcn.1002f561
add eax, 0x40
push eax
call fcn.1002f702
add esp, 0xc
mov eax, dword [esp + 0x10]
add eax, eax
cmp eax, edi
mov dword [esp + 0x10], eax
jg 0x10011a28
cmp dword [esp + 0x14], 0
jne 0x100117c9
cmp esi, 4
jl 0x10011a43
push str.________reconstructing_block_..._n
call fcn.1002f561
add eax, 0x40
push eax
call fcn.1002f702
add esp, 8
xor eax, eax
xor edx, edx
test edi, edi
jle 0x10011abd
lea ecx, [esp + 0x428]
cmp dword [ecx], 0
jne 0x10011a6d
jmp 0x10011a60
add eax, 1
cmp dword [esp + eax*4 + 0x428], 0
je 0x10011a60
mov esi, dword [ebp + 8]
mov esi, dword [esi + edx*4]
add dword [esp + eax*4 + 0x428], 0xffffffff
mov ebx, dword [ebp + 0xc]
lea ecx, [esp + eax*4 + 0x428]
add edx, 1
cmp edx, edi
mov byte [ebx + esi], al
jl 0x10011a52
cmp eax, 0x100
jl 0x10011abd
push str.1.0.4__20_Dec_2006
push 0x3ed
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__15_February_2005._n_n
call fcn.1002f561
add eax, 0x40
push eax
call fcn.1002f702
add esp, 0x10
push 3
call fcn.1002fae1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret