Function at 0x514996
Capabilities:
Terminate process

Disassembly:
mov eax, dword [0x648750]
cmp dword [eax + 0x224], 0
je 0x5149af
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.00514bca
pop ecx
mov eax, dword [0x648750]
mov ecx, dword [eax + 0x1c]
mov ebp, 0x642824
cmp ecx, 0x18
jge 0x5149dc
mov eax, dword [eax + ecx*4 + 0x20]
push dword [eax*4 + 0x64156c]
jmp 0x5149dd
push ebp
call fcn.00514bca
pop ecx
mov edi, 0x644250
push edi
push 0xa
call fcn.0052d8f5
mov eax, dword [0x648750]
pop ecx
pop ecx
mov esi, dword [eax + 0x1c]
dec esi
js 0x514a40
push ebx
lea ebx, [esi*4 + 0x20]
push str.______________called_from
call fcn.00514bca
cmp esi, 0x18
pop ecx
jge 0x514a26
mov eax, dword [0x648750]
mov eax, dword [ebx + eax]
push dword [eax*4 + 0x64156c]
jmp 0x514a27
push ebp
call fcn.00514bca
pop ecx
push edi
push 0xa
call fcn.0052d8f5
dec esi
pop ecx
sub ebx, 4
pop ecx
test esi, esi
jge 0x514a05
pop ebx
mov eax, dword [esp + 0x10]
pop edi
dec eax
pop esi
cmp eax, 0x1c
pop ebp
ja case.default.0x514a51
jmp dword [eax*4 + 0x514b56]
push str.Number_base_too_big_for_representation_n
jmp 0x514b49
push str.Division_by_zero_attempted_n
jmp 0x514b49
push str.Overflow___Number_too_big_n
jmp 0x514b49
push str.Internal_result_is_negative_n
jmp 0x514b49
push str.Input_format_error_n
jmp 0x514b49
push str.Illegal_number_base_n
jmp 0x514b49
push str.Illegal_parameter_usage_n
jmp 0x514b49
push str.Out_of_space_n
jmp 0x514b49
push str.Even_root_of_a_negative_number_n
jmp 0x514b49
push str.Raising_integer_to_negative_power_n
jmp 0x514b49
push str.Attempt_to_take_illegal_root_n
jmp 0x514b49
push str.Integer_operation_attempted_on_Flash_number_n
jmp 0x514b49
push str.Flash_overflow_n
jmp 0x514b49
push str.Numbers_too_big_n
jmp 0x514b49
push str.Log_of_a_non_positive_number_n
jmp 0x514b49
push str.Flash_to_double_conversion_failure_n
jmp 0x514b49
push str.I_O_buffer_overflow_n
jmp 0x514b49
push str.MIRACL_not_initialised___no_call_to_mirsys___n
jmp 0x514b49
push str.Illegal_modulus__n
jmp 0x514b49
push str.No_modulus_defined_n
jmp 0x514b49
push str.Exponent_too_big_n
jmp 0x514b49
push str.Unsupported_Feature___check_mirdef.h_n
jmp 0x514b49
push str.Specified_double_length_type_isnt_double_length_n
jmp 0x514b49
push str.Specified_basis_is_NOT_irreducible_n
jmp 0x514b49
push str.Unable_to_control_Floating_point_rounding_n
jmp 0x514b49
push str.Base_must_be_binary__MR_ALWAYS_BINARY_defined_in_mirdef.h____n
jmp 0x514b49
push str.No_irreducible_basis_defined_n
jmp 0x514b49
push str.Composite_modulus_n
jmp 0x514b49
push str.Input_output_error_when_reading_from_RNG_device_node_n
jmp 0x514b49
push str.Undefined_error_n
call fcn.00514bca
pop ecx
push 0
call fcn.0052a4d3
pop eax
dec edx
push ecx
add byte [edx + 0x4a], ah
push ecx
add byte [edx + ecx*2 + 0x51], ch
add byte [esi + 0x4a], dh
push ecx
add byte [eax - 0x75ffaeb6], al
dec edx
push ecx
add byte [edx + ecx*2 + 0x4a9e0051], dl
push ecx
add byte [eax - 0x4dffaeb6], ch
dec edx
push ecx
add byte [edx + ecx*2 + 0x4ac60051], bh
push ecx
add ch, cl
dec edx
push ecx
add ah, dl
dec edx
push ecx
add bl, bl
dec edx
push ecx
add dl, ah
dec edx
push ecx
add cl, ch
dec edx
push ecx
add al, dh
dec edx
push ecx
add bh, dh
dec edx
push ecx
add dh, bh
dec edx
push ecx
add byte [0xc00514b], al
dec ebx
push ecx
add byte [ebx], dl
dec ebx
push ecx
add byte [edx], bl
dec ebx
push ecx
add byte [ecx], ah
dec ebx
push ecx
add byte [eax], ch
dec ebx
push ecx
add byte [edi], ch
dec ebx
push ecx
add byte [esi], dh
dec ebx
push ecx
add byte [0x5600514b], bh
push esi
mov esi, dword [esp + 8]
mov al, byte [esi]
test al, al
je 0x514be8
movsx eax, al
push 0x644250
push eax
inc esi
call fcn.0052d8f5
pop ecx
pop ecx
jmp 0x514bcf
pop esi
ret