Function at 0x487046
Capabilities:
Terminate process

Disassembly:
mov eax, dword [0x505030]
cmp dword [eax + 0x224], 0
je 0x48705f
mov ecx, dword [esp + 4]
mov dword [eax + 0x228], ecx
ret
push ebp
push esi
push edi
push str._nMIRACL_error_from_routine
call 0x48727a
pop ecx
mov eax, dword [0x505030]
mov ecx, dword [eax + 0x1c]
mov ebp, 0x4ffc34
cmp ecx, 0x18
jge 0x48708c
mov eax, dword [eax + ecx*4 + 0x20]
push dword [eax*4 + 0x4fe97c]
jmp 0x48708d
push ebp
call 0x48727a
pop ecx
mov edi, 0x501060
push edi
push 0xa
call fcn.00497447
mov eax, dword [0x505030]
pop ecx
pop ecx
mov esi, dword [eax + 0x1c]
dec esi
js 0x4870f0
push ebx
lea ebx, [esi*4 + 0x20]
push str.______________called_from
call 0x48727a
cmp esi, 0x18
pop ecx
jge 0x4870d6
mov eax, dword [0x505030]
mov eax, dword [ebx + eax]
push dword [eax*4 + 0x4fe97c]
jmp 0x4870d7
push ebp
call 0x48727a
pop ecx
push edi
push 0xa
call fcn.00497447
dec esi
pop ecx
sub ebx, 4
pop ecx
test esi, esi
jge 0x4870b5
pop ebx
mov eax, dword [esp + 0x10]
pop edi
dec eax
pop esi
cmp eax, 0x1c
pop ebp
ja case.default.0x487101
jmp dword [eax*4 + 0x487206]
push str.Number_base_too_big_for_representation_n
jmp 0x4871f9
push str.Division_by_zero_attempted_n
jmp 0x4871f9
push str.Overflow___Number_too_big_n
jmp 0x4871f9
push str.Internal_result_is_negative_n
jmp 0x4871f9
push str.Input_format_error_n
jmp 0x4871f9
push str.Illegal_number_base_n
jmp 0x4871f9
push str.Illegal_parameter_usage_n
jmp 0x4871f9
push str.Out_of_space_n
jmp 0x4871f9
push str.Even_root_of_a_negative_number_n
jmp 0x4871f9
push str.Raising_integer_to_negative_power_n
jmp 0x4871f9
push str.Attempt_to_take_illegal_root_n
jmp 0x4871f9
push str.Integer_operation_attempted_on_Flash_number_n
jmp 0x4871f9
push str.Flash_overflow_n
jmp 0x4871f9
push str.Numbers_too_big_n
jmp 0x4871f9
push str.Log_of_a_non_positive_number_n
jmp 0x4871f9
push str.Flash_to_double_conversion_failure_n
jmp 0x4871f9
push str.I_O_buffer_overflow_n
jmp 0x4871f9
push str.MIRACL_not_initialised___no_call_to_mirsys___n
jmp 0x4871f9
push str.Illegal_modulus__n
jmp 0x4871f9
push str.No_modulus_defined_n
jmp 0x4871f9
push str.Exponent_too_big_n
jmp 0x4871f9
push str.Unsupported_Feature___check_mirdef.h_n
jmp 0x4871f9
push str.Specified_double_length_type_isnt_double_length_n
jmp 0x4871f9
push str.Specified_basis_is_NOT_irreducible_n
jmp 0x4871f9
push str.Unable_to_control_Floating_point_rounding_n
jmp 0x4871f9
push str.Base_must_be_binary__MR_ALWAYS_BINARY_defined_in_mirdef.h____n
jmp 0x4871f9
push str.No_irreducible_basis_defined_n
jmp 0x4871f9
push str.Composite_modulus_n
jmp 0x4871f9
push str.Input_output_error_when_reading_from_RNG_device_node_n
jmp 0x4871f9
push str.Undefined_error_n
call 0x48727a
pop ecx
push 0
call fcn.00497855
or byte [ecx + 0x48], dh
add byte [edx], dl
jno 0x487255
add byte [ecx + esi*2], bl
dec eax
add byte [esi], ah
jno 0x48725d
add byte [eax], dh
jno 0x487261
add byte [edx], bh
jno 0x487265
add byte [ecx + esi*2 + 0x48], al
add byte [esi + 0x71], cl
dec eax
add byte [eax + 0x71], bl
dec eax
add byte [edx + 0x71], ah
dec eax
add byte [ecx + esi*2 + 0x48], ch
add byte [esi + 0x71], dh
dec eax
add byte [ebp + 0x71], bh
dec eax
add byte [ecx + esi*2 + 0x718b0048], al
dec eax
add byte [edx - 0x66ffb78f], dl
jno 0x487291
add byte [eax - 0x58ffb78f], ah
jno 0x487299
add byte [esi - 0x4affb78f], ch
jno 0x4872a1
add byte [ebp - 0x43ffb78f], dh
jno 0x4872a5
add byte [ecx + esi*2 + 0x71c30048], bh
dec eax
add bl, al
jno 0x4872a9
add dl, cl
jno 0x4872ad
add cl, dl
jno 0x4872b1
add al, bl
jno 0x4872b5
add bh, bl
jno 0x4872b9
add dh, ah
jno 0x4872bd
add ch, ch
jno 0x4872c1
add byte [esi - 0x75], dl
je 0x4872a2
or byte [edx + 0x74c08406], cl
adc ecx, dword [edi]
mov esi, 0x106068c0
push eax
add byte [eax + 0x46], dl
mov al, byte [esi]
test al, al
je 0x487298
movsx eax, al
push 0x501060
push eax
inc esi
call fcn.00497447
pop ecx
pop ecx
add dword [ecx], eax
add byte [ecx + 0x59], bl
jmp 0x48727f
pop esi
ret
invalid
sbb al, 0xbe
pushal
adc byte [eax], dl
push eax
add byte [esi + 0x15], bh
xchg edx, eax
add dword [ecx], eax
add byte [ecx + 0x505030], ah
add byte [edi + 0x59], al
js 0x4872db
jmp 0x487319
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 0x48736e
jb 0x487339
mov eax, ecx
push 2
cdq
pop ebx
idiv ebx
test edx, edx
jne 0x487339
cmp ecx, 1
jg 0x487314
mov eax, dword [0x505030]
mov dword [eax + 4], esi
mov eax, dword [0x505030]
mov dword [eax + 8], 1
mov eax, dword [0x505030]
mov dword [eax], esi
mov ecx, dword [0x505030]
cmp dword [ecx], 0
je 0x4873ad
mov eax, SysReAllocString
xor edx, edx
div esi
cmp eax, esi
jb 0x4873ad
jmp 0x487395
mov eax, dword [0x505030]
push 0x20
mov dword [eax + 4], esi
pop eax
cdq
idiv ecx
mov ecx, dword [0x505030]
mov dword [ecx + 8], eax
mov eax, dword [0x505030]
and dword [eax], 0
jmp 0x4873ad
mov ecx, dword [0x505030]
xor edx, edx
div esi
mov edx, esi
imul edx, dword [ecx]
mov dword [ecx], edx
mov ecx, dword [0x505030]
inc dword [ecx + 8]
cmp eax, esi
jae 0x48738f
pop esi
xor eax, eax
pop ebx
ret