Function at 0x4899b6
Capabilities:
Terminate process

Disassembly:
mov eax, dword [0x508bb8]
cmp dword [eax + 0x224], 0
je 0x4899cf
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.00489bea
pop ecx
mov eax, dword [0x508bb8]
mov ecx, dword [eax + 0x1c]
mov ebp, 0x5037bc
cmp ecx, 0x18
jge 0x4899fc
mov eax, dword [eax + ecx*4 + 0x20]
push dword [eax*4 + 0x502504]
jmp 0x4899fd
push ebp
call fcn.00489bea
pop ecx
mov edi, 0x504be8
push edi
push 0xa
call fcn.00499bcc
mov eax, dword [0x508bb8]
pop ecx
pop ecx
mov esi, dword [eax + 0x1c]
dec esi
js 0x489a60
push ebx
lea ebx, [esi*4 + 0x20]
push str.______________called_from
call fcn.00489bea
cmp esi, 0x18
pop ecx
jge 0x489a46
mov eax, dword [0x508bb8]
mov eax, dword [ebx + eax]
push dword [eax*4 + 0x502504]
jmp 0x489a47
push ebp
call fcn.00489bea
pop ecx
push edi
push 0xa
call fcn.00499bcc
dec esi
pop ecx
sub ebx, 4
pop ecx
test esi, esi
jge 0x489a25
pop ebx
mov eax, dword [esp + 0x10]
pop edi
dec eax
pop esi
cmp eax, 0x1c
pop ebp
ja case.default.0x489a71
jmp dword [eax*4 + 0x489b76]
push str.Number_base_too_big_for_representation_n
jmp 0x489b69
push str.Division_by_zero_attempted_n
jmp 0x489b69
push str.Overflow___Number_too_big_n
jmp 0x489b69
push str.Internal_result_is_negative_n
jmp 0x489b69
push str.Input_format_error_n
jmp 0x489b69
push str.Illegal_number_base_n
jmp 0x489b69
push str.Illegal_parameter_usage_n
jmp 0x489b69
push str.Out_of_space_n
jmp 0x489b69
push str.Even_root_of_a_negative_number_n
jmp 0x489b69
push str.Raising_integer_to_negative_power_n
jmp 0x489b69
push str.Attempt_to_take_illegal_root_n
jmp 0x489b69
push str.Integer_operation_attempted_on_Flash_number_n
jmp 0x489b69
push str.Flash_overflow_n
jmp 0x489b69
push str.Numbers_too_big_n
jmp 0x489b69
push str.Log_of_a_non_positive_number_n
jmp 0x489b69
push str.Flash_to_double_conversion_failure_n
jmp 0x489b69
push str.I_O_buffer_overflow_n
jmp 0x489b69
push str.MIRACL_not_initialised___no_call_to_mirsys___n
jmp 0x489b69
xor eax, 0x52eb0050
push str.Illegal_modulus__n
jmp 0x489b69
push str.No_modulus_defined_n
jmp 0x489b69
push str.Exponent_too_big_n
jmp 0x489b69
push str.Unsupported_Feature___check_mirdef.h_n
jmp 0x489b69
push str.Specified_double_length_type_isnt_double_length_n
jmp 0x489b69
push str.Specified_basis_is_NOT_irreducible_n
jmp 0x489b69
push str.Unable_to_control_Floating_point_rounding_n
jmp 0x489b69
push str.Base_must_be_binary__MR_ALWAYS_BINARY_defined_in_mirdef.h____n
jmp 0x489b69
push str.No_irreducible_basis_defined_n
jmp 0x489b69
push str.Composite_modulus_n
jmp 0x489b69
push str.Input_output_error_when_reading_from_RNG_device_node_n
jmp 0x489b69
push str.Undefined_error_n
call fcn.00489bea
pop ecx
push 0
call fcn.0049a145
js 0x489b12
dec eax
add byte [edx - 0x73ffb766], al
lcall 0x48, 0x9a960048
mov al, byte [0xaa00489a]
lcall 72, 0x9ab40048
mov esi, 0xc800489a
lcall 72, 0x9ad20048
fcomp qword [edx - 0x6519ffb8]
dec eax
add ch, ch
lcall 0x48, 0x9af40048
sti
lcall 72, 0x9b020048
or dword [ebx - 0x64efffb8], ebx
dec eax
add byte [edi], dl
wait
dec eax
add byte [esi], bl
wait
dec eax
add byte [0x2c00489b], ah
wait
dec eax
add byte [ebx], dh
wait
dec eax
add byte [edx], bh
wait
dec eax
add byte [ecx - 0x65], al
dec eax
add byte [eax - 0x65], cl
dec eax
add byte [edi - 0x65], cl
dec eax
add byte [esi - 0x65], dl
dec eax
add byte [ebp - 0x65], bl
dec eax
add byte [esi - 0x75], dl
push esi
invalid
je 0x489c12
or byte [edx + 0x74c08406], cl
adc ecx, dword [edi]
mov esi, 0x4be868c0
push eax
add byte [eax + 0x46], dl
mov al, byte [esi]
test al, al
je 0x489c08
movsx eax, al
push 0x504be8
push eax
inc esi
call fcn.00499bcc
pop ecx
pop ecx
jmp 0x489bef
pop esi
ret
invalid