Function at 0x4c822f
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, dword [0x6115dc]
cmp dword [edi + 0x22c], 0
je 0x4c824e
mov eax, dword [ebp + 8]
mov dword [edi + 0x230], eax
pop edi
pop ebp
ret
mov eax, str._nMIRACL_error_from_routine
call fcn.004c8205
mov eax, dword [edi + 0x20]
cmp eax, 0x18
jge 0x4c826d
mov eax, dword [edi + eax*4 + 0x24]
mov eax, dword [eax*4 + 0x60fc00]
jmp 0x4c8272
mov eax, 0x5b77f0
call fcn.004c8205
mov ebx, dword [sym.imp.MSVCR80.dll___iob_func]
call ebx
add eax, 0x20
push eax
push 0xa
call dword [sym.imp.MSVCR80.dll_fputc]
mov esi, dword [edi + 0x20]
dec esi
pop ecx
pop ecx
js 0x4c82d3
lea edi, [edi + esi*4 + 0x24]
mov eax, str.______________called_from
call fcn.004c8205
cmp esi, 0x18
jge 0x4c82b1
mov eax, dword [edi]
mov eax, dword [eax*4 + 0x60fc00]
jmp 0x4c82b6
mov eax, 0x5b77f0
call fcn.004c8205
call ebx
add eax, 0x20
push eax
push 0xa
call dword [sym.imp.MSVCR80.dll_fputc]
dec esi
pop ecx
sub edi, 4
test esi, esi
pop ecx
jge 0x4c8297
mov eax, dword [ebp + 8]
dec eax
cmp eax, 0x17
ja case.default.0x4c82e0
jmp dword [eax*4 + 0x4c83ab]
mov eax, str.Number_base_too_big_for_representation_n
jmp 0x4c839c
mov eax, str.Division_by_zero_attempted_n
jmp 0x4c839c
mov eax, str.Overflow___Number_too_big_n
jmp 0x4c839c
mov eax, str.Internal_result_is_negative_n
jmp 0x4c839c
mov eax, str.Input_format_error_n
jmp 0x4c839c
mov eax, str.Illegal_number_base_n
jmp 0x4c839c
mov eax, str.Illegal_parameter_usage_n
jmp 0x4c839c
mov eax, str.Out_of_space_n
jmp 0x4c839c
mov eax, str.Even_root_of_a_negative_number_n
jmp 0x4c839c
mov eax, str.Raising_integer_to_negative_power_n
jmp 0x4c839c
mov eax, str.Attempt_to_take_illegal_root_n
jmp 0x4c839c
mov eax, str.Integer_operation_attempted_on_Flash_number_n
jmp 0x4c839c
mov eax, str.Flash_overflow_n
jmp 0x4c839c
mov eax, str.Numbers_too_big_n
jmp 0x4c839c
mov eax, str.Log_of_a_non_positive_number_n
jmp 0x4c839c
mov eax, str.Flash_to_double_conversation_failure_n
jmp 0x4c839c
mov eax, str.I_O_buffer_overflow_n
jmp 0x4c839c
mov eax, str.MIRACL_not_initialised___no_call_to_mirsys___n
jmp 0x4c839c
mov eax, str.Illegal_modulus__n
jmp 0x4c839c
mov eax, str.No_modulus_defined_n
jmp 0x4c839c
mov eax, str.Exponent_too_big_n
jmp 0x4c839c
mov eax, str.Number_Base_must_be_power_of_2_n
jmp 0x4c839c
mov eax, str.Specified_double_length_type_isnt_double_length_n
jmp 0x4c839c
mov eax, str.Specified_basis_is_NOT_irreducible_n
call fcn.004c8205
push 0
call dword [sym.imp.MSVCR80.dll_exit]
mov edi, edi
out 0x82, eax
dec esp
add cl, dh
or byte [eax + eax - 5], 0x82
dec esp
add byte [0xf004c83], al
or dword [eax + eax + 0x19], 0xffffff83
dec esp
add byte [eax], ah
or dword [eax + eax + 0x27], 0xffffff83
dec esp
add byte [esi], ch
or dword [eax + eax + 0x35], 0xffffff83
dec esp
add byte [ebx + eax*4], bh
dec esp
add byte [ebx - 0x7d], al
dec esp
add byte [edx - 0x7d], cl
dec esp
add byte [ecx - 0x7d], dl
dec esp
add byte [eax - 0x7d], bl
dec esp
add byte [edi - 0x7d], bl
dec esp
add byte [esi - 0x7d], ah
dec esp
add byte [ebp - 0x7d], ch
dec esp
add byte [ebx + eax*4 + 0x4c], dh
add byte [ebx - 0x7d], bh
dec esp
add byte [edx - 0x76ffb37d], al
or dword [eax + eax - 0x70], 0xffffff83
dec esp
add byte [edi + 0x55004c83], dl
push ebp