Function at 0x488776
Capabilities:
Terminate process

Disassembly:
mov eax, dword [0x505fa4]
cmp dword [eax + 0x224], 0
je 0x48878f
mov ecx, dword [esp + 4]
mov dword [eax + 0x228], ecx
ret
push ebp
push esi
push edi
push str._nMIRACL_error_from_routine
call fcn.004889aa
pop ecx
mov eax, dword [0x505fa4]
mov ecx, dword [eax + 0x1c]
mov ebp, 0x500b8c
cmp ecx, 0x18
jge 0x4887bc
mov eax, dword [eax + ecx*4 + 0x20]
push dword [eax*4 + 0x4ff8d4]
jmp 0x4887bd
push ebp
call fcn.004889aa
pop ecx
mov edi, 0x501fe0
push edi
push 0xa
call fcn.00498bd7
mov eax, dword [0x505fa4]
pop ecx
pop ecx
mov esi, dword [eax + 0x1c]
dec esi
js 0x488820
push ebx
lea ebx, [esi*4 + 0x20]
push str.______________called_from
call fcn.004889aa
cmp esi, 0x18
pop ecx
jge 0x488806
mov eax, dword [0x505fa4]
mov eax, dword [ebx + eax]
push dword [eax*4 + 0x4ff8d4]
jmp 0x488807
push ebp
call fcn.004889aa
pop ecx
push edi
push 0xa
call fcn.00498bd7
dec esi
pop ecx
sub ebx, 4
pop ecx
test esi, esi
jge 0x4887e5
pop ebx
mov eax, dword [esp + 0x10]
pop edi
dec eax
pop esi
cmp eax, 0x1c
pop ebp
ja case.default.0x488831
jmp dword [eax*4 + 0x488936]
push str.Number_base_too_big_for_representation_n
jmp 0x488929
push str.Division_by_zero_attempted_n
jmp 0x488929
push str.Overflow___Number_too_big_n
jmp 0x488929
push str.Internal_result_is_negative_n
jmp 0x488929
push str.Input_format_error_n
jmp 0x488929
push str.Illegal_number_base_n
jmp 0x488929
push str.Illegal_parameter_usage_n
jmp 0x488929
push str.Out_of_space_n
jmp 0x488929
push str.Even_root_of_a_negative_number_n
jmp 0x488929
push str.Raising_integer_to_negative_power_n
jmp 0x488929
push str.Attempt_to_take_illegal_root_n
jmp 0x488929
push str.Integer_operation_attempted_on_Flash_number_n
jmp 0x488929
push str.Flash_overflow_n
jmp 0x488929
push str.Numbers_too_big_n
jmp 0x488929
push str.Log_of_a_non_positive_number_n
jmp 0x488929
push str.Flash_to_double_conversion_failure_n
jmp 0x488929
push str.I_O_buffer_overflow_n
jmp 0x488929
push str.MIRACL_not_initialised___no_call_to_mirsys___n
jmp 0x488929
push str.Illegal_modulus__n
jmp 0x488929
push str.No_modulus_defined_n
jmp 0x488929
push str.Exponent_too_big_n
jmp 0x488929
push str.Unsupported_Feature___check_mirdef.h_n
jmp 0x488929
push str.Specified_double_length_type_isnt_double_length_n
jmp 0x488929
push str.Specified_basis_is_NOT_irreducible_n
jmp 0x488929
push str.Unable_to_control_Floating_point_rounding_n
jmp 0x488929
push str.Base_must_be_binary__MR_ALWAYS_BINARY_defined_in_mirdef.h____n
jmp 0x488929
push str.No_irreducible_basis_defined_n
jmp 0x488929
push str.Composite_modulus_n
jmp 0x488929
push str.Input_output_error_when_reading_from_RNG_device_node_n
jmp 0x488929
push str.Undefined_error_n
call fcn.004889aa
pop ecx
push 0
call fcn.00498fe5
cmp byte [eax - 0x77bdffb8], cl
dec eax
add byte [eax + ecx*4 + 0x48], cl
add byte [esi - 0x78], dl
dec eax
add byte [eax - 0x78], ah
dec eax
add byte [edx - 0x78], ch
dec eax
add byte [eax + ecx*4 + 0x48], dh
add byte [esi - 0x78], bh
dec eax
add byte [eax - 0x6dffb778], cl
mov byte [eax], cl
pushfd
mov byte [eax], cl
cmpsb byte [esi], byte es:[edi]
mov byte [eax], cl
lodsd eax, dword [esi]
mov byte [eax], cl
mov ah, 0x88
dec eax
add byte [ebx - 0x3dffb778], bh
mov byte [eax], cl
leave
mov byte [eax], cl
ror byte [eax - 0x7728ffb8], 1
dec eax
add dh, bl
mov byte [eax], cl
in eax, 0x88
dec eax
add ah, ch
mov byte [eax], cl
mov byte [eax], cl
cli
mov byte [eax], cl
add dword [ecx - 0x76f7ffb8], ecx
dec eax
add byte [edi], cl
mov dword [eax], ecx
push ss
mov dword [eax], ecx
sbb eax, 0x56004889
push esi
mov esi, dword [esp + 8]
mov al, byte [esi]
test al, al
je 0x4889c8
movsx eax, al
push 0x501fe0
push eax
inc esi
call fcn.00498bd7
pop ecx
pop ecx
jmp 0x4889af
pop esi
ret