Function at 0x4102fd
Capabilities:
Terminate process

Disassembly:
push edi
call fcn.004102f7
mov edi, eax
cmp dword [edi + 0x22c], 0
je 0x41031a
mov eax, dword [esp + 8]
mov dword [edi + 0x230], eax
pop edi
ret
push ebx
push ebp
push esi
push str._nMIRACL_error_from_routine
call fcn.004104dc
pop ecx
mov eax, dword [edi + 0x20]
mov ebp, 0x422fa0
cmp eax, 0x18
jge 0x410342
mov eax, dword [edi + eax*4 + 0x24]
push dword [eax*4 + 0x422488]
jmp 0x410343
push ebp
call fcn.004104dc
mov eax, dword [sym.imp.MSVCRT.dll__iob]
mov ebx, dword [sym.imp.MSVCRT.dll_fputc]
pop ecx
add eax, 0x20
push eax
push 0xa
call ebx
mov esi, dword [edi + 0x20]
pop ecx
dec esi
pop ecx
js 0x4103a1
lea edi, [edi + esi*4 + 0x24]
push str.______________called_from
call fcn.004104dc
cmp esi, 0x18
pop ecx
jge 0x410383
mov eax, dword [edi]
push dword [eax*4 + 0x422488]
jmp 0x410384
push ebp
call fcn.004104dc
mov eax, dword [sym.imp.MSVCRT.dll__iob]
pop ecx
add eax, 0x20
push eax
push 0xa
call ebx
dec esi
pop ecx
sub edi, 4
pop ecx
test esi, esi
jge 0x410368
mov eax, dword [esp + 0x14]
pop esi
dec eax
pop ebp
cmp eax, 0x17
pop ebx
ja case.default.0x4103b2
jmp dword [eax*4 + 0x41047c]
push str.Number_base_too_big_for_representation_n
jmp 0x41046e
push str.Division_by_zero_attempted_n
jmp 0x41046e
push str.Overflow___Number_too_big_n
jmp 0x41046e
push str.Internal_result_is_negative_n
jmp 0x41046e
push str.Input_format_error_n
jmp 0x41046e
push str.Illegal_number_base_n
jmp 0x41046e
push str.Illegal_parameter_usage_n
jmp 0x41046e
push str.Out_of_space_n
jmp 0x41046e
push str.Even_root_of_a_negative_number_n
jmp 0x41046e
push str.Raising_integer_to_negative_power_n
jmp 0x41046e
push str.Attempt_to_take_illegal_root_n
jmp 0x41046e
push str.Integer_operation_attempted_on_Flash_number_n
jmp 0x41046e
push str.Flash_overflow_n
jmp 0x41046e
push str.Numbers_too_big_n
jmp 0x41046e
push str.Log_of_a_non_positive_number_n
jmp 0x41046e
push str.Flash_to_double_conversation_failure_n
jmp 0x41046e
push str.I_O_buffer_overflow_n
jmp 0x41046e
push str.MIRACL_not_initialised___no_call_to_mirsys___n
jmp 0x41046e
push str.Illegal_modulus__n
jmp 0x41046e
push str.No_modulus_defined_n
jmp 0x41046e
push str.Exponent_too_big_n
jmp 0x41046e
push str.Number_Base_must_be_power_of_2_n
jmp 0x41046e
push str.Specified_double_length_type_isnt_double_length_n
jmp 0x41046e
push str.Specified_basis_is_NOT_irreducible_n
call fcn.004104dc
pop ecx
push 0
call dword [sym.imp.MSVCRT.dll_exit]
mov ecx, 0xc3004103
add eax, dword [ecx]
int 3
inc ecx
add bh, dl
add eax, dword [ecx]
loope 0x410491
inc ecx
add bl, ch
add eax, dword [ecx]
add eax, dword [ecx]
stc
add eax, dword [ecx]
add byte [ecx + eax*2], al
add byte [edi], al
add al, 0x41
add byte [esi], cl
add al, 0x41
add byte [0x1c004104], dl
add al, 0x41
add byte [ebx], ah
add al, 0x41
add byte [edx], ch
add al, 0x41
add byte [ecx], dh
add al, 0x41
add byte [eax], bh
add al, 0x41
add byte [edi], bh
add al, 0x41
add byte [esi + 4], al
inc ecx
add byte [ebp + 4], cl
inc ecx
add byte [esp + eax + 0x41], dl
add byte [ebx + 4], bl
inc ecx
add byte [edx + 4], ah
inc ecx
add byte [ecx + 4], ch
inc ecx
add byte [esi - 0x75], dl
push esi
invalid
je 0x410504
or byte [edx + 0x74c08406], cl
sbb dword [ebx + 0x41c2080d], ecx
add byte [esi + 0xf], al
mov esi, 0x20c183c0
mov al, byte [esi]
test al, al
je 0x410500
mov ecx, dword [sym.imp.MSVCRT.dll__iob]
inc esi
movsx eax, al
add ecx, 0x20
push ecx
push eax
call dword [sym.imp.MSVCRT.dll_fputc]
pop ecx
pop ecx
jmp 0x4104e1
pop esi
ret