Function at 0x487406
Capabilities:
Terminate process

Disassembly:
mov eax, dword [0x504fb0]
cmp dword [eax + 0x224], 0
je 0x48741f
mov ecx, dword [esp + 4]
mov dword [eax + 0x228], ecx
ret
push ebp
push esi
push edi
push str._nMIRACL_error_from_routine
call 0x48763a
pop ecx
mov eax, dword [0x504fb0]
mov ecx, dword [eax + 0x1c]
mov ebp, 0x4ffbac
cmp ecx, 0x18
jge 0x48744c
mov eax, dword [eax + ecx*4 + 0x20]
push dword [eax*4 + 0x4fe8f4]
jmp 0x48744d
push ebp
call 0x48763a
pop ecx
mov edi, 0x500fe0
push edi
push 0xa
call fcn.00497827
mov eax, dword [0x504fb0]
pop ecx
pop ecx
mov esi, dword [eax + 0x1c]
dec esi
js 0x4874b0
push ebx
lea ebx, [esi*4 + 0x20]
push str.______________called_from
call 0x48763a
cmp esi, 0x18
pop ecx
jge 0x487496
mov eax, dword [0x504fb0]
mov eax, dword [ebx + eax]
push dword [eax*4 + 0x4fe8f4]
jmp 0x487497
push ebp
call 0x48763a
pop ecx
push edi
push 0xa
call fcn.00497827
dec esi
pop ecx
sub ebx, 4
pop ecx
test esi, esi
jge 0x487475
pop ebx
mov eax, dword [esp + 0x10]
pop edi
dec eax
pop esi
cmp eax, 0x1c
pop ebp
ja case.default.0x4874c1
jmp dword [eax*4 + 0x4875c6]
push str.Number_base_too_big_for_representation_n
jmp 0x4875b9
push str.Division_by_zero_attempted_n
jmp 0x4875b9
push str.Overflow___Number_too_big_n
jmp 0x4875b9
push str.Internal_result_is_negative_n
jmp 0x4875b9
push str.Input_format_error_n
jmp 0x4875b9
push str.Illegal_number_base_n
jmp 0x4875b9
push str.Illegal_parameter_usage_n
jmp 0x4875b9
push str.Out_of_space_n
jmp 0x4875b9
push str.Even_root_of_a_negative_number_n
jmp 0x4875b9
push str.Raising_integer_to_negative_power_n
jmp 0x4875b9
push str.Attempt_to_take_illegal_root_n
jmp 0x4875b9
push str.Integer_operation_attempted_on_Flash_number_n
jmp 0x4875b9
push str.Flash_overflow_n
jmp 0x4875b9
push str.Numbers_too_big_n
jmp 0x4875b9
push str.Log_of_a_non_positive_number_n
jmp 0x4875b9
push str.Flash_to_double_conversion_failure_n
jmp 0x4875b9
push str.I_O_buffer_overflow_n
jmp 0x4875b9
push str.MIRACL_not_initialised___no_call_to_mirsys___n
jmp 0x4875b9
push str.Illegal_modulus__n
jmp 0x4875b9
push str.No_modulus_defined_n
jmp 0x4875b9
push str.Exponent_too_big_n
jmp 0x4875b9
push str.Unsupported_Feature___check_mirdef.h_n
jmp 0x4875b9
push str.Specified_double_length_type_isnt_double_length_n
jmp 0x4875b9
push str.Specified_basis_is_NOT_irreducible_n
jmp 0x4875b9
push str.Unable_to_control_Floating_point_rounding_n
jmp 0x4875b9
push str.Base_must_be_binary__MR_ALWAYS_BINARY_defined_in_mirdef.h____n
jmp 0x4875b9
push str.No_irreducible_basis_defined_n
jmp 0x4875b9
push str.Composite_modulus_n
jmp 0x4875b9
push str.Input_output_error_when_reading_from_RNG_device_node_n
jmp 0x4875b9
push str.Undefined_error_n
call 0x48763a
pop ecx
push 0
call fcn.00497c35
enter 0x4874, 0
sal byte [eax + ecx*2], cl
fdiv qword [eax + ecx*2]
out 116, al
dec eax
add al, dh
je 0x487621
add dl, bh
je 0x487625
add byte [esi*2 + 0x750e0048], al
dec eax
add byte [eax], bl
jne 0x487631
add byte [edx], ah
jne 0x487635
add byte [esi*2 + 0x75360048], ch
dec eax
add byte [0x44004875], bh
jne 0x487645
add byte [ebx + 0x75], cl
dec eax
add byte [edx + 0x75], dl
dec eax
add byte [ecx + 0x75], bl
dec eax
add byte [eax + 0x75], ah
dec eax
add byte [edi + 0x75], ah
dec eax
add byte [esi + 0x75], ch
dec eax
add byte [ebp + 0x75], dh
dec eax
add byte [ebp + esi*2 + 0x48], bh
add byte [ebx - 0x75ffb78b], al
jne 0x48766d
add byte [edx - 0x6effb78b], cl
jne 0x487671
add byte [ecx - 0x67ffb78b], dl
jne 0x487675
add byte [eax - 0x60ffb78b], bl
jne 0x487679
add byte [edi - 0x59ffb78b], bl
jne 0x48767d
add byte [esi - 0x52ffb78b], ah
jne 0x487681
add byte [ebp + 0x56004875], ch
mov esi, dword [esp + 8]
add byte [esi - 0x75], dl
je 0x487662
or byte [edx + 0x74c08406], cl
adc ecx, dword [edi]
mov esi, 0xfe068c0
push eax
add byte [eax + 0x46], dl
mov al, byte [esi]
test al, al
je 0x487658
movsx eax, al
push 0x500fe0
push eax
inc esi
call fcn.00497827
pop ecx
pop ecx
jmp 0x48763f
pop esi
ret
invalid
mov dl, 1
add dword [eax], eax
add byte [edi + 0x59], al
js 0x48769b
jmp 0x4876d9
dec edi
add al, ch
cwde
invalid
mov eax, ecx
push 1
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
pop eax
shl eax, cl
cmp eax, esi
je 0x48772e
jb 0x4876f9
mov eax, ecx
push 2
cdq
pop ebx
idiv ebx
test edx, edx
jne 0x4876f9
cmp ecx, 1
jg 0x4876d4
mov eax, dword [0x504fb0]
mov dword [eax + 4], esi
mov eax, dword [0x504fb0]
mov dword [eax + 8], 1
mov eax, dword [0x504fb0]
mov dword [eax], esi
mov ecx, dword [0x504fb0]
cmp dword [ecx], 0
je 0x48776d
mov eax, SysReAllocString
xor edx, edx
div esi
cmp eax, esi
jb 0x48776d
jmp 0x487755
mov eax, dword [0x504fb0]
push 0x20
mov dword [eax + 4], esi
pop eax
cdq
idiv ecx
mov ecx, dword [0x504fb0]
mov dword [ecx + 8], eax
mov eax, dword [0x504fb0]
and dword [eax], 0
jmp 0x48776d
mov ecx, dword [0x504fb0]
xor edx, edx
div esi
mov edx, esi
imul edx, dword [ecx]
mov dword [ecx], edx
mov ecx, dword [0x504fb0]
inc dword [ecx + 8]
cmp eax, esi
jae 0x48774f
pop esi
xor eax, eax
pop ebx
ret