Function at 0x401360
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x348
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp + 0xc]
mov ebx, edx
push edi
mov edi, ecx
xor edx, edx
mov dword [ebp - 0x348], eax
mov dword [ebp - 4], ebx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edx
mov eax, 1
cmp eax, 0x63
jge 0x4015ca
dec eax
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x10], eax
mov esi, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x348]
mov dword [ebp - 0x18], esi
lea eax, [ecx + eax*4]
mov dword [ebp - 0x20], eax
mov ecx, dword [eax]
mov eax, ecx
sub eax, esi
mov dword [ebp + 8], ecx
cmp eax, 0xa
jge 0x4013de
push ecx
push esi
mov edx, ebx
mov ecx, edi
call fcn.00401290
add esp, 8
jmp 0x4015b5
imul edx, edx, 0x1dc5
inc edx
and edx, 0x7fff
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x14]
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x40140f
mov eax, dword [edi + esi*4]
mov ecx, dword [ebx + eax*4]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
jmp 0x401435
mov eax, dword [ebp + 8]
cmp ecx, 1
jne 0x401429
add eax, esi
sar eax, 1
mov eax, dword [edi + eax*4]
mov ecx, dword [ebx + eax*4]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
jmp 0x401435
mov eax, dword [edi + eax*4]
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov ebx, esi
mov dword [ebp + 0xc], eax
lea ecx, [ecx]
cmp esi, eax
jg 0x4014a1
mov edx, dword [edi + esi*4]
mov ecx, dword [ecx + edx*4]
sub ecx, dword [ebp - 8]
jne 0x401463
mov ecx, dword [edi + ebx*4]
mov dword [edi + esi*4], ecx
mov dword [edi + ebx*4], edx
inc esi
inc ebx
cmp esi, eax
jg 0x4014a1
mov ecx, dword [ebp - 4]
jmp 0x401444
test ecx, ecx
jle 0x40158b
jmp 0x401470
mov edx, dword [edi + eax*4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + edx*4]
sub ecx, dword [ebp - 8]
jne 0x401494
mov ecx, dword [ebp + 0xc]
mov ecx, dword [edi + ecx*4]
mov dword [edi + eax*4], ecx
mov ecx, dword [ebp + 0xc]
dec ecx
mov dword [edi + ecx*4 + 4], edx
mov dword [ebp + 0xc], ecx
jmp 0x40149c
test ecx, ecx
js 0x401575
dec eax
cmp esi, eax
jle 0x401470
mov dword [ebp - 0xc], esi
cmp dword [ebp + 0xc], ebx
jl 0x4015b2
mov edx, esi
sub edx, ebx
sub ebx, dword [ebp - 0x18]
mov ecx, edx
cmp ebx, edx
cmovl ecx, ebx
mov dword [ebp - 0x28], edx
mov dword [ebp - 8], ecx
test ecx, ecx
jle 0x4014f9
mov ecx, dword [ebp - 0x18]
lea ebx, [edi + ecx*4]
mov ecx, esi
mov esi, dword [ebp - 8]
sub ecx, esi
lea ecx, [edi + ecx*4]
mov dword [ebp - 8], ecx
mov edi, ecx
lea ebx, [ebx]
mov ecx, dword [edi]
mov edx, dword [ebx]
mov dword [ebx], ecx
dec esi
mov dword [edi], edx
lea ebx, [ebx + 4]
lea edi, [edi + 4]
test esi, esi
jg 0x4014e0
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
sub ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0xc]
sub ebx, eax
cmp ecx, ebx
cmovl ebx, ecx
test ebx, ebx
jle 0x401536
mov ecx, dword [ebp + 8]
lea esi, [edi + esi*4]
sub ecx, ebx
add edi, 4
lea ecx, [edi + ecx*4]
mov dword [ebp - 0xc], ecx
mov edi, ecx
mov ecx, dword [edi]
mov edx, dword [esi]
mov dword [esi], ecx
dec ebx
mov dword [edi], edx
lea esi, [esi + 4]
lea edi, [edi + 4]
test ebx, ebx
jg 0x401520
mov edi, dword [ebp - 0x1c]
sub eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x18]
dec edx
lea esi, [ecx + 1]
add esi, eax
add edx, ebx
mov eax, edx
sub ecx, esi
sub eax, ebx
cmp eax, ecx
jle 0x401594
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 4]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
add eax, 2
mov dword [ebp + eax*4 - 0x1bc], esi
mov dword [ebp + eax*4 - 0x34c], ecx
jmp 0x4015b8
mov ecx, dword [edi + eax*4]
mov edx, dword [edi + esi*4]
mov dword [edi + esi*4], ecx
mov ecx, dword [ebp - 4]
mov dword [edi + eax*4], edx
inc esi
dec eax
jmp 0x401440
mov ecx, dword [ebp - 4]
inc esi
jmp 0x401440
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov eax, dword [ebp - 0x10]
add eax, 2
mov dword [ebp + eax*4 - 0x1bc], ebx
mov ebx, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x34c], edx
jmp 0x4015b8
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
test eax, eax
jg 0x401392
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.1.0.6__6_Sept_2010
push 0x3ec
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
call dword [sym.imp.msvcrt.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0x10
push 3
call dword [sym.imp.msvcrt.dll_exit]
int3